project-overview

v2026.09.24

Use for the OSS repository map, code-layer lookup, apps/packages/src ownership and business stubs.

GitHub
Install command
npx skhub add lobehub/project-overview
Markdown
SKILL.md

LobeHub Project Overview

The directory listings below are a curated map of key locations, not an exhaustive tree. packages/, src/store/, route groups etc. grow over time — run ls against the real directory for the current set.

Project Description

Open-source, modern-design AI Agent Workspace: LobeHub (previously LobeChat). This repo is the open-source root (github.com/lobehub/lobehub, package @lobehub/lobehub).

Supported platforms:

  • Web desktop/mobile
  • Desktop (Electron) — apps/desktop
  • Mobile app (React Native) — separate repo, already launched (not in this monorepo)

Logo emoji: 🤯

Complete Tech Stack

CategoryTechnology
FrameworkNext.js 16 + React 19
RoutingSPA inside Next.js with react-router-dom
LanguageTypeScript
UI Components@lobehub/ui, antd
CSS-in-JSantd-style
Iconslucide-react, @ant-design/icons
i18nreact-i18next
Statezustand
URL Paramsnuqs
Data FetchingSWR
React HooksaHooks
Date/Timedayjs
Utilitieses-toolkit
APITRPC (type-safe)
DatabaseNeon PostgreSQL + Drizzle ORM
TestingVitest

Exact versions live in the root package.json — check there, not here.

Monorepo Layout

Flat layout — apps/, packages/, and src/ all sit at the repo root. No git submodules.

(repo root)
ā”œā”€ā”€ apps/
│   ā”œā”€ā”€ cli/                  # LobeHub CLI
│   ā”œā”€ā”€ desktop/              # Electron desktop app
│   └── server/               # Next.js-backed server (`@/server/*` alias)
│       └── src/
│           ā”œā”€ā”€ router-hono/  # Hono endpoint routers and standalone runtime
│           └── ...           # featureFlags, globalConfig, modules, routers, services, utils, workflows
ā”œā”€ā”€ docs/                     # changelog, development, self-hosting, usage
ā”œā”€ā”€ locales/                  # en-US, zh-CN, ...
ā”œā”€ā”€ packages/                 # ~80 @lobechat/* workspace packages — `ls` for the full set. Key ones:
│   ā”œā”€ā”€ agent-runtime/        # Agent runtime core
│   ā”œā”€ā”€ agent-signal/         # Agent Signal pipeline
│   ā”œā”€ā”€ agent-tracing/        # Tracing / snapshots
│   ā”œā”€ā”€ builtin-tool-*/       # Per-tool packages (calculator, web-browsing, claude-code, ...)
│   ā”œā”€ā”€ builtin-tools/        # Central registries that compose builtin-tool-*
│   ā”œā”€ā”€ context-engine/
│   ā”œā”€ā”€ database/             # src/{models,schemas,repositories}
│   ā”œā”€ā”€ model-bank/           # Model definitions & provider cards
│   ā”œā”€ā”€ model-runtime/        # src/{core,providers}
│   ā”œā”€ā”€ locales/              # i18n source of truth: packages/locales/src/default/
│   ā”œā”€ā”€ env/                  # env schemas (@/envs/* → packages/env/src/*)
│   ā”œā”€ā”€ app-config/
│   ā”œā”€ā”€ business/             # Open-source stubs (config, const, model-bank, model-runtime) — overridden by cloud
│   ā”œā”€ā”€ types/
│   └── utils/
└── src/
    ā”œā”€ā”€ app/
    │   ā”œā”€ā”€ (backend)/        # api, f, market, middleware, oidc, trpc, webapi
    │   ā”œā”€ā”€ spa/              # SPA HTML template service
    │   └── spa-auth/         # Auth HTML shell (SSR)
    ā”œā”€ā”€ routes/               # SPA page segments (thin — delegate to features/)
    │   └── (main)/ (mobile)/ (desktop)/ (popup)/ auth/ onboarding/ share/
    ā”œā”€ā”€ spa/                  # SPA entries + router config
    │   ā”œā”€ā”€ entry.{web,mobile,desktop,popup}.tsx
    │   └── router/
    ā”œā”€ā”€ business/             # Open-source stubs (client/server) — cloud repo provides real impls
    ā”œā”€ā”€ features/             # Domain business components
    ā”œā”€ā”€ store/                # ~30 zustand stores — `ls` for the full set
    └── ...                   # components, hooks, layout, libs, services, types, utils

Architecture Map

LayerLocation
UI Componentssrc/components, src/features
SPA Pagessrc/routes/
React Routersrc/spa/router/
Global Providerssrc/layout
Zustand Storessrc/store
Client Servicessrc/services/
REST APIsrc/app/(backend)/webapi
tRPC Routersapps/server/src/routers/{async|lambda|mobile|tools}
Server Servicesapps/server/src/services (can access DB)
Server Modulesapps/server/src/modules (no DB access)
Feature Flagsapps/server/src/featureFlags
Global Configapps/server/src/globalConfig
DB Schemapackages/database/src/schemas
DB Modelpackages/database/src/models
DB Repositorypackages/database/src/repositories
Third-partysrc/libs (analytics, oidc, etc.)
Builtin Toolspackages/builtin-tool-*, packages/builtin-tools
Open-source stubsrc/business/*, packages/business/* (this repo)

Data Flow

React UI → Store Actions → Client Service → TRPC Lambda → Server Services → DB Model → PostgreSQL

Note: Relationship to the Cloud Repo

This open-source repo is consumed by a separate, private cloud (SaaS) repo as a git submodule mounted at lobehub/. The cloud repo provides:

  • src/business/{client,server} and packages/business/* implementations that override the stubs shipped here.
  • Cloud-only routes (e.g. (cloud)/, embed/), cloud-only stores (e.g. subscription/), cloud-only TRPC routers (billing, budget, risk control, …), and Vercel cron routes under src/app/(backend)/cron/.
  • File-resolution order in cloud: @/store/x → cloud src/store/x first, then lobehub/packages/store/src/x, then lobehub/src/store/x. Cloud override wins.

When working in this repo alone, ignore the cloud layer — the stubs in src/business/ and packages/business/ are the source of truth here.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

NOASSERTION

Source path

.agents/skills/project-overview

Default branch

canary

Latest commit

c442652

Tree SHA

cb7e703