bmad-method 4.2.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.bmad-core/agents/analyst.md +14 -20
  2. package/.bmad-core/agents/architect.md +15 -20
  3. package/.bmad-core/agents/bmad-master.md +18 -26
  4. package/.bmad-core/agents/bmad-orchestrator.md +16 -28
  5. package/.bmad-core/agents/dev.md +5 -4
  6. package/.bmad-core/agents/pm.md +11 -16
  7. package/.bmad-core/agents/sm.md +20 -25
  8. package/.bmad-core/bmad-core-config.yml +60 -0
  9. package/.bmad-core/data/bmad-kb.md +12 -1
  10. package/.bmad-core/tasks/doc-migration-task.md +91 -146
  11. package/.bmad-core/tasks/document-project.md +389 -0
  12. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +41 -48
  13. package/.bmad-core/tasks/index-docs.md +8 -3
  14. package/.bmad-core/templates/architecture-tmpl.md +15 -12
  15. package/.bmad-core/templates/fullstack-architecture-tmpl.md +85 -103
  16. package/.bmad-core/templates/prd-tmpl.md +1 -1
  17. package/.bmad-core/templates/simple-project-prd-tmpl.md +461 -0
  18. package/.bmad-core/templates/story-tmpl.md +2 -2
  19. package/.bmad-core/utils/workflow-management.md +14 -15
  20. package/.bmad-core/web-bundles/agents/analyst.txt +26 -21
  21. package/.bmad-core/web-bundles/agents/architect.txt +605 -233
  22. package/.bmad-core/web-bundles/agents/bmad-master.txt +457 -1039
  23. package/.bmad-core/web-bundles/agents/bmad-orchestrator.txt +36 -903
  24. package/.bmad-core/web-bundles/agents/dev.txt +5 -4
  25. package/.bmad-core/web-bundles/agents/pm.txt +476 -17
  26. package/.bmad-core/web-bundles/agents/po.txt +2 -2
  27. package/.bmad-core/web-bundles/agents/sm.txt +22 -27
  28. package/.bmad-core/web-bundles/agents/ux-expert.txt +41 -48
  29. package/.bmad-core/web-bundles/teams/team-all.txt +4394 -4447
  30. package/.bmad-core/web-bundles/teams/team-fullstack.txt +2760 -2809
  31. package/.bmad-core/web-bundles/teams/team-no-ui.txt +2718 -2760
  32. package/.bmad-core/workflows/greenfield-fullstack.yml +3 -3
  33. package/.claude/commands/analyst.md +14 -20
  34. package/.claude/commands/architect.md +15 -20
  35. package/.claude/commands/bmad-master.md +18 -26
  36. package/.claude/commands/bmad-orchestrator.md +16 -28
  37. package/.claude/commands/dev.md +5 -4
  38. package/.claude/commands/pm.md +11 -16
  39. package/.claude/commands/sm.md +20 -25
  40. package/.cursor/rules/analyst.mdc +13 -19
  41. package/.cursor/rules/architect.mdc +14 -19
  42. package/.cursor/rules/bmad-master.mdc +18 -26
  43. package/.cursor/rules/bmad-orchestrator.mdc +15 -27
  44. package/.cursor/rules/dev.mdc +5 -4
  45. package/.cursor/rules/pm.mdc +11 -16
  46. package/.cursor/rules/sm.mdc +19 -24
  47. package/.releaserc.json +2 -1
  48. package/.vscode/settings.json +4 -0
  49. package/.windsurf/rules/analyst.md +13 -19
  50. package/.windsurf/rules/architect.md +14 -19
  51. package/.windsurf/rules/bmad-master.md +18 -26
  52. package/.windsurf/rules/bmad-orchestrator.md +15 -27
  53. package/.windsurf/rules/dev.md +5 -4
  54. package/.windsurf/rules/pm.md +11 -16
  55. package/.windsurf/rules/sm.md +19 -24
  56. package/CHANGELOG.md +120 -2
  57. package/CONTRIBUTING.md +2 -0
  58. package/README.md +20 -2
  59. package/{.bmad-core → creator-tools}/tasks/create-agent.md +10 -12
  60. package/{.bmad-core/tasks/create-expansion-pack.md → creator-tools/tasks/generate-expansion-pack.md} +8 -6
  61. package/docs/bmad-workflow-guide.md +161 -0
  62. package/docs/claude-code-guide.md +119 -0
  63. package/docs/core-architecture.md +213 -0
  64. package/docs/cursor-guide.md +127 -0
  65. package/docs/how-to-contribute-with-pull-requests.md +141 -0
  66. package/docs/roo-code-guide.md +140 -0
  67. package/docs/user-guide.md +1044 -0
  68. package/docs/versioning-and-releases.md +4 -4
  69. package/docs/windsurf-guide.md +127 -0
  70. package/expansion-packs/README.md +1 -111
  71. package/expansion-packs/infrastructure-devops/agents/infra-devops-platform.md +3 -3
  72. package/expansion-packs/infrastructure-devops/tasks/create-doc.md +74 -0
  73. package/package.json +19 -13
  74. package/tools/builders/web-builder.js +16 -15
  75. package/tools/installer/README.md +2 -2
  76. package/tools/installer/bin/bmad.js +50 -29
  77. package/tools/installer/lib/file-manager.js +20 -3
  78. package/tools/installer/lib/ide-setup.js +11 -1
  79. package/tools/installer/lib/installer.js +149 -29
  80. package/tools/installer/package-lock.json +537 -335
  81. package/tools/installer/package.json +7 -7
  82. package/tools/lib/dependency-resolver.js +1 -1
  83. package/tools/semantic-release-sync-installer.js +31 -0
  84. package/tools/sync-installer-version.js +34 -0
  85. package/tools/upgraders/v3-to-v4-upgrader.js +18 -13
  86. package/tools/version-bump.js +33 -26
  87. package/tools/yaml-format.js +54 -25
  88. package/.bmad-core/schemas/agent-team-schema.yml +0 -153
  89. package/.bmad-core/tasks/create-team.md +0 -229
  90. package/.claude/settings.local.json +0 -22
