@rdmind/rdmind 0.0.9-alpha.1 → 0.0.9

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 (109) hide show
  1. package/.knowledge/.ext/.bmad-core/agent-teams/team-all.yaml +15 -0
  2. package/.knowledge/.ext/.bmad-core/agent-teams/team-fullstack.yaml +19 -0
  3. package/.knowledge/.ext/.bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
  4. package/.knowledge/.ext/.bmad-core/agent-teams/team-no-ui.yaml +14 -0
  5. package/.knowledge/.ext/.bmad-core/agents/analyst.md +84 -0
  6. package/.knowledge/.ext/.bmad-core/agents/architect.md +85 -0
  7. package/.knowledge/.ext/.bmad-core/agents/bmad-master.md +110 -0
  8. package/.knowledge/.ext/.bmad-core/agents/bmad-orchestrator.md +147 -0
  9. package/.knowledge/.ext/.bmad-core/agents/dev.md +81 -0
  10. package/.knowledge/.ext/.bmad-core/agents/pm.md +84 -0
  11. package/.knowledge/.ext/.bmad-core/agents/po.md +79 -0
  12. package/.knowledge/.ext/.bmad-core/agents/qa.md +90 -0
  13. package/.knowledge/.ext/.bmad-core/agents/ra.md +74 -0
  14. package/.knowledge/.ext/.bmad-core/agents/sm.md +65 -0
  15. package/.knowledge/.ext/.bmad-core/agents/ux-expert.md +69 -0
  16. package/.knowledge/.ext/.bmad-core/checklists/architect-checklist.md +440 -0
  17. package/.knowledge/.ext/.bmad-core/checklists/change-checklist.md +184 -0
  18. package/.knowledge/.ext/.bmad-core/checklists/pm-checklist.md +372 -0
  19. package/.knowledge/.ext/.bmad-core/checklists/po-master-checklist.md +434 -0
  20. package/.knowledge/.ext/.bmad-core/checklists/story-dod-checklist.md +96 -0
  21. package/.knowledge/.ext/.bmad-core/checklists/story-draft-checklist.md +155 -0
  22. package/.knowledge/.ext/.bmad-core/checklists/trd-checklist.md +226 -0
  23. package/.knowledge/.ext/.bmad-core/core-config.yaml +22 -0
  24. package/.knowledge/.ext/.bmad-core/data/bmad-kb.md +809 -0
  25. package/.knowledge/.ext/.bmad-core/data/brainstorming-techniques.md +38 -0
  26. package/.knowledge/.ext/.bmad-core/data/elicitation-methods.md +156 -0
  27. package/.knowledge/.ext/.bmad-core/data/technical-preferences.md +5 -0
  28. package/.knowledge/.ext/.bmad-core/data/test-levels-framework.md +148 -0
  29. package/.knowledge/.ext/.bmad-core/data/test-priorities-matrix.md +174 -0
  30. package/.knowledge/.ext/.bmad-core/enhanced-ide-development-workflow.md +248 -0
  31. package/.knowledge/.ext/.bmad-core/install-manifest.yaml +512 -0
  32. package/.knowledge/.ext/.bmad-core/tasks/advanced-elicitation.md +119 -0
  33. package/.knowledge/.ext/.bmad-core/tasks/analyze-prd.md +123 -0
  34. package/.knowledge/.ext/.bmad-core/tasks/apply-qa-fixes.md +150 -0
  35. package/.knowledge/.ext/.bmad-core/tasks/brownfield-create-epic.md +162 -0
  36. package/.knowledge/.ext/.bmad-core/tasks/brownfield-create-story.md +149 -0
  37. package/.knowledge/.ext/.bmad-core/tasks/correct-course.md +72 -0
  38. package/.knowledge/.ext/.bmad-core/tasks/create-brownfield-story.md +314 -0
  39. package/.knowledge/.ext/.bmad-core/tasks/create-deep-research-prompt.md +280 -0
  40. package/.knowledge/.ext/.bmad-core/tasks/create-doc.md +103 -0
  41. package/.knowledge/.ext/.bmad-core/tasks/create-next-story.md +114 -0
  42. package/.knowledge/.ext/.bmad-core/tasks/document-project.md +345 -0
  43. package/.knowledge/.ext/.bmad-core/tasks/execute-checklist.md +88 -0
  44. package/.knowledge/.ext/.bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
  45. package/.knowledge/.ext/.bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
  46. package/.knowledge/.ext/.bmad-core/tasks/index-docs.md +175 -0
  47. package/.knowledge/.ext/.bmad-core/tasks/kb-mode-interaction.md +77 -0
  48. package/.knowledge/.ext/.bmad-core/tasks/nfr-assess.md +345 -0
  49. package/.knowledge/.ext/.bmad-core/tasks/qa-gate.md +163 -0
  50. package/.knowledge/.ext/.bmad-core/tasks/review-story.md +316 -0
  51. package/.knowledge/.ext/.bmad-core/tasks/risk-profile.md +355 -0
  52. package/.knowledge/.ext/.bmad-core/tasks/shard-doc.md +187 -0
  53. package/.knowledge/.ext/.bmad-core/tasks/test-design.md +176 -0
  54. package/.knowledge/.ext/.bmad-core/tasks/trace-requirements.md +266 -0
  55. package/.knowledge/.ext/.bmad-core/tasks/validate-next-story.md +136 -0
  56. package/.knowledge/.ext/.bmad-core/tasks/validate-trd.md +158 -0
  57. package/.knowledge/.ext/.bmad-core/templates/architecture-tmpl.yaml +651 -0
  58. package/.knowledge/.ext/.bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  59. package/.knowledge/.ext/.bmad-core/templates/brownfield-architecture-tmpl.yaml +478 -0
  60. package/.knowledge/.ext/.bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
  61. package/.knowledge/.ext/.bmad-core/templates/competitor-analysis-tmpl.yaml +349 -0
  62. package/.knowledge/.ext/.bmad-core/templates/front-end-architecture-tmpl.yaml +273 -0
  63. package/.knowledge/.ext/.bmad-core/templates/front-end-spec-tmpl.yaml +360 -0
  64. package/.knowledge/.ext/.bmad-core/templates/fullstack-architecture-tmpl.yaml +947 -0
  65. package/.knowledge/.ext/.bmad-core/templates/market-research-tmpl.yaml +253 -0
  66. package/.knowledge/.ext/.bmad-core/templates/prd-tmpl.yaml +203 -0
  67. package/.knowledge/.ext/.bmad-core/templates/project-brief-tmpl.yaml +222 -0
  68. package/.knowledge/.ext/.bmad-core/templates/qa-gate-tmpl.yaml +103 -0
  69. package/.knowledge/.ext/.bmad-core/templates/story-tmpl.yaml +138 -0
  70. package/.knowledge/.ext/.bmad-core/templates/trd-tmpl.yaml +198 -0
  71. package/.knowledge/.ext/.bmad-core/user-guide.md +530 -0
  72. package/.knowledge/.ext/.bmad-core/utils/bmad-doc-template.md +327 -0
  73. package/.knowledge/.ext/.bmad-core/utils/workflow-management.md +71 -0
  74. package/.knowledge/.ext/.bmad-core/workflows/brownfield-fullstack.yaml +298 -0
  75. package/.knowledge/.ext/.bmad-core/workflows/brownfield-service.yaml +188 -0
  76. package/.knowledge/.ext/.bmad-core/workflows/brownfield-ui.yaml +198 -0
  77. package/.knowledge/.ext/.bmad-core/workflows/greenfield-fullstack.yaml +241 -0
  78. package/.knowledge/.ext/.bmad-core/workflows/greenfield-service.yaml +207 -0
  79. package/.knowledge/.ext/.bmad-core/workflows/greenfield-ui.yaml +236 -0
  80. package/.knowledge/.ext/.bmad-core/working-in-the-brownfield.md +606 -0
  81. package/.knowledge/.ext/coding/ddd-architecture.md +223 -0
  82. package/.knowledge/.ext/coding/java-standards.md +308 -0
  83. package/.knowledge/.ext/coding/mybatis-standards.md +407 -0
  84. package/.knowledge/.ext/coding/sql-standards.md +263 -0
  85. package/.knowledge/.ext/coding/thrift-service.md +292 -0
  86. package/.knowledge/BMAD.md +255 -0
  87. package/.knowledge/coding.md +135 -0
  88. package/dist/package.json +4 -3
  89. package/dist/src/config/extension.js.map +1 -1
  90. package/dist/src/generated/git-commit.d.ts +2 -2
  91. package/dist/src/generated/git-commit.js +2 -2
  92. package/dist/src/generated/git-commit.js.map +1 -1
  93. package/dist/src/services/McpPromptLoader.js +1 -1
  94. package/dist/src/services/McpPromptLoader.js.map +1 -1
  95. package/dist/src/services/prompt-processors/atFileProcessor.js +1 -1
  96. package/dist/src/services/prompt-processors/atFileProcessor.js.map +1 -1
  97. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  98. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  99. package/dist/src/ui/components/Tips.js +1 -1
  100. package/dist/src/ui/components/Tips.js.map +1 -1
  101. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  102. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  103. package/dist/src/ui/components/subagents/create/CreationSummary.js.map +1 -1
  104. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  105. package/dist/src/ui/hooks/usePhraseCycler.js +2 -2
  106. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  107. package/dist/src/utils/installationInfo.test.js.map +1 -1
  108. package/dist/tsconfig.tsbuildinfo +1 -1
  109. package/package.json +4 -3
