speccrew 0.1.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/.speccrew/agents/speccrew-feature-designer.md +142 -0
- package/.speccrew/agents/speccrew-product-manager.md +61 -0
- package/.speccrew/agents/speccrew-system-designer.md +200 -0
- package/.speccrew/agents/speccrew-system-developer.md +238 -0
- package/.speccrew/agents/speccrew-task-worker.md +80 -0
- package/.speccrew/agents/speccrew-team-leader.md +92 -0
- package/.speccrew/agents/speccrew-test-manager.md +313 -0
- package/.speccrew/skills/speccrew-create-agents/SKILL.md +98 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +54 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +79 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +80 -0
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +205 -0
- package/.speccrew/skills/speccrew-dev-backend/templates/TASK-RECORD-TEMPLATE.md +118 -0
- package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +258 -0
- package/.speccrew/skills/speccrew-dev-desktop/templates/TASK-RECORD-TEMPLATE.md +161 -0
- package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +202 -0
- package/.speccrew/skills/speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md +115 -0
- package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +200 -0
- package/.speccrew/skills/speccrew-dev-mobile/templates/TASK-RECORD-TEMPLATE.md +125 -0
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +73 -0
- package/.speccrew/skills/speccrew-fd-api-contract/templates/API-CONTRACT-TEMPLATE.md +96 -0
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +395 -0
- package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +387 -0
- package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +80 -0
- package/.speccrew/skills/speccrew-get-timestamp/scripts/get-timestamp.js +35 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +1116 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-FASTAPI.md +462 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-JAVA.md +480 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-NET.md +464 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE.md +480 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/MODULE-OVERVIEW-TEMPLATE.md +367 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +667 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +74 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +176 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +150 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +106 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +249 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +848 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +226 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +264 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +34 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +867 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +26 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +165 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/apply-module-mapping.js +208 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/extract-module-summary.js +180 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/reindex-modules.js +358 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +1055 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-DESKTOP.md +303 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-ELECTRON.md +327 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MINIAPP.md +292 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MOBILE.md +281 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI.md +324 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +270 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/COMPONENT-PATTERN-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/LAYOUT-PATTERN-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/PAGE-TYPE-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +229 -0
- package/.speccrew/skills/speccrew-knowledge-graph-query/scripts/graph-query.js +549 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +181 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/scripts/graph-write.js +651 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +305 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/templates/MODULE-OVERVIEW-TEMPLATE.md +400 -0
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +351 -0
- package/.speccrew/skills/speccrew-knowledge-system-summarize/templates/SYSTEM-OVERVIEW-TEMPLATE.md +294 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +683 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/STATUS-FORMATS.md +550 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/templates/techs-manifest-EXAMPLE.json +35 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +1087 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/ARCHITECTURE-TEMPLATE.md +240 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COLOR-SYSTEM-TEMPLATE.md +68 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COMPONENT-LIBRARY-TEMPLATE.md +86 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-BUILD-TEMPLATE.md +466 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DATA-TEMPLATE.md +432 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DESIGN-TEMPLATE.md +1209 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DEV-TEMPLATE.md +1433 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-SYSTEM-TEST-TEMPLATE.md +1052 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-UNIT-TEST-TEMPLATE.md +946 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/INDEX-TEMPLATE.md +29 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-LAYOUTS-TEMPLATE.md +69 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +74 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/TECH-STACK-TEMPLATE.md +232 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +628 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +392 -0
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +489 -0
- package/.speccrew/skills/speccrew-knowledge-techs-index/templates/INDEX-TEMPLATE.md +243 -0
- package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +269 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +562 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/BUSINESS-COMPONENTS-TEMPLATE.md +171 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMMON-COMPONENTS-TEMPLATE.md +177 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-INDIVIDUAL-TEMPLATE.md +80 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-LIBRARY-TEMPLATE.md +118 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-INDIVIDUAL-TEMPLATE.md +97 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-PATTERNS-TEMPLATE.md +208 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/NAVIGATION-PATTERNS-TEMPLATE.md +157 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-INDIVIDUAL-TEMPLATE.md +123 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +58 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/SPACING-TEMPLATE.md +119 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/STYLE-SYSTEM-TEMPLATE.md +117 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/TYPOGRAPHY-TEMPLATE.md +107 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/UI-STYLE-GUIDE-TEMPLATE.md +171 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +434 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md +332 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +200 -0
- package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +195 -0
- package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +208 -0
- package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +202 -0
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +188 -0
- package/.speccrew/skills/speccrew-sd-backend/templates/INDEX-TEMPLATE.md +85 -0
- package/.speccrew/skills/speccrew-sd-backend/templates/SD-BACKEND-TEMPLATE.md +269 -0
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +192 -0
- package/.speccrew/skills/speccrew-sd-desktop/templates/INDEX-TEMPLATE.md +271 -0
- package/.speccrew/skills/speccrew-sd-desktop/templates/SD-DESKTOP-TEMPLATE.md +673 -0
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +176 -0
- package/.speccrew/skills/speccrew-sd-frontend/templates/INDEX-TEMPLATE.md +184 -0
- package/.speccrew/skills/speccrew-sd-frontend/templates/SD-FRONTEND-TEMPLATE.md +382 -0
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +189 -0
- package/.speccrew/skills/speccrew-sd-mobile/templates/INDEX-TEMPLATE.md +219 -0
- package/.speccrew/skills/speccrew-sd-mobile/templates/SD-MOBILE-TEMPLATE.md +534 -0
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +284 -0
- package/.speccrew/skills/speccrew-test-case-design/templates/TEST-CASE-DESIGN-TEMPLATE.md +263 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +313 -0
- package/.speccrew/skills/speccrew-test-code-gen/templates/TEST-CODE-PLAN-TEMPLATE.md +180 -0
- package/.speccrew/skills/speccrew-test-execute/SKILL.md +283 -0
- package/.speccrew/skills/speccrew-test-execute/templates/BUG-REPORT-TEMPLATE.md +50 -0
- package/.speccrew/skills/speccrew-test-execute/templates/TEST-REPORT-TEMPLATE.md +57 -0
- package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +155 -0
- package/LICENSE +21 -0
- package/README.ar.md +318 -0
- package/README.en.md +318 -0
- package/README.es.md +318 -0
- package/README.md +340 -0
- package/bin/cli.js +62 -0
- package/lib/commands/doctor.js +138 -0
- package/lib/commands/init.js +231 -0
- package/lib/commands/list.js +114 -0
- package/lib/commands/uninstall.js +117 -0
- package/lib/commands/update.js +351 -0
- package/lib/ide-adapters.js +73 -0
- package/lib/utils.js +104 -0
- package/package.json +28 -0
- package/workspace-template/docs/configs/document-templates.json +667 -0
- package/workspace-template/docs/configs/platform-mapping.json +194 -0
- package/workspace-template/docs/configs/tech-stack-mappings.json +313 -0
- package/workspace-template/docs/configs/validation-rules.json +87 -0
- package/workspace-template/docs/rules/mermaid-rule.md +114 -0
- package/workspace-template/docs/solutions/Agent/346/212/200/350/203/275/345/256/232/344/271/211+/351/234/200/346/261/202/346/226/207/346/241/243+UML/344/275/277/347/224/250/346/250/241/346/235/277/357/274/210ISA-95/345/205/255/346/256/265/345/274/217/350/236/215/345/220/210/347/211/210/357/274/211.md +586 -0
- package/workspace-template/docs/solutions/agent-knowledge-map.md +238 -0
- package/workspace-template/docs/solutions/bizs-knowledge-pipeline.md +678 -0
- package/workspace-template/docs/solutions/harness.md +410 -0
- package/workspace-template/docs/solutions/knowledge-incremental-sync-spec.md +943 -0
- package/workspace-template/docs/solutions/techs-knowledge-pipeline.md +803 -0
- package/workspace-template/docs/solutions/workspace-structure.md +318 -0
package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/MODULE-OVERVIEW-TEMPLATE.md
ADDED
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
# Module Overview Document - [Module Name]
|
|
2
|
+
|
|
3
|
+
> **Applicable Scenario**: Describes a single business module's responsibility boundaries, feature list, entity relationships, and external dependencies, for AI Agent to understand module details. This is a **generic template** applicable to all tech stacks (Java/Spring Boot, FastAPI, .NET, etc.). Use tech-stack-specific terminology when filling.
|
|
4
|
+
> **Target Audience**: devcrew-product-manager, devcrew-solution-manager, devcrew-developer
|
|
5
|
+
> **Related Document**: [System Overview Document](../system-overview.md)
|
|
6
|
+
>
|
|
7
|
+
> <!-- AI-TAG: MODULE_OVERVIEW -->
|
|
8
|
+
> <!-- AI-CONTEXT: Read this document to understand module responsibilities, feature list, entity relationships, and dependency interfaces, used for requirement analysis and solution design -->
|
|
9
|
+
|
|
10
|
+
<cite>
|
|
11
|
+
**Referenced Files**
|
|
12
|
+
- **API Handler**: [{Handler}.{ext}](../../{handlerSourcePath}) - *e.g., Controller (Java/.NET) or Router (FastAPI)*
|
|
13
|
+
- **Service Layer**: [{Service}.{ext}](../../{serviceSourcePath}) - *Business logic layer*
|
|
14
|
+
- **Data Model**: [{Model}.{ext}](../../{modelSourcePath}) - *e.g., Entity (Java/.NET) or Model (FastAPI)*
|
|
15
|
+
</cite>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 1. Module Basic Information
|
|
20
|
+
|
|
21
|
+
### 1.1 Module Positioning
|
|
22
|
+
|
|
23
|
+
| Item | Description |
|
|
24
|
+
|------|-------------|
|
|
25
|
+
| Module Name | {Fill in module name} |
|
|
26
|
+
| Business Domain | {e.g., Sales Domain, Inventory Domain} |
|
|
27
|
+
| Module Responsibility | {One sentence describing core module responsibility} |
|
|
28
|
+
| Business Value | {What business problem it solves, what value it brings} |
|
|
29
|
+
|
|
30
|
+
### 1.2 Module Boundary
|
|
31
|
+
|
|
32
|
+
<!-- AI-TAG: MODULE_BOUNDARY -->
|
|
33
|
+
<!-- AI-NOTE: Module boundaries help AI understand responsibility scope, avoiding scope creep during requirement analysis -->
|
|
34
|
+
|
|
35
|
+
```mermaid
|
|
36
|
+
graph TB
|
|
37
|
+
subgraph ThisModule["{Module Name}"]
|
|
38
|
+
subgraph Responsible["Responsible"]
|
|
39
|
+
R1[Responsibility 1: Order lifecycle management]
|
|
40
|
+
R2[Responsibility 2: Order status flow control]
|
|
41
|
+
R3[Responsibility 3: Order data statistics]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
subgraph External["External Modules"]
|
|
46
|
+
subgraph DependsOn["This Module Depends On"]
|
|
47
|
+
D1[Module X: Get user data]
|
|
48
|
+
D2[Module Y: Get product data]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
subgraph DependedBy["Depend On This Module"]
|
|
52
|
+
U1[Module Z: Use order data]
|
|
53
|
+
U2[Module W: Receive status notification]
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
subgraph NotResponsible["Not Responsible"]
|
|
57
|
+
NR1[Payment Processing: Payment Module]
|
|
58
|
+
NR2[Logistics Tracking: Logistics Module]
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
ThisModule -.-> D1
|
|
63
|
+
ThisModule -.-> D2
|
|
64
|
+
U1 -.-> ThisModule
|
|
65
|
+
U2 -.-> ThisModule
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Diagram Source**
|
|
69
|
+
- [{Module}Handler.{ext}](../../{handlerSourcePath}) - *Controller (Java/.NET) or Router (FastAPI)*
|
|
70
|
+
|
|
71
|
+
**Boundary Description:**
|
|
72
|
+
| Type | Content | Description |
|
|
73
|
+
|------|---------|-------------|
|
|
74
|
+
| **Responsible** | {Responsibility 1, Responsibility 2, Responsibility 3} | Core responsibilities of this module |
|
|
75
|
+
| **Depends On** | {Module X, Module Y} | External modules called by this module |
|
|
76
|
+
| **Depended By** | {Module Z, Module W} | External modules that call this module |
|
|
77
|
+
| **Not Responsible** | {Payment Processing, Logistics Tracking} | Explicitly out of this module's scope |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 2. Feature List
|
|
82
|
+
|
|
83
|
+
### 2.1 Feature Tree
|
|
84
|
+
|
|
85
|
+
<!-- AI-TAG: FEATURE_TREE -->
|
|
86
|
+
<!-- AI-NOTE: Feature tree helps AI understand module feature structure, used for requirement matching and scope judgment -->
|
|
87
|
+
|
|
88
|
+
```mermaid
|
|
89
|
+
mindmap
|
|
90
|
+
root(([{Module Name}]))
|
|
91
|
+
Feature Group A
|
|
92
|
+
Feature A1 ✅
|
|
93
|
+
Feature A2 ✅
|
|
94
|
+
Feature A3 🚧
|
|
95
|
+
Feature A4 ⏳
|
|
96
|
+
Feature Group B
|
|
97
|
+
Feature B1 ✅
|
|
98
|
+
Feature B2 🚧
|
|
99
|
+
Feature Group C
|
|
100
|
+
Feature C1 ⏳
|
|
101
|
+
Feature C2 ⏳
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Status Legend:** ✅ Released / 🚧 In Development / ⏳ Planned / ❌ Deprecated
|
|
105
|
+
|
|
106
|
+
### 2.2 Feature List Table
|
|
107
|
+
|
|
108
|
+
| Feature Group | Feature | Description | Status | Priority | Remarks |
|
|
109
|
+
|---------------|---------|-------------|--------|----------|---------|
|
|
110
|
+
| {Order Management} | {Create Order} | {Supports manual/import creation} | ✅ | P0 | {Released} |
|
|
111
|
+
| {Order Management} | {Query Order} | {Multi-dimensional filter query} | ✅ | P0 | {Released} |
|
|
112
|
+
| {Order Review} | {Submit Review} | {Submit order to review process} | 🚧 | P1 | {In Development} |
|
|
113
|
+
| {Data Statistics} | {Order Report} | {Statistics by time/region} | ⏳ | P2 | {Planned} |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 3. Business Entities and Relationships
|
|
118
|
+
|
|
119
|
+
### 3.1 Core Entity List
|
|
120
|
+
|
|
121
|
+
| Entity Name | Entity Description | Key Attributes | Business Rules |
|
|
122
|
+
|-------------|-------------------|----------------|----------------|
|
|
123
|
+
| {Entity A} | {e.g., Order Master Table} | {Order No, Amount, Status} | {Uniqueness, status flow rules} |
|
|
124
|
+
| {Entity B} | {e.g., Order Detail} | {Product, Quantity, Unit Price} | {Associated with order, cascade delete} |
|
|
125
|
+
| {Entity C} | {e.g., Order Log} | {Operator, Time, Content} | {Append-only, retention period} |
|
|
126
|
+
|
|
127
|
+
### 3.2 Entity Relationship Diagram
|
|
128
|
+
|
|
129
|
+
<!-- AI-TAG: ENTITY_RELATIONSHIP -->
|
|
130
|
+
<!-- AI-NOTE: ER diagram is crucial for Solution Agent to design databases and APIs -->
|
|
131
|
+
|
|
132
|
+
```mermaid
|
|
133
|
+
erDiagram
|
|
134
|
+
ENTITY_A["Entity A: Order Master"] {
|
|
135
|
+
int OrderID PK
|
|
136
|
+
string OrderNo UK
|
|
137
|
+
decimal OrderAmount
|
|
138
|
+
int OrderStatus
|
|
139
|
+
datetime CreateTime
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
ENTITY_B["Entity B: Order Detail"] {
|
|
143
|
+
int DetailID PK
|
|
144
|
+
int OrderID FK
|
|
145
|
+
int ProductID
|
|
146
|
+
int Quantity
|
|
147
|
+
decimal UnitPrice
|
|
148
|
+
decimal Subtotal
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
ENTITY_C["Entity C: Order Log"] {
|
|
152
|
+
int LogID PK
|
|
153
|
+
int OrderID FK
|
|
154
|
+
int OperationType
|
|
155
|
+
string OperationContent
|
|
156
|
+
datetime OperationTime
|
|
157
|
+
int Operator
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
ENTITY_D["Entity D: Order Attachment"] {
|
|
161
|
+
int AttachmentID PK
|
|
162
|
+
int OrderID FK
|
|
163
|
+
string AttachmentName
|
|
164
|
+
string AttachmentPath
|
|
165
|
+
datetime UploadTime
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
ENTITY_A ||--o{ ENTITY_B : "1:N"
|
|
169
|
+
ENTITY_A ||--o{ ENTITY_C : "1:N"
|
|
170
|
+
ENTITY_A ||--o{ ENTITY_D : "1:N"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### 3.3 Entity State Transition
|
|
174
|
+
|
|
175
|
+
<!-- AI-TAG: STATE_MACHINE -->
|
|
176
|
+
<!-- AI-NOTE: State machine is important for understanding business rules and implementing state control logic -->
|
|
177
|
+
|
|
178
|
+
**Entity A (Order) State Machine:**
|
|
179
|
+
|
|
180
|
+
```mermaid
|
|
181
|
+
stateDiagram-v2
|
|
182
|
+
[*] --> Draft: Create Order
|
|
183
|
+
|
|
184
|
+
Draft --> PendingReview: Submit Review
|
|
185
|
+
Draft --> Cancelled: Cancel Order
|
|
186
|
+
|
|
187
|
+
PendingReview --> Approved: Review Passed
|
|
188
|
+
PendingReview --> Rejected: Review Rejected
|
|
189
|
+
|
|
190
|
+
Approved --> Completed: Business Complete
|
|
191
|
+
|
|
192
|
+
Rejected --> Draft: Re-edit
|
|
193
|
+
|
|
194
|
+
Cancelled --> [*]
|
|
195
|
+
Completed --> [*]
|
|
196
|
+
|
|
197
|
+
note right of Draft
|
|
198
|
+
Initial state
|
|
199
|
+
Editable
|
|
200
|
+
end note
|
|
201
|
+
|
|
202
|
+
note right of Approved
|
|
203
|
+
Review passed
|
|
204
|
+
Not modifiable
|
|
205
|
+
end note
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
| State | Description | Transferable States | Trigger Condition |
|
|
209
|
+
|-------|-------------|---------------------|-------------------|
|
|
210
|
+
| {Draft} | {Draft state} | {PendingReview/Cancelled} | {Submit/Cancel} |
|
|
211
|
+
| {PendingReview} | {Waiting for review} | {Approved/Rejected} | {Review passed/rejected} |
|
|
212
|
+
| {Approved} | {Review passed} | {Completed} | {Business complete} |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 4. External Dependencies and Interfaces
|
|
217
|
+
|
|
218
|
+
### 4.1 Module Dependency Relationships
|
|
219
|
+
|
|
220
|
+
| Dependency Direction | Module Name | Dependency Content | Dependency Method | Description |
|
|
221
|
+
|---------------------|-------------|-------------------|-------------------|-------------|
|
|
222
|
+
| {This module depends on} | {User Center} | {Get user info} | {API call} | {Get details by user ID} |
|
|
223
|
+
| {This module depends on} | {Product Module} | {Get product info} | {API call} | {Get details by product ID} |
|
|
224
|
+
| {Depends on this module} | {Payment Module} | {Query order info} | {API call} | {Validate order during payment} |
|
|
225
|
+
| {Depends on this module} | {Logistics Module} | {Receive order shipment} | {Message subscription} | {Notify after order review passed} |
|
|
226
|
+
|
|
227
|
+
### 4.2 External Interfaces Provided
|
|
228
|
+
|
|
229
|
+
| Interface Name | Interface Type | Caller | Function Description | Key Input | Key Output |
|
|
230
|
+
|----------------|----------------|--------|---------------------|-----------|------------|
|
|
231
|
+
| {Query Order} | {API} | {Payment Module} | {Query order by ID} | {Order ID} | {Order details} |
|
|
232
|
+
| {Order Status Change} | {Message} | {Logistics Module} | {Status change notification} | {Order ID, New Status} | {Processing result} |
|
|
233
|
+
|
|
234
|
+
### 4.3 Dependent Module Interfaces
|
|
235
|
+
|
|
236
|
+
| Interface Name | Provider | Function Description | Call Scenario |
|
|
237
|
+
|----------------|----------|---------------------|---------------|
|
|
238
|
+
| {Get User} | {User Center} | {Get user by ID} | {Validate when creating order} |
|
|
239
|
+
| {Get Product} | {Product Module} | {Get product by ID} | {Validate when creating order} |
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 5. Core Business Processes
|
|
244
|
+
|
|
245
|
+
### 5.1 Core Process Within Module
|
|
246
|
+
|
|
247
|
+
<!-- AI-TAG: CORE_PROCESS -->
|
|
248
|
+
<!-- AI-NOTE: Core processes are important for Solution Agent to design solutions and plan interfaces -->
|
|
249
|
+
|
|
250
|
+
**Process: {Create Order Process}**
|
|
251
|
+
|
|
252
|
+
```mermaid
|
|
253
|
+
graph TB
|
|
254
|
+
Start([Start]) --> Validate[Validate Parameters]
|
|
255
|
+
|
|
256
|
+
Validate -->|Passed| Calculate[Calculate Amount]
|
|
257
|
+
Validate -->|Failed| ValError[Return Parameter Error]
|
|
258
|
+
ValError --> End1([End])
|
|
259
|
+
|
|
260
|
+
Calculate --> Save[Save Order]
|
|
261
|
+
Calculate -->|Exception| CalError[Return Calculation Error]
|
|
262
|
+
CalError --> End1
|
|
263
|
+
|
|
264
|
+
Save -->|Success| Notify[Notify Downstream]
|
|
265
|
+
Save -->|DB Exception| SaveError[Return System Error]
|
|
266
|
+
SaveError --> End1
|
|
267
|
+
|
|
268
|
+
Notify -->|Success| End2([End])
|
|
269
|
+
Notify -->|Failed| LogError[Log Compensation]
|
|
270
|
+
LogError --> End2
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Diagram Source**
|
|
274
|
+
- [{Module}Service.{ext}](../../{serviceSourcePath})
|
|
275
|
+
|
|
276
|
+
**Process Step Description:**
|
|
277
|
+
|
|
278
|
+
| Step | Step Name | Processing Logic | Input | Output | Exception Handling |
|
|
279
|
+
|------|-----------|------------------|-------|--------|-------------------|
|
|
280
|
+
| 1 | {Parameter Validation} | {Validate user, product, inventory} | {Request parameters} | {Validation result} | {Return parameter error} |
|
|
281
|
+
| 2 | {Amount Calculation} | {Calculate product amount, discount, shipping} | {Product info} | {Order amount} | {Calculation exception} |
|
|
282
|
+
| 3 | {Save Order} | {Write to order master and detail tables} | {Order data} | {Order ID} | {Database exception} |
|
|
283
|
+
| 4 | {Notify Downstream} | {Send order creation message} | {Order ID} | {Send result} | {Log only, no retry} |
|
|
284
|
+
|
|
285
|
+
### 5.2 Exception Handling Rules
|
|
286
|
+
|
|
287
|
+
| Exception Scenario | Exception Type | Handling Strategy | User Prompt | Log Record |
|
|
288
|
+
|-------------------|----------------|-------------------|-------------|------------|
|
|
289
|
+
| {Parameter validation failed} | {Business Exception} | {Return error directly} | {Show specific error} | {Log warning} |
|
|
290
|
+
| {Product not exist} | {Business Exception} | {Return error} | {Prompt product invalid} | {Log warning} |
|
|
291
|
+
| {Database timeout} | {System Exception} | {Retry 3 times} | {Prompt system busy} | {Log error} |
|
|
292
|
+
| {Downstream notification failed} | {System Exception} | {Log for compensation} | {No prompt to user} | {Log error} |
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 6. Business Rules and Constraints
|
|
297
|
+
|
|
298
|
+
### 6.1 Business Rules
|
|
299
|
+
|
|
300
|
+
| Rule ID | Rule Name | Rule Description | Trigger Scenario | Related Entity |
|
|
301
|
+
|---------|-----------|------------------|------------------|----------------|
|
|
302
|
+
| {R001} | {Order Amount Validation} | {Order amount must be greater than 0} | {When creating order} | {Order Master} |
|
|
303
|
+
| {R002} | {Inventory Deduction Rule} | {Deduct inventory after order review passed} | {When review passed} | {Order+Inventory} |
|
|
304
|
+
| {R003} | {Status Flow Rule} | {Completed orders cannot be modified} | {When modifying order} | {Order Master} |
|
|
305
|
+
|
|
306
|
+
### 6.2 Data Constraints
|
|
307
|
+
|
|
308
|
+
| Constraint Type | Constraint Object | Constraint Rule | Description |
|
|
309
|
+
|-----------------|-------------------|-----------------|-------------|
|
|
310
|
+
| {Uniqueness} | {Order No} | {Globally unique} | {Business order number, cannot duplicate} |
|
|
311
|
+
| {Required} | {User ID} | {Not null} | {Must associate with user} |
|
|
312
|
+
| {Range} | {Order Amount} | {≥0} | {Amount cannot be negative} |
|
|
313
|
+
| {Association} | {Order Detail} | {At least 1 item} | {Order must have details} |
|
|
314
|
+
|
|
315
|
+
### 6.3 Permission Rules
|
|
316
|
+
|
|
317
|
+
| Operation | Permission Requirement | No Permission Handling |
|
|
318
|
+
|-----------|----------------------|----------------------|
|
|
319
|
+
| {Create Order} | {Have order creation permission} | {Hide create button / Return 403} |
|
|
320
|
+
| {Review Order} | {Have order review permission} | {Hide review button / Return 403} |
|
|
321
|
+
| {View All Orders} | {Have data permission: all} | {Can only view self-created} |
|
|
322
|
+
|
|
323
|
+
> **Note**: Permission implementation varies by tech stack:
|
|
324
|
+
> - **Java**: `@PreAuthorize`, `@Secured` annotations
|
|
325
|
+
> - **FastAPI**: `Depends(get_current_user)`, role checking in dependencies
|
|
326
|
+
> - **.NET**: `[Authorize(Roles = "...")]` attributes
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## 7. Related Pages and Prototypes (Optional)
|
|
331
|
+
|
|
332
|
+
### 7.1 Page List
|
|
333
|
+
|
|
334
|
+
| Page Name | Page Type | Function Description | Related Feature | Prototype Document |
|
|
335
|
+
|-----------|-----------|---------------------|-----------------|-------------------|
|
|
336
|
+
| {Order List Page} | {List Page} | {Display order list} | {Query Order} | [Link](ui-prototype.md) |
|
|
337
|
+
| {Order Detail Page} | {Detail Page} | {Display order details} | {View Order} | [Link](ui-prototype.md) |
|
|
338
|
+
| {Order Edit Page} | {Form Page} | {Edit order info} | {Modify Order} | [Link](ui-prototype.md) |
|
|
339
|
+
|
|
340
|
+
### 7.2 Page Prototype
|
|
341
|
+
|
|
342
|
+
> For detailed API endpoint documentation, select the appropriate template based on tech stack:
|
|
343
|
+
> - **Java/Spring Boot**: [FEATURE-DETAIL-TEMPLATE.md](./FEATURE-DETAIL-TEMPLATE.md) or [FEATURE-DETAIL-TEMPLATE-JAVA.md](./FEATURE-DETAIL-TEMPLATE-JAVA.md)
|
|
344
|
+
> - **FastAPI**: [FEATURE-DETAIL-TEMPLATE-FASTAPI.md](./FEATURE-DETAIL-TEMPLATE-FASTAPI.md)
|
|
345
|
+
> - **.NET**: [FEATURE-DETAIL-TEMPLATE-NET.md](./FEATURE-DETAIL-TEMPLATE-NET.md)
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## 8. Change History
|
|
350
|
+
|
|
351
|
+
| Date | Version | Change Content | Change Type | Owner | Impact Scope |
|
|
352
|
+
|------|---------|----------------|-------------|-------|--------------|
|
|
353
|
+
| {Date} | {v1.2} | {Added order review feature} | {New Feature} | {Zhang San} | {Added review status, review interface} |
|
|
354
|
+
| {Date} | {v1.1} | {Optimized order query performance} | {Performance} | {Li Si} | {Query interface} |
|
|
355
|
+
| {Date} | {v1.0} | {Module initial version} | {Initial Release} | {Wang Wu} | {All} |
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
**Document Status:** 📝 Draft / 👀 In Review / ✅ Published
|
|
360
|
+
**Last Updated:** {Date}
|
|
361
|
+
**Maintainer:** {Name}
|
|
362
|
+
**Related System Document:** [System Overview Document](../system-overview.md)
|
|
363
|
+
|
|
364
|
+
**Section Source**
|
|
365
|
+
- **API Handler**: [{Module}Handler.{ext}](../../{handlerSourcePath}) - *Controller or Router*
|
|
366
|
+
- **Service Layer**: [{Module}Service.{ext}](../../{serviceSourcePath})
|
|
367
|
+
- **Data Model**: [{Module}Model.{ext}](../../{modelSourcePath}) - *Entity or Model*
|