@@ -2,57 +2,50 @@
2
2
 
3
3
  ## Purpose
4
4
 
5
- To generate a masterful, comprehensive, and optimized prompt that can be used with AI-driven frontend development tools (e.g., Lovable, Vercel v0, or similar) to scaffold or generate significant portions of the frontend application.
5
+ To generate a masterful, comprehensive, and optimized prompt that can be used with any AI-driven frontend development tool (e.g., Vercel v0, Lovable.ai, or similar) to scaffold or generate significant portions of a frontend application.
6
6
 
7
7
  ## Inputs
8
8
 
9
- - Completed UI/UX Specification (`front-end-spec-tmpl`)
10
- - Completed Frontend Architecture Document (`front-end-architecture`)
11
- - Main System Architecture Document (`architecture` - for API contracts and tech stack)
12
- - Primary Design Files (Figma, Sketch, etc. - for visual context if the tool can accept it or if descriptions are needed)
9
+ - Completed UI/UX Specification (`front-end-spec`)
10
+ - Completed Frontend Architecture Document (`front-end-architecture`) or a full stack combined architecture such as `architecture.md`
11
+ - Main System Architecture Document (`architecture` - for API contracts and tech stack to give further context)
13
12
 
14
13
  ## Key Activities & Instructions
15
14
 
