aodw-skill 0.7.18 → 0.7.22
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/ai-project-overview-rules.md +5 -5
- 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/05-tooling/ai-tools-init-rules.md +2 -2
- 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 +10 -15
- package/bin/aodw.js +53 -123
- 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
|
@@ -193,7 +193,7 @@ Recommended: A(理由:...)
|
|
|
193
193
|
|
|
194
194
|
### 自动检测的内容
|
|
195
195
|
```markdown
|
|
196
|
-
<!-- AUTO-DETECTED: 以下内容由 aodw-skill init
|
|
196
|
+
<!-- AUTO-DETECTED: 以下内容由 aodw-skill init 自动检测 -->
|
|
197
197
|
- 前端:React 18.3.0
|
|
198
198
|
- 后端:FastAPI 0.104.0
|
|
199
199
|
<!-- END AUTO-DETECTED -->
|
|
@@ -249,18 +249,18 @@ Recommended: A(理由:...)
|
|
|
249
249
|
2. **逐步完善**:不要一次性要求用户完善所有信息,可以分步骤进行
|
|
250
250
|
3. **提供建议**:AI 应该基于代码分析提供建议,而不是只询问用户
|
|
251
251
|
4. **格式规范**:确保生成的内容符合 `ai-overview.md` 的模板格式
|
|
252
|
-
5.
|
|
252
|
+
5. **及时更新**:当项目结构发生重大变化时,可以运行 `aodw-skill init` 重新检测(会保留用户手动添加的内容)
|
|
253
253
|
|
|
254
254
|
---
|
|
255
255
|
|
|
256
256
|
## 8. 与 CLI 命令的关系
|
|
257
257
|
|
|
258
|
-
- **CLI 命令**(`aodw-skill init
|
|
258
|
+
- **CLI 命令**(`aodw-skill init`):负责自动检测和生成基础信息
|
|
259
259
|
- **AI 规则**(本文件):负责引导用户完善复杂信息(架构描述、模块职责等)
|
|
260
260
|
|
|
261
261
|
两者配合使用:
|
|
262
|
-
1. 用户运行 `aodw-skill init
|
|
263
|
-
2.
|
|
262
|
+
1. 用户运行 `aodw-skill init` 自动生成基础项目信息
|
|
263
|
+
2. 用户通过 AI 对话进一步完善详细信息(架构描述、模块职责等)
|
|
264
264
|
|
|
265
265
|
|
|
266
266
|
|
|
@@ -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`
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
|
|
33
33
|
**如果文件不存在或不完整**:
|
|
34
34
|
- AI 必须停止当前流程。
|
|
35
|
-
- AI 必须提示用户:"
|
|
36
|
-
-
|
|
35
|
+
- AI 必须提示用户:"**检测到项目概览尚未初始化。为了更准确地配置工具,请先运行 `aodw-skill init` 重新初始化项目。**"
|
|
36
|
+
- 说明:项目概览会在 `aodw-skill init` 时自动生成,无需额外命令。
|
|
37
37
|
|
|
38
38
|
### Step 2: 读取项目配置
|
|
39
39
|
|
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,8 +20,9 @@ npx aodw-skill
|
|
|
20
20
|
|
|
21
21
|
该命令会:
|
|
22
22
|
1. 安装 AODW-Next 核心规范(`.aodw-next` 目录)
|
|
23
|
-
2.
|
|
24
|
-
3.
|
|
23
|
+
2. 自动检测项目信息(技术栈、架构、模块结构)
|
|
24
|
+
3. 生成项目概览文档(`ai-overview.md` 和 `modules-index.yaml`)
|
|
25
|
+
4. 根据您的选择安装对应的 AI 工具适配器(Cursor / Claude / Antigravity)
|
|
25
26
|
|
|
26
27
|
## 使用方法
|
|
27
28
|
|
|
@@ -36,8 +37,6 @@ npx aodw-skill
|
|
|
36
37
|
- ✓ Cursor (IDE with AI)
|
|
37
38
|
- ✓ Antigravity (Google Gemini)
|
|
38
39
|
- ✓ Anthropic Claude
|
|
39
|
-
- ✓ Gemini (Web / API)
|
|
40
|
-
- ✓ General Agents (OpenAI, etc.)
|
|
41
40
|
|
|
42
41
|
根据您的选择,工具会自动安装相应的配置文件。
|
|
43
42
|
|
|
@@ -93,21 +92,11 @@ your-project/
|
|
|
93
92
|
## 支持的 AI 工具
|
|
94
93
|
|
|
95
94
|
- **Cursor**: 安装 `.cursor` 目录和 `aodw-next.mdc`
|
|
96
|
-
- **Antigravity**: 安装 `.agent` 目录
|
|
95
|
+
- **Antigravity (Google Gemini)**: 安装 `.agent` 目录
|
|
97
96
|
- **Anthropic Claude**: 安装 `.claude/CLAUDE.md`
|
|
98
|
-
- **Gemini**: 安装 `.agent` 目录和 `.gemini/GEMINI.md`
|
|
99
|
-
- **General**: 安装通用适配器(如 `.github/copilot-instructions.md`)
|
|
100
97
|
|
|
101
98
|
## 更多命令
|
|
102
99
|
|
|
103
|
-
### 项目概览初始化
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
npx aodw-skill init-overview
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
自动检测项目的技术栈、架构和模块结构,生成项目概览文档。
|
|
110
|
-
|
|
111
100
|
### 工具初始化
|
|
112
101
|
|
|
113
102
|
```bash
|
|
@@ -144,6 +133,12 @@ npm whoami
|
|
|
144
133
|
|
|
145
134
|
3. 发布到 npm
|
|
146
135
|
|
|
136
|
+
- 先检查实际入包文件(推荐):
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
npm run pack:check
|
|
140
|
+
```
|
|
141
|
+
|
|
147
142
|
- OTP 模式(账号策略要求 2FA):
|
|
148
143
|
|
|
149
144
|
```bash
|
package/bin/aodw.js
CHANGED
|
@@ -11,18 +11,21 @@ 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
|
|
|
21
18
|
import { serve } from './commands/serve.js';
|
|
22
19
|
import { createNewRT } from './commands/new.js';
|
|
23
20
|
import { initTools } from './commands/init-tools.js';
|
|
24
|
-
import { initOverview } from './commands/init-overview.js';
|
|
25
21
|
import { saveProjectConfig, saveUserConfig, getProjectConfig, getUserConfig } from './utils/config.js';
|
|
22
|
+
import {
|
|
23
|
+
detectTechStack,
|
|
24
|
+
analyzeDirectoryStructure,
|
|
25
|
+
detectModules,
|
|
26
|
+
generateOverviewFile,
|
|
27
|
+
generateModulesIndex
|
|
28
|
+
} from './commands/init-overview.js';
|
|
26
29
|
|
|
27
30
|
const require = createRequire(import.meta.url);
|
|
28
31
|
const packageJson = require('../package.json');
|
|
@@ -37,10 +40,6 @@ const PACKAGE_NAME = packageJson.name || 'aodw-skill';
|
|
|
37
40
|
process.env.AODW_CORE_DIR = CORE_DIRNAME;
|
|
38
41
|
process.env.AODW_PACKAGE_NAME = PACKAGE_NAME;
|
|
39
42
|
|
|
40
|
-
const GEMINI_RULE_FILES = [
|
|
41
|
-
'aodw-next.md'
|
|
42
|
-
];
|
|
43
|
-
|
|
44
43
|
// Define source paths (Next version - fixed paths)
|
|
45
44
|
// Support both development (from source) and production (from npm package) environments
|
|
46
45
|
function getSourcePaths() {
|
|
@@ -49,22 +48,19 @@ function getSourcePaths() {
|
|
|
49
48
|
// Try npm package paths first (production)
|
|
50
49
|
const npmCore = path.join(packageRoot, '.aodw-next');
|
|
51
50
|
const npmAdapters = path.join(packageRoot, 'AODW_Adapters');
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
|
|
54
52
|
// Try development paths (from source)
|
|
55
53
|
const devCore = path.join(packageRoot, '../templates/.aodw-next');
|
|
56
54
|
const devAdapters = path.join(packageRoot, '../templates/AODW_Adapters');
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
|
|
59
56
|
// Use npm package paths if they exist, otherwise use development paths
|
|
60
57
|
const SOURCE_CORE = fs.existsSync(npmCore) ? npmCore : devCore;
|
|
61
58
|
const SOURCE_ADAPTERS = fs.existsSync(npmAdapters) ? npmAdapters : devAdapters;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return { SOURCE_CORE, SOURCE_ADAPTERS, SOURCE_DOCS };
|
|
59
|
+
|
|
60
|
+
return { SOURCE_CORE, SOURCE_ADAPTERS };
|
|
65
61
|
}
|
|
66
62
|
|
|
67
|
-
const { SOURCE_CORE, SOURCE_ADAPTERS
|
|
63
|
+
const { SOURCE_CORE, SOURCE_ADAPTERS } = getSourcePaths();
|
|
68
64
|
const SOURCE_TEMPLATE = path.join(SOURCE_CORE, 'templates/aodw-kernel-loader-template.md');
|
|
69
65
|
|
|
70
66
|
program
|
|
@@ -280,9 +276,7 @@ async function runInit() {
|
|
|
280
276
|
choices: [
|
|
281
277
|
{ name: 'Cursor (IDE with AI)', value: 'cursor', checked: true },
|
|
282
278
|
{ 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 }
|
|
279
|
+
{ name: 'Claude Desktop', value: 'claude', checked: false }
|
|
286
280
|
],
|
|
287
281
|
validate: (answer) => {
|
|
288
282
|
if (answer.length < 1) {
|
|
@@ -305,35 +299,46 @@ async function runInit() {
|
|
|
305
299
|
await fs.copy(SOURCE_CORE, targetCore);
|
|
306
300
|
}
|
|
307
301
|
|
|
308
|
-
// 2. Initialize project files from templates (
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
console.log(chalk.gray('
|
|
302
|
+
// 2. Initialize project files from templates (for both init and update)
|
|
303
|
+
console.log(chalk.blue('正在初始化项目文件...'));
|
|
304
|
+
const projectDir = path.join(targetCore, '06-project');
|
|
305
|
+
const aiOverviewPath = path.join(projectDir, 'ai-overview.md');
|
|
306
|
+
const modulesIndexPath = path.join(projectDir, 'modules-index.yaml');
|
|
307
|
+
|
|
308
|
+
// Regenerate files when they are missing OR still template placeholders
|
|
309
|
+
const aiOverviewExists = fs.existsSync(aiOverviewPath);
|
|
310
|
+
const modulesIndexExists = fs.existsSync(modulesIndexPath);
|
|
311
|
+
const aiOverviewIsTemplate = aiOverviewExists ? await isTemplateFile(aiOverviewPath) : true;
|
|
312
|
+
const modulesIndexIsTemplate = modulesIndexExists ? await isTemplateFile(modulesIndexPath) : true;
|
|
313
|
+
const shouldGenerateProjectFiles =
|
|
314
|
+
!aiOverviewExists || !modulesIndexExists || aiOverviewIsTemplate || modulesIndexIsTemplate;
|
|
315
|
+
|
|
316
|
+
if (shouldGenerateProjectFiles) {
|
|
317
|
+
// Auto-detect project info and generate files
|
|
318
|
+
console.log(chalk.blue('正在检测项目信息...'));
|
|
319
|
+
const techStack = await detectTechStack();
|
|
320
|
+
const directoryStructure = await analyzeDirectoryStructure();
|
|
321
|
+
const modules = await detectModules();
|
|
322
|
+
|
|
323
|
+
console.log(chalk.green(' • 技术栈检测完成'));
|
|
324
|
+
const techStackSummary = [];
|
|
325
|
+
if (techStack.frontend.length > 0) techStackSummary.push(`前端: ${techStack.frontend.join(', ')}`);
|
|
326
|
+
if (techStack.backend.length > 0) techStackSummary.push(`后端: ${techStack.backend.join(', ')}`);
|
|
327
|
+
if (techStack.database.length > 0) techStackSummary.push(`数据库: ${techStack.database.join(', ')}`);
|
|
328
|
+
if (techStackSummary.length > 0) {
|
|
329
|
+
console.log(chalk.gray(` 检测到: ${techStackSummary.join(' | ')}`));
|
|
336
330
|
}
|
|
331
|
+
|
|
332
|
+
console.log(chalk.green(' • 目录结构分析完成'));
|
|
333
|
+
console.log(chalk.green(' • 模块识别完成'));
|
|
334
|
+
|
|
335
|
+
// Generate files with detected info
|
|
336
|
+
await generateOverviewFile({ techStack, directoryStructure, modules }, null, modules);
|
|
337
|
+
await generateModulesIndex(modules);
|
|
338
|
+
console.log(chalk.yellow(' • 已生成 ai-overview.md(自动检测)'));
|
|
339
|
+
console.log(chalk.yellow(' • 已生成 modules-index.yaml(自动检测)'));
|
|
340
|
+
} else {
|
|
341
|
+
console.log(chalk.gray(' • 项目文件已存在且为用户内容,跳过初始化'));
|
|
337
342
|
}
|
|
338
343
|
|
|
339
344
|
// 3. Install Adapters based on selected platforms
|
|
@@ -403,55 +408,6 @@ async function runInit() {
|
|
|
403
408
|
}
|
|
404
409
|
}
|
|
405
410
|
|
|
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
411
|
console.log(chalk.green('\n✅ AODW-Next 初始化成功!'));
|
|
456
412
|
console.log(chalk.white(`项目: ${projectName}`));
|
|
457
413
|
|
|
@@ -487,22 +443,12 @@ async function runUninstall() {
|
|
|
487
443
|
// Cursor
|
|
488
444
|
await removeIfExists(path.join(cwd, '.cursor/rules', 'aodw-next.mdc'));
|
|
489
445
|
|
|
490
|
-
// Antigravity
|
|
446
|
+
// Antigravity (Gemini)
|
|
491
447
|
await removeIfExists(path.join(cwd, '.agent/rules', 'aodw-next.md'));
|
|
492
448
|
|
|
493
449
|
// Claude
|
|
494
450
|
await removeIfExists(path.join(cwd, '.claude', 'CLAUDE.md'));
|
|
495
451
|
|
|
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
452
|
console.log(chalk.green('✅ AODW-Next 已卸载。'));
|
|
507
453
|
}
|
|
508
454
|
}
|
|
@@ -744,22 +690,6 @@ program
|
|
|
744
690
|
.description('Initialize development tools (ESLint, Prettier, Ruff, Black, etc.)')
|
|
745
691
|
.action(initTools);
|
|
746
692
|
|
|
747
|
-
program
|
|
748
|
-
.command('init-overview')
|
|
749
|
-
.alias('overview')
|
|
750
|
-
.description('Initialize or update project overview (tech stack, architecture, modules)')
|
|
751
|
-
.option('--update', 'Update mode: only update changed parts (default)', true)
|
|
752
|
-
.option('--force', 'Force mode: full rescan and update', false)
|
|
753
|
-
.option('--scan-only', 'Scan only: detect changes without updating files', false)
|
|
754
|
-
.option('--no-interactive', 'Non-interactive mode: skip confirmations', false)
|
|
755
|
-
.action((options) => {
|
|
756
|
-
initOverview({
|
|
757
|
-
update: options.update !== false,
|
|
758
|
-
force: options.force || false,
|
|
759
|
-
scanOnly: options.scanOnly || false,
|
|
760
|
-
interactive: options.interactive !== false,
|
|
761
|
-
});
|
|
762
|
-
});
|
|
763
693
|
|
|
764
694
|
// Main Entry Point
|
|
765
695
|
if (!process.argv.slice(2).length) {
|
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.');
|