aodw-skill 0.7.17 → 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.
Files changed (140) hide show
  1. package/.aodw-next/01-core/csf-thinking-framework.md +1 -1
  2. package/.aodw-next/02-workflow/rt-manager.md +22 -1
  3. package/.aodw-next/02-workflow/ui-workflow-rules.md +0 -3
  4. package/.aodw-next/README.md +0 -1
  5. package/.aodw-next/SKILL.md +5 -5
  6. package/.aodw-next/manifest.yaml +0 -5
  7. package/AODW_Adapters/README.md +24 -31
  8. package/README.md +53 -6
  9. package/bin/aodw.js +17 -186
  10. package/bin/commands/new.js +4 -120
  11. package/bin/processors/index.js +1 -35
  12. package/bin/update-adapters-from-template.js +1 -15
  13. package/package.json +4 -4
  14. package/.aodw-next/01-core/ai-interaction-rules-summary.md +0 -37
  15. package/.aodw-next/01-core/ai-knowledge-rules-summary.md +0 -25
  16. package/.aodw-next/01-core/git-discipline-summary.md +0 -36
  17. package/.aodw-next/02-workflow/rt-id-generation-rules.md +0 -24
  18. package/.aodw-next/02-workflow/rt-manager-summary.md +0 -15
  19. package/.aodw-next/02-workflow/ui-workflow-rules-summary.md +0 -39
  20. package/.aodw-next/03-standards/stacks/rust-axum/ai-coding-rules-backend.md +0 -134
  21. package/.aodw-next/06-project/README.md +0 -16
  22. package/.aodw-next/07-optimization/token-usage-analysis.md +0 -253
  23. package/.aodw-next/templates/TEMPLATE-APPLICATION-GUIDE.md +0 -110
  24. package/.aodw-next/templates/audit-report-template.md +0 -232
  25. package/.aodw-next/templates/changelog-template.md +0 -16
  26. package/.aodw-next/templates/checklists/coding-standards-template.md +0 -130
  27. package/.aodw-next/templates/csf-review-template.md +0 -201
  28. package/.aodw-next/templates/impact-template.md +0 -17
  29. package/.aodw-next/templates/invariants-template.md +0 -12
  30. package/.aodw-next/templates/plan-lite-template.md +0 -20
  31. package/.aodw-next/templates/rt-decision-template.md +0 -13
  32. package/.aodw-next/templates/rt-intake-template.md +0 -33
  33. package/.aodw-next/templates/spec-lite-template.md +0 -26
  34. package/.aodw-next/templates/tests-template.md +0 -13
  35. package/.aodw-next/templates/tools-config/README.md +0 -112
  36. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-check.md +0 -7
  37. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-done.md +0 -7
  38. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-full.md +0 -7
  39. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-governance.md +0 -7
  40. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-impact.md +0 -7
  41. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-init.md +0 -7
  42. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-invariants.md +0 -7
  43. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-lite.md +0 -7
  44. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-module.md +0 -7
  45. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-new.md +0 -7
  46. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-open.md +0 -7
  47. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-pause.md +0 -7
  48. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-resume.md +0 -7
  49. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-tests.md +0 -7
  50. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-upgrade.md +0 -7
  51. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw.md +0 -35
  52. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-check.md +0 -16
  53. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-done.md +0 -16
  54. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-full.md +0 -14
  55. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-governance.md +0 -13
  56. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-impact.md +0 -13
  57. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-init.md +0 -13
  58. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-invariants.md +0 -13
  59. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-lite.md +0 -14
  60. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-module.md +0 -13
  61. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-new.md +0 -30
  62. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-open.md +0 -10
  63. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-pause.md +0 -12
  64. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-resume.md +0 -12
  65. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-tests.md +0 -13
  66. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-upgrade.md +0 -12
  67. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw.md +0 -18
  68. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/claude/CLAUDE.md +0 -17
  69. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-check.md +0 -30
  70. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-done.md +0 -52
  71. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-full.md +0 -31
  72. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-governance.md +0 -34
  73. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-impact.md +0 -25
  74. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-init.md +0 -75
  75. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-invariants.md +0 -29
  76. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-lite.md +0 -23
  77. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-module.md +0 -24
  78. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-new.md +0 -70
  79. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-open.md +0 -19
  80. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-pause.md +0 -19
  81. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-resume.md +0 -20
  82. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-tests.md +0 -26
  83. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-upgrade.md +0 -27
  84. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw.md +0 -69
  85. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/deploypromote.md +0 -20
  86. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/featuretotester.md +0 -32
  87. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/feature_to_master_push_test_local.sh +0 -390
  88. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/promote_only.sh +0 -210
  89. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/rollback_prod.sh +0 -99
  90. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/rules/aodw.mdc +0 -26
  91. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-check.md +0 -29
  92. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-done.md +0 -52
  93. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-full.md +0 -30
  94. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-governance.md +0 -33
  95. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-impact.md +0 -24
  96. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-init.md +0 -75
  97. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-invariants.md +0 -28
  98. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-lite.md +0 -22
  99. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-module.md +0 -23
  100. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-new.md +0 -92
  101. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-open.md +0 -18
  102. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-pause.md +0 -18
  103. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-resume.md +0 -19
  104. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-tests.md +0 -25
  105. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-upgrade.md +0 -26
  106. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw.md +0 -68
  107. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/GEMINI.md +0 -17
  108. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-analyze.md +0 -15
  109. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-complete.md +0 -15
  110. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-control.md +0 -14
  111. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-decide.md +0 -16
  112. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-governance.md +0 -7
  113. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-implement.md +0 -16
  114. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-init.md +0 -7
  115. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-intake.md +0 -15
  116. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-open.md +0 -7
  117. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-simplified.md +0 -107
  118. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-verify.md +0 -14
  119. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-analyze.md +0 -24
  120. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-complete.md +0 -23
  121. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-control.md +0 -21
  122. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-decide.md +0 -26
  123. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-governance.md +0 -13
  124. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-implement.md +0 -21
  125. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-init.md +0 -13
  126. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-intake.md +0 -28
  127. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-open.md +0 -10
  128. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-verify.md +0 -20
  129. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw.md +0 -18
  130. package/AODW_Adapters/gemini/.agent/rules/aodw-next.md +0 -70
  131. package/AODW_Adapters/gemini/GEMINI.md +0 -18
  132. package/AODW_Adapters/general/.github/copilot-instructions.md +0 -34
  133. package/AODW_Adapters/general/AGENTS.md +0 -70
  134. package/docs/README.md +0 -26
  135. package/docs/adapter-evaluation.md +0 -55
  136. package/docs/backend-guidelines.md +0 -335
  137. package/docs/frontend-guidelines.md +0 -266
  138. package/docs/installation-variants.md +0 -88
  139. package/docs/migration-guide-0.2.0.md +0 -250
  140. package/docs/platform-matrix.md +0 -83
