appiq-solution 1.4.3 → 1.4.5

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 (95) hide show
  1. package/#Tools/APPIQ-METHOD/.cursor/commands/analyze.md +1 -1
  2. package/#Tools/APPIQ-METHOD/.cursor/commands/appiq.md +1 -1
  3. package/#Tools/APPIQ-METHOD/.cursor/commands/help.md +1 -1
  4. package/#Tools/APPIQ-METHOD/.cursor/commands/story.md +1 -1
  5. package/#Tools/APPIQ-METHOD/activate-appiq.js +1 -1
  6. package/#Tools/APPIQ-METHOD/bmad-core/agents/init-flow-po.md +219 -0
  7. package/#Tools/APPIQ-METHOD/commands/analyze.md +1 -1
  8. package/#Tools/APPIQ-METHOD/commands/appiq.md +1 -1
  9. package/#Tools/APPIQ-METHOD/commands/help.md +1 -1
  10. package/#Tools/APPIQ-METHOD/commands/story.md +1 -1
  11. package/#Tools/APPIQ-METHOD/package.json +1 -1
  12. package/#Tools/APPIQ-METHOD/tools/appiq-installer.js +31 -34
  13. package/#Tools/APPIQ-METHOD/tools/epic-solution-installer.js +47 -49
  14. package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +40 -37
  15. package/#Tools/APPIQ-METHOD/tools/smart-installer.js +16 -13
  16. package/bmad-core/agent-teams/team-all.yaml +14 -0
  17. package/bmad-core/agent-teams/team-flutter-mobile.yaml +114 -0
  18. package/bmad-core/agent-teams/team-fullstack.yaml +28 -0
  19. package/bmad-core/agent-teams/team-ide-minimal.yaml +10 -0
  20. package/bmad-core/agent-teams/team-no-ui.yaml +13 -0
  21. package/bmad-core/agents/analyst.md +85 -0
  22. package/bmad-core/agents/architect.md +90 -0
  23. package/bmad-core/agents/bmad-master.md +108 -0
  24. package/bmad-core/agents/bmad-orchestrator.md +150 -0
  25. package/bmad-core/agents/bmad-smart-launcher.md +170 -0
  26. package/bmad-core/agents/dev.md +95 -0
  27. package/bmad-core/agents/init-flow-po.md +219 -0
  28. package/bmad-core/agents/pm.md +85 -0
  29. package/bmad-core/agents/po.md +76 -0
  30. package/bmad-core/agents/qa.md +86 -0
  31. package/bmad-core/agents/sm.md +67 -0
  32. package/bmad-core/agents/ux-expert.md +71 -0
  33. package/bmad-core/bmad-core/user-guide.md +0 -0
  34. package/bmad-core/checklists/architect-checklist.md +443 -0
  35. package/bmad-core/checklists/change-checklist.md +182 -0
  36. package/bmad-core/checklists/pm-checklist.md +375 -0
  37. package/bmad-core/checklists/po-master-checklist.md +441 -0
  38. package/bmad-core/checklists/security-validation-checklist.md +332 -0
  39. package/bmad-core/checklists/story-dod-checklist.md +101 -0
  40. package/bmad-core/checklists/story-draft-checklist.md +156 -0
  41. package/bmad-core/core-config.yaml +20 -0
  42. package/bmad-core/core-config.yaml.bak +20 -0
  43. package/bmad-core/data/backend-services-integration.md +686 -0
  44. package/bmad-core/data/bmad-kb.md +803 -0
  45. package/bmad-core/data/brainstorming-techniques.md +36 -0
  46. package/bmad-core/data/elicitation-methods.md +134 -0
  47. package/bmad-core/data/shadcn-ui-integration.md +388 -0
  48. package/bmad-core/data/technical-preferences.md +149 -0
  49. package/bmad-core/enhanced-ide-development-workflow.md +43 -0
  50. package/bmad-core/tasks/advanced-elicitation.md +117 -0
  51. package/bmad-core/tasks/brownfield-create-epic.md +160 -0
  52. package/bmad-core/tasks/brownfield-create-story.md +147 -0
  53. package/bmad-core/tasks/correct-course.md +70 -0
  54. package/bmad-core/tasks/create-brownfield-story.md +304 -0
  55. package/bmad-core/tasks/create-deep-research-prompt.md +289 -0
  56. package/bmad-core/tasks/create-flutter-story.md +197 -0
  57. package/bmad-core/tasks/create-next-story.md +112 -0
  58. package/bmad-core/tasks/document-project.md +341 -0
  59. package/bmad-core/tasks/facilitate-brainstorming-session.md +136 -0
  60. package/bmad-core/tasks/generate-ai-frontend-prompt.md +51 -0
  61. package/bmad-core/tasks/index-docs.md +179 -0
  62. package/bmad-core/tasks/intelligent-epic-creation.md +234 -0
  63. package/bmad-core/tasks/kb-mode-interaction.md +75 -0
  64. package/bmad-core/tasks/review-story.md +145 -0
  65. package/bmad-core/tasks/shard-doc.md +187 -0
  66. package/bmad-core/tasks/smart-project-analysis.md +289 -0
  67. package/bmad-core/tasks/validate-next-story.md +134 -0
  68. package/bmad-core/templates/architecture-tmpl.yaml +650 -0
  69. package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  70. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
  71. package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
  72. package/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
  73. package/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +330 -0
  74. package/bmad-core/templates/flutter-story-tmpl.yaml +376 -0
  75. package/bmad-core/templates/flutter-ui-spec-tmpl.yaml +415 -0
  76. package/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
  77. package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
  78. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +812 -0
  79. package/bmad-core/templates/market-research-tmpl.yaml +252 -0
  80. package/bmad-core/templates/prd-tmpl.yaml +202 -0
  81. package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
  82. package/bmad-core/templates/story-tmpl.yaml +137 -0
  83. package/bmad-core/user-guide.md +251 -0
  84. package/bmad-core/workflows/brownfield-fullstack.yaml +311 -0
  85. package/bmad-core/workflows/brownfield-service.yaml +187 -0
  86. package/bmad-core/workflows/brownfield-ui.yaml +197 -0
  87. package/bmad-core/workflows/greenfield-fullstack.yaml +284 -0
  88. package/bmad-core/workflows/greenfield-service.yaml +206 -0
  89. package/bmad-core/workflows/greenfield-ui.yaml +235 -0
  90. package/bmad-core/working-in-the-brownfield.md +373 -0
  91. package/package.json +1 -1
  92. package/tools/appiq-installer.js +31 -34
  93. package/tools/epic-solution-installer.js +47 -49
  94. package/tools/setup-ide-commands.js +40 -37
  95. package/tools/smart-installer.js +16 -13
