aodw-skill 0.7.18 → 0.7.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aodw-next/01-core/csf-thinking-framework.md +1 -1
- package/.aodw-next/02-workflow/rt-manager.md +22 -1
- package/.aodw-next/02-workflow/ui-workflow-rules.md +0 -3
- package/.aodw-next/README.md +0 -1
- package/.aodw-next/SKILL.md +5 -5
- package/.aodw-next/manifest.yaml +0 -5
- package/AODW_Adapters/README.md +24 -31
- package/README.md +8 -6
- package/bin/aodw.js +7 -78
- package/bin/processors/index.js +1 -35
- package/bin/update-adapters-from-template.js +1 -15
- package/package.json +4 -4
- package/.aodw-next/01-core/ai-interaction-rules-summary.md +0 -37
- package/.aodw-next/01-core/ai-knowledge-rules-summary.md +0 -25
- package/.aodw-next/01-core/git-discipline-summary.md +0 -36
- package/.aodw-next/02-workflow/rt-id-generation-rules.md +0 -24
- package/.aodw-next/02-workflow/rt-manager-summary.md +0 -15
- package/.aodw-next/02-workflow/ui-workflow-rules-summary.md +0 -39
- package/.aodw-next/03-standards/stacks/rust-axum/ai-coding-rules-backend.md +0 -134
- package/.aodw-next/06-project/README.md +0 -16
- package/.aodw-next/07-optimization/token-usage-analysis.md +0 -253
- package/.aodw-next/templates/TEMPLATE-APPLICATION-GUIDE.md +0 -110
- package/.aodw-next/templates/audit-report-template.md +0 -232
- package/.aodw-next/templates/changelog-template.md +0 -16
- package/.aodw-next/templates/checklists/coding-standards-template.md +0 -130
- package/.aodw-next/templates/csf-review-template.md +0 -201
- package/.aodw-next/templates/impact-template.md +0 -17
- package/.aodw-next/templates/invariants-template.md +0 -12
- package/.aodw-next/templates/plan-lite-template.md +0 -20
- package/.aodw-next/templates/rt-decision-template.md +0 -13
- package/.aodw-next/templates/rt-intake-template.md +0 -33
- package/.aodw-next/templates/spec-lite-template.md +0 -26
- package/.aodw-next/templates/tests-template.md +0 -13
- package/.aodw-next/templates/tools-config/README.md +0 -112
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-check.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-done.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-full.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-governance.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-impact.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-init.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-invariants.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-lite.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-module.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-new.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-open.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-pause.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-resume.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-tests.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-upgrade.md +0 -7
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw.md +0 -35
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-check.md +0 -16
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-done.md +0 -16
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-full.md +0 -14
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-governance.md +0 -13
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-impact.md +0 -13
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-init.md +0 -13
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-invariants.md +0 -13
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-lite.md +0 -14
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-module.md +0 -13
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-new.md +0 -30
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-open.md +0 -10
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-pause.md +0 -12
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-resume.md +0 -12
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-tests.md +0 -13
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-upgrade.md +0 -12
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw.md +0 -18
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/claude/CLAUDE.md +0 -17
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-check.md +0 -30
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-done.md +0 -52
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-full.md +0 -31
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-governance.md +0 -34
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-impact.md +0 -25
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-init.md +0 -75
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-invariants.md +0 -29
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-lite.md +0 -23
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-module.md +0 -24
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-new.md +0 -70
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-open.md +0 -19
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-pause.md +0 -19
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-resume.md +0 -20
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-tests.md +0 -26
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-upgrade.md +0 -27
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw.md +0 -69
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/deploypromote.md +0 -20
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/featuretotester.md +0 -32
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/feature_to_master_push_test_local.sh +0 -390
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/promote_only.sh +0 -210
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/rollback_prod.sh +0 -99
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/rules/aodw.mdc +0 -26
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-check.md +0 -29
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-done.md +0 -52
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-full.md +0 -30
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-governance.md +0 -33
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-impact.md +0 -24
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-init.md +0 -75
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-invariants.md +0 -28
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-lite.md +0 -22
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-module.md +0 -23
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-new.md +0 -92
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-open.md +0 -18
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-pause.md +0 -18
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-resume.md +0 -19
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-tests.md +0 -25
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-upgrade.md +0 -26
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw.md +0 -68
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/GEMINI.md +0 -17
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-analyze.md +0 -15
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-complete.md +0 -15
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-control.md +0 -14
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-decide.md +0 -16
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-governance.md +0 -7
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-implement.md +0 -16
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-init.md +0 -7
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-intake.md +0 -15
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-open.md +0 -7
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-simplified.md +0 -107
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-verify.md +0 -14
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-analyze.md +0 -24
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-complete.md +0 -23
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-control.md +0 -21
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-decide.md +0 -26
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-governance.md +0 -13
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-implement.md +0 -21
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-init.md +0 -13
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-intake.md +0 -28
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-open.md +0 -10
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-verify.md +0 -20
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw.md +0 -18
- package/AODW_Adapters/gemini/.agent/rules/aodw-next.md +0 -70
- package/AODW_Adapters/gemini/GEMINI.md +0 -18
- package/AODW_Adapters/general/.github/copilot-instructions.md +0 -34
- package/AODW_Adapters/general/AGENTS.md +0 -70
- package/docs/README.md +0 -26
- package/docs/adapter-evaluation.md +0 -55
- package/docs/backend-guidelines.md +0 -335
- package/docs/frontend-guidelines.md +0 -266
- package/docs/installation-variants.md +0 -88
- package/docs/migration-guide-0.2.0.md +0 -250
- package/docs/platform-matrix.md +0 -83
|
@@ -57,7 +57,7 @@ RT-Manager 统一管理全局状态机更新。
|
|
|
57
57
|
- 重构
|
|
58
58
|
|
|
59
59
|
### 3.2 执行步骤
|
|
60
|
-
1. 生成 RT-ID
|
|
60
|
+
1. 生成 RT-ID(固定本地生成)
|
|
61
61
|
2. 创建 RT 目录结构
|
|
62
62
|
3. 执行交互式澄清(选项化提问)
|
|
63
63
|
4. 记录立项信息到 `intake.md`
|
|
@@ -126,3 +126,24 @@ AI 根据决策结果,加载对应的 Profile:
|
|
|
126
126
|
- `01-core/git-discipline.md`(分支与提交规范)
|
|
127
127
|
- `01-core/ai-interaction-rules.md`(交互规范)
|
|
128
128
|
- `01-core/ai-knowledge-rules.md`(知识同步规范)
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 9. RT-ID 本地生成规则
|
|
133
|
+
|
|
134
|
+
### 9.1 强制策略
|
|
135
|
+
|
|
136
|
+
AODW 使用本地生成 RT-ID,不依赖远程服务。
|
|
137
|
+
|
|
138
|
+
### 9.2 生成逻辑
|
|
139
|
+
|
|
140
|
+
1. 扫描项目 `RT/` 目录下所有 `RT-XXX` 格式的目录
|
|
141
|
+
2. 找到最大序号 `N`
|
|
142
|
+
3. 生成新 ID:`RT-{N+1}`(补零到 3 位,如 `RT-001`, `RT-002`)
|
|
143
|
+
4. 如果生成的 ID 对应目录已存在:递增序号直到找到可用 ID
|
|
144
|
+
|
|
145
|
+
### 9.3 检查清单
|
|
146
|
+
|
|
147
|
+
- [ ] 已扫描 `RT/` 目录找到最大序号
|
|
148
|
+
- [ ] 已生成 `RT-{N+1}` 格式的 ID
|
|
149
|
+
- [ ] 已确认该 ID 对应目录不存在
|
|
@@ -61,9 +61,6 @@
|
|
|
61
61
|
|
|
62
62
|
## 3. 配置模板位置
|
|
63
63
|
|
|
64
|
-
**HTML 原型模板**:
|
|
65
|
-
- 位置:`.aodw-next/templates/ui-prototype.template.html`
|
|
66
|
-
|
|
67
64
|
**前端工具配置**:
|
|
68
65
|
- ESLint 配置模板:`.aodw-next/templates/tools-config/frontend/eslint.config.template.json`
|
|
69
66
|
- TypeScript 配置模板:`.aodw-next/templates/tools-config/frontend/tsconfig.paths.template.json`
|
package/.aodw-next/README.md
CHANGED
package/.aodw-next/SKILL.md
CHANGED
|
@@ -9,17 +9,17 @@ description: AODW (AI-Orchestrated Development Workflow) — 完整的 AI 协作
|
|
|
9
9
|
|
|
10
10
|
## 加载顺序(渐进式披露,优先读 summary)
|
|
11
11
|
|
|
12
|
-
1. **总是加载**:`01-core/aodw-constitution
|
|
12
|
+
1. **总是加载**:`01-core/aodw-constitution.md`(最高行为准则)
|
|
13
13
|
2. **按场景追加**(优先读 `*-summary.md`,需要细节时再读完整版):
|
|
14
14
|
|
|
15
15
|
| 场景 | 追加加载 |
|
|
16
16
|
|------|---------|
|
|
17
|
-
| 立项 / 创建 RT | `rt-manager
|
|
18
|
-
| Spec-Lite 执行 | `spec-lite-profile
|
|
19
|
-
| Spec-Full 执行 | `spec-full-profile
|
|
17
|
+
| 立项 / 创建 RT | `rt-manager.md` + `ai-interaction-rules.md` |
|
|
18
|
+
| Spec-Lite 执行 | `spec-lite-profile.md` + `git-discipline.md` |
|
|
19
|
+
| Spec-Full 执行 | `spec-full-profile.md` + `ai-coding-rules.md`(按技术栈) |
|
|
20
20
|
| Git 操作 / 合并 | `git-discipline.md`(完整版) |
|
|
21
21
|
| 审计 | `04-auditors/aodw-requirement-auditor-rules.md` |
|
|
22
|
-
| 知识同步 | `ai-knowledge-rules
|
|
22
|
+
| 知识同步 | `ai-knowledge-rules.md` |
|
|
23
23
|
|
|
24
24
|
## 核心概念
|
|
25
25
|
|
package/.aodw-next/manifest.yaml
CHANGED
|
@@ -79,11 +79,6 @@ rules:
|
|
|
79
79
|
description: Rules for initializing and maintaining project overview file.
|
|
80
80
|
path: 01-core/ai-project-overview-rules.md
|
|
81
81
|
|
|
82
|
-
- id: rt-id-generation-rules
|
|
83
|
-
name: RT ID Generation Rules
|
|
84
|
-
description: Rules for generating and managing RT sequence IDs locally.
|
|
85
|
-
path: 02-workflow/rt-id-generation-rules.md
|
|
86
|
-
|
|
87
82
|
- id: ai-tools-init-rules
|
|
88
83
|
name: AI Tools Init Rules
|
|
89
84
|
description: Rules for initializing and verifying development tooling (ESLint, Prettier, Ruff, Black, etc.).
|
package/AODW_Adapters/README.md
CHANGED
|
@@ -6,22 +6,19 @@
|
|
|
6
6
|
|
|
7
7
|
### `cursor/`
|
|
8
8
|
**Cursor IDE 适配器**
|
|
9
|
-
- `.cursor
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
### `gemini/`
|
|
13
|
-
**Google Gemini 适配器**
|
|
14
|
-
- `.agent/` - Gemini Agent 配置
|
|
15
|
-
- `GEMINI.md` - Gemini 专用提示词
|
|
9
|
+
- `.cursor/rules/aodw-next.mdc` - Cursor 规则文件
|
|
10
|
+
- 使用 Cursor 的 `.mdc` (Markdown Component) 格式
|
|
11
|
+
- 支持命令索引和上下文加载指令
|
|
16
12
|
|
|
17
13
|
### `claude/`
|
|
18
14
|
**Anthropic Claude 适配器**
|
|
19
|
-
- `CLAUDE.md` - Claude
|
|
15
|
+
- `CLAUDE.md` - Claude Code 项目指令文件
|
|
16
|
+
- 适用于 claude.ai/code 和 Claude Code VSCode 扩展
|
|
20
17
|
|
|
21
|
-
### `
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
18
|
+
### `antigravity/`
|
|
19
|
+
**Google Gemini Antigravity 适配器**
|
|
20
|
+
- `.agent/rules/aodw-next.md` - Gemini Agent 规则文件
|
|
21
|
+
- 适用于 Antigravity AI 平台
|
|
25
22
|
|
|
26
23
|
## 🚀 使用方法
|
|
27
24
|
|
|
@@ -30,7 +27,7 @@
|
|
|
30
27
|
用户**不应该**直接使用此目录,而是通过 CLI 工具自动安装:
|
|
31
28
|
|
|
32
29
|
```bash
|
|
33
|
-
npx
|
|
30
|
+
npx aodw-skill init
|
|
34
31
|
```
|
|
35
32
|
|
|
36
33
|
CLI 会根据选择自动将对应的适配器文件复制到项目根目录。
|
|
@@ -55,8 +52,8 @@ CLI 会根据选择自动将对应的适配器文件复制到项目根目录。
|
|
|
55
52
|
choices: [
|
|
56
53
|
{ name: 'All (Install all adapters)', value: 'all' },
|
|
57
54
|
{ name: 'Cursor', value: 'cursor', checked: true },
|
|
58
|
-
{ name: 'Google Gemini', value: 'gemini' },
|
|
59
55
|
{ name: 'Anthropic Claude', value: 'claude' },
|
|
56
|
+
{ name: 'Google Gemini (Antigravity)', value: 'antigravity' },
|
|
60
57
|
{ name: 'VS Code', value: 'vscode' } // 新增
|
|
61
58
|
]
|
|
62
59
|
```
|
|
@@ -64,8 +61,8 @@ CLI 会根据选择自动将对应的适配器文件复制到项目根目录。
|
|
|
64
61
|
4. **更新逻辑**:
|
|
65
62
|
确保 `toolsToInstall` 逻辑包含新工具:
|
|
66
63
|
```javascript
|
|
67
|
-
const toolsToInstall = tools.includes('all')
|
|
68
|
-
? ['cursor', '
|
|
64
|
+
const toolsToInstall = tools.includes('all')
|
|
65
|
+
? ['cursor', 'claude', 'antigravity', 'vscode'] // 新增
|
|
69
66
|
: tools;
|
|
70
67
|
```
|
|
71
68
|
|
|
@@ -79,7 +76,7 @@ CLI 会根据选择自动将对应的适配器文件复制到项目根目录。
|
|
|
79
76
|
|
|
80
77
|
1. 修改对应目录下的文件
|
|
81
78
|
2. 运行 `cli/publish.sh patch` 发布补丁版本
|
|
82
|
-
3. 用户运行 `npx
|
|
79
|
+
3. 用户运行 `npx aodw-skill update` 即可获得更新
|
|
83
80
|
|
|
84
81
|
## 🏗️ 设计原则
|
|
85
82
|
|
|
@@ -89,7 +86,7 @@ CLI 会根据选择自动将对应的适配器文件复制到项目根目录。
|
|
|
89
86
|
|
|
90
87
|
❌ **错误做法** - 在适配器中重复规范内容:
|
|
91
88
|
```markdown
|
|
92
|
-
<!--
|
|
89
|
+
<!-- CLAUDE.md -->
|
|
93
90
|
# AODW 规范
|
|
94
91
|
## RT 管理
|
|
95
92
|
RT-ID 格式为 RT-XXX...(大量重复 .aodw 中的内容)
|
|
@@ -97,7 +94,7 @@ RT-ID 格式为 RT-XXX...(大量重复 .aodw 中的内容)
|
|
|
97
94
|
|
|
98
95
|
✅ **正确做法** - 引导 AI 阅读核心规范:
|
|
99
96
|
```markdown
|
|
100
|
-
<!--
|
|
97
|
+
<!-- CLAUDE.md -->
|
|
101
98
|
你正在一个 AODW 项目中工作。
|
|
102
99
|
请优先阅读 `.aodw-next/01-core/aodw-constitution.md` 了解核心规范。
|
|
103
100
|
当处理 RT 时,参考 `.aodw-next/02-workflow/rt-manager.md`。
|
|
@@ -114,25 +111,21 @@ RT-ID 格式为 RT-XXX...(大量重复 .aodw 中的内容)
|
|
|
114
111
|
AODW_Adapters/
|
|
115
112
|
├── README.md # 本文件
|
|
116
113
|
├── cursor/
|
|
117
|
-
│
|
|
118
|
-
│
|
|
119
|
-
│
|
|
120
|
-
│ │ └── commands/
|
|
121
|
-
│ └── CLAUDE_lite.md
|
|
122
|
-
├── gemini/
|
|
123
|
-
│ ├── .agent/
|
|
124
|
-
│ │ └── rules/
|
|
125
|
-
│ └── GEMINI.md
|
|
114
|
+
│ └── .cursor/
|
|
115
|
+
│ └── rules/
|
|
116
|
+
│ └── aodw-next.mdc
|
|
126
117
|
├── claude/
|
|
127
118
|
│ └── CLAUDE.md
|
|
128
|
-
└──
|
|
129
|
-
└──
|
|
119
|
+
└── antigravity/
|
|
120
|
+
└── .agent/
|
|
121
|
+
└── rules/
|
|
122
|
+
└── aodw-next.md
|
|
130
123
|
```
|
|
131
124
|
|
|
132
125
|
## 🔄 版本同步
|
|
133
126
|
|
|
134
127
|
适配器版本与 AODW 核心规范保持同步:
|
|
135
|
-
- 当 `.aodw
|
|
128
|
+
- 当 `.aodw-next/` 更新时,适配器也应相应调整
|
|
136
129
|
- CLI 的 `update` 命令会同时更新核心和适配器
|
|
137
130
|
|
|
138
131
|
## 🤝 贡献
|
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ npx aodw-skill
|
|
|
20
20
|
|
|
21
21
|
该命令会:
|
|
22
22
|
1. 安装 AODW-Next 核心规范(`.aodw-next` 目录)
|
|
23
|
-
2. 根据您的选择安装对应的 AI 工具适配器(Cursor /
|
|
23
|
+
2. 根据您的选择安装对应的 AI 工具适配器(Cursor / Claude / Antigravity)
|
|
24
24
|
3. 初始化 `RT` 目录用于管理开发任务
|
|
25
25
|
|
|
26
26
|
## 使用方法
|
|
@@ -36,8 +36,6 @@ npx aodw-skill
|
|
|
36
36
|
- ✓ Cursor (IDE with AI)
|
|
37
37
|
- ✓ Antigravity (Google Gemini)
|
|
38
38
|
- ✓ Anthropic Claude
|
|
39
|
-
- ✓ Gemini (Web / API)
|
|
40
|
-
- ✓ General Agents (OpenAI, etc.)
|
|
41
39
|
|
|
42
40
|
根据您的选择,工具会自动安装相应的配置文件。
|
|
43
41
|
|
|
@@ -93,10 +91,8 @@ your-project/
|
|
|
93
91
|
## 支持的 AI 工具
|
|
94
92
|
|
|
95
93
|
- **Cursor**: 安装 `.cursor` 目录和 `aodw-next.mdc`
|
|
96
|
-
- **Antigravity**: 安装 `.agent` 目录
|
|
94
|
+
- **Antigravity (Google Gemini)**: 安装 `.agent` 目录
|
|
97
95
|
- **Anthropic Claude**: 安装 `.claude/CLAUDE.md`
|
|
98
|
-
- **Gemini**: 安装 `.agent` 目录和 `.gemini/GEMINI.md`
|
|
99
|
-
- **General**: 安装通用适配器(如 `.github/copilot-instructions.md`)
|
|
100
96
|
|
|
101
97
|
## 更多命令
|
|
102
98
|
|
|
@@ -144,6 +140,12 @@ npm whoami
|
|
|
144
140
|
|
|
145
141
|
3. 发布到 npm
|
|
146
142
|
|
|
143
|
+
- 先检查实际入包文件(推荐):
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
npm run pack:check
|
|
147
|
+
```
|
|
148
|
+
|
|
147
149
|
- OTP 模式(账号策略要求 2FA):
|
|
148
150
|
|
|
149
151
|
```bash
|
package/bin/aodw.js
CHANGED
|
@@ -11,10 +11,7 @@ import { fileURLToPath } from 'url';
|
|
|
11
11
|
import {
|
|
12
12
|
AntigravityProcessor,
|
|
13
13
|
CursorProcessor,
|
|
14
|
-
CopilotProcessor,
|
|
15
14
|
ClaudeProcessor,
|
|
16
|
-
GeminiProcessor,
|
|
17
|
-
GeneralProcessor,
|
|
18
15
|
BaseProcessor
|
|
19
16
|
} from './processors/index.js';
|
|
20
17
|
|
|
@@ -37,10 +34,6 @@ const PACKAGE_NAME = packageJson.name || 'aodw-skill';
|
|
|
37
34
|
process.env.AODW_CORE_DIR = CORE_DIRNAME;
|
|
38
35
|
process.env.AODW_PACKAGE_NAME = PACKAGE_NAME;
|
|
39
36
|
|
|
40
|
-
const GEMINI_RULE_FILES = [
|
|
41
|
-
'aodw-next.md'
|
|
42
|
-
];
|
|
43
|
-
|
|
44
37
|
// Define source paths (Next version - fixed paths)
|
|
45
38
|
// Support both development (from source) and production (from npm package) environments
|
|
46
39
|
function getSourcePaths() {
|
|
@@ -49,22 +42,19 @@ function getSourcePaths() {
|
|
|
49
42
|
// Try npm package paths first (production)
|
|
50
43
|
const npmCore = path.join(packageRoot, '.aodw-next');
|
|
51
44
|
const npmAdapters = path.join(packageRoot, 'AODW_Adapters');
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
|
|
54
46
|
// Try development paths (from source)
|
|
55
47
|
const devCore = path.join(packageRoot, '../templates/.aodw-next');
|
|
56
48
|
const devAdapters = path.join(packageRoot, '../templates/AODW_Adapters');
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
|
|
59
50
|
// Use npm package paths if they exist, otherwise use development paths
|
|
60
51
|
const SOURCE_CORE = fs.existsSync(npmCore) ? npmCore : devCore;
|
|
61
52
|
const SOURCE_ADAPTERS = fs.existsSync(npmAdapters) ? npmAdapters : devAdapters;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return { SOURCE_CORE, SOURCE_ADAPTERS, SOURCE_DOCS };
|
|
53
|
+
|
|
54
|
+
return { SOURCE_CORE, SOURCE_ADAPTERS };
|
|
65
55
|
}
|
|
66
56
|
|
|
67
|
-
const { SOURCE_CORE, SOURCE_ADAPTERS
|
|
57
|
+
const { SOURCE_CORE, SOURCE_ADAPTERS } = getSourcePaths();
|
|
68
58
|
const SOURCE_TEMPLATE = path.join(SOURCE_CORE, 'templates/aodw-kernel-loader-template.md');
|
|
69
59
|
|
|
70
60
|
program
|
|
@@ -280,9 +270,7 @@ async function runInit() {
|
|
|
280
270
|
choices: [
|
|
281
271
|
{ name: 'Cursor (IDE with AI)', value: 'cursor', checked: true },
|
|
282
272
|
{ name: 'Antigravity (Google Gemini)', value: 'antigravity', checked: true },
|
|
283
|
-
{ name: 'Claude Desktop', value: 'claude', checked: false }
|
|
284
|
-
{ name: 'Gemini (Web / API)', value: 'gemini', checked: false },
|
|
285
|
-
{ name: 'General Agents (OpenAI, etc.)', value: 'general', checked: false }
|
|
273
|
+
{ name: 'Claude Desktop', value: 'claude', checked: false }
|
|
286
274
|
],
|
|
287
275
|
validate: (answer) => {
|
|
288
276
|
if (answer.length < 1) {
|
|
@@ -403,55 +391,6 @@ async function runInit() {
|
|
|
403
391
|
}
|
|
404
392
|
}
|
|
405
393
|
|
|
406
|
-
// Gemini
|
|
407
|
-
if (platforms.includes('gemini')) {
|
|
408
|
-
console.log(chalk.yellow(' • 安装 Gemini 适配器...'));
|
|
409
|
-
const targetGeminiRules = path.join(process.cwd(), '.agent/rules');
|
|
410
|
-
await fs.ensureDir(targetGeminiRules);
|
|
411
|
-
if (fs.existsSync(SOURCE_TEMPLATE)) {
|
|
412
|
-
await installFile(SOURCE_TEMPLATE, path.join(targetGeminiRules, 'aodw-next.md'), GeminiProcessor);
|
|
413
|
-
} else {
|
|
414
|
-
const sourceGeminiRules = path.join(SOURCE_ADAPTERS, 'gemini/.agent/rules');
|
|
415
|
-
if (fs.existsSync(sourceGeminiRules)) {
|
|
416
|
-
await copyRecursive(sourceGeminiRules, targetGeminiRules, AntigravityProcessor);
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
const sourceGemini = path.join(SOURCE_ADAPTERS, 'gemini/GEMINI.md');
|
|
420
|
-
if (fs.existsSync(sourceGemini)) {
|
|
421
|
-
await installFile(
|
|
422
|
-
sourceGemini,
|
|
423
|
-
path.join(process.cwd(), `.gemini/GEMINI.md`),
|
|
424
|
-
BaseProcessor
|
|
425
|
-
);
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
// General
|
|
430
|
-
if (platforms.includes('general')) {
|
|
431
|
-
console.log(chalk.yellow(' • 安装通用适配器 (General)...'));
|
|
432
|
-
if (fs.existsSync(SOURCE_TEMPLATE)) {
|
|
433
|
-
await installFile(
|
|
434
|
-
SOURCE_TEMPLATE,
|
|
435
|
-
path.join(process.cwd(), CORE_DIRNAME, 'AGENTS.md'),
|
|
436
|
-
GeneralProcessor
|
|
437
|
-
);
|
|
438
|
-
} else {
|
|
439
|
-
await installFile(
|
|
440
|
-
path.join(SOURCE_ADAPTERS, 'general/AGENTS.md'),
|
|
441
|
-
path.join(process.cwd(), CORE_DIRNAME, 'AGENTS.md'),
|
|
442
|
-
BaseProcessor
|
|
443
|
-
);
|
|
444
|
-
}
|
|
445
|
-
const sourceCopilot = path.join(SOURCE_ADAPTERS, 'general/.github/copilot-instructions.md');
|
|
446
|
-
if (fs.existsSync(sourceCopilot)) {
|
|
447
|
-
await installFile(
|
|
448
|
-
sourceCopilot,
|
|
449
|
-
path.join(process.cwd(), `.github/copilot-instructions.md`),
|
|
450
|
-
BaseProcessor
|
|
451
|
-
);
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
|
|
455
394
|
console.log(chalk.green('\n✅ AODW-Next 初始化成功!'));
|
|
456
395
|
console.log(chalk.white(`项目: ${projectName}`));
|
|
457
396
|
|
|
@@ -487,22 +426,12 @@ async function runUninstall() {
|
|
|
487
426
|
// Cursor
|
|
488
427
|
await removeIfExists(path.join(cwd, '.cursor/rules', 'aodw-next.mdc'));
|
|
489
428
|
|
|
490
|
-
// Antigravity
|
|
429
|
+
// Antigravity (Gemini)
|
|
491
430
|
await removeIfExists(path.join(cwd, '.agent/rules', 'aodw-next.md'));
|
|
492
431
|
|
|
493
432
|
// Claude
|
|
494
433
|
await removeIfExists(path.join(cwd, '.claude', 'CLAUDE.md'));
|
|
495
434
|
|
|
496
|
-
// Gemini rules
|
|
497
|
-
for (const ruleFile of GEMINI_RULE_FILES) {
|
|
498
|
-
await removeIfExists(path.join(cwd, '.agent/rules', ruleFile));
|
|
499
|
-
}
|
|
500
|
-
await removeIfExists(path.join(cwd, '.gemini', 'GEMINI.md'));
|
|
501
|
-
|
|
502
|
-
// General
|
|
503
|
-
await removeIfExists(path.join(cwd, CORE_DIRNAME, 'AGENTS.md'));
|
|
504
|
-
await removeIfExists(path.join(cwd, '.github', 'copilot-instructions.md'));
|
|
505
|
-
|
|
506
435
|
console.log(chalk.green('✅ AODW-Next 已卸载。'));
|
|
507
436
|
}
|
|
508
437
|
}
|
package/bin/processors/index.js
CHANGED
|
@@ -61,7 +61,7 @@ export class CursorProcessor extends BaseProcessor {
|
|
|
61
61
|
let processed = content.replace(/\{\{REF_PREFIX\}\}/g, '@');
|
|
62
62
|
// Replace AODW_DIR placeholder (Next version - fixed to .aodw-next)
|
|
63
63
|
processed = processed.replace(/\{\{AODW_DIR\}\}/g, '.aodw-next');
|
|
64
|
-
|
|
64
|
+
|
|
65
65
|
// For Rules (.mdc): Inject globs and alwaysApply
|
|
66
66
|
if (this.targetPath.endsWith('.mdc')) {
|
|
67
67
|
processed = this.injectFrontmatter(processed, 'globs', '*');
|
|
@@ -73,18 +73,6 @@ export class CursorProcessor extends BaseProcessor {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
export class CopilotProcessor extends BaseProcessor {
|
|
77
|
-
transform(content) {
|
|
78
|
-
// For Prompts: Inject model and mode
|
|
79
|
-
if (this.targetPath.endsWith('.prompt.md')) {
|
|
80
|
-
let newContent = this.injectFrontmatter(content, 'model', 'gpt-4o');
|
|
81
|
-
newContent = this.injectFrontmatter(newContent, 'mode', 'chat');
|
|
82
|
-
return newContent;
|
|
83
|
-
}
|
|
84
|
-
return content;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
76
|
export class ClaudeProcessor extends BaseProcessor {
|
|
89
77
|
transform(content) {
|
|
90
78
|
// Replace template placeholders: empty for Claude
|
|
@@ -95,25 +83,3 @@ export class ClaudeProcessor extends BaseProcessor {
|
|
|
95
83
|
return processed;
|
|
96
84
|
}
|
|
97
85
|
}
|
|
98
|
-
|
|
99
|
-
export class GeminiProcessor extends BaseProcessor {
|
|
100
|
-
transform(content) {
|
|
101
|
-
// Replace template placeholders: empty for Gemini
|
|
102
|
-
let processed = content.replace(/\{\{REF_PREFIX\}\}/g, '');
|
|
103
|
-
// Replace AODW_DIR placeholder (Next version - fixed to .aodw-next)
|
|
104
|
-
processed = processed.replace(/\{\{AODW_DIR\}\}/g, '.aodw-next');
|
|
105
|
-
// Gemini uses standard markdown, no frontmatter needed
|
|
106
|
-
return processed;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export class GeneralProcessor extends BaseProcessor {
|
|
111
|
-
transform(content) {
|
|
112
|
-
// Replace template placeholders: empty for General
|
|
113
|
-
let processed = content.replace(/\{\{REF_PREFIX\}\}/g, '');
|
|
114
|
-
// Replace AODW_DIR placeholder (Next version - fixed to .aodw-next)
|
|
115
|
-
processed = processed.replace(/\{\{AODW_DIR\}\}/g, '.aodw-next');
|
|
116
|
-
// General uses standard markdown, no frontmatter needed
|
|
117
|
-
return processed;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
@@ -16,9 +16,7 @@ import { fileURLToPath } from 'url';
|
|
|
16
16
|
import {
|
|
17
17
|
AntigravityProcessor,
|
|
18
18
|
CursorProcessor,
|
|
19
|
-
ClaudeProcessor
|
|
20
|
-
GeminiProcessor,
|
|
21
|
-
GeneralProcessor
|
|
19
|
+
ClaudeProcessor
|
|
22
20
|
} from './processors/index.js';
|
|
23
21
|
|
|
24
22
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -66,18 +64,6 @@ async function updateAdapters() {
|
|
|
66
64
|
await fs.ensureDir(path.dirname(claudeTarget));
|
|
67
65
|
await installFile(SOURCE_TEMPLATE, claudeTarget, ClaudeProcessor);
|
|
68
66
|
|
|
69
|
-
// Gemini
|
|
70
|
-
console.log('\n📦 Updating Gemini adapter...');
|
|
71
|
-
const geminiTarget = path.join(TARGET_ADAPTERS, 'gemini/.agent/rules/aodw-next.md');
|
|
72
|
-
await fs.ensureDir(path.dirname(geminiTarget));
|
|
73
|
-
await installFile(SOURCE_TEMPLATE, geminiTarget, GeminiProcessor);
|
|
74
|
-
|
|
75
|
-
// General
|
|
76
|
-
console.log('\n📦 Updating General adapter...');
|
|
77
|
-
const generalTarget = path.join(TARGET_ADAPTERS, 'general/AGENTS.md');
|
|
78
|
-
await fs.ensureDir(path.dirname(generalTarget));
|
|
79
|
-
await installFile(SOURCE_TEMPLATE, generalTarget, GeneralProcessor);
|
|
80
|
-
|
|
81
67
|
console.log('\n✅ All adapters updated successfully!');
|
|
82
68
|
console.log('\n📝 Note: These files are fallback files for CLI installation.');
|
|
83
69
|
console.log(' CLI will use the template directly if available.');
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aodw-skill",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.19",
|
|
4
4
|
"description": "Next-channel CLI tool to scaffold AODW in your project",
|
|
5
5
|
"main": "bin/aodw.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"bin/",
|
|
8
8
|
".aodw-next/",
|
|
9
|
-
"AODW_Adapters/"
|
|
10
|
-
"docs/"
|
|
9
|
+
"AODW_Adapters/"
|
|
11
10
|
],
|
|
12
11
|
"bin": {
|
|
13
12
|
"aodw-skill": "bin/aodw.js"
|
|
14
13
|
},
|
|
15
14
|
"scripts": {
|
|
16
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
15
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
16
|
+
"pack:check": "npm pack --dry-run"
|
|
17
17
|
},
|
|
18
18
|
"keywords": [
|
|
19
19
|
"aodw",
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# AI 交互规则摘要
|
|
2
|
-
|
|
3
|
-
## 0. UI 任务判断(前置)
|
|
4
|
-
|
|
5
|
-
涉及页面/界面/布局/组件/表单/Dashboard/交互体验 → 视为 UI 任务,进入 UI 专用流程(详见 `.aodw-next/02-workflow/ui-workflow-rules.md`)。
|
|
6
|
-
|
|
7
|
-
## 1. 提问类型
|
|
8
|
-
|
|
9
|
-
- **决策型**:必须提供选项 + 推荐 + 理由,支持 custom 回答
|
|
10
|
-
- **信息型**:必须提供示例答案,限制 ≤10 词
|
|
11
|
-
|
|
12
|
-
## 2. 格式规范
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
Q1. <问题>
|
|
16
|
-
A. <选项1> B. <选项2> C. <选项3>
|
|
17
|
-
Recommended: B(理由:……)
|
|
18
|
-
请回复:A/B/C 或 custom:<答案>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## 3. 每轮限制
|
|
22
|
-
|
|
23
|
-
- 单轮最多 5 个问题,建议 ≤3 个
|
|
24
|
-
- 必须 Ask → Wait → Respond → Continue,不得连续提问
|
|
25
|
-
|
|
26
|
-
## 4. 中断与暂停
|
|
27
|
-
|
|
28
|
-
- 用户说"暂停" → 立即停止,切换普通模式
|
|
29
|
-
- 用户说"继续 AODW" → 恢复流程
|
|
30
|
-
|
|
31
|
-
## 5. 实现前门槛(四要素)
|
|
32
|
-
|
|
33
|
-
编码前必须满足:假设已声明 / 歧义已处理 / 成功标准已定义 / 最小方案已确认。缺一不可。
|
|
34
|
-
|
|
35
|
-
## 6. 分支验证
|
|
36
|
-
|
|
37
|
-
任何代码修改前必须 `git branch --show-current`,在 main/master 上**立即停止**。
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# AI 知识规则摘要
|
|
2
|
-
|
|
3
|
-
## 1. 文档分类
|
|
4
|
-
|
|
5
|
-
- **Spec 文档**:spec.md / rt-lite.md(需求定义)
|
|
6
|
-
- **Plan 文档**:plan.md / rt-lite.md §2(实现方案)
|
|
7
|
-
- **过程文档**:impact.md / invariants.md / tests.md / changelog.md
|
|
8
|
-
- **知识文档**:模块 README / modules-index.yaml
|
|
9
|
-
|
|
10
|
-
## 2. Spec-Lite 的 rt-lite.md
|
|
11
|
-
|
|
12
|
-
不再创建独立的 spec-lite.md 和 plan-lite.md,全部整合在 rt-lite.md 中。
|
|
13
|
-
|
|
14
|
-
## 3. 文档同步原则
|
|
15
|
-
|
|
16
|
-
- 代码改动后必须同步更新相关文档
|
|
17
|
-
- 文档与代码不一致视为 Bug
|
|
18
|
-
- RT 完成前必须执行知识蒸馏(更新模块文档和 modules-index.yaml)
|
|
19
|
-
|
|
20
|
-
## 4. 知识蒸馏(RT 完成前提)
|
|
21
|
-
|
|
22
|
-
合并前必须:
|
|
23
|
-
1. 读取 modules-index.yaml 找到受影响模块
|
|
24
|
-
2. 更新对应模块 README
|
|
25
|
-
3. 确认文档反映最新代码状态
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Git Discipline 摘要
|
|
2
|
-
|
|
3
|
-
## 0. 确认门控
|
|
4
|
-
|
|
5
|
-
AI 可执行所有 Git 操作,但不可逆操作(commit / merge / push / tag / worktree add-remove / branch delete)执行前**必须向用户确认**。
|
|
6
|
-
|
|
7
|
-
无需确认:读取文件、git log/status/diff、创建/切换分支。
|
|
8
|
-
|
|
9
|
-
## 1. 分支命名
|
|
10
|
-
|
|
11
|
-
格式:`feature/RT-{seq}-{short-name}`(kebab-case,2-4 词)
|
|
12
|
-
示例:`feature/RT-001-login-fix`
|
|
13
|
-
|
|
14
|
-
## 2. Worktree
|
|
15
|
-
|
|
16
|
-
一个 RT = 一个 Worktree = 一个 Feature 分支。
|
|
17
|
-
- 创建:Decision 阶段 `git worktree add ../Project-RT-XXX feature/RT-XXX-name`
|
|
18
|
-
- 清理:RT 完成合并后删除
|
|
19
|
-
|
|
20
|
-
## 3. 提交信息
|
|
21
|
-
|
|
22
|
-
格式:`<type>(<scope>): <subject>` + `Refs: RT-XXX`
|
|
23
|
-
示例:`fix(auth): handle token expiration — Refs: RT-001`
|
|
24
|
-
|
|
25
|
-
## 4. 标签
|
|
26
|
-
|
|
27
|
-
完成后打标签:`done-RT-XXX`
|
|
28
|
-
|
|
29
|
-
## 5. 合并
|
|
30
|
-
|
|
31
|
-
- 禁止 fast-forward,使用 `--no-ff`
|
|
32
|
-
- 合并前必须通过 lint + test + 编码规范检查
|
|
33
|
-
|
|
34
|
-
## 6. 完成流程
|
|
35
|
-
|
|
36
|
-
知识蒸馏 → 确认合并 → 确认清理 → 播报完成
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# RT-ID 生成规则(本地模式)
|
|
2
|
-
|
|
3
|
-
## 0. 强制策略
|
|
4
|
-
|
|
5
|
-
AODW 使用**本地生成 RT-ID**,不依赖远程服务。
|
|
6
|
-
|
|
7
|
-
## 1. 生成逻辑
|
|
8
|
-
|
|
9
|
-
1. 扫描项目 `RT/` 目录下所有 `RT-XXX` 格式的目录
|
|
10
|
-
2. 找到最大序号 `N`
|
|
11
|
-
3. 生成新 ID:`RT-{N+1}`(补零到 3 位,如 `RT-001`, `RT-002`)
|
|
12
|
-
4. 如果生成的 ID 对应的目录已存在:递增序号直到找到可用 ID
|
|
13
|
-
|
|
14
|
-
## 2. 检查清单
|
|
15
|
-
|
|
16
|
-
- [ ] 已扫描 `RT/` 目录找到最大序号
|
|
17
|
-
- [ ] 已生成 `RT-{N+1}` 格式的 ID
|
|
18
|
-
- [ ] 已确认该 ID 对应的目录不存在
|
|
19
|
-
|
|
20
|
-
## 3. 格式规范
|
|
21
|
-
|
|
22
|
-
- 格式:`RT-XXX`(3 位数字,左侧补零)
|
|
23
|
-
- 示例:`RT-001`, `RT-042`, `RT-123`
|
|
24
|
-
- 目录:`RT/RT-XXX/`
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# RT-Manager Summary
|
|
2
|
-
|
|
3
|
-
## 主要职责
|
|
4
|
-
- RT 编号、目录、分支管理
|
|
5
|
-
- Intake 流程与 Spec-Full/Spec-Lite 分流
|
|
6
|
-
- 状态机维护:created → intaking → decided → in-progress → reviewing → done
|
|
7
|
-
|
|
8
|
-
## 强制前置检查
|
|
9
|
-
- 必须在 feature 分支上工作
|
|
10
|
-
- 未切分支不得修改业务代码
|
|
11
|
-
|
|
12
|
-
## 核心门禁
|
|
13
|
-
- decided → in-progress 前必须具备 spec/plan
|
|
14
|
-
- Plan 完成后必须等待用户确认
|
|
15
|
-
- 提交前必须展示 diff 与 status
|