@@ -0,0 +1,947 @@
1
+ # <!-- Powered by BMAD™ Core -->
2
+ template:
3
+ id: fullstack-architecture-template-v2
4
+ name: Fullstack Architecture Document
5
+ version: 2.0
6
+ output:
7
+ format: markdown
8
+ filename: docs/architecture.md
9
+ title: '{{project_name}} Fullstack Architecture Document'
10
+
11
+ workflow:
12
+ mode: interactive
13
+ elicitation: advanced-elicitation
14
+
15
+ sections:
16
+ - id: introduction
17
+ title: Introduction
18
+ instruction: |
19
+ If available, review any provided relevant documents to gather all relevant context before beginning. At minimum, you should have access to docs/prd.md and docs/front-end-spec.md. Ask the user for any documents you need but cannot locate. This template creates a unified architecture that covers both backend and frontend concerns to guide AI-driven fullstack development.
20
+ elicit: true
21
+ content: |
22
+ This document outlines the complete fullstack architecture for {{project_name}}, including backend systems, frontend implementation, and their integration. It serves as the single source of truth for AI-driven development, ensuring consistency across the entire technology stack.
23
+
24
+ This unified approach combines what would traditionally be separate backend and frontend architecture documents, streamlining the development process for modern fullstack applications where these concerns are increasingly intertwined.
25
+ sections:
26
+ - id: starter-template
27
+ title: Starter Template or Existing Project
28
+ instruction: |
29
+ Before proceeding with architecture design, check if the project is based on any starter templates or existing codebases:
30
+
31
+ 1. Review the PRD and other documents for mentions of:
32
+ - Fullstack starter templates (e.g., T3 Stack, MEAN/MERN starters, Django + React templates)
33
+ - Monorepo templates (e.g., Nx, Turborepo starters)
34
+ - Platform-specific starters (e.g., Vercel templates, AWS Amplify starters)
35
+ - Existing projects being extended or cloned
36
+
37
+ 2. If starter templates or existing projects are mentioned:
38
+ - Ask the user to provide access (links, repos, or files)
39
+ - Analyze to understand pre-configured choices and constraints
40
+ - Note any architectural decisions already made
41
+ - Identify what can be modified vs what must be retained
42
+
43
+ 3. If no starter is mentioned but this is greenfield:
44
+ - Suggest appropriate fullstack starters based on tech preferences
45
+ - Consider platform-specific options (Vercel, AWS, etc.)
46
+ - Let user decide whether to use one
47
+
48
+ 4. Document the decision and any constraints it imposes
49
+
50
+ If none, state "N/A - Greenfield project"
51
+ - id: changelog
52
+ title: Change Log
53
+ type: table
54
+ columns: [Date, Version, Description, Author]
55
+ instruction: Track document versions and changes
56
+
57
+ - id: high-level-architecture
58
+ title: High Level Architecture
59
+ instruction: This section contains multiple subsections that establish the foundation. Present all subsections together, then elicit feedback on the complete section.
60
+ elicit: true
61
+ sections:
62
+ - id: technical-summary
63
+ title: Technical Summary
64
+ instruction: |
65
+ Provide a comprehensive overview (4-6 sentences) covering:
66
+ - Overall architectural style and deployment approach
67
+ - Frontend framework and backend technology choices
68
+ - Key integration points between frontend and backend
69
+ - Infrastructure platform and services
70
+ - How this architecture achieves PRD goals
71
+ - id: platform-infrastructure
72
+ title: Platform and Infrastructure Choice
73
+ instruction: |
74
+ Based on PRD requirements and technical assumptions, make a platform recommendation:
75
+
76
+ 1. Consider common patterns (not an exhaustive list, use your own best judgement and search the web as needed for emerging trends):
77
+ - **Vercel + Supabase**: For rapid development with Next.js, built-in auth/storage
78
+ - **AWS Full Stack**: For enterprise scale with Lambda, API Gateway, S3, Cognito
79
+ - **Azure**: For .NET ecosystems or enterprise Microsoft environments
80
+ - **Google Cloud**: For ML/AI heavy applications or Google ecosystem integration
81
+
82
+ 2. Present 2-3 viable options with clear pros/cons
83
+ 3. Make a recommendation with rationale
84
+ 4. Get explicit user confirmation
85
+
86
+ Document the choice and key services that will be used.
87
+ template: |
88
+ **Platform:** {{selected_platform}}
89
+ **Key Services:** {{core_services_list}}
90
+ **Deployment Host and Regions:** {{regions}}
91
+ - id: repository-structure
92
+ title: Repository Structure
93
+ instruction: |
94
+ Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask questions to the user if unsure:
95
+
96
+ 1. For modern fullstack apps, monorepo is often preferred
97
+ 2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
98
+ 3. Define package/app boundaries
99
+ 4. Plan for shared code between frontend and backend
100
+ template: |
101
+ **Structure:** {{repo_structure_choice}}
102
+ **Monorepo Tool:** {{monorepo_tool_if_applicable}}
103
+ **Package Organization:** {{package_strategy}}
104
+ - id: architecture-diagram
105
+ title: High Level Architecture Diagram
106
+ type: mermaid
107
+ mermaid_type: graph
108
+ instruction: |
109
+ Create a Mermaid diagram showing the complete system architecture including:
110
+ - User entry points (web, mobile)
111
+ - Frontend application deployment
112
+ - API layer (REST/GraphQL)
113
+ - Backend services
114
+ - Databases and storage
115
+ - External integrations
116
+ - CDN and caching layers
117
+
118
+ Use appropriate diagram type for clarity.
119
+ - id: architectural-patterns
120
+ title: Architectural Patterns
121
+ instruction: |
122
+ List patterns that will guide both frontend and backend development. Include patterns for:
123
+ - Overall architecture (e.g., Jamstack, Serverless, Microservices)
124
+ - Frontend patterns (e.g., Component-based, State management)
125
+ - Backend patterns (e.g., Repository, CQRS, Event-driven)
126
+ - Integration patterns (e.g., BFF, API Gateway)
127
+
128
+ For each pattern, provide recommendation and rationale.
129
+ repeatable: true
130
+ template: '- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}'
131
+ examples:
132
+ - '**Jamstack Architecture:** Static site generation with serverless APIs - _Rationale:_ Optimal performance and scalability for content-heavy applications'
133
+ - '**Component-Based UI:** Reusable React components with TypeScript - _Rationale:_ Maintainability and type safety across large codebases'
134
+ - '**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility'
135
+ - '**API Gateway Pattern:** Single entry point for all API calls - _Rationale:_ Centralized auth, rate limiting, and monitoring'
136
+
137
+ - id: tech-stack
138
+ title: Tech Stack
139
+ instruction: |
140
+ This is the DEFINITIVE technology selection for the entire project. Work with user to finalize all choices. This table is the single source of truth - all development must use these exact versions.
141
+
142
+ Key areas to cover:
143
+ - Frontend and backend languages/frameworks
144
+ - Databases and caching
145
+ - Authentication and authorization
146
+ - API approach
147
+ - Testing tools for both frontend and backend
148
+ - Build and deployment tools
149
+ - Monitoring and logging
150
+
151
+ Upon render, elicit feedback immediately.
152
+ elicit: true
153
+ sections:
154
+ - id: tech-stack-table
155
+ title: Technology Stack Table
156
+ type: table
157
+ columns: [Category, Technology, Version, Purpose, Rationale]
158
+ rows:
159
+ - [
160
+ 'Frontend Language',
161
+ '{{fe_language}}',
162
+ '{{version}}',
163
+ '{{purpose}}',
164
+ '{{why_chosen}}',
165
+ ]
166
+ - [
167
+ 'Frontend Framework',
168
+ '{{fe_framework}}',
169
+ '{{version}}',
170
+ '{{purpose}}',
171
+ '{{why_chosen}}',
172
+ ]
173
+ - [
174
+ 'UI Component Library',
175
+ '{{ui_library}}',
176
+ '{{version}}',
177
+ '{{purpose}}',
178
+ '{{why_chosen}}',
179
+ ]
180
+ - [
181
+ 'State Management',
182
+ '{{state_mgmt}}',
183
+ '{{version}}',
184
+ '{{purpose}}',
185
+ '{{why_chosen}}',
186
+ ]
187
+ - [
188
+ 'Backend Language',
189
+ '{{be_language}}',
190
+ '{{version}}',
191
+ '{{purpose}}',
192
+ '{{why_chosen}}',
193
+ ]
194
+ - [
195
+ 'Backend Framework',
196
+ '{{be_framework}}',
197
+ '{{version}}',
198
+ '{{purpose}}',
199
+ '{{why_chosen}}',
200
+ ]
201
+ - [
202
+ 'API Style',
203
+ '{{api_style}}',
204
+ '{{version}}',
205
+ '{{purpose}}',
206
+ '{{why_chosen}}',
207
+ ]
208
+ - [
209
+ 'Database',
210
+ '{{database}}',
211
+ '{{version}}',
212
+ '{{purpose}}',
213
+ '{{why_chosen}}',
214
+ ]
215
+ - [
216
+ 'Cache',
217
+ '{{cache}}',
218
+ '{{version}}',
219
+ '{{purpose}}',
220
+ '{{why_chosen}}',
221
+ ]
222
+ - [
223
+ 'File Storage',
224
+ '{{storage}}',
225
+ '{{version}}',
226
+ '{{purpose}}',
227
+ '{{why_chosen}}',
228
+ ]
229
+ - [
230
+ 'Authentication',
231
+ '{{auth}}',
232
+ '{{version}}',
233
+ '{{purpose}}',
234
+ '{{why_chosen}}',
235
+ ]
236
+ - [
237
+ 'Frontend Testing',
238
+ '{{fe_test}}',
239
+ '{{version}}',
240
+ '{{purpose}}',
241
+ '{{why_chosen}}',
242
+ ]
243
+ - [
244
+ 'Backend Testing',
245
+ '{{be_test}}',
246
+ '{{version}}',
247
+ '{{purpose}}',
248
+ '{{why_chosen}}',
249
+ ]
250
+ - [
251
+ 'E2E Testing',
252
+ '{{e2e_test}}',
253
+ '{{version}}',
254
+ '{{purpose}}',
255
+ '{{why_chosen}}',
256
+ ]
257
+ - [
258
+ 'Build Tool',
259
+ '{{build_tool}}',
260
+ '{{version}}',
261
+ '{{purpose}}',
262
+ '{{why_chosen}}',
263
+ ]
264
+ - [
265
+ 'Bundler',
266
+ '{{bundler}}',
267
+ '{{version}}',
268
+ '{{purpose}}',
269
+ '{{why_chosen}}',
270
+ ]
271
+ - [
272
+ 'IaC Tool',
273
+ '{{iac_tool}}',
274
+ '{{version}}',
275
+ '{{purpose}}',
276
+ '{{why_chosen}}',
277
+ ]
278
+ - [
279
+ 'CI/CD',
280
+ '{{cicd}}',
281
+ '{{version}}',
282
+ '{{purpose}}',
283
+ '{{why_chosen}}',
284
+ ]
285
+ - [
286
+ 'Monitoring',
287
+ '{{monitoring}}',
288
+ '{{version}}',
289
+ '{{purpose}}',
290
+ '{{why_chosen}}',
291
+ ]
292
+ - [
293
+ 'Logging',
294
+ '{{logging}}',
295
+ '{{version}}',
296
+ '{{purpose}}',
297
+ '{{why_chosen}}',
298
+ ]
299
+ - [
300
+ 'CSS Framework',
301
+ '{{css_framework}}',
302
+ '{{version}}',
303
+ '{{purpose}}',
304
+ '{{why_chosen}}',
305
+ ]
306
+
307
+ - id: data-models
308
+ title: Data Models
309
+ instruction: |
310
+ Define the core data models/entities that will be shared between frontend and backend:
311
+
312
+ 1. Review PRD requirements and identify key business entities
313
+ 2. For each model, explain its purpose and relationships
314
+ 3. Include key attributes and data types
315
+ 4. Show relationships between models
316
+ 5. Create TypeScript interfaces that can be shared
317
+ 6. Discuss design decisions with user
318
+
319
+ Create a clear conceptual model before moving to database schema.
320
+ elicit: true
321
+ repeatable: true
322
+ sections:
323
+ - id: model
324
+ title: '{{model_name}}'
325
+ template: |
326
+ **Purpose:** {{model_purpose}}
327
+
328
+ **Key Attributes:**
329
+ - {{attribute_1}}: {{type_1}} - {{description_1}}
330
+ - {{attribute_2}}: {{type_2}} - {{description_2}}
331
+ sections:
332
+ - id: typescript-interface
333
+ title: TypeScript Interface
334
+ type: code
335
+ language: typescript
336
+ template: '{{model_interface}}'
337
+ - id: relationships
338
+ title: Relationships
339
+ type: bullet-list
340
+ template: '- {{relationship}}'
341
+
342
+ - id: api-spec
343
+ title: API Specification
344
+ instruction: |
345
+ Based on the chosen API style from Tech Stack:
346
+
347
+ 1. If REST API, create an OpenAPI 3.0 specification
348
+ 2. If GraphQL, provide the GraphQL schema
349
+ 3. If tRPC, show router definitions
350
+ 4. Include all endpoints from epics/stories
351
+ 5. Define request/response schemas based on data models
352
+ 6. Document authentication requirements
353
+ 7. Include example requests/responses
354
+
355
+ Use appropriate format for the chosen API style. If no API (e.g., static site), skip this section.
356
+ elicit: true
357
+ sections:
358
+ - id: rest-api
359
+ title: REST API Specification
360
+ condition: API style is REST
361
+ type: code
362
+ language: yaml
363
+ template: |
364
+ openapi: 3.0.0
365
+ info:
366
+ title: {{api_title}}
367
+ version: {{api_version}}
368
+ description: {{api_description}}
369
+ servers:
370
+ - url: {{server_url}}
371
+ description: {{server_description}}
372
+ - id: graphql-api
373
+ title: GraphQL Schema
374
+ condition: API style is GraphQL
375
+ type: code
376
+ language: graphql
377
+ template: '{{graphql_schema}}'
378
+ - id: trpc-api
379
+ title: tRPC Router Definitions
380
+ condition: API style is tRPC
381
+ type: code
382
+ language: typescript
383
+ template: '{{trpc_routers}}'
384
+
385
+ - id: components
386
+ title: Components
387
+ instruction: |
388
+ Based on the architectural patterns, tech stack, and data models from above:
389
+
390
+ 1. Identify major logical components/services across the fullstack
391
+ 2. Consider both frontend and backend components
392
+ 3. Define clear boundaries and interfaces between components
393
+ 4. For each component, specify:
394
+ - Primary responsibility
395
+ - Key interfaces/APIs exposed
396
+ - Dependencies on other components
397
+ - Technology specifics based on tech stack choices
398
+
399
+ 5. Create component diagrams where helpful
400
+ elicit: true
401
+ sections:
402
+ - id: component-list
403
+ repeatable: true
404
+ title: '{{component_name}}'
405
+ template: |
406
+ **Responsibility:** {{component_description}}
407
+
408
+ **Key Interfaces:**
409
+ - {{interface_1}}
410
+ - {{interface_2}}
411
+
412
+ **Dependencies:** {{dependencies}}
413
+
414
+ **Technology Stack:** {{component_tech_details}}
415
+ - id: component-diagrams
416
+ title: Component Diagrams
417
+ type: mermaid
418
+ instruction: |
419
+ Create Mermaid diagrams to visualize component relationships. Options:
420
+ - C4 Container diagram for high-level view
421
+ - Component diagram for detailed internal structure
422
+ - Sequence diagrams for complex interactions
423
+ Choose the most appropriate for clarity
424
+
425
+ - id: external-apis
426
+ title: External APIs
427
+ condition: Project requires external API integrations
428
+ instruction: |
429
+ For each external service integration:
430
+
431
+ 1. Identify APIs needed based on PRD requirements and component design
432
+ 2. If documentation URLs are unknown, ask user for specifics
433
+ 3. Document authentication methods and security considerations
434
+ 4. List specific endpoints that will be used
435
+ 5. Note any rate limits or usage constraints
436
+
437
+ If no external APIs are needed, state this explicitly and skip to next section.
438
+ elicit: true
439
+ repeatable: true
440
+ sections:
441
+ - id: api
442
+ title: '{{api_name}} API'
443
+ template: |
444
+ - **Purpose:** {{api_purpose}}
445
+ - **Documentation:** {{api_docs_url}}
446
+ - **Base URL(s):** {{api_base_url}}
447
+ - **Authentication:** {{auth_method}}
448
+ - **Rate Limits:** {{rate_limits}}
449
+
450
+ **Key Endpoints Used:**
451
+ - `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
452
+
453
+ **Integration Notes:** {{integration_considerations}}
454
+
455
+ - id: core-workflows
456
+ title: Core Workflows
457
+ type: mermaid
458
+ mermaid_type: sequence
459
+ instruction: |
460
+ Illustrate key system workflows using sequence diagrams:
461
+
462
+ 1. Identify critical user journeys from PRD
463
+ 2. Show component interactions including external APIs
464
+ 3. Include both frontend and backend flows
465
+ 4. Include error handling paths
466
+ 5. Document async operations
467
+ 6. Create both high-level and detailed diagrams as needed
468
+
469
+ Focus on workflows that clarify architecture decisions or complex interactions.
470
+ elicit: true
471
+
472
+ - id: database-schema
473
+ title: Database Schema
474
+ instruction: |
475
+ Transform the conceptual data models into concrete database schemas:
476
+
477
+ 1. Use the database type(s) selected in Tech Stack
478
+ 2. Create schema definitions using appropriate notation
479
+ 3. Include indexes, constraints, and relationships
480
+ 4. Consider performance and scalability
481
+ 5. For NoSQL, show document structures
482
+
483
+ Present schema in format appropriate to database type (SQL DDL, JSON schema, etc.)
484
+ elicit: true
485
+
486
+ - id: frontend-architecture
487
+ title: Frontend Architecture
488
+ instruction: Define frontend-specific architecture details. After each subsection, note if user wants to refine before continuing.
489
+ elicit: true
490
+ sections:
491
+ - id: component-architecture
492
+ title: Component Architecture
493
+ instruction: Define component organization and patterns based on chosen framework.
494
+ sections:
495
+ - id: component-organization
496
+ title: Component Organization
497
+ type: code
498
+ language: text
499
+ template: '{{component_structure}}'
500
+ - id: component-template
501
+ title: Component Template
502
+ type: code
503
+ language: typescript
504
+ template: '{{component_template}}'
505
+ - id: state-management
506
+ title: State Management Architecture
507
+ instruction: Detail state management approach based on chosen solution.
508
+ sections:
509
+ - id: state-structure
510
+ title: State Structure
511
+ type: code
512
+ language: typescript
513
+ template: '{{state_structure}}'
514
+ - id: state-patterns
515
+ title: State Management Patterns
516
+ type: bullet-list
517
+ template: '- {{pattern}}'
518
+ - id: routing-architecture
519
+ title: Routing Architecture
520
+ instruction: Define routing structure based on framework choice.
521
+ sections:
522
+ - id: route-organization
523
+ title: Route Organization
524
+ type: code
525
+ language: text
526
+ template: '{{route_structure}}'
527
+ - id: protected-routes
528
+ title: Protected Route Pattern
529
+ type: code
530
+ language: typescript
531
+ template: '{{protected_route_example}}'
532
+ - id: frontend-services
533
+ title: Frontend Services Layer
534
+ instruction: Define how frontend communicates with backend.
535
+ sections:
536
+ - id: api-client-setup
537
+ title: API Client Setup
538
+ type: code
539
+ language: typescript
540
+ template: '{{api_client_setup}}'
541
+ - id: service-example
542
+ title: Service Example
543
+ type: code
544
+ language: typescript
545
+ template: '{{service_example}}'
546
+
547
+ - id: backend-architecture
548
+ title: Backend Architecture
549
+ instruction: Define backend-specific architecture details. Consider serverless vs traditional server approaches.
550
+ elicit: true
551
+ sections:
552
+ - id: service-architecture
553
+ title: Service Architecture
554
+ instruction: Based on platform choice, define service organization.
555
+ sections:
556
+ - id: serverless-architecture
557
+ condition: Serverless architecture chosen
558
+ sections:
559
+ - id: function-organization
560
+ title: Function Organization
561
+ type: code
562
+ language: text
563
+ template: '{{function_structure}}'
564
+ - id: function-template
565
+ title: Function Template
566
+ type: code
567
+ language: typescript
568
+ template: '{{function_template}}'
569
+ - id: traditional-server
570
+ condition: Traditional server architecture chosen
571
+ sections:
572
+ - id: controller-organization
573
+ title: Controller/Route Organization
574
+ type: code
575
+ language: text
576
+ template: '{{controller_structure}}'
577
+ - id: controller-template
578
+ title: Controller Template
579
+ type: code
580
+ language: typescript
581
+ template: '{{controller_template}}'
582
+ - id: database-architecture
583
+ title: Database Architecture
584
+ instruction: Define database schema and access patterns.
585
+ sections:
586
+ - id: schema-design
587
+ title: Schema Design
588
+ type: code
589
+ language: sql
590
+ template: '{{database_schema}}'
591
+ - id: data-access-layer
592
+ title: Data Access Layer
593
+ type: code
594
+ language: typescript
595
+ template: '{{repository_pattern}}'
596
+ - id: auth-architecture
597
+ title: Authentication and Authorization
598
+ instruction: Define auth implementation details.
599
+ sections:
600
+ - id: auth-flow
601
+ title: Auth Flow
602
+ type: mermaid
603
+ mermaid_type: sequence
604
+ template: '{{auth_flow_diagram}}'
605
+ - id: auth-middleware
606
+ title: Middleware/Guards
607
+ type: code
608
+ language: typescript
609
+ template: '{{auth_middleware}}'
610
+
611
+ - id: unified-project-structure
612
+ title: Unified Project Structure
613
+ instruction: Create a monorepo structure that accommodates both frontend and backend. Adapt based on chosen tools and frameworks.
614
+ elicit: true
615
+ type: code
616
+ language: plaintext
617
+ examples:
618
+ - |
619
+ {{project-name}}/
620
+ ├── .github/ # CI/CD workflows
621
+ │ └── workflows/
622
+ │ ├── ci.yaml
623
+ │ └── deploy.yaml
624
+ ├── apps/ # Application packages
625
+ │ ├── web/ # Frontend application
626
+ │ │ ├── src/
627
+ │ │ │ ├── components/ # UI components
628
+ │ │ │ ├── pages/ # Page components/routes
629
+ │ │ │ ├── hooks/ # Custom React hooks
630
+ │ │ │ ├── services/ # API client services
631
+ │ │ │ ├── stores/ # State management
632
+ │ │ │ ├── styles/ # Global styles/themes
633
+ │ │ │ └── utils/ # Frontend utilities
634
+ │ │ ├── public/ # Static assets
635
+ │ │ ├── tests/ # Frontend tests
636
+ │ │ └── package.json
637
+ │ └── api/ # Backend application
638
+ │ ├── src/
639
+ │ │ ├── routes/ # API routes/controllers
640
+ │ │ ├── services/ # Business logic
641
+ │ │ ├── models/ # Data models
642
+ │ │ ├── middleware/ # Express/API middleware
643
+ │ │ ├── utils/ # Backend utilities
644
+ │ │ └── {{serverless_or_server_entry}}
645
+ │ ├── tests/ # Backend tests
646
+ │ └── package.json
647
+ ├── packages/ # Shared packages
648
+ │ ├── shared/ # Shared types/utilities
649
+ │ │ ├── src/
650
+ │ │ │ ├── types/ # TypeScript interfaces
651
+ │ │ │ ├── constants/ # Shared constants
652
+ │ │ │ └── utils/ # Shared utilities
653
+ │ │ └── package.json
654
+ │ ├── ui/ # Shared UI components
655
+ │ │ ├── src/
656
+ │ │ └── package.json
657
+ │ └── config/ # Shared configuration
658
+ │ ├── eslint/
659
+ │ ├── typescript/
660
+ │ └── jest/
661
+ ├── infrastructure/ # IaC definitions
662
+ │ └── {{iac_structure}}
663
+ ├── scripts/ # Build/deploy scripts
664
+ ├── docs/ # Documentation
665
+ │ ├── prd.md
666
+ │ ├── front-end-spec.md
667
+ │ └── fullstack-architecture.md
668
+ ├── .env.example # Environment template
669
+ ├── package.json # Root package.json
670
+ ├── {{monorepo_config}} # Monorepo configuration
671
+ └── README.md
672
+
673
+ - id: development-workflow
674
+ title: Development Workflow
675
+ instruction: Define the development setup and workflow for the fullstack application.
676
+ elicit: true
677
+ sections:
678
+ - id: local-setup
679
+ title: Local Development Setup
680
+ sections:
681
+ - id: prerequisites
682
+ title: Prerequisites
683
+ type: code
684
+ language: bash
685
+ template: '{{prerequisites_commands}}'
686
+ - id: initial-setup
687
+ title: Initial Setup
688
+ type: code
689
+ language: bash
690
+ template: '{{setup_commands}}'
691
+ - id: dev-commands
692
+ title: Development Commands
693
+ type: code
694
+ language: bash
695
+ template: |
696
+ # Start all services
697
+ {{start_all_command}}
698
+
699
+ # Start frontend only
700
+ {{start_frontend_command}}
701
+
702
+ # Start backend only
703
+ {{start_backend_command}}
704
+
705
+ # Run tests
706
+ {{test_commands}}
707
+ - id: environment-config
708
+ title: Environment Configuration
709
+ sections:
710
+ - id: env-vars
711
+ title: Required Environment Variables
712
+ type: code
713
+ language: bash
714
+ template: |
715
+ # Frontend (.env.local)
716
+ {{frontend_env_vars}}
717
+
718
+ # Backend (.env)
719
+ {{backend_env_vars}}
720
+
721
+ # Shared
722
+ {{shared_env_vars}}
723
+
724
+ - id: deployment-architecture
725
+ title: Deployment Architecture
726
+ instruction: Define deployment strategy based on platform choice.
727
+ elicit: true
728
+ sections:
729
+ - id: deployment-strategy
730
+ title: Deployment Strategy
731
+ template: |
732
+ **Frontend Deployment:**
733
+ - **Platform:** {{frontend_deploy_platform}}
734
+ - **Build Command:** {{frontend_build_command}}
735
+ - **Output Directory:** {{frontend_output_dir}}
736
+ - **CDN/Edge:** {{cdn_strategy}}
737
+
738
+ **Backend Deployment:**
739
+ - **Platform:** {{backend_deploy_platform}}
740
+ - **Build Command:** {{backend_build_command}}
741
+ - **Deployment Method:** {{deployment_method}}
742
+ - id: cicd-pipeline
743
+ title: CI/CD Pipeline
744
+ type: code
745
+ language: yaml
746
+ template: '{{cicd_pipeline_config}}'
747
+ - id: environments
748
+ title: Environments
749
+ type: table
750
+ columns: [Environment, Frontend URL, Backend URL, Purpose]
751
+ rows:
752
+ - [
753
+ 'Development',
754
+ '{{dev_fe_url}}',
755
+ '{{dev_be_url}}',
756
+ 'Local development',
757
+ ]
758
+ - [
759
+ 'Staging',
760
+ '{{staging_fe_url}}',
761
+ '{{staging_be_url}}',
762
+ 'Pre-production testing',
763
+ ]
764
+ - [
765
+ 'Production',
766
+ '{{prod_fe_url}}',
767
+ '{{prod_be_url}}',
768
+ 'Live environment',
769
+ ]
770
+
771
+ - id: security-performance
772
+ title: Security and Performance
773
+ instruction: Define security and performance considerations for the fullstack application.
774
+ elicit: true
775
+ sections:
776
+ - id: security-requirements
777
+ title: Security Requirements
778
+ template: |
779
+ **Frontend Security:**
780
+ - CSP Headers: {{csp_policy}}
781
+ - XSS Prevention: {{xss_strategy}}
782
+ - Secure Storage: {{storage_strategy}}
783
+
784
+ **Backend Security:**
785
+ - Input Validation: {{validation_approach}}
786
+ - Rate Limiting: {{rate_limit_config}}
787
+ - CORS Policy: {{cors_config}}
788
+
789
+ **Authentication Security:**
790
+ - Token Storage: {{token_strategy}}
791
+ - Session Management: {{session_approach}}
792
+ - Password Policy: {{password_requirements}}
793
+ - id: performance-optimization
794
+ title: Performance Optimization
795
+ template: |
796
+ **Frontend Performance:**
797
+ - Bundle Size Target: {{bundle_size}}
798
+ - Loading Strategy: {{loading_approach}}
799
+ - Caching Strategy: {{fe_cache_strategy}}
800
+
801
+ **Backend Performance:**
802
+ - Response Time Target: {{response_target}}
803
+ - Database Optimization: {{db_optimization}}
804
+ - Caching Strategy: {{be_cache_strategy}}
805
+
806
+ - id: testing-strategy
807
+ title: Testing Strategy
808
+ instruction: Define comprehensive testing approach for fullstack application.
809
+ elicit: true
810
+ sections:
811
+ - id: testing-pyramid
812
+ title: Testing Pyramid
813
+ type: code
814
+ language: text
815
+ template: |
816
+ E2E Tests
817
+ / \
818
+ Integration Tests
819
+ / \
820
+ Frontend Unit Backend Unit
821
+ - id: test-organization
822
+ title: Test Organization
823
+ sections:
824
+ - id: frontend-tests
825
+ title: Frontend Tests
826
+ type: code
827
+ language: text
828
+ template: '{{frontend_test_structure}}'
829
+ - id: backend-tests
830
+ title: Backend Tests
831
+ type: code
832
+ language: text
833
+ template: '{{backend_test_structure}}'
834
+ - id: e2e-tests
835
+ title: E2E Tests
836
+ type: code
837
+ language: text
838
+ template: '{{e2e_test_structure}}'
839
+ - id: test-examples
840
+ title: Test Examples
841
+ sections:
842
+ - id: frontend-test
843
+ title: Frontend Component Test
844
+ type: code
845
+ language: typescript
846
+ template: '{{frontend_test_example}}'
847
+ - id: backend-test
848
+ title: Backend API Test
849
+ type: code
850
+ language: typescript
851
+ template: '{{backend_test_example}}'
852
+ - id: e2e-test
853
+ title: E2E Test
854
+ type: code
855
+ language: typescript
856
+ template: '{{e2e_test_example}}'
857
+
858
+ - id: coding-standards
859
+ title: Coding Standards
860
+ instruction: Define MINIMAL but CRITICAL standards for AI agents. Focus only on project-specific rules that prevent common mistakes. These will be used by dev agents.
861
+ elicit: true
862
+ sections:
863
+ - id: critical-rules
864
+ title: Critical Fullstack Rules
865
+ repeatable: true
866
+ template: '- **{{rule_name}}:** {{rule_description}}'
867
+ examples:
868
+ - '**Type Sharing:** Always define types in packages/shared and import from there'
869
+ - '**API Calls:** Never make direct HTTP calls - use the service layer'
870
+ - '**Environment Variables:** Access only through config objects, never process.env directly'
871
+ - '**Error Handling:** All API routes must use the standard error handler'
872
+ - '**State Updates:** Never mutate state directly - use proper state management patterns'
873
+ - id: naming-conventions
874
+ title: Naming Conventions
875
+ type: table
876
+ columns: [Element, Frontend, Backend, Example]
877
+ rows:
878
+ - ['Components', 'PascalCase', '-', '`UserProfile.tsx`']
879
+ - ['Hooks', "camelCase with 'use'", '-', '`useAuth.ts`']
880
+ - ['API Routes', '-', 'kebab-case', '`/api/user-profile`']
881
+ - ['Database Tables', '-', 'snake_case', '`user_profiles`']
882
+
883
+ - id: error-handling
884
+ title: Error Handling Strategy
885
+ instruction: Define unified error handling across frontend and backend.
886
+ elicit: true
887
+ sections:
888
+ - id: error-flow
889
+ title: Error Flow
890
+ type: mermaid
891
+ mermaid_type: sequence
892
+ template: '{{error_flow_diagram}}'
893
+ - id: error-format
894
+ title: Error Response Format
895
+ type: code
896
+ language: typescript
897
+ template: |
898
+ interface ApiError {
899
+ error: {
900
+ code: string;
901
+ message: string;
902
+ details?: Record<string, any>;
903
+ timestamp: string;
904
+ requestId: string;
905
+ };
906
+ }
907
+ - id: frontend-error-handling
908
+ title: Frontend Error Handling
909
+ type: code
910
+ language: typescript
911
+ template: '{{frontend_error_handler}}'
912
+ - id: backend-error-handling
913
+ title: Backend Error Handling
914
+ type: code
915
+ language: typescript
916
+ template: '{{backend_error_handler}}'
917
+
918
+ - id: monitoring
919
+ title: Monitoring and Observability
920
+ instruction: Define monitoring strategy for fullstack application.
921
+ elicit: true
922
+ sections:
923
+ - id: monitoring-stack
924
+ title: Monitoring Stack
925
+ template: |
926
+ - **Frontend Monitoring:** {{frontend_monitoring}}
927
+ - **Backend Monitoring:** {{backend_monitoring}}
928
+ - **Error Tracking:** {{error_tracking}}
929
+ - **Performance Monitoring:** {{perf_monitoring}}
930
+ - id: key-metrics
931
+ title: Key Metrics
932
+ template: |
933
+ **Frontend Metrics:**
934
+ - Core Web Vitals
935
+ - JavaScript errors
936
+ - API response times
937
+ - User interactions
938
+
939
+ **Backend Metrics:**
940
+ - Request rate
941
+ - Error rate
942
+ - Response time
943
+ - Database query performance
944
+
945
+ - id: checklist-results
946
+ title: Checklist Results Report
947
+ instruction: Before running the checklist, offer to output the full architecture document. Once user confirms, execute the architect-checklist and populate results here.