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,163 @@
|
|
|
1
|
+
# Contributing Guide
|
|
2
|
+
|
|
3
|
+
> How to contribute to {{PROJECT_NAME}}
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ๐ Getting Started
|
|
8
|
+
|
|
9
|
+
### Prerequisites
|
|
10
|
+
|
|
11
|
+
{{#EACH PREREQUISITE}}
|
|
12
|
+
|
|
13
|
+
- {{PREREQUISITE_NAME}} {{PREREQUISITE_VERSION}}
|
|
14
|
+
{{/EACH}}
|
|
15
|
+
|
|
16
|
+
### Setup
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Clone repository
|
|
20
|
+
git clone {{REPOSITORY_URL}}
|
|
21
|
+
cd {{PROJECT_DIR}}
|
|
22
|
+
|
|
23
|
+
# Install dependencies
|
|
24
|
+
{{INSTALL_COMMAND}}
|
|
25
|
+
|
|
26
|
+
# Copy environment variables
|
|
27
|
+
cp .env.example .env
|
|
28
|
+
|
|
29
|
+
# Setup database
|
|
30
|
+
{{DB_SETUP_COMMAND}}
|
|
31
|
+
|
|
32
|
+
# Run migrations
|
|
33
|
+
{{MIGRATION_COMMAND}}
|
|
34
|
+
|
|
35
|
+
# Start development server
|
|
36
|
+
{{DEV_COMMAND}}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## ๐ Development Workflow
|
|
42
|
+
|
|
43
|
+
1. Create feature branch from `main`
|
|
44
|
+
2. Make changes
|
|
45
|
+
3. Write/update tests
|
|
46
|
+
4. Run tests and linting
|
|
47
|
+
5. Commit with conventional commits
|
|
48
|
+
6. Push and create pull request
|
|
49
|
+
7. Address review comments
|
|
50
|
+
8. Merge after approval
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## ๐ฟ Branch Strategy
|
|
55
|
+
|
|
56
|
+
**Main Branches:**
|
|
57
|
+
|
|
58
|
+
- `main` - Production code
|
|
59
|
+
- `develop` - Development code (if using GitFlow)
|
|
60
|
+
|
|
61
|
+
**Feature Branches:**
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
{{BRANCH_NAMING_PATTERN}}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Examples:**
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
feature/add-user-authentication
|
|
71
|
+
bugfix/fix-login-redirect
|
|
72
|
+
hotfix/patch-security-vulnerability
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## โ
Before Committing
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Run linter
|
|
81
|
+
{{LINT_COMMAND}}
|
|
82
|
+
|
|
83
|
+
# Run tests
|
|
84
|
+
{{TEST_COMMAND}}
|
|
85
|
+
|
|
86
|
+
# Check coverage
|
|
87
|
+
{{COVERAGE_COMMAND}}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## ๐ Commit Standards
|
|
93
|
+
|
|
94
|
+
**Format:** {{COMMIT_FORMAT}}
|
|
95
|
+
|
|
96
|
+
{{#IF CONVENTIONAL_COMMITS}}
|
|
97
|
+
**Example:**
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
feat(auth): add JWT refresh token rotation
|
|
101
|
+
|
|
102
|
+
- Implement token rotation
|
|
103
|
+
- Add Redis storage
|
|
104
|
+
- Add cleanup job
|
|
105
|
+
|
|
106
|
+
Closes #123
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
{{/IF}}
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## ๐ Code Review
|
|
114
|
+
|
|
115
|
+
### Review Checklist
|
|
116
|
+
|
|
117
|
+
- [ ] Code follows style guide
|
|
118
|
+
- [ ] Tests added/updated
|
|
119
|
+
- [ ] Documentation updated
|
|
120
|
+
- [ ] No console.logs
|
|
121
|
+
- [ ] No security vulnerabilities
|
|
122
|
+
- [ ] Performance acceptable
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## ๐ Documentation
|
|
127
|
+
|
|
128
|
+
{{#EACH DOC_LOCATION}}
|
|
129
|
+
|
|
130
|
+
- **{{DOC_NAME}}**: `{{DOC_PATH}}`
|
|
131
|
+
{{/EACH}}
|
|
132
|
+
|
|
133
|
+
### Keeping Documentation Updated
|
|
134
|
+
|
|
135
|
+
As your project evolves, keep documentation synchronized with code changes using the `/flow-docs-sync` command.
|
|
136
|
+
|
|
137
|
+
**When to update documentation:**
|
|
138
|
+
|
|
139
|
+
- After adding new API endpoints
|
|
140
|
+
- After modifying database entities
|
|
141
|
+
- After adding new dependencies
|
|
142
|
+
- After changing project structure
|
|
143
|
+
- After adding new environment variables
|
|
144
|
+
|
|
145
|
+
**How to update:**
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
/flow-docs-sync
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The command will:
|
|
152
|
+
|
|
153
|
+
1. Detect changes in your codebase
|
|
154
|
+
2. Show which documents need updating
|
|
155
|
+
3. Ask for confirmation
|
|
156
|
+
4. Automatically update affected documents
|
|
157
|
+
|
|
158
|
+
**For more information:** See the AI Flow README for detailed usage instructions.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
**Last Updated:** {{GENERATION_DATE}}
|
|
163
|
+
|
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# Data Model
|
|
2
|
+
|
|
3
|
+
> Structured view of the entities, relationships, and data contracts that power {{PROJECT_NAME}}
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ๐ Overview
|
|
8
|
+
|
|
9
|
+
**Database Type:** {{DATABASE_TYPE}}
|
|
10
|
+
|
|
11
|
+
**Primary Storage Layer:** {{DATABASE_PRIMARY_STORAGE}}
|
|
12
|
+
|
|
13
|
+
**Secondary Storage / Caches:** {{DATABASE_SECONDARY_STORAGE}}
|
|
14
|
+
|
|
15
|
+
**Data Access Layer:** {{DATA_ACCESS_LAYER}}
|
|
16
|
+
|
|
17
|
+
**Data Ownership:** {{DATA_OWNERSHIP}}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ๐ Entity Catalog
|
|
22
|
+
|
|
23
|
+
{{#EACH ENTITIES}}
|
|
24
|
+
|
|
25
|
+
### {{NAME}}
|
|
26
|
+
|
|
27
|
+
**Purpose:** {{PURPOSE}}
|
|
28
|
+
|
|
29
|
+
**Table / Collection:** `{{TABLE_NAME}}`
|
|
30
|
+
|
|
31
|
+
**Primary Key:** {{PRIMARY_KEY}}
|
|
32
|
+
|
|
33
|
+
**Description:** {{DESCRIPTION}}
|
|
34
|
+
|
|
35
|
+
#### Attributes
|
|
36
|
+
|
|
37
|
+
| Field | Type | Nullable | Default | Description |
|
|
38
|
+
| ----- | ---- | -------- | ------- | ----------- |
|
|
39
|
+
|
|
40
|
+
{{#EACH ATTRIBUTES}}
|
|
41
|
+
| {{FIELD}} | {{TYPE}} | {{NULLABLE}} | {{DEFAULT}} | {{DESCRIPTION}} |
|
|
42
|
+
{{/EACH}}
|
|
43
|
+
|
|
44
|
+
#### Validation Rules
|
|
45
|
+
|
|
46
|
+
{{#IF VALIDATION_RULES}}
|
|
47
|
+
{{#EACH VALIDATION_RULES}}
|
|
48
|
+
|
|
49
|
+
- {{RULE_DESCRIPTION}}
|
|
50
|
+
{{/EACH}}
|
|
51
|
+
{{ELSE}}
|
|
52
|
+
- No additional validation rules defined.
|
|
53
|
+
{{/IF}}
|
|
54
|
+
|
|
55
|
+
#### Derived Fields
|
|
56
|
+
|
|
57
|
+
{{#IF DERIVED_FIELDS}}
|
|
58
|
+
| Field | Source | Logic |
|
|
59
|
+
|-------|--------|-------|
|
|
60
|
+
{{#EACH DERIVED_FIELDS}}
|
|
61
|
+
| {{FIELD}} | {{SOURCE}} | {{LOGIC}} |
|
|
62
|
+
{{/EACH}}
|
|
63
|
+
{{ELSE}}
|
|
64
|
+
|
|
65
|
+
- No derived fields defined.
|
|
66
|
+
{{/IF}}
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
{{/EACH}}
|
|
71
|
+
|
|
72
|
+
## ๐ Relationships & Contracts
|
|
73
|
+
|
|
74
|
+
### Cardinality Map
|
|
75
|
+
|
|
76
|
+
{{#EACH RELATIONSHIPS}}
|
|
77
|
+
|
|
78
|
+
- **{{FROM_ENTITY}} โ {{TO_ENTITY}}**: {{TYPE}}
|
|
79
|
+
- Join Condition: `{{JOIN_CONDITION}}`
|
|
80
|
+
- Ownership: {{OWNERSHIP_MODEL}}
|
|
81
|
+
- Cascade Rules: {{CASCADE_RULES}}
|
|
82
|
+
{{/EACH}}
|
|
83
|
+
|
|
84
|
+
### Integrity Constraints
|
|
85
|
+
|
|
86
|
+
{{#EACH INTEGRITY_CONSTRAINTS}}
|
|
87
|
+
|
|
88
|
+
- **{{NAME}}**: {{DESCRIPTION}}
|
|
89
|
+
- Enforced By: {{ENFORCED_BY}}
|
|
90
|
+
- Failure Handling: {{FAILURE_HANDLING}}
|
|
91
|
+
{{/EACH}}
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## ๐ Database Indexes
|
|
96
|
+
|
|
97
|
+
### Index Strategy
|
|
98
|
+
|
|
99
|
+
{{#IF INDEXES_DEFINED}}
|
|
100
|
+
{{#EACH INDEX}}
|
|
101
|
+
|
|
102
|
+
#### {{INDEX_NAME}}
|
|
103
|
+
|
|
104
|
+
**Table:** `{{TABLE_NAME}}`
|
|
105
|
+
|
|
106
|
+
**Columns:** {{INDEX_COLUMNS}}
|
|
107
|
+
|
|
108
|
+
**Type:** {{INDEX_TYPE}} ({{#IF UNIQUE}}Unique{{ELSE}}Non-unique{{/IF}})
|
|
109
|
+
|
|
110
|
+
**Purpose:** {{INDEX_PURPOSE}}
|
|
111
|
+
|
|
112
|
+
**Query Patterns:** {{INDEX_QUERY_PATTERNS}}
|
|
113
|
+
|
|
114
|
+
{{/EACH}}
|
|
115
|
+
|
|
116
|
+
{{ELSE}}
|
|
117
|
+
- No indexes explicitly defined yet. Indexes will be created based on query patterns and foreign keys.
|
|
118
|
+
{{/IF}}
|
|
119
|
+
|
|
120
|
+
### Index Guidelines
|
|
121
|
+
|
|
122
|
+
- โ
Index all foreign keys
|
|
123
|
+
- โ
Index frequently queried columns
|
|
124
|
+
- โ
Index columns used in WHERE, JOIN, ORDER BY clauses
|
|
125
|
+
- โ
Consider composite indexes for multi-column queries
|
|
126
|
+
- โ Don't over-index (each index slows writes)
|
|
127
|
+
- โ Don't index low-cardinality columns (unless frequently filtered)
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## ๐ Transaction Management
|
|
132
|
+
|
|
133
|
+
### Transaction Isolation Level
|
|
134
|
+
|
|
135
|
+
**Default Level:** {{TRANSACTION_ISOLATION_LEVEL}}
|
|
136
|
+
|
|
137
|
+
**Supported Levels:**
|
|
138
|
+
{{#EACH ISOLATION_LEVEL}}
|
|
139
|
+
- **{{LEVEL_NAME}}**: {{LEVEL_DESCRIPTION}}
|
|
140
|
+
{{/EACH}}
|
|
141
|
+
|
|
142
|
+
### Transaction Strategy
|
|
143
|
+
|
|
144
|
+
**When to use transactions:**
|
|
145
|
+
- โ
Multi-step operations that must succeed or fail together
|
|
146
|
+
- โ
Updates affecting multiple tables
|
|
147
|
+
- โ
Operations requiring consistency guarantees
|
|
148
|
+
- โ Single-row operations (usually handled by database)
|
|
149
|
+
|
|
150
|
+
**Transaction Patterns:**
|
|
151
|
+
|
|
152
|
+
{{#IF TRANSACTION_PATTERNS}}
|
|
153
|
+
{{#EACH TRANSACTION_PATTERN}}
|
|
154
|
+
#### {{PATTERN_NAME}}
|
|
155
|
+
|
|
156
|
+
**Use Case:** {{PATTERN_USE_CASE}}
|
|
157
|
+
|
|
158
|
+
**Implementation:**
|
|
159
|
+
```{{LANGUAGE}}
|
|
160
|
+
{{PATTERN_EXAMPLE}}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Consistency Guarantees:** {{CONSISTENCY_GUARANTEES}}
|
|
164
|
+
|
|
165
|
+
{{/EACH}}
|
|
166
|
+
{{ELSE}}
|
|
167
|
+
- Transaction patterns to be defined based on business requirements.
|
|
168
|
+
{{/IF}}
|
|
169
|
+
|
|
170
|
+
### Consistency Model
|
|
171
|
+
|
|
172
|
+
**Consistency Strategy:** {{CONSISTENCY_STRATEGY}}
|
|
173
|
+
|
|
174
|
+
{{#IF EVENTUAL_CONSISTENCY}}
|
|
175
|
+
**Eventual Consistency:**
|
|
176
|
+
- Acceptable delay: {{CONSISTENCY_DELAY}}
|
|
177
|
+
- Replication lag tolerance: {{REPLICATION_LAG}}
|
|
178
|
+
- Conflict resolution: {{CONFLICT_RESOLUTION}}
|
|
179
|
+
{{/IF}}
|
|
180
|
+
|
|
181
|
+
{{#IF STRONG_CONSISTENCY}}
|
|
182
|
+
**Strong Consistency:**
|
|
183
|
+
- All reads see latest writes
|
|
184
|
+
- Synchronous replication required
|
|
185
|
+
- Higher latency, lower throughput
|
|
186
|
+
{{/IF}}
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## ๐ง Schema Migrations
|
|
191
|
+
|
|
192
|
+
### Migration Tool
|
|
193
|
+
|
|
194
|
+
**Tool:** {{MIGRATION_TOOL}}
|
|
195
|
+
|
|
196
|
+
{{#IF PRISMA_MIGRATE}}
|
|
197
|
+
**Prisma Migrate:**
|
|
198
|
+
- Location: `prisma/migrations/`
|
|
199
|
+
- Generate migration: `npx prisma migrate dev --name migration_name`
|
|
200
|
+
- Apply migration: `npx prisma migrate deploy`
|
|
201
|
+
{{/IF}}
|
|
202
|
+
|
|
203
|
+
{{#IF TYPEORM_MIGRATIONS}}
|
|
204
|
+
**TypeORM Migrations:**
|
|
205
|
+
- Location: `src/migrations/`
|
|
206
|
+
- Generate migration: `npm run migration:generate -- -n MigrationName`
|
|
207
|
+
- Run migration: `npm run migration:run`
|
|
208
|
+
- Revert migration: `npm run migration:revert`
|
|
209
|
+
{{/IF}}
|
|
210
|
+
|
|
211
|
+
{{#IF ALEMBIC}}
|
|
212
|
+
**Alembic (Python):**
|
|
213
|
+
- Location: `alembic/versions/`
|
|
214
|
+
- Generate migration: `alembic revision --autogenerate -m "migration_name"`
|
|
215
|
+
- Apply migration: `alembic upgrade head`
|
|
216
|
+
- Rollback: `alembic downgrade -1`
|
|
217
|
+
{{/IF}}
|
|
218
|
+
|
|
219
|
+
### Migration Strategy
|
|
220
|
+
|
|
221
|
+
**Versioning:** {{MIGRATION_VERSIONING}}
|
|
222
|
+
|
|
223
|
+
**Rollback Strategy:** {{MIGRATION_ROLLBACK_STRATEGY}}
|
|
224
|
+
|
|
225
|
+
**Zero-Downtime Migrations:** {{#IF ZERO_DOWNTIME_MIGRATIONS}}Yes{{ELSE}}No{{/IF}}
|
|
226
|
+
|
|
227
|
+
{{#IF ZERO_DOWNTIME_MIGRATIONS}}
|
|
228
|
+
**Zero-Downtime Approach:**
|
|
229
|
+
{{#EACH ZERO_DOWNTIME_STEP}}
|
|
230
|
+
{{STEP_NUMBER}}. {{STEP_DESCRIPTION}}
|
|
231
|
+
{{/EACH}}
|
|
232
|
+
{{/IF}}
|
|
233
|
+
|
|
234
|
+
### Migration Guidelines
|
|
235
|
+
|
|
236
|
+
- โ
Always review generated migrations before applying
|
|
237
|
+
- โ
Test migrations on staging before production
|
|
238
|
+
- โ
Keep migrations small and focused
|
|
239
|
+
- โ
Never edit applied migrations (create new ones)
|
|
240
|
+
- โ
Document breaking changes
|
|
241
|
+
- โ Don't run migrations manually in production
|
|
242
|
+
- โ Don't mix data migrations with schema migrations
|
|
243
|
+
|
|
244
|
+
### Migration History
|
|
245
|
+
|
|
246
|
+
{{#IF MIGRATION_HISTORY}}
|
|
247
|
+
| Version | Description | Applied | Rollback Available |
|
|
248
|
+
|---------|-------------|---------|-------------------|
|
|
249
|
+
{{#EACH MIGRATION}}
|
|
250
|
+
| {{VERSION}} | {{DESCRIPTION}} | {{APPLIED_DATE}} | {{#IF ROLLBACK_AVAILABLE}}Yes{{ELSE}}No{{/IF}} |
|
|
251
|
+
{{/EACH}}
|
|
252
|
+
{{ELSE}}
|
|
253
|
+
- Migration history will be tracked by the migration tool.
|
|
254
|
+
{{/IF}}
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## ๐งฉ Domain Logic & Aggregates
|
|
259
|
+
|
|
260
|
+
### Aggregate Roots
|
|
261
|
+
|
|
262
|
+
{{#EACH AGGREGATE_ROOTS}}
|
|
263
|
+
|
|
264
|
+
#### {{NAME}}
|
|
265
|
+
|
|
266
|
+
**Bounded Context:** {{CONTEXT}}
|
|
267
|
+
|
|
268
|
+
**Responsibilities:** {{RESPONSIBILITIES}}
|
|
269
|
+
|
|
270
|
+
**Entities Included:** {{ENTITIES_INCLUDED}}
|
|
271
|
+
|
|
272
|
+
**Consistency Rules:** {{CONSISTENCY_RULES}}
|
|
273
|
+
|
|
274
|
+
{{/EACH}}
|
|
275
|
+
|
|
276
|
+
### Domain Events
|
|
277
|
+
|
|
278
|
+
{{#IF DOMAIN_EVENTS}}
|
|
279
|
+
| Event | Trigger | Payload | Consumers |
|
|
280
|
+
|-------|---------|---------|-----------|
|
|
281
|
+
{{#EACH DOMAIN_EVENTS}}
|
|
282
|
+
| {{NAME}} | {{TRIGGER}} | {{PAYLOAD}} | {{CONSUMERS}} |
|
|
283
|
+
{{/EACH}}
|
|
284
|
+
{{ELSE}}
|
|
285
|
+
|
|
286
|
+
- No domain events defined.
|
|
287
|
+
{{/IF}}
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## ๐ฆ Serialization Contracts
|
|
292
|
+
|
|
293
|
+
### API Representations
|
|
294
|
+
|
|
295
|
+
{{#EACH API_CONTRACTS}}
|
|
296
|
+
|
|
297
|
+
#### {{NAME}}
|
|
298
|
+
|
|
299
|
+
**Endpoint:** `{{ENDPOINT}}`
|
|
300
|
+
|
|
301
|
+
**Method:** {{METHOD}}
|
|
302
|
+
|
|
303
|
+
**Request Schema:**
|
|
304
|
+
|
|
305
|
+
```json
|
|
306
|
+
{{REQUEST_SCHEMA}}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**Response Schema:**
|
|
310
|
+
|
|
311
|
+
```json
|
|
312
|
+
{{RESPONSE_SCHEMA}}
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**Notes:** {{NOTES}}
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
{{/EACH}}
|
|
320
|
+
|
|
321
|
+
### Message Queue Payloads
|
|
322
|
+
|
|
323
|
+
{{#IF MESSAGE_PAYLOADS}}
|
|
324
|
+
{{#EACH MESSAGE_PAYLOADS}}
|
|
325
|
+
|
|
326
|
+
- **{{TOPIC}}**
|
|
327
|
+
- Producer: {{PRODUCER}}
|
|
328
|
+
- Consumers: {{CONSUMERS}}
|
|
329
|
+
- Schema:
|
|
330
|
+
`json
|
|
331
|
+
{{SCHEMA}}
|
|
332
|
+
`
|
|
333
|
+
{{/EACH}}
|
|
334
|
+
{{ELSE}}
|
|
335
|
+
- No asynchronous payloads defined.
|
|
336
|
+
{{/IF}}
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## ๐๏ธ Reference Data & Seed Values
|
|
341
|
+
|
|
342
|
+
{{#IF REFERENCE_DATA}}
|
|
343
|
+
| Name | Source | Format | Refresh Strategy |
|
|
344
|
+
|------|--------|--------|------------------|
|
|
345
|
+
{{#EACH REFERENCE_DATA}}
|
|
346
|
+
| {{NAME}} | {{SOURCE}} | {{FORMAT}} | {{REFRESH_STRATEGY}} |
|
|
347
|
+
{{/EACH}}
|
|
348
|
+
{{ELSE}}
|
|
349
|
+
|
|
350
|
+
- No reference datasets recorded.
|
|
351
|
+
{{/IF}}
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## ๐ Data Governance
|
|
356
|
+
|
|
357
|
+
**Data Sensitivity Classification:** {{DATA_SENSITIVITY}}
|
|
358
|
+
|
|
359
|
+
**PII Handling:** {{PII_HANDLING}}
|
|
360
|
+
|
|
361
|
+
**Audit Strategy:** {{AUDIT_STRATEGY}}
|
|
362
|
+
|
|
363
|
+
**Retention Policy:** {{RETENTION_POLICY}}
|
|
364
|
+
|
|
365
|
+
**Compliance Scope:** {{COMPLIANCE_SCOPE}}
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## ๐งช Testing & Quality Gates
|
|
370
|
+
|
|
371
|
+
### Test Coverage by Entity
|
|
372
|
+
|
|
373
|
+
{{#IF TEST_COVERAGE}}
|
|
374
|
+
| Entity | Unit Tests | Integration Tests | Notes |
|
|
375
|
+
|--------|------------|-------------------|-------|
|
|
376
|
+
{{#EACH TEST_COVERAGE}}
|
|
377
|
+
| {{ENTITY}} | {{UNIT_TESTS}} | {{INTEGRATION_TESTS}} | {{NOTES}} |
|
|
378
|
+
{{/EACH}}
|
|
379
|
+
{{ELSE}}
|
|
380
|
+
|
|
381
|
+
- Test coverage not yet documented.
|
|
382
|
+
{{/IF}}
|
|
383
|
+
|
|
384
|
+
### Fixtures & Factories
|
|
385
|
+
|
|
386
|
+
{{#IF FIXTURE_DETAILS}}
|
|
387
|
+
|
|
388
|
+
- Location: `{{FIXTURE_LOCATION}}`
|
|
389
|
+
- Generation Tooling: {{GENERATION_TOOLING}}
|
|
390
|
+
- TTL / Reset Strategy: {{RESET_STRATEGY}}
|
|
391
|
+
{{ELSE}}
|
|
392
|
+
- Fixtures and factories to be defined.
|
|
393
|
+
{{/IF}}
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
## ๐ Future Enhancements
|
|
398
|
+
|
|
399
|
+
{{#IF ROADMAP_ITEMS}}
|
|
400
|
+
{{#EACH ROADMAP_ITEMS}}
|
|
401
|
+
|
|
402
|
+
- **{{TITLE}}**: {{DESCRIPTION}}
|
|
403
|
+
- Priority: {{PRIORITY}}
|
|
404
|
+
- Target Release: {{TARGET_RELEASE}}
|
|
405
|
+
{{/EACH}}
|
|
406
|
+
{{ELSE}}
|
|
407
|
+
- No future enhancements planned yet.
|
|
408
|
+
{{/IF}}
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
**Document Version:** 1.0
|
|
413
|
+
|
|
414
|
+
**Last Updated:** {{GENERATION_DATE}}
|
|
415
|
+
|
|
416
|
+
**Generated by:** AI Flow v1.0.0
|