16
- 1. **Confirm Target AI Generation Platform:**
17
-
18
- - Ask the user to specify which AI frontend generation tool/platform they intend to use (e.g., "Lovable.ai", "Vercel v0", "GPT-4 with direct code generation instructions", etc.).
19
- - Explain that prompt optimization might differ slightly based on the platform's capabilities and preferred input format.
20
-
21
- 2. **Synthesize Inputs into a Structured Prompt:**
22
-
23
- - **Overall Project Context:**
24
- - Briefly state the project's purpose (from brief/PRD).
25
- - Specify the chosen frontend framework, core libraries, and UI component library (from `front-end-architecture` and main `architecture`).
26
- - Mention the styling approach (e.g., Tailwind CSS, CSS Modules).
27
- - **Design System & Visuals:**
28
- - Reference the primary design files (e.g., Figma link).
29
- - If the tool doesn't directly ingest design files, describe the overall visual style, color palette, typography, and key branding elements (from `front-end-spec-tmpl`).
30
- - List any global UI components or design tokens that should be defined or adhered to.
31
- - **Application Structure & Routing:**
32
- - Describe the main pages/views and their routes (from `front-end-architecture` - Routing Strategy).
33
- - Outline the navigation structure (from `front-end-spec-tmpl`).
34
- - **Key User Flows & Page-Level Interactions:**
35
- - For a few critical user flows (from `front-end-spec-tmpl`):
36
- - Describe the sequence of user actions and expected UI changes on each relevant page.
37
- - Specify API calls to be made (referencing API endpoints from the main `architecture`) and how data should be displayed or used.
38
- - **Component Generation Instructions (Iterative or Key Components):**
39
- - Based on the chosen AI tool's capabilities, decide on a strategy:
40
- - **Option 1 (Scaffolding):** Prompt for the generation of main page structures, layouts, and placeholders for components.
41
- - **Option 2 (Key Component Generation):** Select a few critical or complex components from the `front-end-architecture` (Component Breakdown) and provide detailed specifications for them (props, state, basic behavior, key UI elements).
42
- - **Option 3 (Holistic, if tool supports):** Attempt to describe the entire application structure and key components more broadly.
43
- - <important_note>Advise the user that generating an entire complex application perfectly in one go is rare. Iterative prompting or focusing on sections/key components is often more effective.</important_note>
44
- - **State Management (High-Level Pointers):**
45
- - Mention the chosen state management solution (e.g., "Use Redux Toolkit").
46
- - For key pieces of data, indicate if they should be managed in global state.
47
- - **API Integration Points:**
48
- - For pages/components that fetch or submit data, clearly state the relevant API endpoints (from `architecture`) and the expected data shapes (can reference schemas in `data-models` or `api-reference` sections of the architecture doc).
49
- - **Critical "Don'ts" or Constraints:**
50
- - e.g., "Do not use deprecated libraries." "Ensure all forms have basic client-side validation."
51
- - **Platform-Specific Optimizations:**
52
- - If the chosen AI tool has known best practices for prompting (e.g., specific keywords, structure, level of detail), incorporate them. (This might require the agent to have some general knowledge or to ask the user if they know any such specific prompt modifiers for their chosen tool).
53
-
54
- 3. **Present and Refine the Master Prompt:**
55
- - Output the generated prompt in a clear, copy-pasteable format (e.g., a large code block).
56
- - Explain the structure of the prompt and why certain information was included.
57
- - Work with the user to refine the prompt based on their knowledge of the target AI tool and any specific nuances they want to emphasize.
58
- - <important_note>Remind the user that the generated code from the AI tool will likely require review, testing, and further refinement by developers.</important_note>
15
+ ### 1. Core Prompting Principles
16
+
17
+ Before generating the prompt, you must understand these core principles for interacting with a generative AI for code.
18
+
19
+ - **Be Explicit and Detailed**: The AI cannot read your mind. Provide as much detail and context as possible. Vague requests lead to generic or incorrect outputs.
20
+ - **Iterate, Don't Expect Perfection**: Generating an entire complex application in one go is rare. The most effective method is to prompt for one component or one section at a time, then build upon the results.
21
+ - **Provide Context First**: Always start by providing the AI with the necessary context, such as the tech stack, existing code snippets, and overall project goals.
22
+ - **Mobile-First Approach**: Frame all UI generation requests with a mobile-first design mindset. Describe the mobile layout first, then provide separate instructions for how it should adapt for tablet and desktop.
23
+
24
+ ### 2. The Structured Prompting Framework
25
+
26
+ To ensure the highest quality output, you MUST structure every prompt using the following four-part framework.
27
+
28
+ 1. **High-Level Goal**: Start with a clear, concise summary of the overall objective. This orients the AI on the primary task.
29
+ - _Example: "Create a responsive user registration form with client-side validation and API integration."_
30
+ 2. **Detailed, Step-by-Step Instructions**: Provide a granular, numbered list of actions the AI should take. Break down complex tasks into smaller, sequential steps. This is the most critical part of the prompt.
31
+ - _Example: "1. Create a new file named `RegistrationForm.js`. 2. Use React hooks for state management. 3. Add styled input fields for 'Name', 'Email', and 'Password'. 4. For the email field, ensure it is a valid email format. 5. On submission, call the API endpoint defined below."_
32
+ 3. **Code Examples, Data Structures & Constraints**: Include any relevant snippets of existing code, data structures, or API contracts. This gives the AI concrete examples to work with. Crucially, you must also state what _not_ to do.
33
+ - _Example: "Use this API endpoint: `POST /api/register`. The expected JSON payload is `{ "name": "string", "email": "string", "password": "string" }`. Do NOT include a 'confirm password' field. Use Tailwind CSS for all styling."_
34
+ 4. **Define a Strict Scope**: Explicitly define the boundaries of the task. Tell the AI which files it can modify and, more importantly, which files to leave untouched to prevent unintended changes across the codebase.
35
+ - _Example: "You should only create the `RegistrationForm.js` component and add it to the `pages/register.js` file. Do NOT alter the `Navbar.js` component or any other existing page or component."_
36
+
37
+ ### 3. Assembling the Master Prompt
38
+
39
+ You will now synthesize the inputs and the above principles into a final, comprehensive prompt.
40
+
41
+ 1. **Gather Foundational Context**:
42
+ - Start the prompt with a preamble describing the overall project purpose, the full tech stack (e.g., Next.js, TypeScript, Tailwind CSS), and the primary UI component library being used.
43
+ 2. **Describe the Visuals**:
44
+ - If the user has design files (Figma, etc.), instruct them to provide links or screenshots.
45
+ - If not, describe the visual style: color palette, typography, spacing, and overall aesthetic (e.g., "minimalist", "corporate", "playful").
46
+ 3. **Build the Prompt using the Structured Framework**:
47
+ - Follow the four-part framework from Section 2 to build out the core request, whether it's for a single component or a full page.
48
+ 4. **Present and Refine**:
49
+ - Output the complete, generated prompt in a clear, copy-pasteable format (e.g., a large code block).
50
+ - Explain the structure of the prompt and why certain information was included, referencing the principles above.
51
+ - <important_note>Conclude by reminding the user that all AI-generated code will require careful human review, testing, and refinement to be considered production-ready.</important_note>
@@ -56,7 +56,7 @@ You are now operating as a Documentation Indexer. Your goal is to ensure all doc
56
56
 
