@specpow/framework 0.5.9 → 0.5.11
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/CHANGELOG.md +623 -623
- package/LICENSE +21 -21
- package/bin/specpow.js +9 -9
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +12 -11
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +30 -3
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +5 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +29 -10
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +5 -2
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/explore.d.ts.map +1 -1
- package/dist/commands/explore.js +8 -10
- package/dist/commands/explore.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +6 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/propose.d.ts.map +1 -1
- package/dist/commands/propose.js +4 -3
- package/dist/commands/propose.js.map +1 -1
- package/dist/commands/schema.d.ts.map +1 -1
- package/dist/commands/schema.js +5 -2
- package/dist/commands/schema.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +17 -11
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/store.d.ts.map +1 -1
- package/dist/commands/store.js +8 -6
- package/dist/commands/store.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +3 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate-specs.d.ts.map +1 -1
- package/dist/commands/validate-specs.js +8 -5
- package/dist/commands/validate-specs.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +17 -19
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/workflow/index.d.ts.map +1 -1
- package/dist/commands/workflow/index.js +18 -10
- package/dist/commands/workflow/index.js.map +1 -1
- package/dist/core/archive/engine.d.ts.map +1 -1
- package/dist/core/archive/engine.js +10 -6
- package/dist/core/archive/engine.js.map +1 -1
- package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
- package/dist/core/artifact-graph/resolver.js +5 -2
- package/dist/core/artifact-graph/resolver.js.map +1 -1
- package/dist/core/config/config-schema.d.ts +104 -0
- package/dist/core/config/config-schema.d.ts.map +1 -1
- package/dist/core/config/config-schema.js +15 -1
- package/dist/core/config/config-schema.js.map +1 -1
- package/dist/core/hooks/session-start-hook.d.ts.map +1 -1
- package/dist/core/hooks/session-start-hook.js +76 -45
- package/dist/core/hooks/session-start-hook.js.map +1 -1
- package/dist/core/hooks/workflow-state-hook.d.ts.map +1 -1
- package/dist/core/hooks/workflow-state-hook.js +3 -1
- package/dist/core/hooks/workflow-state-hook.js.map +1 -1
- package/dist/core/init/codegraph-step.d.ts +36 -0
- package/dist/core/init/codegraph-step.d.ts.map +1 -0
- package/dist/core/init/codegraph-step.js +109 -0
- package/dist/core/init/codegraph-step.js.map +1 -0
- package/dist/core/init/engine.d.ts +2 -2
- package/dist/core/init/engine.d.ts.map +1 -1
- package/dist/core/init/engine.js +28 -14
- package/dist/core/init/engine.js.map +1 -1
- package/dist/core/memory/adapters/sqlite-adapter.js +55 -55
- package/dist/core/migration/index.d.ts.map +1 -1
- package/dist/core/migration/index.js +128 -4
- package/dist/core/migration/index.js.map +1 -1
- package/dist/core/store/index.d.ts +4 -3
- package/dist/core/store/index.d.ts.map +1 -1
- package/dist/core/store/index.js +7 -7
- package/dist/core/store/index.js.map +1 -1
- package/dist/core/task-parser.d.ts +17 -0
- package/dist/core/task-parser.d.ts.map +1 -0
- package/dist/core/task-parser.js +59 -0
- package/dist/core/task-parser.js.map +1 -0
- package/dist/core/templates/index.d.ts +1 -1
- package/dist/core/templates/index.d.ts.map +1 -1
- package/dist/core/templates/index.js +11 -6
- package/dist/core/templates/index.js.map +1 -1
- package/dist/core/workflow-state.d.ts +1 -1
- package/dist/core/workflow-state.d.ts.map +1 -1
- package/dist/core/workflow-state.js +10 -5
- package/dist/core/workflow-state.js.map +1 -1
- package/dist/templates/claude-commands/specpow-apply.md +23 -23
- package/dist/templates/claude-commands/specpow-archive.md +22 -22
- package/dist/templates/claude-commands/specpow-propose.md +27 -27
- package/dist/templates/claude-commands/specpow-status.md +22 -22
- package/dist/templates/claude-commands/specpow-validate-specs.md +28 -28
- package/dist/templates/claude-commands/specpow-verify.md +21 -21
- package/dist/templates/claude-commands/specpow.md +34 -34
- package/package.json +121 -122
- package/.specpow/agents/controller/sdd-controller.md +0 -55
- package/.specpow/agents/execution/java-codegen-agent.md +0 -39
- package/.specpow/agents/execution/ui-codegen-agent.md +0 -32
- package/.specpow/agents/ops/deploy-agent.md +0 -181
- package/.specpow/agents/planning/db-designer-agent.md +0 -30
- package/.specpow/agents/planning/prd-agent.md +0 -31
- package/.specpow/agents/quality/review-agent.md +0 -36
- package/.specpow/agents/quality/test-agent.md +0 -33
- package/.specpow/hooks/hooks.json +0 -30
- package/.specpow/hooks/run-hook.cmd +0 -19
- package/.specpow/hooks/session-start +0 -62
- package/.specpow/hooks/workflow-state +0 -150
- package/.specpow/schemas/bug-fix/schema.yaml +0 -64
- package/.specpow/schemas/bug-fix/templates/analysis.md +0 -43
- package/.specpow/schemas/bug-fix/templates/fix-plan.md +0 -19
- package/.specpow/schemas/bug-fix/templates/proposal.md +0 -30
- package/.specpow/schemas/crud-module/schema.yaml +0 -65
- package/.specpow/schemas/crud-module/templates/design.md +0 -36
- package/.specpow/schemas/crud-module/templates/proposal.md +0 -30
- package/.specpow/schemas/crud-module/templates/spec.md +0 -38
- package/.specpow/schemas/crud-module/templates/tasks.md +0 -57
- package/.specpow/schemas/spec-driven/schema.yaml +0 -87
- package/.specpow/schemas/spec-driven/templates/design.md +0 -54
- package/.specpow/schemas/spec-driven/templates/proposal.md +0 -31
- package/.specpow/schemas/spec-driven/templates/spec.md +0 -42
- package/.specpow/schemas/spec-driven/templates/tasks.md +0 -98
- package/.specpow/skills/business-code-review/SKILL.md +0 -78
- package/.specpow/skills/business-db-design/SKILL.md +0 -74
- package/.specpow/skills/business-deploy-check/SKILL.md +0 -72
- package/.specpow/skills/business-doc-sync/SKILL.md +0 -72
- package/.specpow/skills/business-java-codegen/SKILL.md +0 -97
- package/.specpow/skills/business-menu-register/SKILL.md +0 -63
- package/.specpow/skills/business-prd-writer/SKILL.md +0 -80
- package/.specpow/skills/business-test-gen/SKILL.md +0 -82
- package/.specpow/skills/business-ui-codegen/SKILL.md +0 -104
- package/.specpow/skills/cli-router/SKILL.md +0 -108
- package/.specpow/skills/execution-finish-branch/SKILL.md +0 -58
- package/.specpow/skills/execution-git-worktrees/SKILL.md +0 -48
- package/.specpow/skills/execution-parallel-agents/SKILL.md +0 -46
- package/.specpow/skills/execution-receiving-review/SKILL.md +0 -47
- package/.specpow/skills/execution-requesting-review/SKILL.md +0 -51
- package/.specpow/skills/execution-sdd-orchestrator/SKILL.md +0 -366
- package/.specpow/skills/execution-subagent-dispatch/SKILL.md +0 -295
- package/.specpow/skills/execution-subagent-driven-dev/SKILL.md +0 -143
- package/.specpow/skills/execution-systematic-debugging/SKILL.md +0 -95
- package/.specpow/skills/execution-tdd/SKILL.md +0 -74
- package/.specpow/skills/execution-verification-before-completion/SKILL.md +0 -75
- package/.specpow/skills/meta-create-skill/SKILL.md +0 -374
- package/.specpow/skills/meta-using-skills/SKILL.md +0 -97
- package/.specpow/skills/meta-writing-skills/SKILL.md +0 -66
- package/.specpow/skills/planning-apply-change/SKILL.md +0 -194
- package/.specpow/skills/planning-archive-change/SKILL.md +0 -43
- package/.specpow/skills/planning-explore/SKILL.md +0 -103
- package/.specpow/skills/planning-onboard/SKILL.md +0 -61
- package/.specpow/skills/planning-propose/SKILL.md +0 -140
- package/.specpow/skills/planning-update-change/SKILL.md +0 -45
- package/.specpow/skills/planning-verify-change/SKILL.md +0 -58
- package/.specpow/skills/planning-write-design/SKILL.md +0 -59
- package/.specpow/skills/planning-write-plans/SKILL.md +0 -55
- package/.specpow/skills/planning-write-specs/SKILL.md +0 -91
- package/.specpow/skills/using-specpow/SKILL.md +0 -232
package/package.json
CHANGED
|
@@ -1,122 +1,121 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@specpow/framework",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "Spec-Powered AI Development Framework - 融合 OpenSpec 规范驱动 + Superpowers 执行引擎的企业级 AI 辅助编程框架",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.js"
|
|
12
|
-
},
|
|
13
|
-
"./sdd": {
|
|
14
|
-
"types": "./dist/core/sdd-engine/index.d.ts",
|
|
15
|
-
"import": "./dist/core/sdd-engine/index.js"
|
|
16
|
-
},
|
|
17
|
-
"./artifact-graph": {
|
|
18
|
-
"types": "./dist/core/artifact-graph/index.d.ts",
|
|
19
|
-
"import": "./dist/core/artifact-graph/index.js"
|
|
20
|
-
},
|
|
21
|
-
"./archive": {
|
|
22
|
-
"types": "./dist/core/archive/index.d.ts",
|
|
23
|
-
"import": "./dist/core/archive/index.js"
|
|
24
|
-
},
|
|
25
|
-
"./hooks": {
|
|
26
|
-
"types": "./dist/core/hooks/index.d.ts",
|
|
27
|
-
"import": "./dist/core/hooks/index.js"
|
|
28
|
-
},
|
|
29
|
-
"./memory": {
|
|
30
|
-
"types": "./dist/core/memory/index.d.ts",
|
|
31
|
-
"import": "./dist/core/memory/index.js"
|
|
32
|
-
},
|
|
33
|
-
"./channel": {
|
|
34
|
-
"types": "./dist/core/channel/index.d.ts",
|
|
35
|
-
"import": "./dist/core/channel/index.js"
|
|
36
|
-
},
|
|
37
|
-
"./workflow-state": {
|
|
38
|
-
"types": "./dist/core/workflow-state.d.ts",
|
|
39
|
-
"import": "./dist/core/workflow-state.js"
|
|
40
|
-
},
|
|
41
|
-
"./config": {
|
|
42
|
-
"types": "./dist/core/config/index.d.ts",
|
|
43
|
-
"import": "./dist/core/config/index.js"
|
|
44
|
-
},
|
|
45
|
-
"./command-generation": {
|
|
46
|
-
"types": "./dist/core/command-generation/index.d.ts",
|
|
47
|
-
"import": "./dist/core/command-generation/index.js"
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
"bin": {
|
|
51
|
-
"specpow": "bin/specpow.js"
|
|
52
|
-
},
|
|
53
|
-
"engines": {
|
|
54
|
-
"node": ">=20.19.0"
|
|
55
|
-
},
|
|
56
|
-
"scripts": {
|
|
57
|
-
"build": "node build.js",
|
|
58
|
-
"dev": "tsc --watch",
|
|
59
|
-
"test": "vitest run",
|
|
60
|
-
"test:watch": "vitest",
|
|
61
|
-
"lint": "eslint src/ --ext .ts",
|
|
62
|
-
"clean": "rimraf dist",
|
|
63
|
-
"prepublishOnly": "npm run build"
|
|
64
|
-
},
|
|
65
|
-
"keywords": [
|
|
66
|
-
"ai",
|
|
67
|
-
"coding",
|
|
68
|
-
"spec-driven",
|
|
69
|
-
"subagent-driven-development",
|
|
70
|
-
"claude-code",
|
|
71
|
-
"cursor",
|
|
72
|
-
"copilot",
|
|
73
|
-
"workflow",
|
|
74
|
-
"agent",
|
|
75
|
-
"skills",
|
|
76
|
-
"pi-package"
|
|
77
|
-
],
|
|
78
|
-
"files": [
|
|
79
|
-
"dist/",
|
|
80
|
-
"bin/",
|
|
81
|
-
".specpow/skills/",
|
|
82
|
-
".specpow/
|
|
83
|
-
".specpow/
|
|
84
|
-
".
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
"
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
"@types/
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@specpow/framework",
|
|
3
|
+
"version": "0.5.11",
|
|
4
|
+
"description": "Spec-Powered AI Development Framework - 融合 OpenSpec 规范驱动 + Superpowers 执行引擎的企业级 AI 辅助编程框架",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./sdd": {
|
|
14
|
+
"types": "./dist/core/sdd-engine/index.d.ts",
|
|
15
|
+
"import": "./dist/core/sdd-engine/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./artifact-graph": {
|
|
18
|
+
"types": "./dist/core/artifact-graph/index.d.ts",
|
|
19
|
+
"import": "./dist/core/artifact-graph/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./archive": {
|
|
22
|
+
"types": "./dist/core/archive/index.d.ts",
|
|
23
|
+
"import": "./dist/core/archive/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./hooks": {
|
|
26
|
+
"types": "./dist/core/hooks/index.d.ts",
|
|
27
|
+
"import": "./dist/core/hooks/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./memory": {
|
|
30
|
+
"types": "./dist/core/memory/index.d.ts",
|
|
31
|
+
"import": "./dist/core/memory/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./channel": {
|
|
34
|
+
"types": "./dist/core/channel/index.d.ts",
|
|
35
|
+
"import": "./dist/core/channel/index.js"
|
|
36
|
+
},
|
|
37
|
+
"./workflow-state": {
|
|
38
|
+
"types": "./dist/core/workflow-state.d.ts",
|
|
39
|
+
"import": "./dist/core/workflow-state.js"
|
|
40
|
+
},
|
|
41
|
+
"./config": {
|
|
42
|
+
"types": "./dist/core/config/index.d.ts",
|
|
43
|
+
"import": "./dist/core/config/index.js"
|
|
44
|
+
},
|
|
45
|
+
"./command-generation": {
|
|
46
|
+
"types": "./dist/core/command-generation/index.d.ts",
|
|
47
|
+
"import": "./dist/core/command-generation/index.js"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"bin": {
|
|
51
|
+
"specpow": "bin/specpow.js"
|
|
52
|
+
},
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=20.19.0"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "node build.js",
|
|
58
|
+
"dev": "tsc --watch",
|
|
59
|
+
"test": "vitest run",
|
|
60
|
+
"test:watch": "vitest",
|
|
61
|
+
"lint": "eslint src/ --ext .ts",
|
|
62
|
+
"clean": "rimraf dist",
|
|
63
|
+
"prepublishOnly": "npm run build"
|
|
64
|
+
},
|
|
65
|
+
"keywords": [
|
|
66
|
+
"ai",
|
|
67
|
+
"coding",
|
|
68
|
+
"spec-driven",
|
|
69
|
+
"subagent-driven-development",
|
|
70
|
+
"claude-code",
|
|
71
|
+
"cursor",
|
|
72
|
+
"copilot",
|
|
73
|
+
"workflow",
|
|
74
|
+
"agent",
|
|
75
|
+
"skills",
|
|
76
|
+
"pi-package"
|
|
77
|
+
],
|
|
78
|
+
"files": [
|
|
79
|
+
"dist/",
|
|
80
|
+
"bin/",
|
|
81
|
+
".specpow/skills/",
|
|
82
|
+
".specpow/schemas/",
|
|
83
|
+
".specpow/hooks/",
|
|
84
|
+
"README.md",
|
|
85
|
+
"CHANGELOG.md",
|
|
86
|
+
"LICENSE"
|
|
87
|
+
],
|
|
88
|
+
"author": "buchengjin",
|
|
89
|
+
"license": "MIT",
|
|
90
|
+
"repository": {
|
|
91
|
+
"type": "git",
|
|
92
|
+
"url": "http://git.gj.com/ai/specpow.git"
|
|
93
|
+
},
|
|
94
|
+
"homepage": "http://git.gj.com/ai/specpow#readme",
|
|
95
|
+
"bugs": {
|
|
96
|
+
"url": "http://git.gj.com/ai/specpow/issues"
|
|
97
|
+
},
|
|
98
|
+
"dependencies": {
|
|
99
|
+
"better-sqlite3": "^13.0.3",
|
|
100
|
+
"chalk": "^5.3.0",
|
|
101
|
+
"commander": "^12.1.0",
|
|
102
|
+
"glob": "^10.3.10",
|
|
103
|
+
"ora": "^8.0.1",
|
|
104
|
+
"yaml": "^2.3.4",
|
|
105
|
+
"zod": "^3.22.4"
|
|
106
|
+
},
|
|
107
|
+
"devDependencies": {
|
|
108
|
+
"@types/better-sqlite3": "^9.6.0",
|
|
109
|
+
"@types/node": "^20.11.0",
|
|
110
|
+
"eslint": "^8.56.0",
|
|
111
|
+
"rimraf": "^5.0.5",
|
|
112
|
+
"typescript": "^5.3.3",
|
|
113
|
+
"vitest": "^1.2.0"
|
|
114
|
+
},
|
|
115
|
+
"packageManager": "pnpm@9.15.9",
|
|
116
|
+
"pi": {
|
|
117
|
+
"skills": [
|
|
118
|
+
"./.specpow/skills"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# SDD Controller Agent
|
|
2
|
-
|
|
3
|
-
## 职责
|
|
4
|
-
子代理驱动开发的控制器。协调实现者、审查者、修复循环。
|
|
5
|
-
|
|
6
|
-
## 核心原则
|
|
7
|
-
1. **不自己修复代码** — 保持上下文干净用于协调
|
|
8
|
-
2. **所有产物通过文件传递** — 不占用上下文窗口
|
|
9
|
-
3. **信任账本而非自己的记忆** — 压缩后账本是唯一真相
|
|
10
|
-
|
|
11
|
-
## 工作流
|
|
12
|
-
|
|
13
|
-
### 初始化
|
|
14
|
-
1. 验证工作区隔离
|
|
15
|
-
2. 加载/创建账本
|
|
16
|
-
3. 读取计划文件
|
|
17
|
-
4. 创建 todo 列表
|
|
18
|
-
5. 扫描计划冲突
|
|
19
|
-
|
|
20
|
-
### 任务循环
|
|
21
|
-
对每个任务:
|
|
22
|
-
1. 提取任务简报
|
|
23
|
-
2. 分发实现者子代理
|
|
24
|
-
3. 处理报告(DONE/BLOCKED/NEEDS_CONTEXT)
|
|
25
|
-
4. 生成审查包
|
|
26
|
-
5. 分发审查者子代理
|
|
27
|
-
6. 修复循环(≤5轮)
|
|
28
|
-
7. 记录到账本
|
|
29
|
-
|
|
30
|
-
### 最终审查
|
|
31
|
-
1. 生成全分支审查包
|
|
32
|
-
2. 分发最终审查(最强模型)
|
|
33
|
-
3. 处理发现(一次修复分发 + 一次重新审查)
|
|
34
|
-
4. 裁定剩余发现
|
|
35
|
-
|
|
36
|
-
### 完成
|
|
37
|
-
1. 更新 tasks.md
|
|
38
|
-
2. 删除工作区
|
|
39
|
-
3. 触发 finish-branch
|
|
40
|
-
|
|
41
|
-
## 模型选择策略
|
|
42
|
-
| 角色 | 模型 |
|
|
43
|
-
|------|------|
|
|
44
|
-
| 机械实现 | cheap (haiku) |
|
|
45
|
-
| 集成实现 | standard (sonnet) |
|
|
46
|
-
| 架构设计 | capable (opus) |
|
|
47
|
-
| 审查 | 按 diff 复杂度 |
|
|
48
|
-
| 最终审查 | capable (总是) |
|
|
49
|
-
| 修复 R4-5 | 至少比卡住的高一级 |
|
|
50
|
-
|
|
51
|
-
## 上下文管理
|
|
52
|
-
- 分发 prompt 只含当前任务所需
|
|
53
|
-
- 不粘贴历史任务摘要
|
|
54
|
-
- 审查包是文件路径,不是内容
|
|
55
|
-
- 账本是恢复地图
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# Java Codegen Agent
|
|
2
|
-
|
|
3
|
-
## 职责
|
|
4
|
-
5 步工作流:git fetch → DB 查 → 代码生成 → 文档更新 → 代码 push
|
|
5
|
-
|
|
6
|
-
## 输入
|
|
7
|
-
- 设计文档路径(`docs/design/<ticket>-plan.md`)
|
|
8
|
-
- 数据库表名
|
|
9
|
-
|
|
10
|
-
## 输出
|
|
11
|
-
- Entity 类
|
|
12
|
-
- Mapper 接口 + XML
|
|
13
|
-
- Service 接口 + 实现
|
|
14
|
-
- Controller 类
|
|
15
|
-
- 更新 JAVA.md / DATABASE.md
|
|
16
|
-
|
|
17
|
-
## 工作流
|
|
18
|
-
1. `git fetch` 获取最新代码
|
|
19
|
-
2. 查询数据库表结构
|
|
20
|
-
3. 按分层架构生成代码:
|
|
21
|
-
- Entity(对应表结构)
|
|
22
|
-
- Mapper(MyBatis 接口 + XML)
|
|
23
|
-
- Service(业务逻辑接口 + 实现)
|
|
24
|
-
- Controller(RESTful API)
|
|
25
|
-
4. 更新文档(JAVA.md, DATABASE.md)
|
|
26
|
-
5. 提交代码
|
|
27
|
-
|
|
28
|
-
## 代码规范
|
|
29
|
-
- 分层:Controller → Service → Mapper → DB
|
|
30
|
-
- 异常处理:统一异常类
|
|
31
|
-
- 日志:SLF4J + Logback
|
|
32
|
-
- 参数校验:JSR 303
|
|
33
|
-
- 分页:PageHelper
|
|
34
|
-
- 返回格式:统一 Result<T>
|
|
35
|
-
|
|
36
|
-
## 复用场景
|
|
37
|
-
- `/generate-code` — 主要调用者
|
|
38
|
-
- `/fix-bug` — 修复时复用
|
|
39
|
-
- `/requirement-to-design` — 落地时复用
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# UI Codegen Agent
|
|
2
|
-
|
|
3
|
-
## 职责
|
|
4
|
-
Vue2 + View Design UI 代码生成
|
|
5
|
-
|
|
6
|
-
## 输入
|
|
7
|
-
- 设计文档路径
|
|
8
|
-
- 后端 API 接口定义
|
|
9
|
-
|
|
10
|
-
## 输出
|
|
11
|
-
- `index.vue` — 页面组件
|
|
12
|
-
- `index.js` — API 接口定义
|
|
13
|
-
- 路由配置
|
|
14
|
-
|
|
15
|
-
## 工作流
|
|
16
|
-
1. 读取设计文档和 API 定义
|
|
17
|
-
2. 生成页面组件(遵循组件库规范)
|
|
18
|
-
3. 生成 API 接口文件
|
|
19
|
-
4. 生成路由配置
|
|
20
|
-
5. 自审(检查组件引用、API 调用、样式一致性)
|
|
21
|
-
|
|
22
|
-
## 代码规范
|
|
23
|
-
- 框架:Vue 2.x
|
|
24
|
-
- UI 库:View Design (iView)
|
|
25
|
-
- 状态管理:Vuex
|
|
26
|
-
- HTTP:Axios
|
|
27
|
-
- 组件命名:PascalCase
|
|
28
|
-
- 文件命名:kebab-case
|
|
29
|
-
|
|
30
|
-
## 复用场景
|
|
31
|
-
- `/generate-code` — 与 java-codegen-agent 并行
|
|
32
|
-
- `/fix-bug` — 修复时复用
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
# Deploy Agent
|
|
2
|
-
|
|
3
|
-
部署代理负责将应用安全部署到目标环境。
|
|
4
|
-
|
|
5
|
-
## 职责
|
|
6
|
-
|
|
7
|
-
- 执行部署前检查
|
|
8
|
-
- 管理部署流程
|
|
9
|
-
- 验证部署结果
|
|
10
|
-
- 处理回滚
|
|
11
|
-
|
|
12
|
-
## 部署检查清单
|
|
13
|
-
|
|
14
|
-
### 部署前
|
|
15
|
-
|
|
16
|
-
- [ ] 所有测试通过
|
|
17
|
-
- [ ] 代码审查完成
|
|
18
|
-
- [ ] 安全扫描通过
|
|
19
|
-
- [ ] 性能测试达标
|
|
20
|
-
- [ ] 数据库迁移脚本就绪
|
|
21
|
-
- [ ] 配置文件更新
|
|
22
|
-
- [ ] 回滚方案准备
|
|
23
|
-
|
|
24
|
-
### 部署中
|
|
25
|
-
|
|
26
|
-
- [ ] 备份当前版本
|
|
27
|
-
- [ ] 执行数据库迁移
|
|
28
|
-
- [ ] 部署应用代码
|
|
29
|
-
- [ ] 更新配置
|
|
30
|
-
- [ ] 重启服务
|
|
31
|
-
|
|
32
|
-
### 部署后
|
|
33
|
-
|
|
34
|
-
- [ ] 健康检查通过
|
|
35
|
-
- [ ] 功能验证通过
|
|
36
|
-
- [ ] 性能监控正常
|
|
37
|
-
- [ ] 错误率正常
|
|
38
|
-
- [ ] 日志无异常
|
|
39
|
-
- [ ] 通知相关人员
|
|
40
|
-
|
|
41
|
-
## 部署策略
|
|
42
|
-
|
|
43
|
-
### 滚动更新
|
|
44
|
-
|
|
45
|
-
适用于无状态服务:
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
# 逐个节点更新
|
|
49
|
-
for node in ${NODES}; do
|
|
50
|
-
deploy-to-node $node
|
|
51
|
-
health-check $node
|
|
52
|
-
done
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### 蓝绿部署
|
|
56
|
-
|
|
57
|
-
适用于关键服务:
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
# 部署到绿色环境
|
|
61
|
-
deploy-to-green
|
|
62
|
-
|
|
63
|
-
# 验证绿色环境
|
|
64
|
-
verify-green
|
|
65
|
-
|
|
66
|
-
# 切换流量
|
|
67
|
-
switch-to-green
|
|
68
|
-
|
|
69
|
-
# 保留蓝色环境作为回滚
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### 金丝雀发布
|
|
73
|
-
|
|
74
|
-
适用于高风险变更:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
# 部署到 5% 的实例
|
|
78
|
-
deploy-canary --percentage 5
|
|
79
|
-
|
|
80
|
-
# 监控指标
|
|
81
|
-
monitor-canary --duration 30m
|
|
82
|
-
|
|
83
|
-
# 逐步扩大
|
|
84
|
-
expand-canary --percentage 25
|
|
85
|
-
expand-canary --percentage 50
|
|
86
|
-
expand-canary --percentage 100
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## 回滚流程
|
|
90
|
-
|
|
91
|
-
### 自动回滚触发条件
|
|
92
|
-
|
|
93
|
-
- 错误率 > 5%
|
|
94
|
-
- P99 延迟 > 2x 基线
|
|
95
|
-
- 健康检查失败
|
|
96
|
-
- 关键功能异常
|
|
97
|
-
|
|
98
|
-
### 回滚步骤
|
|
99
|
-
|
|
100
|
-
1. 停止部署流程
|
|
101
|
-
2. 切换到上一版本
|
|
102
|
-
3. 验证服务恢复
|
|
103
|
-
4. 分析问题原因
|
|
104
|
-
5. 通知相关人员
|
|
105
|
-
|
|
106
|
-
## 环境配置
|
|
107
|
-
|
|
108
|
-
### 开发环境
|
|
109
|
-
|
|
110
|
-
```yaml
|
|
111
|
-
environment: development
|
|
112
|
-
replicas: 1
|
|
113
|
-
resources:
|
|
114
|
-
cpu: 0.5
|
|
115
|
-
memory: 512Mi
|
|
116
|
-
auto_deploy: true
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### 测试环境
|
|
120
|
-
|
|
121
|
-
```yaml
|
|
122
|
-
environment: staging
|
|
123
|
-
replicas: 2
|
|
124
|
-
resources:
|
|
125
|
-
cpu: 1
|
|
126
|
-
memory: 1Gi
|
|
127
|
-
auto_deploy: false
|
|
128
|
-
approval_required: false
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### 生产环境
|
|
132
|
-
|
|
133
|
-
```yaml
|
|
134
|
-
environment: production
|
|
135
|
-
replicas: 3
|
|
136
|
-
resources:
|
|
137
|
-
cpu: 2
|
|
138
|
-
memory: 2Gi
|
|
139
|
-
auto_deploy: false
|
|
140
|
-
approval_required: true
|
|
141
|
-
rollback_strategy: automatic
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## 监控指标
|
|
145
|
-
|
|
146
|
-
### 关键指标
|
|
147
|
-
|
|
148
|
-
- 部署成功率
|
|
149
|
-
- 部署耗时
|
|
150
|
-
- 回滚次数
|
|
151
|
-
- 服务可用性
|
|
152
|
-
- 错误率
|
|
153
|
-
- 响应时间
|
|
154
|
-
|
|
155
|
-
### 告警规则
|
|
156
|
-
|
|
157
|
-
```yaml
|
|
158
|
-
alerts:
|
|
159
|
-
- name: HighErrorRate
|
|
160
|
-
condition: error_rate > 0.05
|
|
161
|
-
duration: 5m
|
|
162
|
-
severity: critical
|
|
163
|
-
|
|
164
|
-
- name: HighLatency
|
|
165
|
-
condition: p99_latency > 2000ms
|
|
166
|
-
duration: 10m
|
|
167
|
-
severity: warning
|
|
168
|
-
|
|
169
|
-
- name: HealthCheckFailed
|
|
170
|
-
condition: health_check == false
|
|
171
|
-
duration: 1m
|
|
172
|
-
severity: critical
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
## 最佳实践
|
|
176
|
-
|
|
177
|
-
1. **始终准备回滚方案** - 每次部署前确保可以快速回滚
|
|
178
|
-
2. **渐进式发布** - 使用金丝雀或蓝绿部署降低风险
|
|
179
|
-
3. **自动化验证** - 部署后自动执行健康检查和功能验证
|
|
180
|
-
4. **监控先行** - 部署前确保监控和告警就绪
|
|
181
|
-
5. **文档记录** - 记录每次部署的变更和结果
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# DB Designer Agent
|
|
2
|
-
|
|
3
|
-
## 职责
|
|
4
|
-
根据 PRD 设计表结构(遵循字段分类规范),生成 DDL + 索引建议 + 状态码分配
|
|
5
|
-
|
|
6
|
-
## 输入
|
|
7
|
-
- PRD 文件路径
|
|
8
|
-
- 现有数据库 Schema(可选)
|
|
9
|
-
|
|
10
|
-
## 输出
|
|
11
|
-
- `docs/db/<ticket>-ddl.sql` — DDL 脚本
|
|
12
|
-
- `docs/db/<ticket>-indexes.sql` — 索引建议
|
|
13
|
-
- `docs/db/<ticket>-status-codes.md` — 状态码分配表
|
|
14
|
-
|
|
15
|
-
## 工作流
|
|
16
|
-
1. 读取 PRD
|
|
17
|
-
2. 识别实体和关系
|
|
18
|
-
3. 设计表结构(遵循命名规范)
|
|
19
|
-
4. 设计索引(基于查询模式)
|
|
20
|
-
5. 分配状态码
|
|
21
|
-
6. 生成 DDL 脚本
|
|
22
|
-
7. 自审(检查外键、索引覆盖、命名一致性)
|
|
23
|
-
|
|
24
|
-
## 规范
|
|
25
|
-
- 表名:小写,下划线分隔
|
|
26
|
-
- 字段名:小写,下划线分隔
|
|
27
|
-
- 主键:`id` (BIGINT)
|
|
28
|
-
- 审计字段:`created_by`, `created_time`, `updated_by`, `updated_time`
|
|
29
|
-
- 软删除:`is_deleted` (TINYINT)
|
|
30
|
-
- 状态码:按模块分配范围
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# PRD Agent
|
|
2
|
-
|
|
3
|
-
## 职责
|
|
4
|
-
将用户口述/会议纪要/原型截图转化为结构化 PRD(含用例、字段、流程图 Mermaid)
|
|
5
|
-
|
|
6
|
-
## 输入
|
|
7
|
-
- `docs/prd/input/<ticket-id>.md` — 用户原始需求(手工或 Jira 导入)
|
|
8
|
-
- `docs/prd/references/<related-docs>.md` — 参考文档(可选)
|
|
9
|
-
|
|
10
|
-
## 输出
|
|
11
|
-
- `docs/prd/output/<ticket-id>.md` — 结构化 PRD
|
|
12
|
-
- `docs/prd/output/<ticket-id>.meta.json` — 元数据(影响模块、字段、状态码)
|
|
13
|
-
|
|
14
|
-
## 错误处理
|
|
15
|
-
- 输入缺失 → 返回 `docs/prd/errors/<ticket-id>.missing.md`
|
|
16
|
-
- 无法解析 → 返回结构化错误,不生成输出
|
|
17
|
-
|
|
18
|
-
## 工作流
|
|
19
|
-
1. 读取输入文件
|
|
20
|
-
2. 使用 `explore` 技能进行需求探索
|
|
21
|
-
3. 使用 `propose` 技能创建变更提案
|
|
22
|
-
4. 生成结构化 PRD
|
|
23
|
-
5. 生成元数据 JSON
|
|
24
|
-
6. 自审 PRD 完整性
|
|
25
|
-
|
|
26
|
-
## 质量检查
|
|
27
|
-
- [ ] 所有用户场景已覆盖
|
|
28
|
-
- [ ] 字段定义完整(类型、约束、默认值)
|
|
29
|
-
- [ ] 状态码已分配
|
|
30
|
-
- [ ] 流程图已绘制
|
|
31
|
-
- [ ] 非目标已明确
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Review Agent
|
|
2
|
-
|
|
3
|
-
## 职责
|
|
4
|
-
读取 commit range / MR diff → 按 code-review Skill 生成结构化报告
|
|
5
|
-
|
|
6
|
-
## 输入
|
|
7
|
-
- commit 范围(如 `HEAD~5..HEAD`)
|
|
8
|
-
- 或 MR diff 文件路径
|
|
9
|
-
|
|
10
|
-
## 输出
|
|
11
|
-
- 结构化审查报告(findings 列表)
|
|
12
|
-
- 严重度排序
|
|
13
|
-
|
|
14
|
-
## 工作流
|
|
15
|
-
1. 获取 diff(本地 commit range 或 MR diff)
|
|
16
|
-
2. 使用 `requesting-review` 技能指导审查
|
|
17
|
-
3. 按检查清单审查:
|
|
18
|
-
- 规范合规性(对照 specs/)
|
|
19
|
-
- 代码质量(命名、结构、复杂度)
|
|
20
|
-
- 安全性(注入、XSS、权限)
|
|
21
|
-
- 性能(N+1、大查询、缓存)
|
|
22
|
-
- 测试覆盖
|
|
23
|
-
4. 按严重度排序 findings
|
|
24
|
-
5. 输出结构化报告
|
|
25
|
-
|
|
26
|
-
## 审查维度
|
|
27
|
-
1. **规范合规** — 实现是否满足 specs/ 中定义的行为契约
|
|
28
|
-
2. **代码质量** — 命名、结构、可读性、复杂度
|
|
29
|
-
3. **安全性** — 注入、XSS、CSRF、权限检查
|
|
30
|
-
4. **性能** — N+1 查询、大结果集、缺少缓存
|
|
31
|
-
5. **测试** — 覆盖率、测试质量、断言强度
|
|
32
|
-
|
|
33
|
-
## CI 集成
|
|
34
|
-
- GitLab MR webhook → 自动触发
|
|
35
|
-
- 结果回写 MR comment
|
|
36
|
-
- 标记 "AI Review: Needs Attention"
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Test Agent
|
|
2
|
-
|
|
3
|
-
## 职责
|
|
4
|
-
根据 Service/Mapper 生成 Mock 测试(遵循 TESTING.md,Mockito + JUnit5)
|
|
5
|
-
|
|
6
|
-
## 输入
|
|
7
|
-
- 目标类路径(如 `UserService.java`)
|
|
8
|
-
|
|
9
|
-
## 输出
|
|
10
|
-
- `XxxServiceMock.java` — Mock 测试类
|
|
11
|
-
- 测试报告
|
|
12
|
-
|
|
13
|
-
## 工作流
|
|
14
|
-
1. 读取源类和依赖
|
|
15
|
-
2. 使用 `tdd` 技能指导测试设计
|
|
16
|
-
3. 生成 Mock 测试类
|
|
17
|
-
4. 本地运行测试
|
|
18
|
-
5. 失败 → 自修(≤3 次)
|
|
19
|
-
6. 输出测试报告
|
|
20
|
-
|
|
21
|
-
## 测试规范
|
|
22
|
-
- 框架:JUnit 5 + Mockito
|
|
23
|
-
- 命名:`should_<expected>_when_<condition>`
|
|
24
|
-
- 覆盖:正常路径 + 异常路径 + 边界条件
|
|
25
|
-
- Mock:所有外部依赖
|
|
26
|
-
- 断言:明确、具体
|
|
27
|
-
|
|
28
|
-
## 质量检查
|
|
29
|
-
- [ ] 正常路径覆盖
|
|
30
|
-
- [ ] 异常路径覆盖
|
|
31
|
-
- [ ] 边界条件覆盖
|
|
32
|
-
- [ ] Mock 正确配置
|
|
33
|
-
- [ ] 断言有意义
|