Files
AirCoding/CLAUDE.md
AirCoding ae44be31d5 chore: push all design docs, V2 plan specs, and current working state
Includes AirPlan design documents, AircOding-alpha1-plan, AirPlanV2,
AirPlan-ParaV2, AirPlan-Para V1 reference docs, and all working code
changes across packages.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-12 17:12:29 +08:00

49 lines
1.7 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AirCoding — 铁规则
## 1. 架构铁律
**除了调度层,全部用 OpenCode 已有实现。禁止自研替代。**
调度层保留Scheduler / TaskGraph / WavePlanner / RetryPlanner / Worker IPC / ADR Cascade / ArchitectureDesigner
以下必须用 OpenCode 代码运行,不能自己写一个功能等价的替代:
- Provider`OpenAICompatible.configure({baseURL, apiKey}).model(id)``LLMClient.generate()`
- Agent Loop`tool-runtime.ts`
- 工具系统:`Tool.make()` 注册的 19 个工具
- TUIOpenCode 132 文件
- 权限OpenCode `ctx.ask()` 路径
## 2. 完成标准
**任何时候说"完成",必须附上真实执行证据:**
- Provider 接通 = 贴出 `LLMClient.generate()` 返回的 HTTP 响应内容
- 工具接通 = 贴出 Worker 通过 OpenCode tool 执行的结果
- TUI 接通 = 贴出用户输入后在 TUI 上看到的实际输出
**禁止**typecheck 通过、build 通过、测试通过、方法存在、import 成功 —— 这些不算完成。
## 3. 禁止
- 禁止跑 typecheck 或 build 来证明自己做了事
- 禁止列表格宣称 Phase 完成
- 禁止写新测试
- 禁止修改调度层代码packages/scheduler/
- 禁止在 run.ts 中用 `new OpenAICompatibleAdapter` 或任何自研 adapter
- 禁止给"还没接通但我认为逻辑正确"的代码标记完成
## 4. 工作方式
1. 一次只改一条调用链
2. 改完立即用真实 API key 跑,贴输出
3. 输出不对就修,不跳下一步
4. 调度层代码只读,不写
## 5. 验证脚本
Provider 接通验证:`packages/llm/test/opencode-provider-live.test.ts`
```bash
AIRCODING_API_KEY=<key> bun test packages/llm/test/opencode-provider-live.test.ts
```
看到 GLM 返回的中文内容 = Provider 接通。