57
57
  The index should be organized as follows:
58
58
 
59
- ```markdown
59
+ `````markdown
60
60
  # Documentation Index
61
61
 
62
62
  ## Root Documents
@@ -88,7 +88,8 @@ Documents within the `another-folder/` directory:
88
88
  ### [Nested Document](./another-folder/document.md)
89
89
 
90
90
  Description of nested document.
91
- ```text
91
+
92
+ ````text
92
93
 
93
94
  ### Index Entry Format
94
95
 
@@ -98,7 +99,10 @@ Each entry should follow this format:
98
99
  ### [Document Title](relative/path/to/file.md)
99
100
 
100
101
  Brief description of the document's purpose and contents.
101
- ```
102
+ ````
103
+ `````
104
+
105
+ ````
102
106
 
103
107
  ### Rules of Operation
104
108
 
@@ -176,3 +180,4 @@ Please provide:
176
180
  5. Whether to include hidden files/folders (starting with `.`)
177
181
 
178
182
  Would you like to proceed with documentation indexing? Please provide the required input above.
183
+ ````
@@ -136,7 +136,7 @@ Common patterns to consider:
136
136
 
137
137
  [[LLM: This is the DEFINITIVE technology selection section. Work with the user to make specific choices:
138
138
 
139
- 1. Review PRD technical assumptions and any preferences from `data#technical-preferences`
139
+ 1. Review PRD technical assumptions and any preferences from `data#technical-preferences` or an attached `technical-preferences`
140
140
  2. For each category, present 2-3 viable options with pros/cons
141
141
  3. Make a clear recommendation based on project needs
142
142
  4. Get explicit user approval for each selection
@@ -341,18 +341,21 @@ Use YAML format for better readability. If no REST API, skip this section.]]
341
341
 
342
342
  ^^CONDITION: has_rest_api^^
343
343
 
344
- ```yaml
344
+ ````yaml
345
345
  openapi: 3.0.0
346
346
  info:
347
- title: { { api_title } }
348
- version: { { api_version } }
349
- description: { { api_description } }
350
-
347
+ title:
348
+ '[object Object]': null
349
+ version:
350
+ '[object Object]': null
351
+ description:
352
+ '[object Object]': null
351
353
  servers:
352
- - url: { { api_base_url } }
353
- description: { { environment } }
354
- # ... OpenAPI specification continues
355
- ```
354
+ - url:
355
+ '[object Object]': null
356
+ description:
357
+ '[object Object]': null
358
+ ```text
356
359
 
357
360
  ^^/CONDITION: has_rest_api^^
358
361
 
@@ -415,7 +418,7 @@ After presenting the structure, apply `tasks#advanced-elicitation` protocol to r
415
418
  ├── {{package-manifest}} # Dependencies manifest