@@ -0,0 +1,650 @@
1
+ template:
2
+ id: architecture-template-v2
3
+ name: Architecture Document
4
+ version: 2.0
5
+ output:
6
+ format: markdown
7
+ filename: docs/architecture.md
8
+ title: "{{project_name}} Architecture Document"
9
+
10
+ workflow:
11
+ mode: interactive
12
+ elicitation: advanced-elicitation
13
+
14
+ sections:
15
+ - id: introduction
16
+ title: Introduction
17
+ instruction: |
18
+ If available, review any provided relevant documents to gather all relevant context before beginning. If at a minimum you cannot locate docs/prd.md ask the user what docs will provide the basis for the architecture.
19
+ sections:
20
+ - id: intro-content
21
+ content: |
22
+ This document outlines the overall project architecture for {{project_name}}, including backend systems, shared services, and non-UI specific concerns. Its primary goal is to serve as the guiding architectural blueprint for AI-driven development, ensuring consistency and adherence to chosen patterns and technologies.
23
+
24
+ **Relationship to Frontend Architecture:**
25
+ If the project includes a significant user interface, a separate Frontend Architecture Document will detail the frontend-specific design and MUST be used in conjunction with this document. Core technology stack choices documented herein (see "Tech Stack") are definitive for the entire project, including any frontend components.
26
+ - id: starter-template
27
+ title: Starter Template or Existing Project
28
+ instruction: |
29
+ Before proceeding further with architecture design, check if the project is based on a starter template or existing codebase:
30
+
31
+ 1. Review the PRD and brainstorming brief for any mentions of:
32
+ - Starter templates (e.g., Create React App, Next.js, Vue CLI, Angular CLI, etc.)
33
+ - Existing projects or codebases being used as a foundation
34
+ - Boilerplate projects or scaffolding tools
35
+ - Previous projects to be cloned or adapted
36
+
37
+ 2. If a starter template or existing project is mentioned:
38
+ - Ask the user to provide access via one of these methods:
39
+ - Link to the starter template documentation
40
+ - Upload/attach the project files (for small projects)
41
+ - Share a link to the project repository (GitHub, GitLab, etc.)
42
+ - Analyze the starter/existing project to understand:
43
+ - Pre-configured technology stack and versions
44
+ - Project structure and organization patterns
45
+ - Built-in scripts and tooling
46
+ - Existing architectural patterns and conventions
47
+ - Any limitations or constraints imposed by the starter
48
+ - Use this analysis to inform and align your architecture decisions
49
+
50
+ 3. If no starter template is mentioned but this is a greenfield project:
51
+ - Suggest appropriate starter templates based on the tech stack preferences
52
+ - Explain the benefits (faster setup, best practices, community support)
53
+ - Let the user decide whether to use one
54
+
55
+ 4. If the user confirms no starter template will be used:
56
+ - Proceed with architecture design from scratch
57
+ - Note that manual setup will be required for all tooling and configuration
58
+
59
+ Document the decision here before proceeding with the architecture design. If none, just say N/A
60
+ elicit: true
61
+ - id: changelog
62
+ title: Change Log
63
+ type: table
64
+ columns: [Date, Version, Description, Author]
65
+ instruction: Track document versions and changes
66
+
67
+ - id: high-level-architecture
68
+ title: High Level Architecture
69
+ instruction: |
70
+ This section contains multiple subsections that establish the foundation of the architecture. Present all subsections together at once.
71
+ elicit: true
72
+ sections:
73
+ - id: technical-summary
74
+ title: Technical Summary
75
+ instruction: |
76
+ Provide a brief paragraph (3-5 sentences) overview of:
77
+ - The system's overall architecture style
78
+ - Key components and their relationships
79
+ - Primary technology choices
80
+ - Core architectural patterns being used
81
+ - Reference back to the PRD goals and how this architecture supports them
82
+ - id: high-level-overview
83
+ title: High Level Overview
84
+ instruction: |
85
+ Based on the PRD's Technical Assumptions section, describe:
86
+
87
+ 1. The main architectural style (e.g., Monolith, Microservices, Serverless, Event-Driven)
88
+ 2. Repository structure decision from PRD (Monorepo/Polyrepo)
89
+ 3. Service architecture decision from PRD
90
+ 4. Primary user interaction flow or data flow at a conceptual level
91
+ 5. Key architectural decisions and their rationale
92
+ - id: project-diagram
93
+ title: High Level Project Diagram
94
+ type: mermaid
95
+ mermaid_type: graph
96
+ instruction: |
97
+ Create a Mermaid diagram that visualizes the high-level architecture. Consider:
98
+ - System boundaries
99
+ - Major components/services
100
+ - Data flow directions
101
+ - External integrations
102
+ - User entry points
103
+
104
+ - id: architectural-patterns
105
+ title: Architectural and Design Patterns
106
+ instruction: |
107
+ List the key high-level patterns that will guide the architecture. For each pattern:
108
+
109
+ 1. Present 2-3 viable options if multiple exist
110
+ 2. Provide your recommendation with clear rationale
111
+ 3. Get user confirmation before finalizing
112
+ 4. These patterns should align with the PRD's technical assumptions and project goals
113
+
114
+ Common patterns to consider:
115
+ - Architectural style patterns (Serverless, Event-Driven, Microservices, CQRS, Hexagonal)
116
+ - Code organization patterns (Dependency Injection, Repository, Module, Factory)
117
+ - Data patterns (Event Sourcing, Saga, Database per Service)
118
+ - Communication patterns (REST, GraphQL, Message Queue, Pub/Sub)
119
+ template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
120
+ examples:
121
+ - "**Serverless Architecture:** Using AWS Lambda for compute - _Rationale:_ Aligns with PRD requirement for cost optimization and automatic scaling"
122
+ - "**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility"
123
+ - "**Event-Driven Communication:** Using SNS/SQS for service decoupling - _Rationale:_ Supports async processing and system resilience"
124
+
125
+ - id: tech-stack
126
+ title: Tech Stack
127
+ instruction: |
128
+ This is the DEFINITIVE technology selection section. Work with the user to make specific choices:
129
+
130
+ 1. Review PRD technical assumptions and any preferences from {root}/data/technical-preferences.yaml or an attached technical-preferences
131
+ 2. For each category, present 2-3 viable options with pros/cons
132
+ 3. Make a clear recommendation based on project needs
133
+ 4. Get explicit user approval for each selection
134
+ 5. Document exact versions (avoid "latest" - pin specific versions)
135
+ 6. This table is the single source of truth - all other docs must reference these choices
136
+
137
+ Key decisions to finalize - before displaying the table, ensure you are aware of or ask the user about - let the user know if they are not sure on any that you can also provide suggestions with rationale:
138
+
139
+ - Starter templates (if any)
140
+ - Languages and runtimes with exact versions
141
+ - Frameworks and libraries / packages
142
+ - Cloud provider and key services choices
143
+ - Database and storage solutions - if unclear suggest sql or nosql or other types depending on the project and depending on cloud provider offer a suggestion
144
+ - Development tools
145
+
146
+ Upon render of the table, ensure the user is aware of the importance of this sections choices, should also look for gaps or disagreements with anything, ask for any clarifications if something is unclear why its in the list, and also right away elicit feedback - this statement and the options should be rendered and then prompt right all before allowing user input.
147
+ elicit: true
148
+ sections:
149
+ - id: cloud-infrastructure
150
+ title: Cloud Infrastructure
151
+ template: |
152
+ - **Provider:** {{cloud_provider}}
153
+ - **Key Services:** {{core_services_list}}
154
+ - **Deployment Regions:** {{regions}}
155
+ - id: technology-stack-table
156
+ title: Technology Stack Table
157
+ type: table
158
+ columns: [Category, Technology, Version, Purpose, Rationale]
159
+ instruction: Populate the technology stack table with all relevant technologies
160
+ examples:
161
+ - "| **Language** | TypeScript | 5.3.3 | Primary development language | Strong typing, excellent tooling, team expertise |"
162
+ - "| **Runtime** | Node.js | 20.11.0 | JavaScript runtime | LTS version, stable performance, wide ecosystem |"
163
+ - "| **Framework** | NestJS | 10.3.2 | Backend framework | Enterprise-ready, good DI, matches team patterns |"
164
+
165
+ - id: data-models
166
+ title: Data Models
167
+ instruction: |
168
+ Define the core data models/entities:
169
+
170
+ 1. Review PRD requirements and identify key business entities
171
+ 2. For each model, explain its purpose and relationships
172
+ 3. Include key attributes and data types
173
+ 4. Show relationships between models
174
+ 5. Discuss design decisions with user
175
+
176
+ Create a clear conceptual model before moving to database schema.
177
+ elicit: true
178
+ repeatable: true
179
+ sections:
180
+ - id: model
181
+ title: "{{model_name}}"
182
+ template: |
183
+ **Purpose:** {{model_purpose}}
184
+
185
+ **Key Attributes:**
186
+ - {{attribute_1}}: {{type_1}} - {{description_1}}
187
+ - {{attribute_2}}: {{type_2}} - {{description_2}}
188
+
189
+ **Relationships:**
190
+ - {{relationship_1}}
191
+ - {{relationship_2}}
192
+
193
+ - id: components
194
+ title: Components
195
+ instruction: |
196
+ Based on the architectural patterns, tech stack, and data models from above:
197
+
198
+ 1. Identify major logical components/services and their responsibilities
199
+ 2. Consider the repository structure (monorepo/polyrepo) from PRD
200
+ 3. Define clear boundaries and interfaces between components
201
+ 4. For each component, specify:
202
+ - Primary responsibility
203
+ - Key interfaces/APIs exposed
204
+ - Dependencies on other components
205
+ - Technology specifics based on tech stack choices
206
+
207
+ 5. Create component diagrams where helpful
208
+ elicit: true
209
+ sections:
210
+ - id: component-list
211
+ repeatable: true
212
+ title: "{{component_name}}"
213
+ template: |
214
+ **Responsibility:** {{component_description}}
215
+
216
+ **Key Interfaces:**
217
+ - {{interface_1}}
218
+ - {{interface_2}}
219
+
220
+ **Dependencies:** {{dependencies}}
221
+
222
+ **Technology Stack:** {{component_tech_details}}
223
+ - id: component-diagrams
224
+ title: Component Diagrams
225
+ type: mermaid
226
+ instruction: |
227
+ Create Mermaid diagrams to visualize component relationships. Options:
228
+ - C4 Container diagram for high-level view
229
+ - Component diagram for detailed internal structure
230
+ - Sequence diagrams for complex interactions
231
+ Choose the most appropriate for clarity
232
+
233
+ - id: external-apis
234
+ title: External APIs
235
+ condition: Project requires external API integrations
236
+ instruction: |
237
+ For each external service integration:
238
+
239
+ 1. Identify APIs needed based on PRD requirements and component design
240
+ 2. If documentation URLs are unknown, ask user for specifics
241
+ 3. Document authentication methods and security considerations
242
+ 4. List specific endpoints that will be used
243
+ 5. Note any rate limits or usage constraints
244
+
245
+ If no external APIs are needed, state this explicitly and skip to next section.
246
+ elicit: true
247
+ repeatable: true
248
+ sections:
249
+ - id: api
250
+ title: "{{api_name}} API"
251
+ template: |
252
+ - **Purpose:** {{api_purpose}}
253
+ - **Documentation:** {{api_docs_url}}
254
+ - **Base URL(s):** {{api_base_url}}
255
+ - **Authentication:** {{auth_method}}
256
+ - **Rate Limits:** {{rate_limits}}
257
+
258
+ **Key Endpoints Used:**
259
+ - `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
260
+
261
+ **Integration Notes:** {{integration_considerations}}
262
+
263
+ - id: core-workflows
264
+ title: Core Workflows
265
+ type: mermaid
266
+ mermaid_type: sequence
267
+ instruction: |
268
+ Illustrate key system workflows using sequence diagrams:
269
+
270
+ 1. Identify critical user journeys from PRD
271
+ 2. Show component interactions including external APIs
272
+ 3. Include error handling paths
273
+ 4. Document async operations
274
+ 5. Create both high-level and detailed diagrams as needed
275
+
276
+ Focus on workflows that clarify architecture decisions or complex interactions.
277
+ elicit: true
278
+
279
+ - id: rest-api-spec
280
+ title: REST API Spec
281
+ condition: Project includes REST API
282
+ type: code
283
+ language: yaml
284
+ instruction: |
285
+ If the project includes a REST API:
286
+
287
+ 1. Create an OpenAPI 3.0 specification
288
+ 2. Include all endpoints from epics/stories
289
+ 3. Define request/response schemas based on data models
290
+ 4. Document authentication requirements
291
+ 5. Include example requests/responses
292
+
293
+ Use YAML format for better readability. If no REST API, skip this section.
294
+ elicit: true
295
+ template: |
296
+ openapi: 3.0.0
297
+ info:
298
+ title: {{api_title}}
299
+ version: {{api_version}}
300
+ description: {{api_description}}
301
+ servers:
302
+ - url: {{server_url}}
303
+ description: {{server_description}}
304
+
305
+ - id: database-schema
306
+ title: Database Schema
307
+ instruction: |
308
+ Transform the conceptual data models into concrete database schemas:
309
+
310
+ 1. Use the database type(s) selected in Tech Stack
311
+ 2. Create schema definitions using appropriate notation
312
+ 3. Include indexes, constraints, and relationships
313
+ 4. Consider performance and scalability
314
+ 5. For NoSQL, show document structures
315
+
316
+ Present schema in format appropriate to database type (SQL DDL, JSON schema, etc.)
317
+ elicit: true
318
+
319
+ - id: source-tree
320
+ title: Source Tree
321
+ type: code
322
+ language: plaintext
323
+ instruction: |
324
+ Create a project folder structure that reflects:
325
+
326
+ 1. The chosen repository structure (monorepo/polyrepo)
327
+ 2. The service architecture (monolith/microservices/serverless)
328
+ 3. The selected tech stack and languages
329
+ 4. Component organization from above
330
+ 5. Best practices for the chosen frameworks
331
+ 6. Clear separation of concerns
332
+
333
+ Adapt the structure based on project needs. For monorepos, show service separation. For serverless, show function organization. Include language-specific conventions.
334
+ elicit: true
335
+ examples:
336
+ - |
337
+ project-root/
338
+ ├── packages/
339
+ │ ├── api/ # Backend API service
340
+ │ ├── web/ # Frontend application
341
+ │ ├── shared/ # Shared utilities/types
342
+ │ └── infrastructure/ # IaC definitions
343
+ ├── scripts/ # Monorepo management scripts
344
+ └── package.json # Root package.json with workspaces
345
+
346
+ - id: infrastructure-deployment
347
+ title: Infrastructure and Deployment
348
+ instruction: |
349
+ Define the deployment architecture and practices:
350
+
351
+ 1. Use IaC tool selected in Tech Stack
352
+ 2. Choose deployment strategy appropriate for the architecture
353
+ 3. Define environments and promotion flow
354
+ 4. Establish rollback procedures
355
+ 5. Consider security, monitoring, and cost optimization
356
+
357
+ Get user input on deployment preferences and CI/CD tool choices.
358
+ elicit: true
359
+ sections:
360
+ - id: infrastructure-as-code
361
+ title: Infrastructure as Code
362
+ template: |
363
+ - **Tool:** {{iac_tool}} {{version}}
364
+ - **Location:** `{{iac_directory}}`
365
+ - **Approach:** {{iac_approach}}
366
+ - id: deployment-strategy
367
+ title: Deployment Strategy
368
+ template: |
369
+ - **Strategy:** {{deployment_strategy}}
370
+ - **CI/CD Platform:** {{cicd_platform}}
371
+ - **Pipeline Configuration:** `{{pipeline_config_location}}`
372
+ - id: environments
373
+ title: Environments
374
+ repeatable: true
375
+ template: "- **{{env_name}}:** {{env_purpose}} - {{env_details}}"
376
+ - id: promotion-flow
377
+ title: Environment Promotion Flow
378
+ type: code
379
+ language: text
380
+ template: "{{promotion_flow_diagram}}"
381
+ - id: rollback-strategy
382
+ title: Rollback Strategy
383
+ template: |
384
+ - **Primary Method:** {{rollback_method}}
385
+ - **Trigger Conditions:** {{rollback_triggers}}
386
+ - **Recovery Time Objective:** {{rto}}
387
+
388
+ - id: error-handling-strategy
389
+ title: Error Handling Strategy
390
+ instruction: |
391
+ Define comprehensive error handling approach:
392
+
393
+ 1. Choose appropriate patterns for the language/framework from Tech Stack
394
+ 2. Define logging standards and tools
395
+ 3. Establish error categories and handling rules
396
+ 4. Consider observability and debugging needs
397
+ 5. Ensure security (no sensitive data in logs)
398
+
399
+ This section guides both AI and human developers in consistent error handling.
400
+ elicit: true
401
+ sections:
402
+ - id: general-approach
403
+ title: General Approach
404
+ template: |
405
+ - **Error Model:** {{error_model}}
406
+ - **Exception Hierarchy:** {{exception_structure}}
407
+ - **Error Propagation:** {{propagation_rules}}
408
+ - id: logging-standards
409
+ title: Logging Standards
410
+ template: |
411
+ - **Library:** {{logging_library}} {{version}}
412
+ - **Format:** {{log_format}}
413
+ - **Levels:** {{log_levels_definition}}
414
+ - **Required Context:**
415
+ - Correlation ID: {{correlation_id_format}}
416
+ - Service Context: {{service_context}}
417
+ - User Context: {{user_context_rules}}
418
+ - id: error-patterns
419
+ title: Error Handling Patterns
420
+ sections:
421
+ - id: external-api-errors
422
+ title: External API Errors
423
+ template: |
424
+ - **Retry Policy:** {{retry_strategy}}
425
+ - **Circuit Breaker:** {{circuit_breaker_config}}
426
+ - **Timeout Configuration:** {{timeout_settings}}
427
+ - **Error Translation:** {{error_mapping_rules}}
428
+ - id: business-logic-errors
429
+ title: Business Logic Errors
430
+ template: |
431
+ - **Custom Exceptions:** {{business_exception_types}}
432
+ - **User-Facing Errors:** {{user_error_format}}
433
+ - **Error Codes:** {{error_code_system}}
434
+ - id: data-consistency
435
+ title: Data Consistency
436
+ template: |
437
+ - **Transaction Strategy:** {{transaction_approach}}
438
+ - **Compensation Logic:** {{compensation_patterns}}
439
+ - **Idempotency:** {{idempotency_approach}}
440
+
441
+ - id: coding-standards
442
+ title: Coding Standards
443
+ instruction: |
444
+ These standards are MANDATORY for AI agents. Work with user to define ONLY the critical rules needed to prevent bad code. Explain that:
445
+
446
+ 1. This section directly controls AI developer behavior
447
+ 2. Keep it minimal - assume AI knows general best practices
448
+ 3. Focus on project-specific conventions and gotchas
449
+ 4. Overly detailed standards bloat context and slow development
450
+ 5. Standards will be extracted to separate file for dev agent use
451
+
452
+ For each standard, get explicit user confirmation it's necessary.
453
+ elicit: true
454
+ sections:
455
+ - id: core-standards
456
+ title: Core Standards
457
+ template: |
458
+ - **Languages & Runtimes:** {{languages_and_versions}}
459
+ - **Style & Linting:** {{linter_config}}
460
+ - **Test Organization:** {{test_file_convention}}
461
+ - id: naming-conventions
462
+ title: Naming Conventions
463
+ type: table
464
+ columns: [Element, Convention, Example]
465
+ instruction: Only include if deviating from language defaults
466
+ - id: critical-rules
467
+ title: Critical Rules
468
+ instruction: |
469
+ List ONLY rules that AI might violate or project-specific requirements. Examples:
470
+ - "Never use console.log in production code - use logger"
471
+ - "All API responses must use ApiResponse wrapper type"
472
+ - "Database queries must use repository pattern, never direct ORM"
473
+
474
+ Avoid obvious rules like "use SOLID principles" or "write clean code"
475
+ repeatable: true
476
+ template: "- **{{rule_name}}:** {{rule_description}}"
477
+ - id: language-specifics
478
+ title: Language-Specific Guidelines
479
+ condition: Critical language-specific rules needed
480
+ instruction: Add ONLY if critical for preventing AI mistakes. Most teams don't need this section.
481
+ sections:
482
+ - id: language-rules
483
+ title: "{{language_name}} Specifics"
484
+ repeatable: true
485
+ template: "- **{{rule_topic}}:** {{rule_detail}}"
486
+
487
+ - id: test-strategy
488
+ title: Test Strategy and Standards
489
+ instruction: |
490
+ Work with user to define comprehensive test strategy:
491
+
492
+ 1. Use test frameworks from Tech Stack
493
+ 2. Decide on TDD vs test-after approach
494
+ 3. Define test organization and naming
495
+ 4. Establish coverage goals
496
+ 5. Determine integration test infrastructure
497
+ 6. Plan for test data and external dependencies
498
+
499
+ Note: Basic info goes in Coding Standards for dev agent. This detailed section is for QA agent and team reference.
500
+ elicit: true
501
+ sections:
502
+ - id: testing-philosophy
503
+ title: Testing Philosophy
504
+ template: |
505
+ - **Approach:** {{test_approach}}
506
+ - **Coverage Goals:** {{coverage_targets}}
507
+ - **Test Pyramid:** {{test_distribution}}
508
+ - id: test-types
509
+ title: Test Types and Organization
510
+ sections:
511
+ - id: unit-tests
512
+ title: Unit Tests
513
+ template: |
514
+ - **Framework:** {{unit_test_framework}} {{version}}
515
+ - **File Convention:** {{unit_test_naming}}
516
+ - **Location:** {{unit_test_location}}
517
+ - **Mocking Library:** {{mocking_library}}
518
+ - **Coverage Requirement:** {{unit_coverage}}
519
+
520
+ **AI Agent Requirements:**
521
+ - Generate tests for all public methods
522
+ - Cover edge cases and error conditions
523
+ - Follow AAA pattern (Arrange, Act, Assert)
524
+ - Mock all external dependencies
525
+ - id: integration-tests
526
+ title: Integration Tests
527
+ template: |
528
+ - **Scope:** {{integration_scope}}
529
+ - **Location:** {{integration_test_location}}
530
+ - **Test Infrastructure:**
531
+ - **{{dependency_name}}:** {{test_approach}} ({{test_tool}})
532
+ examples:
533
+ - "**Database:** In-memory H2 for unit tests, Testcontainers PostgreSQL for integration"
534
+ - "**Message Queue:** Embedded Kafka for tests"
535
+ - "**External APIs:** WireMock for stubbing"
536
+ - id: e2e-tests
537
+ title: End-to-End Tests
538
+ template: |
539
+ - **Framework:** {{e2e_framework}} {{version}}
540
+ - **Scope:** {{e2e_scope}}
541
+ - **Environment:** {{e2e_environment}}
542
+ - **Test Data:** {{e2e_data_strategy}}
543
+ - id: test-data-management
544
+ title: Test Data Management
545
+ template: |
546
+ - **Strategy:** {{test_data_approach}}
547
+ - **Fixtures:** {{fixture_location}}
548
+ - **Factories:** {{factory_pattern}}
549
+ - **Cleanup:** {{cleanup_strategy}}
550
+ - id: continuous-testing
551
+ title: Continuous Testing
552
+ template: |
553
+ - **CI Integration:** {{ci_test_stages}}
554
+ - **Performance Tests:** {{perf_test_approach}}
555
+ - **Security Tests:** {{security_test_approach}}
556
+
557
+ - id: security
558
+ title: Security
559
+ instruction: |
560
+ Define MANDATORY security requirements for AI and human developers:
561
+
562
+ 1. Focus on implementation-specific rules
563
+ 2. Reference security tools from Tech Stack
564
+ 3. Define clear patterns for common scenarios
565
+ 4. These rules directly impact code generation
566
+ 5. Work with user to ensure completeness without redundancy
567
+ elicit: true
568
+ sections:
569
+ - id: input-validation
570
+ title: Input Validation
571
+ template: |
572
+ - **Validation Library:** {{validation_library}}
573
+ - **Validation Location:** {{where_to_validate}}
574
+ - **Required Rules:**
575
+ - All external inputs MUST be validated
576
+ - Validation at API boundary before processing
577
+ - Whitelist approach preferred over blacklist
578
+ - id: auth-authorization
579
+ title: Authentication & Authorization
580
+ template: |
581
+ - **Auth Method:** {{auth_implementation}}
582
+ - **Session Management:** {{session_approach}}
583
+ - **Required Patterns:**
584
+ - {{auth_pattern_1}}
585
+ - {{auth_pattern_2}}
586
+ - id: secrets-management
587
+ title: Secrets Management
588
+ template: |
589
+ - **Development:** {{dev_secrets_approach}}
590
+ - **Production:** {{prod_secrets_service}}
591
+ - **Code Requirements:**
592
+ - NEVER hardcode secrets
593
+ - Access via configuration service only
594
+ - No secrets in logs or error messages
595
+ - id: api-security
596
+ title: API Security
597
+ template: |
598
+ - **Rate Limiting:** {{rate_limit_implementation}}
599
+ - **CORS Policy:** {{cors_configuration}}
600
+ - **Security Headers:** {{required_headers}}
601
+ - **HTTPS Enforcement:** {{https_approach}}
602
+ - id: data-protection
603
+ title: Data Protection
604
+ template: |
605
+ - **Encryption at Rest:** {{encryption_at_rest}}
606
+ - **Encryption in Transit:** {{encryption_in_transit}}
607
+ - **PII Handling:** {{pii_rules}}
608
+ - **Logging Restrictions:** {{what_not_to_log}}
609
+ - id: dependency-security
610
+ title: Dependency Security
611
+ template: |
612
+ - **Scanning Tool:** {{dependency_scanner}}
613
+ - **Update Policy:** {{update_frequency}}
614
+ - **Approval Process:** {{new_dep_process}}
615
+ - id: security-testing
616
+ title: Security Testing
617
+ template: |
618
+ - **SAST Tool:** {{static_analysis}}
619
+ - **DAST Tool:** {{dynamic_analysis}}
620
+ - **Penetration Testing:** {{pentest_schedule}}
621
+
622
+ - id: checklist-results
623
+ title: Checklist Results Report
624
+ instruction: Before running the checklist, offer to output the full architecture document. Once user confirms, execute the architect-checklist and populate results here.
625
+
626
+ - id: next-steps
627
+ title: Next Steps
628
+ instruction: |
629
+ After completing the architecture:
630
+
631
+ 1. If project has UI components:
632
+ - Use "Frontend Architecture Mode"
633
+ - Provide this document as input
634
+
635
+ 2. For all projects:
636
+ - Review with Product Owner
637
+ - Begin story implementation with Dev agent
638
+ - Set up infrastructure with DevOps agent
639
+
640
+ 3. Include specific prompts for next agents if needed
641
+ sections:
642
+ - id: architect-prompt
643
+ title: Architect Prompt
644
+ condition: Project has UI components
645
+ instruction: |
646
+ Create a brief prompt to hand off to Architect for Frontend Architecture creation. Include:
647
+ - Reference to this architecture document
648
+ - Key UI requirements from PRD
649
+ - Any frontend-specific decisions made here
650
+ - Request for detailed frontend architecture