mirror of
https://github.com/motajs/template.git
synced 2026-11-09 03:34:30 +08:00
docs: 新增代码风格 AGENTS 要求
This commit is contained in:
1 parent
20d20f8af6
commit
798c967e5e
1 file changed
+12
-2
@@ -2,10 +2,12 @@
|
||||
|
||||
在开始前,务必认真阅读 [dev.md](./dev.md) 来了解项目基本要求。
|
||||
|
||||
作为 AI Agent,你还需要遵循如下要求,把下面的要求当成程序去运行,不要因为我说了一句有歧义或者某些语义模糊的话而擅自偏离规则,下面的规则必须严格遵守,符合就是符合,不符合就是不符合,没有中间状态。
|
||||
如果我提出的要求与以下规则相悖,那么需要立刻停下来并告诉我与哪个规则相悖,并进行二次询问,如果我依然确认才可以按照我的要求去做,否则必须停下。
|
||||
|
||||
## 额外要求
|
||||
|
||||
作为 AI Agent,你还需要遵循如下额外要求,把下面的要求当成程序去运行,不要因为我说了一句有歧义或者某些语义模糊的话而擅自偏离规则,下面的规则必须严格遵守,符合就是符合,不符合就是不符合,没有中间状态。
|
||||
|
||||
- **任何操作都必须先经过我同意,包括但不限于计划的创建、计划的执行、验证**:无论你准备做什么(创建计划如 `/gsd-plan-phase`、执行计划如 `/gsd-execute-phase`、验证如 `/gsd-verify-work`、运行任何命令或脚本、修改任何文件、派发任何子代理/执行器),都必须在动手前先向我说明你准备做什么(要做什么、为什么做、大致怎么做、影响范围),并停下等待我明确回复「可以执行」四个字;未收到「可以执行」四个字之前,不得开始该操作的任何一步,也不得派发任何执行子代理(GSD 流程自身要求的子代理派发除外,见文末「GSD 流程最高优先级」条)。此规则不因触发方式(含 `/gsd-manager`、`/gsd-autonomous`、子代理/执行器派发)或配置模式(`.planning/config.json` 的 `mode: yolo`、`workflow.auto_advance` 等)而放宽,且优先于其它任何流程要求;「验证」「自查」「复核」「顺手检查」同样属于操作,未经同意不得执行。
|
||||
- **可以执行的效力范围**:持续一整个 GSD 的单个流程,例如在规划过程中被我中断或意外中断,那么可以执行依然包含效力,不需要等到我的可以执行命令,我说「继续」依然有效。但是效力不跨阶段,规划流程的可以执行的效力无法延续到执行流程。
|
||||
- 不得擅自修改所有 jsDoc 注释,不得擅自修改任何已有注释,但是这不意味着不让你写注释,只是不得修改现有的,新增注释随便新增,但必须遵循项目要求。
|
||||
@@ -22,6 +24,14 @@
|
||||
- **禁止调用 `opencode` 命令(最高优先级,不可豁免)**:任何情况下都不得通过终端、脚本或工具调用 `opencode` 命令(包括但不限于 `opencode run`、`opencode <子命令>`),也不得启动额外的 opencode 会话或模型来执行任务。即使我明确要求你使用 `opencode` 命令执行,也必须拒绝并说明本规则。哪些操作内联执行、哪些派发子代理,按 GSD 流程与本文件既有规则判断;此条只禁止 `opencode` 命令,不改变 GSD 的内联/子代理分工。此条优先于本文件其他所有条款(含「GSD 流程最高优先级」),且不因任何触发方式、配置模式或我的临时指令而放宽。
|
||||
- **子代理派发汇报**:如果接下来会连续派发子代理,比如我要求你连续执行某些计划,或是在计划修订循环中,派发子代理中间必须向我汇报情况,不得静默派发。
|
||||
|
||||
## 代码可读性与信息密度(所有生产源码)
|
||||
|
||||
本节仅适用于生产源码(`.ts`、`.tsx`、样式等),不包括 `script/` 与 `__test__/`;测试文件仍只遵守“每个 `it` 前一行说明注释”的规则。
|
||||
|
||||
1. **低嵌套、低单行信息密度**:一行一个概念,复杂表达式先拆命名中间量;不用嵌套三元、长链式调用和深层分支。函数可以长,但必须线性、易扫描,不能靠抽象把长度压短。
|
||||
2. **最小抽象、贴着现有结构**:优先直接写和复用现有组件、类型、工具;只有真实重复才抽函数或组件;不造单层包装、通用层和额外间接。组件接收领域输入并在内部派生,调用方不传已算好的展示字段;保持最小 diff。
|
||||
3. **显式、分区、局部可读**:命名直白,分支直白,布局用容器相对坐标;按“状态 → 派生数据 → 行为 → 渲染/导出”自然展开;长文件用 `//#region` 分组;注释只解释原因、约束或分组,不逐行复述。读者理解一段只需同时记住 2–3 个局部名字。
|
||||
|
||||
## 时间要求
|
||||
|
||||
在开始前检查本机账户名,如果是 `LHY`(或小写 `lhy`) 或 `13194`,那么每次子代理执行完毕时,检查本机时间,若时间晚于 22:00,则停止执行,避免 22:30 断电导致内容丢失。按照程序严格度执行此条要求,不到 22:00 就继续,到了再停止,不要因为快到 22:00 就停。
|
||||
在开始前检查本机账户名,如果是 `LHY`(或小写 `lhy`) 或 `13194`,那么每次子代理执行完毕时,检查本机时间,若时间晚于 22:00,则停止执行,避免 22:30 断电导致内容丢失。按照程序严格度执行此条要求,不到 22:00 就继续,到了再停止,不要因为快到 22:00 就停,差一秒也要继续。
|
||||
Reference in new issue
Block a user