416
419
  ├── {{config-files}} # Language/framework configs
417
420
  └── README.md # Project documentation
418
- ```
421
+ ````
419
422
 
420
423
  @{example: monorepo-structure}
421
424
  project-root/
@@ -463,7 +466,7 @@ Get user input on deployment preferences and CI/CD tool choices.]]
463
466
 
464
467
  ### Environment Promotion Flow
465
468
 
466
- ```
469
+ ```text
467
470
  {{promotion_flow_diagram}}
468
471
  ```
469
472
 
@@ -109,9 +109,9 @@ Document the choice and key services that will be used.]]
109
109
 
110
110
  Use appropriate diagram type for clarity.]]
111
111
 
112
- ```mermaid
112
+ ````mermaid
113
113
  {{architecture_diagram}}
114
- ```
114
+ ```text
115
115
 
116
116
  ### Architectural Patterns
117
117
 
@@ -222,7 +222,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
222
222
  model_interface;
223
223
  }
224
224
  }
225
- ```
225
+ ````
226
226
 
227
227
  **Relationships:**
228
228
 
@@ -246,7 +246,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
246
246
 
247
247
  **TypeScript Interface:**
248
248
 
249
- ```typescript
249
+ ````typescript
250
250
  interface User {
251
251
  id: string;
252
252
  email: string;
@@ -262,7 +262,7 @@ interface UserProfile {
262
262
  bio?: string;
263
263
  preferences: Record<string, any>;
264
264
  }
265
- ```
265
+ ```text
266
266
 
267
267
  **Relationships:**
268
268
 
@@ -286,27 +286,30 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
286
286
 
287
287
  ^^CONDITION: has_rest_api^^
288
288
 
289
- ```yaml
289
+ ```yml
290
290
  openapi: 3.0.0
291
291
  info:
292
- title: { { api_title } }
293
- version: { { api_version } }
294
- description: { { api_description } }
295
-
292
+ title:
293
+ '[object Object]': null
294
+ version:
295
+ '[object Object]': null
296
+ description:
297
+ '[object Object]': null
296
298
  servers:
297
- - url: { { api_base_url } }
298
- description: { { environment } }
299
- # ... OpenAPI specification continues
300
- ```
299
+ - url:
300
+ '[object Object]': null
301
+ description:
302
+ '[object Object]': null
303
+ ````
301
304
 
302
305
  ^^/CONDITION: has_rest_api^^
303
306
 
304
307
  ^^CONDITION: has_graphql_api^^
305
308
 
306
- ```graphql
309
+ ````graphql
307
310
  # GraphQL Schema
308
311
  {{graphql_schema}}
309
- ```
312
+ ```text
310
313
 
311
314
  ^^/CONDITION: has_graphql_api^^
312
315
 
@@ -319,7 +322,7 @@ servers:
319
322
  trpc_routers;
320
323
  }
321
324
  }
322
- ```
325
+ ````
323
326
 
324
327
  ^^/CONDITION: has_trpc_api^^
325
328
 
@@ -464,19 +467,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
464
467
 
465
468
  **Component Organization:**
466
469
 
467
- ```
470
+ `````text
468
471
  {{component_structure}}
469
- ```
472
+ ```text
470
473
 
471
474
  **Component Template:**
472
475
 
473
- ```typescript
476
+ ````typescript
474
477
  {
475
478
  {
476
479
  component_template;
477
480
  }
478
481
  }
479
- ```
482
+ ```text
480
483
 
481
484
  ### State Management Architecture
482
485
 
@@ -490,7 +493,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
490
493
  state_structure;
491
494
  }
492
495
  }
493
- ```
496
+ `````
494
497
 
495
498
  **State Management Patterns:**
496
499
 
@@ -503,19 +506,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
503
506
 
504
507
  **Route Organization:**
505
508
 
506
- ```
509
+ `````text
507
510
  {{route_structure}}
508
- ```
511
+ ```text
509
512
 
510
513
  **Protected Route Pattern:**
511
514
 
512
- ```typescript
515
+ ````typescript
513
516
  {
514
517
  {
515
518
  protected_route_example;
516
519
  }
517
520
  }
518
- ```
521
+ ```text
519
522
 
520
523
  ### Frontend Services Layer
521
524
 
@@ -529,17 +532,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
529
532
  api_client_setup;
530
533
  }
531
534
  }
