cc-devflow 4.2.0 → 4.3.0
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/.claude/commands/flow/CLAUDE.md +0 -4
- package/.claude/docs/examples/design-inspiration-pool.md +59 -0
- package/.claude/docs/examples/ui-prototype-constitution-checklist.md +75 -0
- package/.claude/docs/implementation-summary-v7.md +449 -0
- package/.claude/docs/spec-format-guide.md +349 -0
- package/.claude/docs/state-consolidation-design.md +323 -0
- package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +85 -386
- package/.claude/docs/templates/DESIGN_TEMPLATE.md +157 -0
- package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +91 -0
- package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +139 -0
- package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +93 -0
- package/.claude/docs/templates/STYLE_TEMPLATE.md +114 -901
- package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +143 -1205
- package/.claude/hooks/inject-agent-context.ts +9 -9
- package/.claude/scripts/.claude/commands/flow/export-openspec.md +221 -0
- package/.claude/scripts/.claude/commands/flow/import-openspec.md +171 -0
- package/.claude/scripts/__tests__/openspec.test.js +212 -0
- package/.claude/scripts/delta-parser.ts +112 -2
- package/.claude/scripts/export-openspec.js +222 -0
- package/.claude/scripts/import-openspec.js +272 -0
- package/.claude/scripts/validate-scope.sh +200 -0
- package/.claude/skills/{workflow/flow-init → flow-init}/SKILL.md +25 -4
- package/.claude/skills/{workflow/flow-release → flow-release}/SKILL.md +14 -3
- package/.claude/skills/{workflow/flow-spec → flow-spec}/SKILL.md +30 -2
- package/.claude/skills/utility/npm-release/CLAUDE.md +55 -0
- package/.claude/skills/utility/npm-release/SKILL.md +111 -46
- package/.claude/skills/utility/npm-release/references/version-decision-guide.md +134 -0
- package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +95 -0
- package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +82 -0
- package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +44 -0
- package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +1 -0
- package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +2 -0
- package/CHANGELOG.md +40 -0
- package/README.md +2 -1
- package/README.zh-CN.md +2 -1
- package/docs/v4.3.0-migration-guide.md +276 -0
- package/lib/harness/CLAUDE.md +5 -4
- package/lib/harness/__tests__/planner.tdd.test.js +125 -0
- package/lib/harness/index.js +4 -2
- package/lib/harness/operations/dispatch.js +13 -0
- package/lib/harness/operations/plan.js +55 -1
- package/lib/harness/operations/release.js +87 -0
- package/lib/harness/operations/verify.js +14 -0
- package/lib/harness/planner.js +131 -0
- package/lib/harness/query.js +126 -0
- package/lib/harness/schemas.js +22 -1
- package/package.json +1 -1
- package/.claude/commands/flow/checklist.md +0 -18
- package/.claude/commands/flow/clarify.md +0 -18
- package/.claude/commands/flow/new.md +0 -23
- package/.claude/commands/flow/quality.md +0 -21
- package/.claude/docs/templates/EPIC_TEMPLATE.md +0 -805
- package/.claude/docs/templates/PRD_TEMPLATE.md +0 -562
- package/.claude/docs/templates/TASKS_TEMPLATE.md +0 -523
- package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +0 -1019
- package/.claude/skills/workflow/CLAUDE.md +0 -24
- /package/.claude/skills/{domain/attention-refresh → attention-refresh}/SKILL.md +0 -0
- /package/.claude/skills/{domain/brainstorming → brainstorming}/SKILL.md +0 -0
- /package/.claude/skills/{guardrail/constitution-guardian → constitution-guardian}/SKILL.md +0 -0
- /package/.claude/skills/{utility/constitution-quick-ref → constitution-quick-ref}/SKILL.md +0 -0
- /package/.claude/skills/{domain/debugging → debugging}/SKILL.md +0 -0
- /package/.claude/skills/{utility/file-standards → file-standards}/SKILL.md +0 -0
- /package/.claude/skills/{domain/finishing-branch → finishing-branch}/SKILL.md +0 -0
- /package/.claude/skills/{workflow/flow-dev → flow-dev}/CLAUDE.md +0 -0
- /package/.claude/skills/{workflow/flow-dev → flow-dev}/SKILL.md +0 -0
- /package/.claude/skills/{workflow/flow-dev → flow-dev}/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -0
- /package/.claude/skills/{workflow/flow-dev → flow-dev}/context.jsonl +0 -0
- /package/.claude/skills/{workflow/flow-dev → flow-dev}/dev-implementer.jsonl +0 -0
- /package/.claude/skills/{workflow/flow-dev → flow-dev}/scripts/entry-gate.sh +0 -0
- /package/.claude/skills/{workflow/flow-dev → flow-dev}/scripts/exit-gate.sh +0 -0
- /package/.claude/skills/{workflow/flow-dev → flow-dev}/scripts/task-orchestrator.sh +0 -0
- /package/.claude/skills/{workflow/flow-fix → flow-fix}/SKILL.md +0 -0
- /package/.claude/skills/{workflow/flow-fix → flow-fix}/context.jsonl +0 -0
- /package/.claude/skills/{workflow/flow-fix → flow-fix}/references/bug-analyzer.md +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/assets/BRAINSTORM_TEMPLATE.md +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/assets/INIT_FLOW_TEMPLATE.md +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/assets/RESEARCH_TEMPLATE.md +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/context.jsonl +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/references/flow-researcher.md +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/scripts/check-prerequisites.sh +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/scripts/consolidate-research.sh +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/scripts/create-requirement.sh +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/scripts/generate-research-tasks.sh +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/scripts/populate-research-tasks.sh +0 -0
- /package/.claude/skills/{workflow/flow-init → flow-init}/scripts/validate-research.sh +0 -0
- /package/.claude/skills/{workflow/flow-quality → flow-quality}/SKILL.md +0 -0
- /package/.claude/skills/{workflow/flow-quality → flow-quality}/context.jsonl +0 -0
- /package/.claude/skills/{workflow/flow-quality → flow-quality}/references/code-quality-reviewer.md +0 -0
- /package/.claude/skills/{workflow/flow-quality → flow-quality}/references/qa-tester.md +0 -0
- /package/.claude/skills/{workflow/flow-quality → flow-quality}/references/security-reviewer.md +0 -0
- /package/.claude/skills/{workflow/flow-quality → flow-quality}/references/spec-reviewer.md +0 -0
- /package/.claude/skills/{workflow/flow-release → flow-release}/context.jsonl +0 -0
- /package/.claude/skills/{workflow/flow-release → flow-release}/references/release-manager.md +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/CLAUDE.md +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/context.jsonl +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/scripts/entry-gate.sh +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/scripts/exit-gate.sh +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/scripts/parallel-orchestrator.sh +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/scripts/team-communication.sh +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/scripts/team-init.sh +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/scripts/test-team-mode.sh +0 -0
- /package/.claude/skills/{workflow/flow-spec → flow-spec}/team-config.json +0 -0
- /package/.claude/skills/{workflow/flow-verify → flow-verify}/CLAUDE.md +0 -0
- /package/.claude/skills/{workflow/flow-verify → flow-verify}/SKILL.md +0 -0
- /package/.claude/skills/{workflow/flow-verify → flow-verify}/context.jsonl +0 -0
- /package/.claude/skills/{utility/fractal-docs → fractal-docs}/SKILL.md +0 -0
- /package/.claude/skills/{utility/journey-checker → journey-checker}/SKILL.md +0 -0
- /package/.claude/skills/{utility/journey-checker → journey-checker}/pressure-scenarios.md +0 -0
- /package/.claude/skills/{domain/receiving-review → receiving-review}/SKILL.md +0 -0
- /package/.claude/skills/{utility/skill-creator → skill-creator}/LICENSE.txt +0 -0
- /package/.claude/skills/{utility/skill-creator → skill-creator}/SKILL.md +0 -0
- /package/.claude/skills/{utility/skill-creator → skill-creator}/references/output-patterns.md +0 -0
- /package/.claude/skills/{utility/skill-creator → skill-creator}/references/workflows.md +0 -0
- /package/.claude/skills/{utility/skill-creator → skill-creator}/scripts/init_skill.py +0 -0
- /package/.claude/skills/{utility/skill-creator → skill-creator}/scripts/package_skill.py +0 -0
- /package/.claude/skills/{utility/skill-creator → skill-creator}/scripts/quick_validate.py +0 -0
- /package/.claude/skills/{domain/tdd → tdd}/SKILL.md +0 -0
- /package/.claude/skills/{guardrail/tdd-enforcer → tdd-enforcer}/SKILL.md +0 -0
- /package/.claude/skills/{domain/verification → verification}/SKILL.md +0 -0
|
@@ -22,42 +22,34 @@
|
|
|
22
22
|
→ Read devflow/project.md (extract tech stack)
|
|
23
23
|
→ Check if devflow/ARCHITECTURE.md exists (update vs create mode)
|
|
24
24
|
|
|
25
|
-
2.
|
|
26
|
-
→ Read template from .claude/docs/templates/ARCHITECTURE_TEMPLATE.md
|
|
27
|
-
→ Prepare to fill all sections
|
|
28
|
-
|
|
29
|
-
3. Analyze architecture type
|
|
25
|
+
2. Analyze architecture type
|
|
30
26
|
→ Extract from project.md or infer from requirements
|
|
31
27
|
→ Architecture Type: Monolith | Microservices | Frontend-Backend | Serverless
|
|
32
28
|
→ Deployment Model: Desktop | Web | Mobile | CLI | Hybrid
|
|
33
|
-
→ Fill header metadata
|
|
34
29
|
|
|
35
|
-
|
|
30
|
+
3. Analyze tech stack
|
|
36
31
|
→ From project.md: extract Frontend, Backend, Database, Integration technologies
|
|
37
32
|
→ From TECH_DESIGN.md: extract additional libraries, frameworks
|
|
38
33
|
→ Organize by layer (Presentation, Business, Data, Integration)
|
|
39
34
|
|
|
40
|
-
|
|
35
|
+
4. Generate Diagram 1: Feature Architecture (功能架构图)
|
|
41
36
|
→ From ROADMAP.md: extract all RM-IDs and REQ-IDs
|
|
42
37
|
→ Group related features into clusters (Core, Business, Support)
|
|
43
38
|
→ Identify dependencies from ROADMAP.md dependency graph
|
|
44
39
|
→ Generate Mermaid graph syntax
|
|
45
|
-
→ Validate syntax (no missing brackets, valid node IDs)
|
|
46
40
|
|
|
47
|
-
|
|
41
|
+
5. Generate Diagram 2: Technical Architecture (技术架构图)
|
|
48
42
|
→ Design layered architecture (Presentation → Business → Data → Integration)
|
|
49
43
|
→ Map technologies to layers from tech stack analysis
|
|
50
44
|
→ Show interactions between layers
|
|
51
45
|
→ Generate Mermaid graph syntax
|
|
52
|
-
→ Validate syntax
|
|
53
46
|
|
|
54
|
-
|
|
47
|
+
6. Generate Diagram 3: Module Structure (模块划分图)
|
|
55
48
|
→ Scan actual codebase structure (src/, .claude/, devflow/, etc.)
|
|
56
49
|
→ Identify key directories and their relationships
|
|
57
50
|
→ Generate Mermaid graph syntax
|
|
58
|
-
→ Validate syntax
|
|
59
51
|
|
|
60
|
-
|
|
52
|
+
7. Generate Diagram 4: Requirement Dependency (需求依赖图)
|
|
61
53
|
→ From ROADMAP.md: extract dependency relationships
|
|
62
54
|
→ Include both REQ-to-RM and RM-to-RM dependencies
|
|
63
55
|
→ Color-code by status:
|
|
@@ -65,30 +57,24 @@
|
|
|
65
57
|
• In-progress REQs: #FFD700 (gold)
|
|
66
58
|
• Planned RMs: #D3D3D3 (gray)
|
|
67
59
|
→ Generate Mermaid graph syntax
|
|
68
|
-
→ Validate syntax
|
|
69
60
|
|
|
70
|
-
|
|
61
|
+
8. Fill Architecture Decision Records (ADR)
|
|
71
62
|
→ For each major architectural decision:
|
|
72
63
|
• What: Decision made
|
|
73
64
|
• Why: Rationale
|
|
74
65
|
• When: Date
|
|
75
66
|
• Impact: Consequences
|
|
76
67
|
→ Include decisions from TECH_DESIGN.md
|
|
77
|
-
→ Format as structured sections
|
|
78
68
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
→ If incomplete: ERROR "Complete missing sections"
|
|
69
|
+
9. Validate completeness
|
|
70
|
+
→ All 4 diagrams generated
|
|
71
|
+
→ All Mermaid syntax valid
|
|
72
|
+
→ No {{PLACEHOLDER}} remaining
|
|
73
|
+
→ Architecture reflects ROADMAP.md content
|
|
85
74
|
|
|
86
|
-
|
|
75
|
+
10. Write devflow/ARCHITECTURE.md
|
|
87
76
|
→ Write complete file
|
|
88
77
|
→ Use UTF-8 encoding
|
|
89
|
-
→ Ensure markdown formatting correct
|
|
90
|
-
|
|
91
|
-
12. Return: SUCCESS (ARCHITECTURE.md generated)
|
|
92
78
|
```
|
|
93
79
|
|
|
94
80
|
**重要**: 这是一个自执行模板。architecture-designer agent 应该按照 Execution Flow 生成完整的 ARCHITECTURE.md 文件。
|
|
@@ -98,407 +84,141 @@
|
|
|
98
84
|
## 架构类型
|
|
99
85
|
|
|
100
86
|
- **应用类型**: {{ARCH_TYPE}}
|
|
101
|
-
- Monolith
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
- Serverless (无服务器)
|
|
105
|
-
|
|
106
|
-
- **部署方式**: {{DEPLOYMENT_MODEL}}
|
|
107
|
-
- Desktop Application (桌面应用 - Electron)
|
|
108
|
-
- Web Application (Web 应用)
|
|
109
|
-
- Mobile Application (移动应用)
|
|
110
|
-
- CLI Tool (命令行工具)
|
|
111
|
-
- Hybrid (混合模式)
|
|
87
|
+
- 选项: Monolith | Microservices | Frontend-Backend | Serverless | Hybrid
|
|
88
|
+
- **部署模型**: {{DEPLOYMENT_MODEL}}
|
|
89
|
+
- 选项: Desktop | Web | Mobile | CLI | Hybrid
|
|
112
90
|
|
|
113
91
|
---
|
|
114
92
|
|
|
115
93
|
## 技术栈
|
|
116
94
|
|
|
117
|
-
###
|
|
95
|
+
### 前端层(Presentation Layer)
|
|
118
96
|
{{FRONTEND_STACK}}
|
|
119
97
|
|
|
120
|
-
_
|
|
121
|
-
- **Framework**: React 18 + TypeScript
|
|
122
|
-
- **State Management**: Redux Toolkit
|
|
123
|
-
- **UI Library**: Ant Design
|
|
124
|
-
- **Build Tool**: Vite
|
|
98
|
+
_从 project.md 和 TECH_DESIGN.md 提取_
|
|
125
99
|
|
|
126
|
-
###
|
|
100
|
+
### 业务层(Business Layer)
|
|
127
101
|
{{BACKEND_STACK}}
|
|
128
102
|
|
|
129
|
-
_
|
|
130
|
-
- **Runtime**: Node.js 20
|
|
131
|
-
- **Framework**: Express.js
|
|
132
|
-
- **Language**: TypeScript
|
|
133
|
-
- **API Style**: RESTful
|
|
103
|
+
_从 project.md 和 TECH_DESIGN.md 提取_
|
|
134
104
|
|
|
135
|
-
###
|
|
105
|
+
### 数据层(Data Layer)
|
|
136
106
|
{{DATABASE_STACK}}
|
|
137
107
|
|
|
138
|
-
_
|
|
139
|
-
- **Primary**: SQLite (embedded)
|
|
140
|
-
- **Cache**: Redis (optional)
|
|
141
|
-
- **Migration**: Knex.js
|
|
108
|
+
_从 project.md 和 TECH_DESIGN.md 提取_
|
|
142
109
|
|
|
143
|
-
### Integration
|
|
110
|
+
### 集成层(Integration Layer)
|
|
144
111
|
{{INTEGRATION_STACK}}
|
|
145
112
|
|
|
146
|
-
_
|
|
147
|
-
- **AI**: Claude API
|
|
148
|
-
- **MCP**: Model Context Protocol Servers
|
|
149
|
-
- **External APIs**: GitHub API, npm Registry
|
|
150
|
-
|
|
151
|
-
### DevOps & Tools
|
|
152
|
-
{{DEVOPS_STACK}}
|
|
153
|
-
|
|
154
|
-
_示例:_
|
|
155
|
-
- **Package Manager**: npm
|
|
156
|
-
- **Testing**: Jest + React Testing Library
|
|
157
|
-
- **Linting**: ESLint + Prettier
|
|
158
|
-
- **Build**: Electron Builder
|
|
113
|
+
_从 project.md 和 TECH_DESIGN.md 提取_
|
|
159
114
|
|
|
160
115
|
---
|
|
161
116
|
|
|
162
117
|
## 1. 功能架构图(Feature Architecture)
|
|
163
118
|
|
|
164
|
-
### 核心模块划分
|
|
165
|
-
|
|
166
|
-
本项目按照功能领域划分为三层架构:
|
|
167
|
-
|
|
168
|
-
- **核心层 (Core)**: 提供基础认证、权限、安全等核心能力
|
|
169
|
-
- **业务层 (Business)**: 实现具体业务功能,如会话管理、数据处理
|
|
170
|
-
- **支撑层 (Support)**: 提供配置、日志、监控等支撑服务
|
|
171
|
-
|
|
172
|
-
{{FEATURE_ARCHITECTURE_DESCRIPTION}}
|
|
173
|
-
|
|
174
|
-
### 架构图
|
|
175
|
-
|
|
176
119
|
```mermaid
|
|
177
120
|
graph TB
|
|
178
|
-
subgraph
|
|
179
|
-
{{
|
|
180
|
-
{{CORE_MODULE_2}}[{{CORE_LABEL_2}}]
|
|
121
|
+
subgraph Core["核心功能"]
|
|
122
|
+
{{CORE_FEATURES}}
|
|
181
123
|
end
|
|
182
124
|
|
|
183
|
-
subgraph
|
|
184
|
-
{{
|
|
185
|
-
{{BUSINESS_MODULE_2}}[{{BUSINESS_LABEL_2}}]
|
|
186
|
-
{{BUSINESS_MODULE_3}}[{{BUSINESS_LABEL_3}}]
|
|
125
|
+
subgraph Business["业务功能"]
|
|
126
|
+
{{BUSINESS_FEATURES}}
|
|
187
127
|
end
|
|
188
128
|
|
|
189
|
-
subgraph
|
|
190
|
-
{{
|
|
191
|
-
{{SUPPORT_MODULE_2}}[{{SUPPORT_LABEL_2}}]
|
|
129
|
+
subgraph Support["支撑功能"]
|
|
130
|
+
{{SUPPORT_FEATURES}}
|
|
192
131
|
end
|
|
193
132
|
|
|
194
|
-
{{
|
|
195
|
-
{{BUSINESS_MODULE_2}} --> {{CORE_MODULE_2}}
|
|
196
|
-
{{BUSINESS_MODULE_3}} --> {{BUSINESS_MODULE_1}}
|
|
197
|
-
{{SUPPORT_MODULE_1}} --> {{CORE_MODULE_1}}
|
|
133
|
+
{{FEATURE_DEPENDENCIES}}
|
|
198
134
|
```
|
|
199
135
|
|
|
200
136
|
_填充规则:_
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
- 从 ROADMAP.md 提取模块名称和依赖关系
|
|
205
|
-
|
|
206
|
-
_示例(完整图):_
|
|
207
|
-
```mermaid
|
|
208
|
-
graph TB
|
|
209
|
-
subgraph "核心层 Core"
|
|
210
|
-
Auth[用户认证 REQ-001]
|
|
211
|
-
Perm[权限管理 REQ-002]
|
|
212
|
-
MultiAcc[多账号支持 RM-003]
|
|
213
|
-
end
|
|
214
|
-
|
|
215
|
-
subgraph "业务层 Business"
|
|
216
|
-
Session[会话管理 REQ-008]
|
|
217
|
-
Input[输入增强 RM-001]
|
|
218
|
-
Analysis[数据分析 RM-004]
|
|
219
|
-
end
|
|
220
|
-
|
|
221
|
-
subgraph "支撑层 Support"
|
|
222
|
-
Perf[性能优化 RM-002]
|
|
223
|
-
Config[配置管理]
|
|
224
|
-
Log[日志系统]
|
|
225
|
-
end
|
|
226
|
-
|
|
227
|
-
MultiAcc --> Perm
|
|
228
|
-
Session --> Auth
|
|
229
|
-
Input --> Session
|
|
230
|
-
Analysis --> Session
|
|
231
|
-
Perf --> Input
|
|
232
|
-
Config --> Auth
|
|
233
|
-
Log --> Session
|
|
234
|
-
```
|
|
137
|
+
- 从 ROADMAP.md 提取所有 RM-IDs 和 REQ-IDs
|
|
138
|
+
- 按功能类型分组(核心/业务/支撑)
|
|
139
|
+
- 标注依赖关系(箭头)
|
|
235
140
|
|
|
236
141
|
---
|
|
237
142
|
|
|
238
143
|
## 2. 技术架构图(Technical Architecture)
|
|
239
144
|
|
|
240
|
-
### 分层设计
|
|
241
|
-
|
|
242
|
-
本项目采用经典四层架构,确保关注点分离和可维护性:
|
|
243
|
-
|
|
244
|
-
- **表现层 (Presentation)**: 用户界面和交互逻辑
|
|
245
|
-
- **业务层 (Business)**: 核心业务逻辑和规则
|
|
246
|
-
- **数据层 (Data)**: 数据持久化和访问
|
|
247
|
-
- **集成层 (Integration)**: 外部系统集成
|
|
248
|
-
|
|
249
|
-
{{TECHNICAL_ARCHITECTURE_DESCRIPTION}}
|
|
250
|
-
|
|
251
|
-
### 架构图
|
|
252
|
-
|
|
253
145
|
```mermaid
|
|
254
146
|
graph TB
|
|
255
|
-
subgraph "表现层
|
|
256
|
-
{{
|
|
257
|
-
{{PRES_COMPONENT_2}}[{{PRES_LABEL_2}}]
|
|
147
|
+
subgraph Presentation["表现层"]
|
|
148
|
+
{{PRESENTATION_COMPONENTS}}
|
|
258
149
|
end
|
|
259
150
|
|
|
260
|
-
subgraph "业务层
|
|
261
|
-
{{
|
|
262
|
-
{{BUS_COMPONENT_2}}[{{BUS_LABEL_2}}]
|
|
151
|
+
subgraph Business["业务层"]
|
|
152
|
+
{{BUSINESS_COMPONENTS}}
|
|
263
153
|
end
|
|
264
154
|
|
|
265
|
-
subgraph "数据层
|
|
266
|
-
{{
|
|
267
|
-
{{DATA_COMPONENT_2}}[{{DATA_LABEL_2}}]
|
|
155
|
+
subgraph Data["数据层"]
|
|
156
|
+
{{DATA_COMPONENTS}}
|
|
268
157
|
end
|
|
269
158
|
|
|
270
|
-
subgraph "集成层
|
|
271
|
-
{{
|
|
272
|
-
{{INT_COMPONENT_2}}[{{INT_LABEL_2}}]
|
|
159
|
+
subgraph Integration["集成层"]
|
|
160
|
+
{{INTEGRATION_COMPONENTS}}
|
|
273
161
|
end
|
|
274
162
|
|
|
275
|
-
{{
|
|
276
|
-
{{PRES_COMPONENT_2}} --> {{BUS_COMPONENT_1}}
|
|
277
|
-
{{BUS_COMPONENT_1}} --> {{BUS_COMPONENT_2}}
|
|
278
|
-
{{BUS_COMPONENT_2}} --> {{DATA_COMPONENT_1}}
|
|
279
|
-
{{BUS_COMPONENT_2}} --> {{DATA_COMPONENT_2}}
|
|
280
|
-
{{BUS_COMPONENT_1}} --> {{INT_COMPONENT_1}}
|
|
281
|
-
{{BUS_COMPONENT_1}} --> {{INT_COMPONENT_2}}
|
|
163
|
+
{{LAYER_INTERACTIONS}}
|
|
282
164
|
```
|
|
283
165
|
|
|
284
166
|
_填充规则:_
|
|
285
|
-
-
|
|
286
|
-
-
|
|
287
|
-
-
|
|
288
|
-
- 箭头表示调用关系或数据流向
|
|
289
|
-
|
|
290
|
-
_示例(完整图):_
|
|
291
|
-
```mermaid
|
|
292
|
-
graph TB
|
|
293
|
-
subgraph "表现层 Presentation"
|
|
294
|
-
UI[React + TypeScript]
|
|
295
|
-
State[Redux Toolkit]
|
|
296
|
-
end
|
|
297
|
-
|
|
298
|
-
subgraph "业务层 Business"
|
|
299
|
-
API[Express.js API]
|
|
300
|
-
BL[Business Logic]
|
|
301
|
-
end
|
|
302
|
-
|
|
303
|
-
subgraph "数据层 Data"
|
|
304
|
-
DB[(SQLite)]
|
|
305
|
-
Cache[(Redis)]
|
|
306
|
-
end
|
|
307
|
-
|
|
308
|
-
subgraph "集成层 Integration"
|
|
309
|
-
MCP[MCP Server]
|
|
310
|
-
Claude[Claude API]
|
|
311
|
-
GitHub[GitHub API]
|
|
312
|
-
end
|
|
313
|
-
|
|
314
|
-
UI --> State
|
|
315
|
-
State --> API
|
|
316
|
-
API --> BL
|
|
317
|
-
BL --> DB
|
|
318
|
-
BL --> Cache
|
|
319
|
-
API --> MCP
|
|
320
|
-
API --> Claude
|
|
321
|
-
BL --> GitHub
|
|
322
|
-
```
|
|
167
|
+
- 基于技术栈分析结果
|
|
168
|
+
- 展示各层之间的交互关系
|
|
169
|
+
- 标注关键技术选型
|
|
323
170
|
|
|
324
171
|
---
|
|
325
172
|
|
|
326
173
|
## 3. 模块划分图(Module Structure)
|
|
327
174
|
|
|
328
|
-
### 代码组织
|
|
329
|
-
|
|
330
|
-
本项目代码仓库按职责划分为以下主要模块:
|
|
331
|
-
|
|
332
|
-
{{MODULE_STRUCTURE_DESCRIPTION}}
|
|
333
|
-
|
|
334
|
-
### 架构图
|
|
335
|
-
|
|
336
175
|
```mermaid
|
|
337
|
-
graph
|
|
338
|
-
subgraph "
|
|
339
|
-
|
|
340
|
-
{{DIR_1_1}}[{{DIR_LABEL_1_1}}]
|
|
341
|
-
{{DIR_1_2}}[{{DIR_LABEL_1_2}}]
|
|
342
|
-
{{DIR_1_3}}[{{DIR_LABEL_1_3}}]
|
|
343
|
-
end
|
|
344
|
-
|
|
345
|
-
subgraph "{{DIR_GROUP_2}}"
|
|
346
|
-
{{DIR_2_1}}[{{DIR_LABEL_2_1}}]
|
|
347
|
-
{{DIR_2_2}}[{{DIR_LABEL_2_2}}]
|
|
348
|
-
{{DIR_2_3}}[{{DIR_LABEL_2_3}}]
|
|
349
|
-
end
|
|
350
|
-
|
|
351
|
-
subgraph "{{DIR_GROUP_3}}"
|
|
352
|
-
{{DIR_3_1}}[{{DIR_LABEL_3_1}}]
|
|
353
|
-
{{DIR_3_2}}[{{DIR_LABEL_3_2}}]
|
|
354
|
-
end
|
|
176
|
+
graph TB
|
|
177
|
+
subgraph Root["项目根目录"]
|
|
178
|
+
{{ROOT_MODULES}}
|
|
355
179
|
end
|
|
356
180
|
|
|
357
|
-
{{
|
|
358
|
-
{{DIR_2_1}} --> {{DIR_2_3}}
|
|
181
|
+
{{MODULE_RELATIONSHIPS}}
|
|
359
182
|
```
|
|
360
183
|
|
|
361
184
|
_填充规则:_
|
|
362
|
-
-
|
|
363
|
-
-
|
|
364
|
-
-
|
|
365
|
-
- 箭头表示依赖关系(可选)
|
|
366
|
-
|
|
367
|
-
_示例(完整图):_
|
|
368
|
-
```mermaid
|
|
369
|
-
graph LR
|
|
370
|
-
subgraph "anna-agent"
|
|
371
|
-
subgraph "src/"
|
|
372
|
-
Comp[components/]
|
|
373
|
-
Serv[services/]
|
|
374
|
-
Utils[utils/]
|
|
375
|
-
Types[types/]
|
|
376
|
-
end
|
|
377
|
-
|
|
378
|
-
subgraph ".claude/"
|
|
379
|
-
Agents[agents/]
|
|
380
|
-
Cmds[commands/]
|
|
381
|
-
Scripts[scripts/]
|
|
382
|
-
Docs[docs/]
|
|
383
|
-
end
|
|
384
|
-
|
|
385
|
-
subgraph "devflow/"
|
|
386
|
-
Reqs[requirements/]
|
|
387
|
-
Roadmap[ROADMAP.md]
|
|
388
|
-
Arch[ARCHITECTURE.md]
|
|
389
|
-
end
|
|
390
|
-
end
|
|
391
|
-
|
|
392
|
-
Cmds --> Agents
|
|
393
|
-
Cmds --> Scripts
|
|
394
|
-
Agents --> Docs
|
|
395
|
-
Comp --> Serv
|
|
396
|
-
Serv --> Utils
|
|
397
|
-
```
|
|
185
|
+
- 扫描实际代码库结构
|
|
186
|
+
- 识别关键目录及其职责
|
|
187
|
+
- 展示模块间依赖关系
|
|
398
188
|
|
|
399
189
|
---
|
|
400
190
|
|
|
401
191
|
## 4. 需求依赖图(Requirement Dependency)
|
|
402
192
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
{{REQUIREMENT_DEPENDENCY_DESCRIPTION}}
|
|
193
|
+
```mermaid
|
|
194
|
+
graph LR
|
|
195
|
+
{{REQUIREMENT_NODES}}
|
|
196
|
+
{{REQUIREMENT_DEPENDENCIES}}
|
|
408
197
|
|
|
409
|
-
|
|
198
|
+
classDef completed fill:#90EE90
|
|
199
|
+
classDef inProgress fill:#FFD700
|
|
200
|
+
classDef planned fill:#D3D3D3
|
|
410
201
|
|
|
411
|
-
|
|
412
|
-
graph TD
|
|
413
|
-
{{REQ_NODE_1}}[{{REQ_LABEL_1}}] --> {{REQ_NODE_2}}[{{REQ_LABEL_2}}]
|
|
414
|
-
{{REQ_NODE_2}} --> {{RM_NODE_1}}[{{RM_LABEL_1}}]
|
|
415
|
-
{{REQ_NODE_3}}[{{REQ_LABEL_3}}] --> {{RM_NODE_2}}[{{RM_LABEL_2}}]
|
|
416
|
-
|
|
417
|
-
style {{REQ_NODE_1}} fill:#90EE90
|
|
418
|
-
style {{REQ_NODE_2}} fill:#90EE90
|
|
419
|
-
style {{REQ_NODE_3}} fill:#FFD700
|
|
420
|
-
style {{RM_NODE_1}} fill:#D3D3D3
|
|
421
|
-
style {{RM_NODE_2}} fill:#D3D3D3
|
|
202
|
+
{{REQUIREMENT_CLASSES}}
|
|
422
203
|
```
|
|
423
204
|
|
|
424
205
|
_填充规则:_
|
|
425
|
-
- 从 ROADMAP.md
|
|
426
|
-
-
|
|
427
|
-
-
|
|
428
|
-
- 颜色编码:
|
|
429
|
-
- #90EE90 (浅绿): 已完成的 REQ
|
|
430
|
-
- #FFD700 (金色): 进行中的 REQ
|
|
431
|
-
- #D3D3D3 (浅灰): 计划中的 RM
|
|
432
|
-
- 箭头方向: 依赖项 → 被依赖项
|
|
433
|
-
|
|
434
|
-
_示例(完整图):_
|
|
435
|
-
```mermaid
|
|
436
|
-
graph TD
|
|
437
|
-
REQ001[REQ-001: 用户认证] --> REQ002[REQ-002: 权限管理]
|
|
438
|
-
REQ008[REQ-008: 会话管理] --> REQ001
|
|
439
|
-
REQ009[REQ-009: 输入增强] --> REQ008
|
|
440
|
-
|
|
441
|
-
REQ002 --> RM003[RM-003: 多账号支持]
|
|
442
|
-
REQ009 --> RM001[RM-001: 输入框 v2.0]
|
|
443
|
-
REQ010[REQ-010: 数据分析] --> RM004[RM-004: 数据分析增强]
|
|
444
|
-
|
|
445
|
-
style REQ001 fill:#90EE90
|
|
446
|
-
style REQ002 fill:#90EE90
|
|
447
|
-
style REQ008 fill:#90EE90
|
|
448
|
-
style REQ009 fill:#90EE90
|
|
449
|
-
style REQ010 fill:#FFD700
|
|
450
|
-
style RM001 fill:#D3D3D3
|
|
451
|
-
style RM003 fill:#D3D3D3
|
|
452
|
-
style RM004 fill:#D3D3D3
|
|
453
|
-
```
|
|
206
|
+
- 从 ROADMAP.md 提取依赖关系
|
|
207
|
+
- 按状态着色(完成/进行中/计划中)
|
|
208
|
+
- 展示 REQ-to-RM 和 RM-to-RM 依赖
|
|
454
209
|
|
|
455
210
|
---
|
|
456
211
|
|
|
457
212
|
## 架构决策记录(Architecture Decision Records)
|
|
458
213
|
|
|
459
|
-
### ADR
|
|
460
|
-
|
|
461
|
-
-
|
|
462
|
-
-
|
|
463
|
-
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
**决策 (Decision)**:
|
|
469
|
-
{{ADR_DECISION}}
|
|
470
|
-
|
|
471
|
-
**理由 (Rationale)**:
|
|
472
|
-
{{ADR_RATIONALE}}
|
|
473
|
-
|
|
474
|
-
**影响 (Consequences)**:
|
|
475
|
-
- **正面影响**:
|
|
476
|
-
- {{POSITIVE_CONSEQUENCE_1}}
|
|
477
|
-
- {{POSITIVE_CONSEQUENCE_2}}
|
|
478
|
-
|
|
479
|
-
- **负面影响**:
|
|
480
|
-
- {{NEGATIVE_CONSEQUENCE_1}}
|
|
481
|
-
- {{NEGATIVE_CONSEQUENCE_2}}
|
|
482
|
-
|
|
483
|
-
- **中性影响**:
|
|
484
|
-
- {{NEUTRAL_CONSEQUENCE_1}}
|
|
485
|
-
|
|
486
|
-
**替代方案 (Alternatives Considered)**:
|
|
487
|
-
1. {{ALTERNATIVE_1}}
|
|
488
|
-
- 优势: {{ALT_1_PROS}}
|
|
489
|
-
- 劣势: {{ALT_1_CONS}}
|
|
490
|
-
- 为何未选择: {{ALT_1_REASON}}
|
|
491
|
-
|
|
492
|
-
---
|
|
493
|
-
|
|
494
|
-
_填充规则:_
|
|
495
|
-
- ADR Number: 序号 001, 002, 003...
|
|
496
|
-
- 从 TECH_DESIGN.md 提取架构决策
|
|
497
|
-
- Status: 标记决策的当前状态
|
|
498
|
-
- Context: 说明为什么需要做这个决策(问题或需求)
|
|
499
|
-
- Decision: 明确说明做了什么决策
|
|
500
|
-
- Rationale: 为什么选择这个决策(技术、业务、团队等因素)
|
|
501
|
-
- Consequences: 这个决策带来的影响(好的、坏的、中性的)
|
|
214
|
+
### ADR 格式
|
|
215
|
+
每个 ADR 包含:
|
|
216
|
+
- Date: 决策日期
|
|
217
|
+
- Status: Accepted | Proposed | Deprecated
|
|
218
|
+
- Context: 背景和问题
|
|
219
|
+
- Decision: 决策内容
|
|
220
|
+
- Rationale: 为什么选择这个决策
|
|
221
|
+
- Consequences: 这个决策带来的影响
|
|
502
222
|
- Alternatives: 考虑过但未选择的其他方案
|
|
503
223
|
|
|
504
224
|
_示例:_
|
|
@@ -517,7 +237,6 @@ _示例:_
|
|
|
517
237
|
- 团队熟悉 Web 技术栈(React + TypeScript)
|
|
518
238
|
- Electron 拥有成熟的生态系统和社区支持
|
|
519
239
|
- 可复用 Web 开发经验和组件库
|
|
520
|
-
- VS Code、Slack 等成功案例证明其可行性
|
|
521
240
|
|
|
522
241
|
**影响**:
|
|
523
242
|
- **正面影响**:
|
|
@@ -530,9 +249,6 @@ _示例:_
|
|
|
530
249
|
- 应用包体积较大(100MB+)
|
|
531
250
|
- 启动速度相对原生应用较慢
|
|
532
251
|
|
|
533
|
-
- **中性影响**:
|
|
534
|
-
- 需要额外关注性能优化
|
|
535
|
-
|
|
536
252
|
**替代方案**:
|
|
537
253
|
1. **Tauri (Rust + Web)**
|
|
538
254
|
- 优势: 更小的包体积、更低的内存占用
|
|
@@ -549,13 +265,11 @@ _示例:_
|
|
|
549
265
|
## 架构演进路径
|
|
550
266
|
|
|
551
267
|
### 当前状态(As-Is)
|
|
552
|
-
|
|
553
268
|
{{CURRENT_STATE}}
|
|
554
269
|
|
|
555
270
|
_描述当前架构的状态、已实现的功能模块、技术债务等_
|
|
556
271
|
|
|
557
272
|
### 目标状态(To-Be)
|
|
558
|
-
|
|
559
273
|
{{TARGET_STATE}}
|
|
560
274
|
|
|
561
275
|
_根据 ROADMAP.md 描述未来 3 个月的目标架构状态_
|
|
@@ -586,48 +300,33 @@ _填充规则:_
|
|
|
586
300
|
| API 响应时间 | {{CURRENT_API_LATENCY}} | {{TARGET_API_LATENCY}} | {{API_TIMELINE}} |
|
|
587
301
|
|
|
588
302
|
### 可扩展性要求
|
|
589
|
-
|
|
590
303
|
{{SCALABILITY_REQUIREMENTS}}
|
|
591
304
|
|
|
592
305
|
_描述如何支持用户增长、数据增长、功能扩展_
|
|
593
306
|
|
|
594
307
|
### 安全要求
|
|
595
|
-
|
|
596
308
|
{{SECURITY_REQUIREMENTS}}
|
|
597
309
|
|
|
598
310
|
_描述认证、授权、加密、审计等安全机制_
|
|
599
311
|
|
|
600
|
-
### 可维护性要求
|
|
601
|
-
|
|
602
|
-
{{MAINTAINABILITY_REQUIREMENTS}}
|
|
603
|
-
|
|
604
|
-
_描述代码质量、测试覆盖率、文档完整性等要求_
|
|
605
|
-
|
|
606
312
|
---
|
|
607
313
|
|
|
608
314
|
## Validation Checklist
|
|
609
315
|
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
- [ ] 所有 4 种架构图已生成
|
|
613
|
-
- [ ] 所有 Mermaid 代码语法正确
|
|
614
|
-
- [ ] 架构图反映 ROADMAP.md 内容
|
|
615
|
-
- [ ] 技术栈与 project.md 一致
|
|
616
|
-
- [ ] 至少有 1 条 ADR 记录
|
|
617
|
-
- [ ] 架构演进路径清晰
|
|
618
|
-
- [ ] NFRs 已定义
|
|
316
|
+
在输出 ARCHITECTURE.md 前,确保:
|
|
619
317
|
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
-
|
|
624
|
-
-
|
|
318
|
+
- [x] 所有 4 个 Mermaid 图表已生成
|
|
319
|
+
- [x] 所有 Mermaid 语法有效(无语法错误)
|
|
320
|
+
- [x] 所有 {{PLACEHOLDER}} 已填充
|
|
321
|
+
- [x] 架构反映了 ROADMAP.md 的内容
|
|
322
|
+
- [x] 至少有 1 个 ADR 记录
|
|
323
|
+
- [x] 技术栈信息完整
|
|
324
|
+
- [x] 演进路径清晰
|
|
625
325
|
|
|
626
326
|
---
|
|
627
327
|
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
5. 所有日期使用北京时间 + ISO 8601 格式
|
|
328
|
+
**Template Version**: 2.0.0 (Slimmed from 633 lines to ~350 lines, -45%)
|
|
329
|
+
**Last Updated**: 2026-03-12
|
|
330
|
+
**Maintainer**: CC-DevFlow Team
|
|
331
|
+
|
|
332
|
+
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|