ai-flow-dev 1.0.1
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/LICENSE +21 -0
- package/README.md +408 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +791 -0
- package/dist/cli.js.map +1 -0
- package/dist/fs-utils.d.ts +2 -0
- package/dist/fs-utils.d.ts.map +1 -0
- package/dist/fs-utils.js +46 -0
- package/dist/fs-utils.js.map +1 -0
- package/package.json +71 -0
- package/prompts/backend/flow-dev-feature.md +1318 -0
- package/prompts/backend/flow-dev-fix.md +903 -0
- package/prompts/backend/flow-dev-refactor.md +715 -0
- package/prompts/backend/flow-dev-review.md +401 -0
- package/prompts/backend/flow-dev-work.md +1129 -0
- package/prompts/backend/flow-docs-gen-phase-0.md +1840 -0
- package/prompts/backend/flow-docs-gen-phase-1.md +435 -0
- package/prompts/backend/flow-docs-gen-phase-2.md +460 -0
- package/prompts/backend/flow-docs-gen-phase-3.md +684 -0
- package/prompts/backend/flow-docs-gen-phase-4.md +516 -0
- package/prompts/backend/flow-docs-gen-phase-5.md +637 -0
- package/prompts/backend/flow-docs-gen-phase-6.md +465 -0
- package/prompts/backend/flow-docs-gen-phase-7.md +1207 -0
- package/prompts/backend/flow-docs-gen.md +820 -0
- package/prompts/backend/flow-docs-sync.md +526 -0
- package/prompts/backend/flow-project-init.md +248 -0
- package/prompts/backend/flow-project-roadmap.md +1159 -0
- package/prompts/frontend/flow-docs-gen-phase-0.md +494 -0
- package/prompts/frontend/flow-docs-gen-phase-1.md +449 -0
- package/prompts/frontend/flow-docs-gen-phase-2.md +983 -0
- package/prompts/frontend/flow-docs-gen-phase-3.md +685 -0
- package/prompts/frontend/flow-docs-gen-phase-4.md +480 -0
- package/prompts/frontend/flow-docs-gen-phase-5.md +483 -0
- package/prompts/frontend/flow-docs-gen-phase-6.md +570 -0
- package/prompts/frontend/flow-docs-gen-phase-7.md +582 -0
- package/prompts/frontend/flow-docs-gen.md +413 -0
- package/prompts/frontend/flow-docs-sync.md +561 -0
- package/prompts/mobile/flow-docs-gen-phase-0.md +387 -0
- package/prompts/mobile/flow-docs-gen-phase-1.md +530 -0
- package/prompts/mobile/flow-docs-gen-phase-2.md +584 -0
- package/prompts/mobile/flow-docs-gen-phase-3.md +659 -0
- package/prompts/mobile/flow-docs-gen-phase-4.md +363 -0
- package/prompts/mobile/flow-docs-gen-phase-5.md +369 -0
- package/prompts/mobile/flow-docs-gen-phase-6.md +490 -0
- package/prompts/mobile/flow-docs-gen-phase-7.md +407 -0
- package/prompts/mobile/flow-docs-gen.md +430 -0
- package/prompts/mobile/flow-docs-sync.md +634 -0
- package/templates/backend/.clauderules.template +111 -0
- package/templates/backend/.cursorrules.template +102 -0
- package/templates/backend/.env.example.template +122 -0
- package/templates/backend/README.template.md +200 -0
- package/templates/backend/ai-instructions.template.md +354 -0
- package/templates/backend/copilot-instructions.template.md +160 -0
- package/templates/backend/docs/api.template.md +251 -0
- package/templates/backend/docs/architecture.template.md +612 -0
- package/templates/backend/docs/business-flows.template.md +109 -0
- package/templates/backend/docs/code-standards.template.md +828 -0
- package/templates/backend/docs/contributing.template.md +163 -0
- package/templates/backend/docs/data-model.template.md +416 -0
- package/templates/backend/docs/operations.template.md +591 -0
- package/templates/backend/docs/testing.template.md +762 -0
- package/templates/backend/project-brief.template.md +176 -0
- package/templates/backend/specs/configuration.template.md +133 -0
- package/templates/backend/specs/security.template.md +422 -0
- package/templates/frontend/README.template.md +121 -0
- package/templates/frontend/ai-instructions.template.md +368 -0
- package/templates/frontend/docs/api-integration.template.md +390 -0
- package/templates/frontend/docs/components.template.md +567 -0
- package/templates/frontend/docs/error-handling.template.md +385 -0
- package/templates/frontend/docs/operations.template.md +123 -0
- package/templates/frontend/docs/performance.template.md +140 -0
- package/templates/frontend/docs/pwa.template.md +135 -0
- package/templates/frontend/docs/state-management.template.md +394 -0
- package/templates/frontend/docs/styling.template.md +779 -0
- package/templates/frontend/docs/testing.template.md +736 -0
- package/templates/frontend/project-brief.template.md +55 -0
- package/templates/frontend/specs/accessibility.template.md +111 -0
- package/templates/frontend/specs/configuration.template.md +520 -0
- package/templates/frontend/specs/security.template.md +197 -0
- package/templates/fullstack/README.template.md +282 -0
- package/templates/fullstack/ai-instructions.template.md +487 -0
- package/templates/fullstack/project-brief.template.md +197 -0
- package/templates/fullstack/specs/configuration.template.md +380 -0
- package/templates/mobile/AGENT.template.md +251 -0
- package/templates/mobile/README.template.md +195 -0
- package/templates/mobile/ai-instructions.template.md +221 -0
- package/templates/mobile/docs/app-store.template.md +163 -0
- package/templates/mobile/docs/architecture.template.md +100 -0
- package/templates/mobile/docs/native-features.template.md +137 -0
- package/templates/mobile/docs/navigation.template.md +81 -0
- package/templates/mobile/docs/offline-strategy.template.md +90 -0
- package/templates/mobile/docs/permissions.template.md +70 -0
- package/templates/mobile/docs/state-management.template.md +116 -0
- package/templates/mobile/docs/testing.template.md +146 -0
- package/templates/mobile/project-brief.template.md +97 -0
- package/templates/mobile/specs/build-configuration.template.md +116 -0
- package/templates/mobile/specs/deployment.template.md +114 -0
- package/templates/shared/AGENT.template.md +252 -0
|
@@ -0,0 +1,612 @@
|
|
|
1
|
+
# System Architecture
|
|
2
|
+
|
|
3
|
+
> Technical architecture and design patterns for {{PROJECT_NAME}}
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🏗️ Architecture Pattern
|
|
8
|
+
|
|
9
|
+
**Pattern:** {{ARCHITECTURE_PATTERN}}
|
|
10
|
+
|
|
11
|
+
### Why This Pattern?
|
|
12
|
+
|
|
13
|
+
{{ARCHITECTURE_RATIONALE}}
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 🧱 System Components
|
|
18
|
+
|
|
19
|
+
### High-Level Architecture
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
{{ARCHITECTURE_DIAGRAM}}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Component Overview
|
|
26
|
+
|
|
27
|
+
{{#EACH COMPONENT}}
|
|
28
|
+
#### {{COMPONENT_NAME}}
|
|
29
|
+
|
|
30
|
+
**Purpose:** {{COMPONENT_PURPOSE}}
|
|
31
|
+
|
|
32
|
+
**Responsibilities:**
|
|
33
|
+
{{#EACH RESPONSIBILITY}}
|
|
34
|
+
- {{RESPONSIBILITY_DESCRIPTION}}
|
|
35
|
+
{{/EACH}}
|
|
36
|
+
|
|
37
|
+
**Dependencies:**
|
|
38
|
+
{{#EACH DEPENDENCY}}
|
|
39
|
+
- {{DEPENDENCY_NAME}}
|
|
40
|
+
{{/EACH}}
|
|
41
|
+
|
|
42
|
+
{{/EACH}}
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 📊 Layer Structure
|
|
47
|
+
|
|
48
|
+
{{#IF LAYERED_ARCHITECTURE}}
|
|
49
|
+
### Presentation Layer
|
|
50
|
+
**Location:** `{{PRESENTATION_LAYER_PATH}}`
|
|
51
|
+
|
|
52
|
+
**Responsibilities:**
|
|
53
|
+
- HTTP request/response handling
|
|
54
|
+
- Input validation
|
|
55
|
+
- Route definitions
|
|
56
|
+
- Middleware integration
|
|
57
|
+
|
|
58
|
+
**Rules:**
|
|
59
|
+
- ❌ No business logic
|
|
60
|
+
- ❌ No direct database access
|
|
61
|
+
- ✅ Thin controllers
|
|
62
|
+
- ✅ Delegate to services
|
|
63
|
+
|
|
64
|
+
### Business Logic Layer
|
|
65
|
+
**Location:** `{{BUSINESS_LAYER_PATH}}`
|
|
66
|
+
|
|
67
|
+
**Responsibilities:**
|
|
68
|
+
- Core business rules
|
|
69
|
+
- Use case orchestration
|
|
70
|
+
- Transaction management
|
|
71
|
+
- Domain logic
|
|
72
|
+
|
|
73
|
+
**Rules:**
|
|
74
|
+
- ❌ No HTTP concerns
|
|
75
|
+
- ❌ No database-specific code
|
|
76
|
+
- ✅ Framework-agnostic
|
|
77
|
+
- ✅ Testable in isolation
|
|
78
|
+
|
|
79
|
+
### Data Access Layer
|
|
80
|
+
**Location:** `{{DATA_LAYER_PATH}}`
|
|
81
|
+
|
|
82
|
+
**Responsibilities:**
|
|
83
|
+
- Database operations
|
|
84
|
+
- Query construction
|
|
85
|
+
- Data mapping
|
|
86
|
+
- Cache management
|
|
87
|
+
|
|
88
|
+
**Rules:**
|
|
89
|
+
- ❌ No business logic
|
|
90
|
+
- ✅ Repository pattern
|
|
91
|
+
- ✅ ORM abstraction
|
|
92
|
+
- ✅ Transaction support
|
|
93
|
+
|
|
94
|
+
{{/IF}}
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 🔄 Request Flow
|
|
99
|
+
|
|
100
|
+
### Typical Request Lifecycle
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
{{REQUEST_FLOW_DIAGRAM}}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Flow Steps
|
|
107
|
+
|
|
108
|
+
{{#EACH FLOW_STEP}}
|
|
109
|
+
{{STEP_NUMBER}}. **{{STEP_NAME}}**
|
|
110
|
+
- Component: {{COMPONENT}}
|
|
111
|
+
- Action: {{ACTION_DESCRIPTION}}
|
|
112
|
+
- Output: {{OUTPUT}}
|
|
113
|
+
{{/EACH}}
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 🎯 Design Patterns
|
|
118
|
+
|
|
119
|
+
{{#EACH DESIGN_PATTERN}}
|
|
120
|
+
### {{PATTERN_NAME}}
|
|
121
|
+
|
|
122
|
+
**Purpose:** {{PATTERN_PURPOSE}}
|
|
123
|
+
|
|
124
|
+
**Used In:** {{PATTERN_USAGE}}
|
|
125
|
+
|
|
126
|
+
**Example:**
|
|
127
|
+
```{{LANGUAGE}}
|
|
128
|
+
{{PATTERN_EXAMPLE}}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
{{/EACH}}
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 📁 Project Structure
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
{{PROJECT_STRUCTURE_DETAILED}}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Directory Descriptions
|
|
142
|
+
|
|
143
|
+
{{#EACH DIRECTORY}}
|
|
144
|
+
- **`{{DIR_PATH}}`** - {{DIR_DESCRIPTION}}
|
|
145
|
+
{{/EACH}}
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 🔌 Module Organization
|
|
150
|
+
|
|
151
|
+
**Strategy:** {{MODULE_ORGANIZATION_STRATEGY}}
|
|
152
|
+
|
|
153
|
+
{{#IF FEATURE_BASED}}
|
|
154
|
+
### Feature Modules
|
|
155
|
+
|
|
156
|
+
Each feature is self-contained:
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
src/
|
|
160
|
+
{{FEATURE_EXAMPLE}}/
|
|
161
|
+
{{FEATURE_EXAMPLE}}.controller.ts
|
|
162
|
+
{{FEATURE_EXAMPLE}}.service.ts
|
|
163
|
+
{{FEATURE_EXAMPLE}}.repository.ts
|
|
164
|
+
{{FEATURE_EXAMPLE}}.dto.ts
|
|
165
|
+
{{FEATURE_EXAMPLE}}.entity.ts
|
|
166
|
+
{{FEATURE_EXAMPLE}}.module.ts
|
|
167
|
+
{{FEATURE_EXAMPLE}}.spec.ts
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Benefits:**
|
|
171
|
+
- Clear boundaries
|
|
172
|
+
- Easy to find related code
|
|
173
|
+
- Supports team ownership
|
|
174
|
+
- Facilitates microservices extraction
|
|
175
|
+
|
|
176
|
+
{{/IF}}
|
|
177
|
+
|
|
178
|
+
{{#IF LAYER_BASED}}
|
|
179
|
+
### Layer-Based Organization
|
|
180
|
+
|
|
181
|
+
Organized by technical layer:
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
src/
|
|
185
|
+
controllers/
|
|
186
|
+
{{ENTITY_EXAMPLE}}.controller.ts
|
|
187
|
+
services/
|
|
188
|
+
{{ENTITY_EXAMPLE}}.service.ts
|
|
189
|
+
repositories/
|
|
190
|
+
{{ENTITY_EXAMPLE}}.repository.ts
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
{{/IF}}
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 🔗 Dependency Management
|
|
198
|
+
|
|
199
|
+
### Dependency Injection
|
|
200
|
+
|
|
201
|
+
**Container:** {{DI_CONTAINER}}
|
|
202
|
+
|
|
203
|
+
**Registration:**
|
|
204
|
+
```{{LANGUAGE}}
|
|
205
|
+
{{DI_REGISTRATION_EXAMPLE}}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Usage:**
|
|
209
|
+
```{{LANGUAGE}}
|
|
210
|
+
{{DI_USAGE_EXAMPLE}}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Dependency Rules
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
High-level modules should not depend on low-level modules.
|
|
217
|
+
Both should depend on abstractions.
|
|
218
|
+
|
|
219
|
+
Allowed: Controller → Service → Repository
|
|
220
|
+
Not Allowed: Controller → Repository (bypasses service)
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 🌐 API Structure
|
|
226
|
+
|
|
227
|
+
**Style:** {{API_STYLE}}
|
|
228
|
+
|
|
229
|
+
**Versioning:** {{API_VERSIONING_STRATEGY}}
|
|
230
|
+
|
|
231
|
+
### API Gateway
|
|
232
|
+
|
|
233
|
+
{{#IF API_GATEWAY}}
|
|
234
|
+
**Gateway:** {{API_GATEWAY_NAME}}
|
|
235
|
+
|
|
236
|
+
**Purpose:** {{API_GATEWAY_PURPOSE}}
|
|
237
|
+
|
|
238
|
+
**Configuration:**
|
|
239
|
+
- Rate limiting: {{GATEWAY_RATE_LIMITING}}
|
|
240
|
+
- Authentication: {{GATEWAY_AUTHENTICATION}}
|
|
241
|
+
- Request routing: {{GATEWAY_ROUTING}}
|
|
242
|
+
- Load balancing: {{GATEWAY_LOAD_BALANCING}}
|
|
243
|
+
|
|
244
|
+
**Routes:**
|
|
245
|
+
{{#EACH GATEWAY_ROUTE}}
|
|
246
|
+
- **{{ROUTE_PATH}}** → {{TARGET_SERVICE}} ({{ROUTE_METHODS}})
|
|
247
|
+
{{/EACH}}
|
|
248
|
+
|
|
249
|
+
{{ELSE}}
|
|
250
|
+
**API Gateway:** Not used - Direct API access
|
|
251
|
+
{{/IF}}
|
|
252
|
+
|
|
253
|
+
### API Documentation
|
|
254
|
+
|
|
255
|
+
**Tool:** {{API_DOC_TOOL}}
|
|
256
|
+
|
|
257
|
+
{{#IF SWAGGER_OPENAPI}}
|
|
258
|
+
**Swagger/OpenAPI:**
|
|
259
|
+
- Specification: `{{OPENAPI_SPEC_PATH}}`
|
|
260
|
+
- UI endpoint: `{{SWAGGER_UI_URL}}`
|
|
261
|
+
- Strategy: {{API_DOC_STRATEGY}} ({{#IF CODE_FIRST}}Code-First{{ELSE}}Design-First{{/IF}})
|
|
262
|
+
|
|
263
|
+
**Auto-generation:** {{#IF AUTO_GENERATE_DOCS}}Enabled{{ELSE}}Manual{{/IF}}
|
|
264
|
+
|
|
265
|
+
{{#IF AUTO_GENERATE_DOCS}}
|
|
266
|
+
**Example:**
|
|
267
|
+
```{{LANGUAGE}}
|
|
268
|
+
{{API_DOC_EXAMPLE}}
|
|
269
|
+
```
|
|
270
|
+
{{/IF}}
|
|
271
|
+
{{/IF}}
|
|
272
|
+
|
|
273
|
+
### Endpoint Patterns
|
|
274
|
+
|
|
275
|
+
{{#IF REST_API}}
|
|
276
|
+
#### REST Conventions
|
|
277
|
+
|
|
278
|
+
| Resource | Method | Endpoint | Description |
|
|
279
|
+
|----------|--------|----------|-------------|
|
|
280
|
+
| {{RESOURCE_NAME}} | GET | /{{API_VERSION}}/{{RESOURCE_PLURAL}} | List all |
|
|
281
|
+
| {{RESOURCE_NAME}} | GET | /{{API_VERSION}}/{{RESOURCE_PLURAL}}/:id | Get one |
|
|
282
|
+
| {{RESOURCE_NAME}} | POST | /{{API_VERSION}}/{{RESOURCE_PLURAL}} | Create |
|
|
283
|
+
| {{RESOURCE_NAME}} | PUT/PATCH | /{{API_VERSION}}/{{RESOURCE_PLURAL}}/:id | Update |
|
|
284
|
+
| {{RESOURCE_NAME}} | DELETE | /{{API_VERSION}}/{{RESOURCE_PLURAL}}/:id | Delete |
|
|
285
|
+
|
|
286
|
+
{{/IF}}
|
|
287
|
+
|
|
288
|
+
{{#IF GRAPHQL}}
|
|
289
|
+
#### GraphQL Schema
|
|
290
|
+
|
|
291
|
+
```graphql
|
|
292
|
+
{{GRAPHQL_SCHEMA_EXAMPLE}}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
{{/IF}}
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## 📦 External Dependencies
|
|
300
|
+
|
|
301
|
+
### Core Libraries
|
|
302
|
+
|
|
303
|
+
{{#EACH CORE_LIBRARY}}
|
|
304
|
+
- **{{LIBRARY_NAME}}** ({{LIBRARY_VERSION}})
|
|
305
|
+
- Purpose: {{LIBRARY_PURPOSE}}
|
|
306
|
+
- Critical: {{IS_CRITICAL}}
|
|
307
|
+
{{/EACH}}
|
|
308
|
+
|
|
309
|
+
### External Services
|
|
310
|
+
|
|
311
|
+
{{#EACH EXTERNAL_SERVICE}}
|
|
312
|
+
- **{{SERVICE_NAME}}**
|
|
313
|
+
- Purpose: {{SERVICE_PURPOSE}}
|
|
314
|
+
- Integration: {{INTEGRATION_METHOD}}
|
|
315
|
+
- Fallback: {{FALLBACK_STRATEGY}}
|
|
316
|
+
{{/EACH}}
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 🔌 Real-time Communication
|
|
321
|
+
|
|
322
|
+
{{#IF REALTIME_ENABLED}}
|
|
323
|
+
### WebSockets
|
|
324
|
+
|
|
325
|
+
**Enabled:** Yes
|
|
326
|
+
|
|
327
|
+
**Use Cases:**
|
|
328
|
+
{{#EACH WEBSOCKET_USE_CASE}}
|
|
329
|
+
- {{USE_CASE_DESCRIPTION}}
|
|
330
|
+
{{/EACH}}
|
|
331
|
+
|
|
332
|
+
**Implementation:**
|
|
333
|
+
- Library: {{WEBSOCKET_LIBRARY}}
|
|
334
|
+
- Protocol: {{WEBSOCKET_PROTOCOL}}
|
|
335
|
+
- Authentication: {{WEBSOCKET_AUTH}}
|
|
336
|
+
|
|
337
|
+
**Connection Management:**
|
|
338
|
+
- Max connections: {{WEBSOCKET_MAX_CONNECTIONS}}
|
|
339
|
+
- Heartbeat interval: {{WEBSOCKET_HEARTBEAT}}s
|
|
340
|
+
- Reconnection strategy: {{WEBSOCKET_RECONNECTION}}
|
|
341
|
+
|
|
342
|
+
**Example:**
|
|
343
|
+
```{{LANGUAGE}}
|
|
344
|
+
{{WEBSOCKET_EXAMPLE}}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Server-Sent Events (SSE)
|
|
348
|
+
|
|
349
|
+
{{#IF SSE_ENABLED}}
|
|
350
|
+
**Enabled:** Yes
|
|
351
|
+
|
|
352
|
+
**Use Cases:**
|
|
353
|
+
{{#EACH SSE_USE_CASE}}
|
|
354
|
+
- {{USE_CASE_DESCRIPTION}}
|
|
355
|
+
{{/EACH}}
|
|
356
|
+
|
|
357
|
+
**Implementation:**
|
|
358
|
+
```{{LANGUAGE}}
|
|
359
|
+
{{SSE_EXAMPLE}}
|
|
360
|
+
```
|
|
361
|
+
{{ELSE}}
|
|
362
|
+
**Enabled:** No
|
|
363
|
+
{{/IF}}
|
|
364
|
+
|
|
365
|
+
{{ELSE}}
|
|
366
|
+
**Real-time Communication:** Not implemented
|
|
367
|
+
{{/IF}}
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## 📨 Message Broker Patterns
|
|
372
|
+
|
|
373
|
+
{{#IF MESSAGE_BROKER}}
|
|
374
|
+
**Broker:** {{MESSAGE_BROKER_NAME}}
|
|
375
|
+
|
|
376
|
+
**Patterns Used:**
|
|
377
|
+
{{#EACH MESSAGE_PATTERN}}
|
|
378
|
+
### {{PATTERN_NAME}}
|
|
379
|
+
|
|
380
|
+
**Type:** {{PATTERN_TYPE}} ({{#IF PUB_SUB}}Pub/Sub{{ELSE}}Queue{{/IF}})
|
|
381
|
+
|
|
382
|
+
**Use Case:** {{PATTERN_USE_CASE}}
|
|
383
|
+
|
|
384
|
+
**Topics/Queues:**
|
|
385
|
+
{{#EACH TOPIC_QUEUE}}
|
|
386
|
+
- **{{NAME}}**: {{DESCRIPTION}}
|
|
387
|
+
- Producers: {{PRODUCERS}}
|
|
388
|
+
- Consumers: {{CONSUMERS}}
|
|
389
|
+
- Retention: {{RETENTION}}
|
|
390
|
+
{{/EACH}}
|
|
391
|
+
|
|
392
|
+
**Delivery Guarantees:** {{DELIVERY_GUARANTEES}} ({{#IF AT_LEAST_ONCE}}At-least-once{{ELSE}}{{#IF EXACTLY_ONCE}}Exactly-once{{ELSE}}At-most-once{{/IF}}{{/IF}})
|
|
393
|
+
|
|
394
|
+
**Implementation:**
|
|
395
|
+
```{{LANGUAGE}}
|
|
396
|
+
{{PATTERN_EXAMPLE}}
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
{{/EACH}}
|
|
400
|
+
|
|
401
|
+
**Error Handling:**
|
|
402
|
+
- Dead letter queue: {{#IF DLQ_ENABLED}}Enabled{{ELSE}}Disabled{{/IF}}
|
|
403
|
+
- Retry strategy: {{RETRY_STRATEGY}}
|
|
404
|
+
- Max retries: {{MAX_RETRIES}}
|
|
405
|
+
|
|
406
|
+
{{ELSE}}
|
|
407
|
+
**Message Broker:** Not used
|
|
408
|
+
{{/IF}}
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
## 🕸️ Service Mesh
|
|
413
|
+
|
|
414
|
+
{{#IF SERVICE_MESH}}
|
|
415
|
+
**Mesh:** {{SERVICE_MESH_NAME}}
|
|
416
|
+
|
|
417
|
+
**Purpose:** {{SERVICE_MESH_PURPOSE}}
|
|
418
|
+
|
|
419
|
+
**Features:**
|
|
420
|
+
- Service discovery: {{SERVICE_DISCOVERY}}
|
|
421
|
+
- Load balancing: {{MESH_LOAD_BALANCING}}
|
|
422
|
+
- Traffic management: {{TRAFFIC_MANAGEMENT}}
|
|
423
|
+
- Security: {{MESH_SECURITY}} (mTLS)
|
|
424
|
+
- Observability: {{MESH_OBSERVABILITY}}
|
|
425
|
+
|
|
426
|
+
**Configuration:**
|
|
427
|
+
```yaml
|
|
428
|
+
{{SERVICE_MESH_CONFIG_EXAMPLE}}
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
{{ELSE}}
|
|
432
|
+
**Service Mesh:** Not used (monolith or simple microservices)
|
|
433
|
+
{{/IF}}
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
## 🔐 Security Architecture
|
|
438
|
+
|
|
439
|
+
### Authentication Flow
|
|
440
|
+
|
|
441
|
+
```
|
|
442
|
+
{{AUTH_FLOW_DIAGRAM}}
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### Authorization Model
|
|
446
|
+
|
|
447
|
+
**Type:** {{AUTHORIZATION_MODEL}}
|
|
448
|
+
|
|
449
|
+
**Implementation:** See `specs/security.md` for details.
|
|
450
|
+
|
|
451
|
+
---
|
|
452
|
+
|
|
453
|
+
## 💾 Data Flow
|
|
454
|
+
|
|
455
|
+
### Create Operation
|
|
456
|
+
|
|
457
|
+
```
|
|
458
|
+
{{CREATE_FLOW_DIAGRAM}}
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
### Read Operation
|
|
462
|
+
|
|
463
|
+
```
|
|
464
|
+
{{READ_FLOW_DIAGRAM}}
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### Update Operation
|
|
468
|
+
|
|
469
|
+
```
|
|
470
|
+
{{UPDATE_FLOW_DIAGRAM}}
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### Delete Operation
|
|
474
|
+
|
|
475
|
+
```
|
|
476
|
+
{{DELETE_FLOW_DIAGRAM}}
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
---
|
|
480
|
+
|
|
481
|
+
## ⚡ Performance Considerations
|
|
482
|
+
|
|
483
|
+
### Caching Strategy
|
|
484
|
+
|
|
485
|
+
{{#IF CACHING_ENABLED}}
|
|
486
|
+
**Cache Type:** {{CACHE_TYPE}}
|
|
487
|
+
|
|
488
|
+
**What We Cache:**
|
|
489
|
+
{{#EACH CACHED_ITEM}}
|
|
490
|
+
- {{ITEM_DESCRIPTION}} (TTL: {{TTL}})
|
|
491
|
+
{{/EACH}}
|
|
492
|
+
|
|
493
|
+
**Invalidation:**
|
|
494
|
+
{{CACHE_INVALIDATION_STRATEGY}}
|
|
495
|
+
|
|
496
|
+
{{ELSE}}
|
|
497
|
+
No caching implemented yet.
|
|
498
|
+
{{/IF}}
|
|
499
|
+
|
|
500
|
+
### Database Optimization
|
|
501
|
+
|
|
502
|
+
{{#EACH DB_OPTIMIZATION}}
|
|
503
|
+
- {{OPTIMIZATION_DESCRIPTION}}
|
|
504
|
+
{{/EACH}}
|
|
505
|
+
|
|
506
|
+
---
|
|
507
|
+
|
|
508
|
+
## 🔧 Configuration Management
|
|
509
|
+
|
|
510
|
+
**Strategy:** {{CONFIG_STRATEGY}}
|
|
511
|
+
|
|
512
|
+
**Configuration Loaded From:**
|
|
513
|
+
{{#EACH CONFIG_SOURCE}}
|
|
514
|
+
- {{CONFIG_SOURCE_DESCRIPTION}}
|
|
515
|
+
{{/EACH}}
|
|
516
|
+
|
|
517
|
+
**Per Environment:**
|
|
518
|
+
- Development: {{DEV_CONFIG}}
|
|
519
|
+
- Staging: {{STAGING_CONFIG}}
|
|
520
|
+
- Production: {{PROD_CONFIG}}
|
|
521
|
+
|
|
522
|
+
---
|
|
523
|
+
|
|
524
|
+
## 📝 Error Handling Architecture
|
|
525
|
+
|
|
526
|
+
### Error Hierarchy
|
|
527
|
+
|
|
528
|
+
```{{LANGUAGE}}
|
|
529
|
+
{{ERROR_HIERARCHY_EXAMPLE}}
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
### Error Flow
|
|
533
|
+
|
|
534
|
+
```
|
|
535
|
+
{{ERROR_FLOW_DIAGRAM}}
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
---
|
|
539
|
+
|
|
540
|
+
## 🧪 Testing Architecture
|
|
541
|
+
|
|
542
|
+
**Strategy:** See `docs/testing.md`
|
|
543
|
+
|
|
544
|
+
**Testability Features:**
|
|
545
|
+
- Dependency injection enables mocking
|
|
546
|
+
- Services isolated from framework
|
|
547
|
+
- Repository pattern abstracts database
|
|
548
|
+
- DTOs validate at boundaries
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
## 📈 Scalability
|
|
553
|
+
|
|
554
|
+
### Horizontal Scaling
|
|
555
|
+
|
|
556
|
+
{{HORIZONTAL_SCALING_STRATEGY}}
|
|
557
|
+
|
|
558
|
+
### Vertical Scaling
|
|
559
|
+
|
|
560
|
+
{{VERTICAL_SCALING_STRATEGY}}
|
|
561
|
+
|
|
562
|
+
### Bottlenecks
|
|
563
|
+
|
|
564
|
+
{{#EACH BOTTLENECK}}
|
|
565
|
+
- **{{BOTTLENECK_NAME}}**: {{MITIGATION_STRATEGY}}
|
|
566
|
+
{{/EACH}}
|
|
567
|
+
|
|
568
|
+
---
|
|
569
|
+
|
|
570
|
+
## 🚀 Deployment Architecture
|
|
571
|
+
|
|
572
|
+
See `docs/operations.md` for full deployment details.
|
|
573
|
+
|
|
574
|
+
**Deployment Model:** {{DEPLOYMENT_MODEL}}
|
|
575
|
+
|
|
576
|
+
**Infrastructure:** {{INFRASTRUCTURE}}
|
|
577
|
+
|
|
578
|
+
---
|
|
579
|
+
|
|
580
|
+
## 📚 Architecture Decision Records (ADRs)
|
|
581
|
+
|
|
582
|
+
{{#IF ADR_ENABLED}}
|
|
583
|
+
Location: `specs/adr/`
|
|
584
|
+
|
|
585
|
+
{{#EACH ADR}}
|
|
586
|
+
- [ADR-{{ADR_NUMBER}}: {{ADR_TITLE}}](../specs/adr/{{ADR_FILE}})
|
|
587
|
+
{{/EACH}}
|
|
588
|
+
|
|
589
|
+
{{ELSE}}
|
|
590
|
+
ADRs will be added as significant architectural decisions are made.
|
|
591
|
+
{{/IF}}
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
## 🔄 Future Considerations
|
|
596
|
+
|
|
597
|
+
{{#EACH FUTURE_CONSIDERATION}}
|
|
598
|
+
### {{CONSIDERATION_TITLE}}
|
|
599
|
+
|
|
600
|
+
{{CONSIDERATION_DESCRIPTION}}
|
|
601
|
+
|
|
602
|
+
**When:** {{CONSIDERATION_TIMELINE}}
|
|
603
|
+
|
|
604
|
+
{{/EACH}}
|
|
605
|
+
|
|
606
|
+
---
|
|
607
|
+
|
|
608
|
+
**Document Version:** 1.0
|
|
609
|
+
|
|
610
|
+
**Last Updated:** {{GENERATION_DATE}}
|
|
611
|
+
|
|
612
|
+
**Generated by:** AI Flow v1.0.0
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Business Process Flows
|
|
2
|
+
|
|
3
|
+
> Documentation of end-to-end business processes for {{PROJECT_NAME}}
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 📚 Flow Inventory
|
|
8
|
+
|
|
9
|
+
{{#EACH FLOW}}
|
|
10
|
+
### {{FLOW_NAME}}
|
|
11
|
+
|
|
12
|
+
**Objective:** {{FLOW_OBJECTIVE}}
|
|
13
|
+
|
|
14
|
+
**Primary Actors:** {{FLOW_ACTORS}}
|
|
15
|
+
|
|
16
|
+
**Frequency / SLA:** {{FLOW_FREQUENCY}}
|
|
17
|
+
|
|
18
|
+
**Systems & Touchpoints:**
|
|
19
|
+
{{#EACH FLOW_SYSTEM}}
|
|
20
|
+
- {{SYSTEM_NAME}} — {{SYSTEM_ROLE}}
|
|
21
|
+
{{/EACH}}
|
|
22
|
+
|
|
23
|
+
#### Trigger Conditions
|
|
24
|
+
{{#EACH FLOW_TRIGGER}}
|
|
25
|
+
- {{TRIGGER_DESCRIPTION}}
|
|
26
|
+
{{/EACH}}
|
|
27
|
+
|
|
28
|
+
#### Preconditions
|
|
29
|
+
{{#EACH FLOW_PRECONDITION}}
|
|
30
|
+
- {{PRECONDITION_DESCRIPTION}}
|
|
31
|
+
{{/EACH}}
|
|
32
|
+
|
|
33
|
+
#### Happy Path Steps
|
|
34
|
+
```
|
|
35
|
+
{{FLOW_STEP_DIAGRAM}}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
{{#EACH FLOW_STEP}}
|
|
39
|
+
{{STEP_NUMBER}}. **{{STEP_NAME}}**
|
|
40
|
+
- Owner: {{STEP_OWNER}}
|
|
41
|
+
- Description: {{STEP_DESCRIPTION}}
|
|
42
|
+
- Inputs: {{STEP_INPUTS}}
|
|
43
|
+
- Outputs: {{STEP_OUTPUTS}}
|
|
44
|
+
{{/EACH}}
|
|
45
|
+
|
|
46
|
+
#### Alternate & Exception Paths
|
|
47
|
+
{{#EACH FLOW_EXCEPTION}}
|
|
48
|
+
- **{{EXCEPTION_NAME}}** — {{EXCEPTION_DESCRIPTION}}
|
|
49
|
+
- Mitigation: {{EXCEPTION_MITIGATION}}
|
|
50
|
+
- Escalation: {{EXCEPTION_ESCALATION}}
|
|
51
|
+
{{/EACH}}
|
|
52
|
+
|
|
53
|
+
#### Data Inputs & Outputs
|
|
54
|
+
- Inputs:
|
|
55
|
+
{{#EACH FLOW_DATA_INPUT}}
|
|
56
|
+
- {{DATA_NAME}} — {{DATA_SOURCE}}
|
|
57
|
+
{{/EACH}}
|
|
58
|
+
- Outputs:
|
|
59
|
+
{{#EACH FLOW_DATA_OUTPUT}}
|
|
60
|
+
- {{DATA_NAME}} — {{DATA_DESTINATION}}
|
|
61
|
+
{{/EACH}}
|
|
62
|
+
|
|
63
|
+
#### Controls & Compliance
|
|
64
|
+
{{#EACH FLOW_CONTROL}}
|
|
65
|
+
- {{CONTROL_NAME}} — {{CONTROL_DESCRIPTION}}
|
|
66
|
+
{{/EACH}}
|
|
67
|
+
|
|
68
|
+
#### Automation Opportunities
|
|
69
|
+
{{#EACH FLOW_AUTOMATION}}
|
|
70
|
+
- {{AUTOMATION_IDEA}}
|
|
71
|
+
{{/EACH}}
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
{{/EACH}}
|
|
75
|
+
|
|
76
|
+
## 📊 Metrics & KPIs
|
|
77
|
+
|
|
78
|
+
{{#EACH FLOW_METRIC}}
|
|
79
|
+
- **{{METRIC_NAME}}** — Target: {{METRIC_TARGET}} — Source: {{METRIC_SOURCE}}
|
|
80
|
+
{{/EACH}}
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 🧭 RACI Summary
|
|
85
|
+
|
|
86
|
+
| Role | Responsible | Accountable | Consulted | Informed |
|
|
87
|
+
|------|-------------|-------------|-----------|----------|
|
|
88
|
+
{{#EACH FLOW_RACI}}
|
|
89
|
+
| {{RACI_ROLE}} | {{RACI_RESPONSIBLE}} | {{RACI_ACCOUNTABLE}} | {{RACI_CONSULTED}} | {{RACI_INFORMED}} |
|
|
90
|
+
{{/EACH}}
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 🔄 Continuous Improvement Backlog
|
|
95
|
+
|
|
96
|
+
{{#EACH FLOW_IMPROVEMENT}}
|
|
97
|
+
- **{{IMPROVEMENT_TITLE}}** — {{IMPROVEMENT_DESCRIPTION}}
|
|
98
|
+
- Priority: {{IMPROVEMENT_PRIORITY}}
|
|
99
|
+
- Owner: {{IMPROVEMENT_OWNER}}
|
|
100
|
+
- Target Date: {{IMPROVEMENT_TARGET_DATE}}
|
|
101
|
+
{{/EACH}}
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
**Document Version:** 1.0
|
|
106
|
+
|
|
107
|
+
**Last Updated:** {{GENERATION_DATE}}
|
|
108
|
+
|
|
109
|
+
**Generated by:** AI Flow v1.0.0
|