532
- ```
535
+ `````
533
536
 
534
537
  **Service Example:**
535
538
 
536
- ```typescript
539
+ ````typescript
537
540
  {
538
541
  {
539
542
  service_example;
540
543
  }
541
544
  }
542
- ```
545
+ ```text
543
546
 
544
547
  ## Backend Architecture
545
548
 
@@ -554,9 +557,11 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
554
557
  ^^CONDITION: serverless^^
555
558
  **Function Organization:**
556
559
 
557
- ```
560
+ ````
561
+
558
562
  {{function_structure}}
559
- ```
563
+
564
+ ````text
560
565
 
561
566
  **Function Template:**
562
567
 
@@ -566,26 +571,26 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
566
571
  function_template;
567
572
  }
568
573
  }
569
- ```
574
+ ````
570
575
 
571
576
  ^^/CONDITION: serverless^^
572
577
 
573
578
  ^^CONDITION: traditional_server^^
574
579
  **Controller/Route Organization:**
575
580
 
576
- ```
581
+ `````text
577
582
  {{controller_structure}}
578
- ```
583
+ ```text
579
584
 
580
585
  **Controller Template:**
581
586
 
582
- ```typescript
587
+ ````typescript
583
588
  {
584
589
  {
585
590
  controller_template;
586
591
  }
587
592
  }
588
- ```
593
+ ```text
589
594
 
590
595
  ^^/CONDITION: traditional_server^^
591
596
 
@@ -597,17 +602,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
597
602
 
598
603
  ```sql
599
604
  {{database_schema}}
600
- ```
605
+ `````
601
606
 
602
607
  **Data Access Layer:**
603
608
 
604
- ```typescript
609
+ ````typescript
605
610
  {
606
611
  {
607
612
  repository_pattern;
608
613
  }
609
614
  }
610
- ```
615
+ ```text
611
616
 
612
617
  ### Authentication and Authorization
613
618
 
@@ -617,17 +622,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
617
622
 
618
623
  ```mermaid
619
624
  {{auth_flow_diagram}}
620
- ```
625
+ ````
621
626
 
622
627
  **Middleware/Guards:**
623
628
 
624
- ```typescript
629
+ ````typescript
625
630
  {
626
631
  {
627
632
  auth_middleware;
628
633
  }
629
634
  }
630
- ```
635
+ ```text
631
636
 
632
637
  ## Unified Project Structure
633
638
 
@@ -687,7 +692,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
687
692
  ├── package.json # Root package.json
688
693
  ├── {{monorepo_config}} # Monorepo configuration
689
694
  └── README.md
690
- ```
695
+ ````
691
696
 
692
697
  @{example: vercel_structure}
693
698
  apps/
@@ -709,19 +714,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
709
714
 
710
715
  **Prerequisites:**
711
716
 
712
- ```bash
717
+ ````bash
713
718
  {{prerequisites_commands}}
714
- ```
719
+ ```text
715
720
 
716
721
  **Initial Setup:**
717
722
 
718
723
  ```bash
719
724
  {{setup_commands}}
720
- ```
725
+ ````
721
726
 
722
727
  **Development Commands:**
723
728
 
724
- ```bash
729
+ ````bash
725
730
  # Start all services
726
731
  {{start_all_command}}
727
732
 
@@ -733,7 +738,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
733
738
 
734
739
  # Run tests
735
740
  {{test_commands}}
736
- ```
741
+ ```text
737
742
 
738
743
  ### Environment Configuration
739
744
 
@@ -748,7 +753,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
748
753
 
749
754
  # Shared
750
755
  {{shared_env_vars}}
751
- ```
756
+ ````
752
757
 
753
758
  ## Deployment Architecture
754
759
 
@@ -771,9 +776,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
771
776
 
772
777
  ### CI/CD Pipeline
773
778
 
774
- ```yaml
775
- { { cicd_pipeline_config } }
776
- ```
779
+ ````yaml
780
+ '[object Object]': null
781
+ ```text
777
782
 
778
783
  ### Environments
779
784
 
@@ -831,33 +836,42 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
831
836
 
832
837
  ### Testing Pyramid
833
838
 
834
- ```
839
+ ````
840
+
835
841
  E2E Tests
836
842
  / \
837
843
  Integration Tests
838
- / \
839
- Frontend Unit Backend Unit
840
- ```
844
+
845
+ / \
846
+ Frontend Unit Backend Unit
847
+
848
+ ```text
841
849
 