@@ -362,7 +362,7 @@ CSF 思维框架与 AODW 核心原则完全兼容:
362
362
 
363
363
  ### 10.2 工具支持
364
364
 
365
- - 创建 CSF 审查模板(`.aodw-next/templates/csf-review-template.md`)
365
+ - 使用 RT 目录中的审查文档记录 CSF 结果(无需依赖内置模板文件)
366
366
  - 在平台适配器中添加 CSF 审查触发规则(如 `aodw-csf-review.md`)
367
367
  - 在相关流程文档中引用 CSF 审查要求
368
368
 
@@ -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`
@@ -17,7 +17,6 @@
17
17
  - `spec-full-profile.md` — Spec-Full 执行规范(复杂变更)
18
18
  - `spec-lite-profile.md` — Spec-Lite 执行规范(简单变更)
19
19
  - `ui-workflow-rules.md` — UI 专项开发流程
20
- - `rt-id-generation-rules.md` — RT ID 本地生成规则
21
20
 
22
21
  ### 03-standards(编码规范)
23
22
  - `ai-coding-rules.md` — 通用编码规范
@@ -9,17 +9,17 @@ description: AODW (AI-Orchestrated Development Workflow) — 完整的 AI 协作
9
9
 
10
10
  ## 加载顺序(渐进式披露,优先读 summary)
11
11
 
12
- 1. **总是加载**:`01-core/aodw-constitution-summary.md`(最高行为准则)
12
+ 1. **总是加载**:`01-core/aodw-constitution.md`(最高行为准则)
13
13
  2. **按场景追加**(优先读 `*-summary.md`,需要细节时再读完整版):
14
14
 
15
15
  | 场景 | 追加加载 |
16
16
  |------|---------|
17
- | 立项 / 创建 RT | `rt-manager-summary.md` + `ai-interaction-rules-summary.md` + `rt-id-generation-rules.md` |
18
- | Spec-Lite 执行 | `spec-lite-profile-summary.md` + `git-discipline-summary.md` |
19
- | Spec-Full 执行 | `spec-full-profile-summary.md` + `ai-coding-rules.md`(按技术栈) |
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-summary.md` |
22
+ | 知识同步 | `ai-knowledge-rules.md` |
23
23
 
