mirror of
https://github.com/lobehub/lobehub.git
synced 2026-03-27 13:29:15 +07:00
♻️ refactor: migrate AI Rules to Claude Code Skills system
Migrate all AI Rules from .cursor/rules/ to .agents/skills/ directory:
- Move 23 skills to .agents/skills/ (main directory)
- Update symlinks: .claude/skills, .cursor/skills, .codex/skills
- Create project-overview skill from project documentation
- Add references/ subdirectories for complex skills
- Remove LobeChat references from skill descriptions
- Delete obsolete .cursor/rules/ and .claude/commands/prompts/ directories
Skills structure enables better portability and maintainability across AI tools.
3.1 KiB
3.1 KiB
LobeChat Development Guidelines
This document serves as a comprehensive guide for all team members when developing LobeChat.
Project Description
You are developing an open-source, modern-design AI Agent Workspace: LobeHub (previously LobeChat).
Tech Stack
- Frontend: Next.js 16, React 19, TypeScript
- UI Components: Ant Design, @lobehub/ui, antd-style
- State Management: Zustand, SWR
- Database: PostgreSQL, PGLite, Drizzle ORM
- Testing: Vitest, Testing Library
- Package Manager: pnpm (monorepo structure)
Directory Structure
lobe-chat/
├── apps/desktop/ # Electron desktop app
├── packages/ # Shared packages (@lobechat/*)
│ ├── database/ # Database schemas, models, repositories
│ ├── agent-runtime/ # Agent runtime
│ └── ...
├── src/
│ ├── app/ # Next.js app router
│ ├── store/ # Zustand stores
│ ├── services/ # Client services
│ ├── server/ # Server services and routers
│ └── ...
├── .agents/skills/ # AI development skills
└── e2e/ # E2E tests (Cucumber + Playwright)
Development Workflow
Git Workflow
- The current release branch is
nextuntil v2.0.0 is officially released - Use rebase for git pull
- Git commit messages should prefix with gitmoji
- Git branch name format:
username/feat/feature-name - Use
.github/PULL_REQUEST_TEMPLATE.mdfor PR descriptions - PR titles with
✨ feat/or🐛 fixtrigger releases
Package Management
- Use
pnpmas the primary package manager - Use
bunto run npm scripts - Use
bunxto run executable npm packages
Code Style Guidelines
TypeScript
- Prefer interfaces over types for object shapes
Testing Strategy
# Web tests
bunx vitest run --silent='passed-only' '[file-path-pattern]'
# Package tests (e.g., database)
cd packages/[package-name] && bunx vitest run --silent='passed-only' '[file-path-pattern]'
Important Notes:
- Wrap file paths in single quotes to avoid shell expansion
- Never run
bun run test- this runs all tests and takes ~10 minutes
Type Checking
- Use
bun run type-checkto check for type errors
i18n
- Keys: Add to
src/locales/default/namespace.ts - Dev: Translate
locales/zh-CN/namespace.jsonlocale file only for preview - DON'T run
pnpm i18n, let CI auto handle it
Linear Issue Management
Follow Linear rules in CLAUDE.md when working with Linear issues.
Skills (Auto-loaded)
All AI development skills are available in .agents/skills/ directory:
| Category | Skills |
|---|---|
| Frontend | react, typescript, i18n, microcopy |
| State | zustand |
| Backend | drizzle |
| Desktop | desktop |
| Testing | testing |
| UI | modal, hotkey, recent-data |
| Config | add-provider-doc, add-setting-env |
| Workflow | linear, debug |
| Performance | vercel-react-best-practices |
| Overview | project-overview |