842
850
  ### Test Organization
843
851
 
844
852
  **Frontend Tests:**
845
853
 
846
854
  ```
855
+
847
856
  {{frontend_test_structure}}
848
- ```
857
+
858
+ ````text
849
859
 
850
860
  **Backend Tests:**
851
861
 
852
- ```
862
+ ```text
863
+
853
864
  {{backend_test_structure}}
854
- ```
865
+
866
+ ```text
855
867
 
856
868
  **E2E Tests:**
857
869
 
858
- ```
870
+ ````
871
+
859
872
  {{e2e_test_structure}}
860
- ```
873
+
874
+ ````text
861
875
 
862
876
  ### Test Examples
863
877
 
@@ -869,17 +883,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
869
883
  frontend_test_example;
870
884
  }
871
885
  }
872
- ```
886
+ ````
873
887
 
874
888
  **Backend API Test:**
875
889
 
876
- ```typescript
890
+ ````typescript
877
891
  {
878
892
  {
879
893
  backend_test_example;
880
894
  }
881
895
  }
882
- ```
896
+ ```text
883
897
 
884
898
  **E2E Test:**
885
899
 
@@ -889,7 +903,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
889
903
  e2e_test_example;
890
904
  }
891
905
  }
892
- ```
906
+ ````
893
907
 
894
908
  ## Coding Standards
895
909
 
@@ -930,9 +944,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
930
944
 
931
945
  ### Error Flow
932
946
 
933
- ```mermaid
947
+ ````mermaid
934
948
  {{error_flow_diagram}}
935
- ```
949
+ ```text
936
950
 
937
951
  ### Error Response Format
938
952
 
@@ -946,17 +960,17 @@ interface ApiError {
946
960
  requestId: string;
947
961
  };
948
962
  }
949
- ```
963
+ ````
950
964
 
951
965
  ### Frontend Error Handling
952
966
 
953
- ```typescript
967
+ ````typescript
954
968
  {
955
969
  {
956
970
  frontend_error_handler;
957
971
  }
958
972
  }
959
- ```
973
+ ```text
960
974
 
961
975
  ### Backend Error Handling
962
976
 
@@ -966,7 +980,7 @@ interface ApiError {
966
980
  backend_error_handler;
967
981
  }
968
982
  }
969
- ```
983
+ ````
970
984
 
971
985
  ## Monitoring and Observability
972
986
 
@@ -1000,35 +1014,3 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
1000
1014
  ## Checklist Results Report
1001
1015
 
1002
1016
  [[LLM: Before running the checklist, offer to output the full architecture document. Once user confirms, execute the `architect-checklist` and populate results here.]]
1003
-
1004
- ## Next Steps
1005
-
1006
- [[LLM: Provide specific next steps for implementation.]]
1007
-
1008
- ### Implementation Order
1009
-
1010
- 1. **Environment Setup**
1011
-
1012
- - Initialize monorepo structure
1013
- - Configure development environment
1014
- - Set up version control
1015
-
1016
- 2. **Foundation (Epic 1)**
1017
-
1018
- - Implement authentication flow
1019
- - Set up database schema
1020
- - Create basic API structure
1021
- - Implement core UI components
1022
-
1023
- 3. **Feature Development**
1024
- - Follow story sequence from PRD
1025
- - Maintain type safety across stack
1026
- - Write tests as you go
1027
-
1028
- ### Developer Handoff Prompts
1029
-
1030
- **For Scrum Master:**
1031
- "Create stories for {{Project Name}} using the PRD at docs/prd.md and this fullstack architecture at docs/fullstack-architecture.md. Focus on Epic 1 implementation."
1032
-
1033
- **For Developer:**
1034
- "Implement Story 1.1 from docs/stories/epic1/story-1.1.md using the fullstack architecture at docs/fullstack-architecture.md. Follow the coding standards and use the defined tech stack."
@@ -88,7 +88,7 @@
88
88
 
89
89
  [[LLM: Gather technical decisions that will guide the Architect. Steps:
90
90
 
91
- 1. Check if `data#technical-preferences` file exists - use it to pre-populate choices
91
+ 1. Check if `data#technical-preferences` or an attached `technical-preferences` file exists - use it to pre-populate choices
92
92
  2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
93
93
  3. For unknowns, offer guidance based on project goals and MVP scope
94
94
  4. Document ALL technical choices with rationale (why this choice fits the project)