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.
Files changed (153) hide show
  1. package/.speccrew/agents/speccrew-feature-designer.md +142 -0
  2. package/.speccrew/agents/speccrew-product-manager.md +61 -0
  3. package/.speccrew/agents/speccrew-system-designer.md +200 -0
  4. package/.speccrew/agents/speccrew-system-developer.md +238 -0
  5. package/.speccrew/agents/speccrew-task-worker.md +80 -0
  6. package/.speccrew/agents/speccrew-team-leader.md +92 -0
  7. package/.speccrew/agents/speccrew-test-manager.md +313 -0
  8. package/.speccrew/skills/speccrew-create-agents/SKILL.md +98 -0
  9. package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +54 -0
  10. package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +79 -0
  11. package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +80 -0
  12. package/.speccrew/skills/speccrew-dev-backend/SKILL.md +205 -0
  13. package/.speccrew/skills/speccrew-dev-backend/templates/TASK-RECORD-TEMPLATE.md +118 -0
  14. package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +258 -0
  15. package/.speccrew/skills/speccrew-dev-desktop/templates/TASK-RECORD-TEMPLATE.md +161 -0
  16. package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +202 -0
  17. package/.speccrew/skills/speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md +115 -0
  18. package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +200 -0
  19. package/.speccrew/skills/speccrew-dev-mobile/templates/TASK-RECORD-TEMPLATE.md +125 -0
  20. package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +73 -0
  21. package/.speccrew/skills/speccrew-fd-api-contract/templates/API-CONTRACT-TEMPLATE.md +96 -0
  22. package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +395 -0
  23. package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +387 -0
  24. package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +80 -0
  25. package/.speccrew/skills/speccrew-get-timestamp/scripts/get-timestamp.js +35 -0
  26. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +1116 -0
  27. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-FASTAPI.md +462 -0
  28. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-JAVA.md +480 -0
  29. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-NET.md +464 -0
  30. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE.md +480 -0
  31. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/MODULE-OVERVIEW-TEMPLATE.md +367 -0
  32. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +667 -0
  33. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +74 -0
  34. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +176 -0
  35. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +150 -0
  36. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +106 -0
  37. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +249 -0
  38. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +848 -0
  39. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +226 -0
  40. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +264 -0
  41. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +34 -0
  42. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +867 -0
  43. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +26 -0
  44. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +165 -0
  45. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/apply-module-mapping.js +208 -0
  46. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/extract-module-summary.js +180 -0
  47. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/reindex-modules.js +358 -0
  48. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +1055 -0
  49. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-DESKTOP.md +303 -0
  50. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-ELECTRON.md +327 -0
  51. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MINIAPP.md +292 -0
  52. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MOBILE.md +281 -0
  53. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI.md +324 -0
  54. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +270 -0
  55. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/COMPONENT-PATTERN-TEMPLATE.md +33 -0
  56. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/LAYOUT-PATTERN-TEMPLATE.md +33 -0
  57. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/PAGE-TYPE-TEMPLATE.md +33 -0
  58. package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +229 -0
  59. package/.speccrew/skills/speccrew-knowledge-graph-query/scripts/graph-query.js +549 -0
  60. package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +181 -0
  61. package/.speccrew/skills/speccrew-knowledge-graph-write/scripts/graph-write.js +651 -0
  62. package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +305 -0
  63. package/.speccrew/skills/speccrew-knowledge-module-summarize/templates/MODULE-OVERVIEW-TEMPLATE.md +400 -0
  64. package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +351 -0
  65. package/.speccrew/skills/speccrew-knowledge-system-summarize/templates/SYSTEM-OVERVIEW-TEMPLATE.md +294 -0
  66. package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +683 -0
  67. package/.speccrew/skills/speccrew-knowledge-techs-dispatch/STATUS-FORMATS.md +550 -0
  68. package/.speccrew/skills/speccrew-knowledge-techs-dispatch/templates/techs-manifest-EXAMPLE.json +35 -0
  69. package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +1087 -0
  70. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/ARCHITECTURE-TEMPLATE.md +240 -0
  71. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COLOR-SYSTEM-TEMPLATE.md +68 -0
  72. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COMPONENT-LIBRARY-TEMPLATE.md +86 -0
  73. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-BUILD-TEMPLATE.md +466 -0
  74. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DATA-TEMPLATE.md +432 -0
  75. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DESIGN-TEMPLATE.md +1209 -0
  76. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DEV-TEMPLATE.md +1433 -0
  77. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-SYSTEM-TEST-TEMPLATE.md +1052 -0
  78. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-UNIT-TEST-TEMPLATE.md +946 -0
  79. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/INDEX-TEMPLATE.md +29 -0
  80. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-LAYOUTS-TEMPLATE.md +69 -0
  81. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +74 -0
  82. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/TECH-STACK-TEMPLATE.md +232 -0
  83. package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +628 -0
  84. package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +392 -0
  85. package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +489 -0
  86. package/.speccrew/skills/speccrew-knowledge-techs-index/templates/INDEX-TEMPLATE.md +243 -0
  87. package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +269 -0
  88. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +562 -0
  89. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/BUSINESS-COMPONENTS-TEMPLATE.md +171 -0
  90. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMMON-COMPONENTS-TEMPLATE.md +177 -0
  91. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-INDIVIDUAL-TEMPLATE.md +80 -0
  92. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-LIBRARY-TEMPLATE.md +118 -0
  93. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-INDIVIDUAL-TEMPLATE.md +97 -0
  94. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-PATTERNS-TEMPLATE.md +208 -0
  95. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/NAVIGATION-PATTERNS-TEMPLATE.md +157 -0
  96. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-INDIVIDUAL-TEMPLATE.md +123 -0
  97. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +58 -0
  98. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/SPACING-TEMPLATE.md +119 -0
  99. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/STYLE-SYSTEM-TEMPLATE.md +117 -0
  100. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/TYPOGRAPHY-TEMPLATE.md +107 -0
  101. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/UI-STYLE-GUIDE-TEMPLATE.md +171 -0
  102. package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +434 -0
  103. package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md +332 -0
  104. package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +200 -0
  105. package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +195 -0
  106. package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +208 -0
  107. package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +202 -0
  108. package/.speccrew/skills/speccrew-sd-backend/SKILL.md +188 -0
  109. package/.speccrew/skills/speccrew-sd-backend/templates/INDEX-TEMPLATE.md +85 -0
  110. package/.speccrew/skills/speccrew-sd-backend/templates/SD-BACKEND-TEMPLATE.md +269 -0
  111. package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +192 -0
  112. package/.speccrew/skills/speccrew-sd-desktop/templates/INDEX-TEMPLATE.md +271 -0
  113. package/.speccrew/skills/speccrew-sd-desktop/templates/SD-DESKTOP-TEMPLATE.md +673 -0
  114. package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +176 -0
  115. package/.speccrew/skills/speccrew-sd-frontend/templates/INDEX-TEMPLATE.md +184 -0
  116. package/.speccrew/skills/speccrew-sd-frontend/templates/SD-FRONTEND-TEMPLATE.md +382 -0
  117. package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +189 -0
  118. package/.speccrew/skills/speccrew-sd-mobile/templates/INDEX-TEMPLATE.md +219 -0
  119. package/.speccrew/skills/speccrew-sd-mobile/templates/SD-MOBILE-TEMPLATE.md +534 -0
  120. package/.speccrew/skills/speccrew-test-case-design/SKILL.md +284 -0
  121. package/.speccrew/skills/speccrew-test-case-design/templates/TEST-CASE-DESIGN-TEMPLATE.md +263 -0
  122. package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +313 -0
  123. package/.speccrew/skills/speccrew-test-code-gen/templates/TEST-CODE-PLAN-TEMPLATE.md +180 -0
  124. package/.speccrew/skills/speccrew-test-execute/SKILL.md +283 -0
  125. package/.speccrew/skills/speccrew-test-execute/templates/BUG-REPORT-TEMPLATE.md +50 -0
  126. package/.speccrew/skills/speccrew-test-execute/templates/TEST-REPORT-TEMPLATE.md +57 -0
  127. package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +155 -0
  128. package/LICENSE +21 -0
  129. package/README.ar.md +318 -0
  130. package/README.en.md +318 -0
  131. package/README.es.md +318 -0
  132. package/README.md +340 -0
  133. package/bin/cli.js +62 -0
  134. package/lib/commands/doctor.js +138 -0
  135. package/lib/commands/init.js +231 -0
  136. package/lib/commands/list.js +114 -0
  137. package/lib/commands/uninstall.js +117 -0
  138. package/lib/commands/update.js +351 -0
  139. package/lib/ide-adapters.js +73 -0
  140. package/lib/utils.js +104 -0
  141. package/package.json +28 -0
  142. package/workspace-template/docs/configs/document-templates.json +667 -0
  143. package/workspace-template/docs/configs/platform-mapping.json +194 -0
  144. package/workspace-template/docs/configs/tech-stack-mappings.json +313 -0
  145. package/workspace-template/docs/configs/validation-rules.json +87 -0
  146. package/workspace-template/docs/rules/mermaid-rule.md +114 -0
  147. 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
  148. package/workspace-template/docs/solutions/agent-knowledge-map.md +238 -0
  149. package/workspace-template/docs/solutions/bizs-knowledge-pipeline.md +678 -0
  150. package/workspace-template/docs/solutions/harness.md +410 -0
  151. package/workspace-template/docs/solutions/knowledge-incremental-sync-spec.md +943 -0
  152. package/workspace-template/docs/solutions/techs-knowledge-pipeline.md +803 -0
  153. package/workspace-template/docs/solutions/workspace-structure.md +318 -0
@@ -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*