Files
lobehub/AGENTS.md
Innei 346fc4617e ♻️ refactor: migrate AI Rules to Claude Code Skills (#11737)
♻️ 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.
2026-01-23 22:30:18 +08:00

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 next until 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.md for PR descriptions
  • PR titles with ✨ feat/ or 🐛 fix trigger releases

Package Management

  • Use pnpm as the primary package manager
  • Use bun to run npm scripts
  • Use bunx to 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-check to check for type errors

i18n

  • Keys: Add to src/locales/default/namespace.ts
  • Dev: Translate locales/zh-CN/namespace.json locale 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