24
24
  ## 核心概念
25
25
 
@@ -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.).
@@ -6,22 +6,19 @@
6
6
 
7
7
  ### `cursor/`
8
8
  **Cursor IDE 适配器**
9
- - `.cursor/` - 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
- ### `general/`
22
- **通用适配器**
23
- - `AGENTS.md` - 所有工具通用的说明文档
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 create-aodw init
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', 'gemini', 'claude', 'vscode'] // 新增
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 create-aodw update` 即可获得更新
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
- <!-- GEMINI.md -->
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
- <!-- GEMINI.md -->
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
- ├── .cursor/
118
- │ ├── aodw_all.mdc
119
- │ ├── rules/
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
- └── general/
129
- └── AGENTS.md
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 / Gemini / Claude / General
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
 
@@ -124,6 +120,57 @@ npx aodw-skill new
124
120
 
125
121
  交互式创建新的开发任务 Ticket。
126
122
 
123
+ ## 维护者发布流程
124
+
125
+ 后续版本发布统一采用以下方式:
126
+
127
+ 1. 进入目录并确认状态
128
+
129
+ ```bash
130
+ cd cli
131
+ git status
132
+ npm whoami
133
+ ```
134
+
135
+ 2. 版本升级(会同步模板并更新版本号)
136
+
137
+ ```bash
138
+ ./publish.sh patch # 或 minor / major
139
+ ```
140
+
141
+ 3. 发布到 npm
142
+
143
+ - 先检查实际入包文件(推荐):
144
+
145
+ ```bash
146
+ npm run pack:check
147
+ ```
148
+
149
+ - OTP 模式(账号策略要求 2FA):
150
+
151
+ ```bash
152
+ npm publish --otp=<6位验证码>
153
+ ```
154
+
155
+ - Token 模式(Granular Access Token + bypass 2FA):
156
+
157
+ ```bash
158
+ npm config set //registry.npmjs.org/:_authToken=<TOKEN>
159
+ npm publish
160
+ ```
161
+
162
+ 4. 发布校验
163
+
164
+ ```bash
165
+ npm view aodw-skill version
166
+ npx aodw-skill@latest --help
167
+ ```
168
+
169
+ 5. 收尾
170
+
171
+ - 如 `package.json` 版本号变更未提交,请补充 commit 并 push。
172
+ - 若 token 曾在不安全位置暴露,请立即撤销并更换。
173
+
127
174
  ## 了解更多
128
175
 
129
176
  - [AODW-Next 完整文档](#)
package/bin/aodw.js CHANGED
@@ -7,15 +7,11 @@ import fs from 'fs-extra';
7
7
  import path from 'path';
8
8
  import { createRequire } from 'module';
9
9
  import { fileURLToPath } from 'url';
10
- import fetch from 'node-fetch';
11
10
 
12
11
  import {
13
12
  AntigravityProcessor,
14
13
  CursorProcessor,
15
- CopilotProcessor,
16
14
  ClaudeProcessor,
17
- GeminiProcessor,
18
- GeneralProcessor,
19
15
  BaseProcessor
20
16
  } from './processors/index.js';
21
17
 
@@ -38,10 +34,6 @@ const PACKAGE_NAME = packageJson.name || 'aodw-skill';
38
34
  process.env.AODW_CORE_DIR = CORE_DIRNAME;
39
35
  process.env.AODW_PACKAGE_NAME = PACKAGE_NAME;
40
36
 
41
- const GEMINI_RULE_FILES = [
42
- 'aodw-next.md'
43
- ];
44
-
45
37
  // Define source paths (Next version - fixed paths)
46
38
  // Support both development (from source) and production (from npm package) environments
47
39
  function getSourcePaths() {
@@ -50,22 +42,19 @@ function getSourcePaths() {
50
42
  // Try npm package paths first (production)
51
43
  const npmCore = path.join(packageRoot, '.aodw-next');
52
44
  const npmAdapters = path.join(packageRoot, 'AODW_Adapters');
53
- const npmDocs = path.join(packageRoot, 'docs');
54
-
45
+
55
46
  // Try development paths (from source)
56
47
  const devCore = path.join(packageRoot, '../templates/.aodw-next');
57
48
  const devAdapters = path.join(packageRoot, '../templates/AODW_Adapters');
58
- const devDocs = path.join(packageRoot, '../templates/docs');
59
-
49
+
60
50
  // Use npm package paths if they exist, otherwise use development paths
61
51
  const SOURCE_CORE = fs.existsSync(npmCore) ? npmCore : devCore;
62
52
  const SOURCE_ADAPTERS = fs.existsSync(npmAdapters) ? npmAdapters : devAdapters;
63
- const SOURCE_DOCS = fs.existsSync(npmDocs) ? npmDocs : devDocs;
64
-
65
- return { SOURCE_CORE, SOURCE_ADAPTERS, SOURCE_DOCS };
53
+
54
+ return { SOURCE_CORE, SOURCE_ADAPTERS };
66
55
  }
67
56
 
68
- const { SOURCE_CORE, SOURCE_ADAPTERS, SOURCE_DOCS } = getSourcePaths();
57
+ const { SOURCE_CORE, SOURCE_ADAPTERS } = getSourcePaths();
69
58
  const SOURCE_TEMPLATE = path.join(SOURCE_CORE, 'templates/aodw-kernel-loader-template.md');
70
59
 
71
60
  program
@@ -205,30 +194,6 @@ async function returnToMenu() {
205
194
  }]);
206
195
  }
207
196
 
208
- // Helper: Check server health
209
- async function checkServerHealth(url) {
210
- try {
211
- // Ensure URL has protocol
212
- if (!url.startsWith('http')) {
213
- url = `http://${url}`;
214
- }
215
-
216
- // Create timeout signal
217
- const controller = new AbortController();
218
- const timeout = setTimeout(() => controller.abort(), 3000); // 3s timeout
219
-
220
- const res = await fetch(`${url}/api/health`, {
221
- method: 'GET',
222
- signal: controller.signal
223
- });
224
-
225
- clearTimeout(timeout);
226
- return res.ok;
227
- } catch (error) {
228
- return false;
229
- }
230
- }
231
-
232
197
  async function runInit() {
233
198
  console.log(chalk.blue('🚀 正在初始化 AODW-Next...'));
234
199
 
@@ -289,10 +254,11 @@ async function runInit() {
289
254
  await saveProjectConfig({ project_name: projectName });
290
255
  }
291
256
 
292
- // --- Step 2: Configure Mode (if not configured) ---
257
+ // --- Step 2: Fixed Local Mode (independent only) ---
293
258
  const userConfig = getUserConfig();
294
- if (!userConfig.mode) {
295
- await configureMode(false); // Run config first time, no pause
259
+ if (userConfig.mode !== 'independent' || userConfig.server_url) {
260
+ await saveUserConfig({ mode: 'independent', server_url: '' });
261
+ console.log(chalk.gray('已固定为独立模式(本地生成 ID)'));
296
262
  }
297
263
 
298
264
  // --- Step 3: Platform Selection (Multi-select) ---
@@ -304,9 +270,7 @@ async function runInit() {
304
270
  choices: [
305
271
  { name: 'Cursor (IDE with AI)', value: 'cursor', checked: true },
306
272
  { name: 'Antigravity (Google Gemini)', value: 'antigravity', checked: true },
307
- { name: 'Claude Desktop', value: 'claude', checked: false },
308
- { name: 'Gemini (Web / API)', value: 'gemini', checked: false },
309
- { name: 'General Agents (OpenAI, etc.)', value: 'general', checked: false }
273
+ { name: 'Claude Desktop', value: 'claude', checked: false }
310
274
  ],
311
275
  validate: (answer) => {
312
276
  if (answer.length < 1) {
@@ -427,63 +391,10 @@ async function runInit() {
427
391
  }
428
392
  }
429
393
 
430
- // Gemini
431
- if (platforms.includes('gemini')) {
432
- console.log(chalk.yellow(' • 安装 Gemini 适配器...'));
433
- const targetGeminiRules = path.join(process.cwd(), '.agent/rules');
434
- await fs.ensureDir(targetGeminiRules);
435
- if (fs.existsSync(SOURCE_TEMPLATE)) {
436
- await installFile(SOURCE_TEMPLATE, path.join(targetGeminiRules, 'aodw-next.md'), GeminiProcessor);
437
- } else {
438
- const sourceGeminiRules = path.join(SOURCE_ADAPTERS, 'gemini/.agent/rules');
439
- if (fs.existsSync(sourceGeminiRules)) {
440
- await copyRecursive(sourceGeminiRules, targetGeminiRules, AntigravityProcessor);
441
- }
442
- }
443
- const sourceGemini = path.join(SOURCE_ADAPTERS, 'gemini/GEMINI.md');
444
- if (fs.existsSync(sourceGemini)) {
445
- await installFile(
446
- sourceGemini,
447
- path.join(process.cwd(), `.gemini/GEMINI.md`),
448
- BaseProcessor
449
- );
450
- }
451
- }
452
-
453
- // General
454
- if (platforms.includes('general')) {
455
- console.log(chalk.yellow(' • 安装通用适配器 (General)...'));
456
- if (fs.existsSync(SOURCE_TEMPLATE)) {
457
- await installFile(
458
- SOURCE_TEMPLATE,
459
- path.join(process.cwd(), CORE_DIRNAME, 'AGENTS.md'),
460
- GeneralProcessor
461
- );
462
- } else {
463
- await installFile(
464
- path.join(SOURCE_ADAPTERS, 'general/AGENTS.md'),
465
- path.join(process.cwd(), CORE_DIRNAME, 'AGENTS.md'),
466
- BaseProcessor
467
- );
468
- }
469
- const sourceCopilot = path.join(SOURCE_ADAPTERS, 'general/.github/copilot-instructions.md');
470
- if (fs.existsSync(sourceCopilot)) {
471
- await installFile(
472
- sourceCopilot,
473
- path.join(process.cwd(), `.github/copilot-instructions.md`),
474
- BaseProcessor
475
- );
476
- }
477
- }
478
-
479
394
  console.log(chalk.green('\n✅ AODW-Next 初始化成功!'));
480
395
  console.log(chalk.white(`项目: ${projectName}`));
481
396
 
482
- const updatedConfig = getUserConfig();
483
- console.log(chalk.white(`模式: ${updatedConfig.mode === 'independent' ? '独立模式 (本地)' : '协作模式 (联网)'}`));
484
- if (updatedConfig.mode === 'collaborative') {
485
- console.log(chalk.white(`服务器: ${updatedConfig.server_url}`));
486
- }
397
+ console.log(chalk.white('模式: 独立模式 (本地)'));
487
398
  console.log(chalk.white(`平台: ${platforms.join(', ')}`));
488
399
  }
489
400
 
@@ -515,22 +426,12 @@ async function runUninstall() {
515
426
  // Cursor
516
427
  await removeIfExists(path.join(cwd, '.cursor/rules', 'aodw-next.mdc'));
517
428
 
518
- // Antigravity
429
+ // Antigravity (Gemini)
519
430
  await removeIfExists(path.join(cwd, '.agent/rules', 'aodw-next.md'));
520
431
 
521
432
  // Claude
522
433
  await removeIfExists(path.join(cwd, '.claude', 'CLAUDE.md'));
523
434
 
524
- // Gemini rules
525
- for (const ruleFile of GEMINI_RULE_FILES) {
526
- await removeIfExists(path.join(cwd, '.agent/rules', ruleFile));
527
- }
528
- await removeIfExists(path.join(cwd, '.gemini', 'GEMINI.md'));
529
-
530
- // General
531
- await removeIfExists(path.join(cwd, CORE_DIRNAME, 'AGENTS.md'));
532
- await removeIfExists(path.join(cwd, '.github', 'copilot-instructions.md'));
533
-
534
435
  console.log(chalk.green('✅ AODW-Next 已卸载。'));
535
436
  }
536
437
  }
@@ -670,68 +571,6 @@ async function generateToolsPrompt() {
670
571
  }
671
572
  }
672
573
 
673
- async function configureMode(pause = true, forceConnect = false) {
674
- const { mode } = await inquirer.prompt([{
675
- type: 'list',
676
- name: 'mode',
677
- message: '选择开发模式:',
678
- choices: [
679
- { name: '独立模式 (本地生成 ID, 适合个人开发)', value: 'independent' },
680
- { name: '协作模式 (联网获取 ID, 适合团队开发)', value: 'collaborative' }
681
- ]
682
- }]);
683
-
684
- let serverUrl = '';
685
- if (mode === 'collaborative') {
686
- while (true) {
687
- const answers = await inquirer.prompt([{
688
- type: 'input',
689
- name: 'serverUrl',
690
- message: '请输入 AODW-Next ID 服务器地址:',
691
- default: 'http://114.67.218.31:2005',
692
- validate: (input) => {
693
- if (!input || input.trim() === '') {
694
- return '协作模式必须提供服务器地址';
695
- }
696
- return true;
697
- }
698
- }]);
699
- serverUrl = answers.serverUrl.trim();
700
-
701
- process.stdout.write(chalk.gray(`正在测试连接 ${serverUrl}... `));
702
- const healthy = await checkServerHealth(serverUrl);
703
-
704
- if (healthy) {
705
- console.log(chalk.green('✅ 连接成功'));
706
- break;
707
- } else {
708
- console.log(chalk.red('❌ 连接失败'));
709
- const { action } = await inquirer.prompt([{
710
- type: 'list',
711
- name: 'action',
712
- message: '无法连接到 ID 服务器,请选择:',
713
- choices: [
714
- { name: '重试输入', value: 'retry' },
715
- { name: '强制保存 (离线使用)', value: 'force' },
716
- { name: '切换回独立模式', value: 'switch_independent' }
717
- ]
718
- }]);
719
-
720
- if (action === 'force') break;
721
- if (action === 'switch_independent') {
722
- await saveUserConfig({ mode: 'independent', server_url: '' });
723
- console.log(chalk.green('✅ 全局配置已保存 (切换为独立模式)'));
724
- return;
725
- }
726
- // retry continues loop
727
- }
728
- }
729
- }
730
-
731
- await saveUserConfig({ mode, server_url: serverUrl });
732
- console.log(chalk.green('✅ 全局配置已保存!'));
733
- }
734
-
735
574
  async function showMainMenu() {
736
575
  while (true) {
737
576
  console.clear();
@@ -739,9 +578,7 @@ async function showMainMenu() {
739
578
  console.log(chalk.gray('版本: ' + packageJson.version));
740
579
 
741
580
  // Show current config summary
742
- const config = getUserConfig();
743
- const modeStr = config.mode === 'independent' ? '🏠 独立模式' : '🌐 协作模式';
744
- console.log(chalk.gray(`当前配置: ${modeStr} ${config.mode === 'collaborative' ? `(${config.server_url})` : ''}`));
581
+ console.log(chalk.gray('当前配置: 🏠 独立模式 (本地生成 ID)'));
745
582
  console.log('');
746
583
 
747
584
  const { action } = await inquirer.prompt([{
@@ -752,15 +589,14 @@ async function showMainMenu() {
752
589
  choices: [
753
590
  new inquirer.Separator('--- 核心功能 ---'),
754
591
  { name: '1. 初始化 / 更新 AODW-Next (在本项目)', value: 'init' },
755
- { name: '2. 配置全局开发模式 (单机/联网)', value: 'config' },
756
592
 
757
593
  new inquirer.Separator('--- 工具箱 ---'),
758
- { name: '3. 项目概览初始化 (Architecture) - 生成提示词', value: 'init-overview-prompt' },
759
- { name: '4. 工具初始化 (ESLint/Ruff/Stack) - 生成提示词', value: 'init-tools-prompt' },
594
+ { name: '2. 项目概览初始化 (Architecture) - 生成提示词', value: 'init-overview-prompt' },
595
+ { name: '3. 工具初始化 (ESLint/Ruff/Stack) - 生成提示词', value: 'init-tools-prompt' },
760
596
 
761
597
  new inquirer.Separator('--- 帮助与维护 ---'),
762
- { name: '5. 查看帮助 & 部署指南', value: 'help' },
763
- { name: '6. 卸载 AODW-Next', value: 'uninstall' },
598
+ { name: '4. 查看帮助 & 部署指南', value: 'help' },
599
+ { name: '5. 卸载 AODW-Next', value: 'uninstall' },
764
600
  new inquirer.Separator(),
765
601
  { name: '0. 退出 (Exit)', value: 'exit' }
766
602
  ]
@@ -777,10 +613,6 @@ async function showMainMenu() {
777
613
  await runInit();
778
614
  await returnToMenu();
779
615
  break;
780
- case 'config':
781
- await configureMode();
782
- await returnToMenu();
783
- break;
784
616
  case 'init-overview-prompt':
785
617
  await generateOverviewPrompt();
786
618
  await returnToMenu();
@@ -831,7 +663,6 @@ program
831
663
  program
832
664
  .command('new')
833
665
  .description('Create a new Request Ticket (RT)')
834
- .option('--server <url>', 'URL of the ID server')
835
666
  .option('--project <name>', 'Project identifier')
836
667
  .option('--title <string>', 'Title of the RT')
837
668
  .action(createNewRT);