TypeScript 重构版 learn-claude-code。当前版本保留了原项目的阶段化结构,从 s01 到 s12 再到 s_full,重点保持同一条 agent loop、文件系统状态层和工具分发模式。
- Node.js 20+
- npm 10+
- Git
- 可选
.env
环境变量:
ANTHROPIC_API_KEYMODEL_IDANTHROPIC_BASE_URL
可以直接参考 .env.example。
npm install --cache .npm-cache
npm run typecheck
npm test
npm run build以下命令都接受一个字符串任务输入:
npx tsx src/agents/s01_agent_loop.ts "list files"
npx tsx src/agents/s02_tool_use.ts "read package.json"
npx tsx src/agents/s03_todo_write.ts "plan the work"
npx tsx src/agents/s04_subagent.ts "investigate a subproblem"
npx tsx src/agents/s05_skill_loading.ts "load a relevant skill"
npx tsx src/agents/s06_context_compact.ts "compact the context"
npx tsx src/agents/s07_task_system.ts "create a persistent task"
npx tsx src/agents/s08_background_tasks.ts "run a long command"
npx tsx src/agents/s09_agent_teams.ts "add a teammate"
npx tsx src/agents/s10_team_protocols.ts "request plan approval"
npx tsx src/agents/s11_autonomous_agents.ts "idle until work appears"
npx tsx src/agents/s12_worktree_task_isolation.ts "create a worktree for a task"统一入口:
npx tsx -e 'import { runSFull } from "./src/agents/s_full.ts"; await runSFull("review the repo");'s_full 额外支持:
/compact/tasks/team/inbox
这些命令由 src/agents/s_full.ts 的 handleFullCommand() 处理。
- src/core Agent loop、tool dispatch、runtime state injection、system prompt 组装
- src/state Todo、skill、task、background、message bus、protocol、worktree 等状态层
- src/tools 工具 schema 和 handler
- src/agents
s01到s12与s_full - tests 单元测试、集成测试、冒烟测试
当前实现尽量保留以下命名:
messagesTOOLSTOOL_HANDLERSTodoManagerTaskManagerBackgroundManagerMessageBusTeammateManagerblockedByrequest_idbase_ref
兼容别名:
- src/state/compaction.ts 导出
micro_compact和auto_compact
更详细的映射、偏差项和后续增强建议见 docs/implementation-notes.md。