bmad-method 4.5.1 → 4.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/bmad-core/agents/bmad-orchestrator.md +55 -66
- package/bmad-core/agents/pm.md +0 -1
- package/bmad-core/tasks/doc-migration-task.md +9 -9
- package/bmad-core/tasks/index-docs.md +3 -7
- package/bmad-core/templates/architecture-tmpl.md +2 -0
- package/bmad-core/templates/brownfield-architecture-tmpl.md +2 -0
- package/bmad-core/templates/brownfield-prd-tmpl.md +2 -0
- package/bmad-core/templates/competitor-analysis-tmpl.md +2 -0
- package/bmad-core/templates/front-end-architecture-tmpl.md +2 -0
- package/bmad-core/templates/front-end-spec-tmpl.md +3 -1
- package/bmad-core/templates/fullstack-architecture-tmpl.md +62 -60
- package/bmad-core/templates/market-research-tmpl.md +2 -0
- package/bmad-core/templates/prd-tmpl.md +4 -2
- package/bmad-core/templates/project-brief-tmpl.md +2 -0
- package/bmad-core/workflows/brownfield-fullstack.yml +19 -58
- package/bmad-core/workflows/brownfield-service.yml +19 -58
- package/bmad-core/workflows/brownfield-ui.yml +20 -59
- package/bmad-core/workflows/greenfield-fullstack.yml +31 -77
- package/bmad-core/workflows/greenfield-service.yml +22 -68
- package/bmad-core/workflows/greenfield-ui.yml +30 -76
- package/dist/agents/architect.txt +60 -60
- package/dist/agents/bmad-master.txt +66 -70
- package/dist/agents/bmad-orchestrator.txt +55 -66
- package/dist/agents/pm.txt +2 -467
- package/dist/agents/ux-expert.txt +1 -1
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +481 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +100 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +100 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +4757 -2941
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +35 -0
- package/dist/expansion-packs/expansion-creator/agents/bmad-the-creator.txt +438 -32
- package/dist/teams/team-all.txt +368 -1099
- package/dist/teams/team-fullstack.txt +286 -1017
- package/dist/teams/team-ide-minimal.txt +55 -66
- package/dist/teams/team-no-ui.txt +224 -785
- package/docs/versioning-and-releases.md +6 -6
- package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yml +1 -0
- package/expansion-packs/expansion-creator/tasks/generate-expansion-pack.md +17 -13
- package/package.json +1 -1
- package/tools/builders/web-builder.js +189 -20
- package/tools/installer/package.json +1 -1
- package/bmad-core/templates/simple-project-prd-tmpl.md +0 -461
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# {{Project Name}} Fullstack Architecture Document
|
|
2
2
|
|
|
3
|
+
[[LLM: The default path and filename unless specified is docs/architecture.md]]
|
|
4
|
+
|
|
3
5
|
[[LLM: 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.]]
|
|
4
6
|
|
|
5
7
|
## Introduction
|
|
@@ -84,7 +86,7 @@ Document the choice and key services that will be used.]]
|
|
|
84
86
|
|
|
85
87
|
### Repository Structure
|
|
86
88
|
|
|
87
|
-
[[LLM: Define the repository approach based on PRD requirements and platform choice:
|
|
89
|
+
[[LLM: Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask quetsions to the user if unsure:
|
|
88
90
|
|
|
89
91
|
1. For modern fullstack apps, monorepo is often preferred
|
|
90
92
|
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
|
|
@@ -109,9 +111,9 @@ Document the choice and key services that will be used.]]
|
|
|
109
111
|
|
|
110
112
|
Use appropriate diagram type for clarity.]]
|
|
111
113
|
|
|
112
|
-
|
|
114
|
+
```mermaid
|
|
113
115
|
{{architecture_diagram}}
|
|
114
|
-
```
|
|
116
|
+
```
|
|
115
117
|
|
|
116
118
|
### Architectural Patterns
|
|
117
119
|
|
|
@@ -222,7 +224,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
|
|
222
224
|
model_interface;
|
|
223
225
|
}
|
|
224
226
|
}
|
|
225
|
-
|
|
227
|
+
```
|
|
226
228
|
|
|
227
229
|
**Relationships:**
|
|
228
230
|
|
|
@@ -246,7 +248,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
|
|
246
248
|
|
|
247
249
|
**TypeScript Interface:**
|
|
248
250
|
|
|
249
|
-
|
|
251
|
+
```typescript
|
|
250
252
|
interface User {
|
|
251
253
|
id: string;
|
|
252
254
|
email: string;
|
|
@@ -262,7 +264,7 @@ interface UserProfile {
|
|
|
262
264
|
bio?: string;
|
|
263
265
|
preferences: Record<string, any>;
|
|
264
266
|
}
|
|
265
|
-
```
|
|
267
|
+
```
|
|
266
268
|
|
|
267
269
|
**Relationships:**
|
|
268
270
|
|
|
@@ -300,16 +302,16 @@ servers:
|
|
|
300
302
|
'[object Object]': null
|
|
301
303
|
description:
|
|
302
304
|
'[object Object]': null
|
|
303
|
-
|
|
305
|
+
```
|
|
304
306
|
|
|
305
307
|
^^/CONDITION: has_rest_api^^
|
|
306
308
|
|
|
307
309
|
^^CONDITION: has_graphql_api^^
|
|
308
310
|
|
|
309
|
-
|
|
311
|
+
```graphql
|
|
310
312
|
# GraphQL Schema
|
|
311
313
|
{{graphql_schema}}
|
|
312
|
-
```
|
|
314
|
+
```
|
|
313
315
|
|
|
314
316
|
^^/CONDITION: has_graphql_api^^
|
|
315
317
|
|
|
@@ -322,7 +324,7 @@ servers:
|
|
|
322
324
|
trpc_routers;
|
|
323
325
|
}
|
|
324
326
|
}
|
|
325
|
-
|
|
327
|
+
```
|
|
326
328
|
|
|
327
329
|
^^/CONDITION: has_trpc_api^^
|
|
328
330
|
|
|
@@ -467,19 +469,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
467
469
|
|
|
468
470
|
**Component Organization:**
|
|
469
471
|
|
|
470
|
-
`````text
|
|
471
|
-
{{component_structure}}
|
|
472
472
|
```text
|
|
473
|
+
{{component_structure}}
|
|
474
|
+
```
|
|
473
475
|
|
|
474
476
|
**Component Template:**
|
|
475
477
|
|
|
476
|
-
|
|
478
|
+
```typescript
|
|
477
479
|
{
|
|
478
480
|
{
|
|
479
481
|
component_template;
|
|
480
482
|
}
|
|
481
483
|
}
|
|
482
|
-
```
|
|
484
|
+
```
|
|
483
485
|
|
|
484
486
|
### State Management Architecture
|
|
485
487
|
|
|
@@ -493,7 +495,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
493
495
|
state_structure;
|
|
494
496
|
}
|
|
495
497
|
}
|
|
496
|
-
|
|
498
|
+
```
|
|
497
499
|
|
|
498
500
|
**State Management Patterns:**
|
|
499
501
|
|
|
@@ -508,17 +510,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
508
510
|
|
|
509
511
|
```text
|
|
510
512
|
{{route_structure}}
|
|
511
|
-
```
|
|
513
|
+
```
|
|
512
514
|
|
|
513
515
|
**Protected Route Pattern:**
|
|
514
516
|
|
|
515
|
-
|
|
517
|
+
```typescript
|
|
516
518
|
{
|
|
517
519
|
{
|
|
518
520
|
protected_route_example;
|
|
519
521
|
}
|
|
520
522
|
}
|
|
521
|
-
```
|
|
523
|
+
```
|
|
522
524
|
|
|
523
525
|
### Frontend Services Layer
|
|
524
526
|
|
|
@@ -532,17 +534,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
532
534
|
api_client_setup;
|
|
533
535
|
}
|
|
534
536
|
}
|
|
535
|
-
|
|
537
|
+
```
|
|
536
538
|
|
|
537
539
|
**Service Example:**
|
|
538
540
|
|
|
539
|
-
|
|
541
|
+
```typescript
|
|
540
542
|
{
|
|
541
543
|
{
|
|
542
544
|
service_example;
|
|
543
545
|
}
|
|
544
546
|
}
|
|
545
|
-
```
|
|
547
|
+
```
|
|
546
548
|
|
|
547
549
|
## Backend Architecture
|
|
548
550
|
|
|
@@ -557,11 +559,11 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
557
559
|
^^CONDITION: serverless^^
|
|
558
560
|
**Function Organization:**
|
|
559
561
|
|
|
560
|
-
|
|
562
|
+
```text
|
|
561
563
|
|
|
562
564
|
{{function_structure}}
|
|
563
565
|
|
|
564
|
-
|
|
566
|
+
```
|
|
565
567
|
|
|
566
568
|
**Function Template:**
|
|
567
569
|
|
|
@@ -571,26 +573,26 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
571
573
|
function_template;
|
|
572
574
|
}
|
|
573
575
|
}
|
|
574
|
-
|
|
576
|
+
```
|
|
575
577
|
|
|
576
578
|
^^/CONDITION: serverless^^
|
|
577
579
|
|
|
578
580
|
^^CONDITION: traditional_server^^
|
|
579
581
|
**Controller/Route Organization:**
|
|
580
582
|
|
|
581
|
-
`````text
|
|
582
|
-
{{controller_structure}}
|
|
583
583
|
```text
|
|
584
|
+
{{controller_structure}}
|
|
585
|
+
```
|
|
584
586
|
|
|
585
587
|
**Controller Template:**
|
|
586
588
|
|
|
587
|
-
|
|
589
|
+
```typescript
|
|
588
590
|
{
|
|
589
591
|
{
|
|
590
592
|
controller_template;
|
|
591
593
|
}
|
|
592
594
|
}
|
|
593
|
-
```
|
|
595
|
+
```
|
|
594
596
|
|
|
595
597
|
^^/CONDITION: traditional_server^^
|
|
596
598
|
|
|
@@ -602,17 +604,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
602
604
|
|
|
603
605
|
```sql
|
|
604
606
|
{{database_schema}}
|
|
605
|
-
|
|
607
|
+
```
|
|
606
608
|
|
|
607
609
|
**Data Access Layer:**
|
|
608
610
|
|
|
609
|
-
|
|
611
|
+
```typescript
|
|
610
612
|
{
|
|
611
613
|
{
|
|
612
614
|
repository_pattern;
|
|
613
615
|
}
|
|
614
616
|
}
|
|
615
|
-
```
|
|
617
|
+
```
|
|
616
618
|
|
|
617
619
|
### Authentication and Authorization
|
|
618
620
|
|
|
@@ -622,17 +624,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
622
624
|
|
|
623
625
|
```mermaid
|
|
624
626
|
{{auth_flow_diagram}}
|
|
625
|
-
|
|
627
|
+
```
|
|
626
628
|
|
|
627
629
|
**Middleware/Guards:**
|
|
628
630
|
|
|
629
|
-
|
|
631
|
+
```typescript
|
|
630
632
|
{
|
|
631
633
|
{
|
|
632
634
|
auth_middleware;
|
|
633
635
|
}
|
|
634
636
|
}
|
|
635
|
-
```
|
|
637
|
+
```
|
|
636
638
|
|
|
637
639
|
## Unified Project Structure
|
|
638
640
|
|
|
@@ -692,7 +694,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
692
694
|
├── package.json # Root package.json
|
|
693
695
|
├── {{monorepo_config}} # Monorepo configuration
|
|
694
696
|
└── README.md
|
|
695
|
-
|
|
697
|
+
```
|
|
696
698
|
|
|
697
699
|
@{example: vercel_structure}
|
|
698
700
|
apps/
|
|
@@ -714,19 +716,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
714
716
|
|
|
715
717
|
**Prerequisites:**
|
|
716
718
|
|
|
717
|
-
|
|
719
|
+
```bash
|
|
718
720
|
{{prerequisites_commands}}
|
|
719
|
-
```
|
|
721
|
+
```
|
|
720
722
|
|
|
721
723
|
**Initial Setup:**
|
|
722
724
|
|
|
723
725
|
```bash
|
|
724
726
|
{{setup_commands}}
|
|
725
|
-
|
|
727
|
+
```
|
|
726
728
|
|
|
727
729
|
**Development Commands:**
|
|
728
730
|
|
|
729
|
-
|
|
731
|
+
```bash
|
|
730
732
|
# Start all services
|
|
731
733
|
{{start_all_command}}
|
|
732
734
|
|
|
@@ -738,7 +740,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
738
740
|
|
|
739
741
|
# Run tests
|
|
740
742
|
{{test_commands}}
|
|
741
|
-
```
|
|
743
|
+
```
|
|
742
744
|
|
|
743
745
|
### Environment Configuration
|
|
744
746
|
|
|
@@ -753,7 +755,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
753
755
|
|
|
754
756
|
# Shared
|
|
755
757
|
{{shared_env_vars}}
|
|
756
|
-
|
|
758
|
+
```
|
|
757
759
|
|
|
758
760
|
## Deployment Architecture
|
|
759
761
|
|
|
@@ -776,9 +778,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
776
778
|
|
|
777
779
|
### CI/CD Pipeline
|
|
778
780
|
|
|
779
|
-
|
|
781
|
+
```yaml
|
|
780
782
|
'[object Object]': null
|
|
781
|
-
```
|
|
783
|
+
```
|
|
782
784
|
|
|
783
785
|
### Environments
|
|
784
786
|
|
|
@@ -836,7 +838,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
836
838
|
|
|
837
839
|
### Testing Pyramid
|
|
838
840
|
|
|
839
|
-
|
|
841
|
+
```text
|
|
840
842
|
|
|
841
843
|
E2E Tests
|
|
842
844
|
/ \
|
|
@@ -845,17 +847,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
845
847
|
/ \
|
|
846
848
|
Frontend Unit Backend Unit
|
|
847
849
|
|
|
848
|
-
```
|
|
850
|
+
```
|
|
849
851
|
|
|
850
852
|
### Test Organization
|
|
851
853
|
|
|
852
854
|
**Frontend Tests:**
|
|
853
855
|
|
|
854
|
-
```
|
|
856
|
+
```text
|
|
855
857
|
|
|
856
858
|
{{frontend_test_structure}}
|
|
857
859
|
|
|
858
|
-
|
|
860
|
+
```
|
|
859
861
|
|
|
860
862
|
**Backend Tests:**
|
|
861
863
|
|
|
@@ -863,15 +865,15 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
863
865
|
|
|
864
866
|
{{backend_test_structure}}
|
|
865
867
|
|
|
866
|
-
```
|
|
868
|
+
```
|
|
867
869
|
|
|
868
870
|
**E2E Tests:**
|
|
869
871
|
|
|
870
|
-
|
|
872
|
+
```text
|
|
871
873
|
|
|
872
874
|
{{e2e_test_structure}}
|
|
873
875
|
|
|
874
|
-
|
|
876
|
+
```
|
|
875
877
|
|
|
876
878
|
### Test Examples
|
|
877
879
|
|
|
@@ -883,17 +885,17 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
883
885
|
frontend_test_example;
|
|
884
886
|
}
|
|
885
887
|
}
|
|
886
|
-
|
|
888
|
+
```
|
|
887
889
|
|
|
888
890
|
**Backend API Test:**
|
|
889
891
|
|
|
890
|
-
|
|
892
|
+
```typescript
|
|
891
893
|
{
|
|
892
894
|
{
|
|
893
895
|
backend_test_example;
|
|
894
896
|
}
|
|
895
897
|
}
|
|
896
|
-
```
|
|
898
|
+
```
|
|
897
899
|
|
|
898
900
|
**E2E Test:**
|
|
899
901
|
|
|
@@ -903,7 +905,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
903
905
|
e2e_test_example;
|
|
904
906
|
}
|
|
905
907
|
}
|
|
906
|
-
|
|
908
|
+
```
|
|
907
909
|
|
|
908
910
|
## Coding Standards
|
|
909
911
|
|
|
@@ -944,9 +946,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
|
944
946
|
|
|
945
947
|
### Error Flow
|
|
946
948
|
|
|
947
|
-
|
|
949
|
+
```mermaid
|
|
948
950
|
{{error_flow_diagram}}
|
|
949
|
-
```
|
|
951
|
+
```
|
|
950
952
|
|
|
951
953
|
### Error Response Format
|
|
952
954
|
|
|
@@ -960,17 +962,17 @@ interface ApiError {
|
|
|
960
962
|
requestId: string;
|
|
961
963
|
};
|
|
962
964
|
}
|
|
963
|
-
|
|
965
|
+
```
|
|
964
966
|
|
|
965
967
|
### Frontend Error Handling
|
|
966
968
|
|
|
967
|
-
|
|
969
|
+
```typescript
|
|
968
970
|
{
|
|
969
971
|
{
|
|
970
972
|
frontend_error_handler;
|
|
971
973
|
}
|
|
972
974
|
}
|
|
973
|
-
```
|
|
975
|
+
```
|
|
974
976
|
|
|
975
977
|
### Backend Error Handling
|
|
976
978
|
|
|
@@ -980,7 +982,7 @@ interface ApiError {
|
|
|
980
982
|
backend_error_handler;
|
|
981
983
|
}
|
|
982
984
|
}
|
|
983
|
-
|
|
985
|
+
```
|
|
984
986
|
|
|
985
987
|
## Monitoring and Observability
|
|
986
988
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Market Research Report: {{Project/Product Name}}
|
|
2
2
|
|
|
3
|
+
[[LLM: The default path and filename unless specified is docs/market-research.md]]
|
|
4
|
+
|
|
3
5
|
[[LLM: This template guides the creation of a comprehensive market research report. Begin by understanding what market insights the user needs and why. Work through each section systematically, using the appropriate analytical frameworks based on the research objectives.]]
|
|
4
6
|
|
|
5
7
|
## Executive Summary
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# {{Project Name}} Product Requirements Document (PRD)
|
|
2
2
|
|
|
3
|
+
[[LLM: The default path and filename unless specified is docs/prd.md]]
|
|
4
|
+
|
|
3
5
|
[[LLM: If available, review any provided document or ask if any are optionally available: Project Brief]]
|
|
4
6
|
|
|
5
7
|
## Goals and Background Context
|
|
@@ -116,7 +118,7 @@
|
|
|
116
118
|
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
|
117
119
|
|
|
118
120
|
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
|
119
|
-
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
|
|
121
|
+
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page - remember this when we produce the stories for the first epic!
|
|
120
122
|
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
|
121
123
|
- Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
|
|
122
124
|
- Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
|
|
@@ -148,7 +150,7 @@ CRITICAL: Epics MUST be logically sequential following agile best practices:
|
|
|
148
150
|
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
|
|
149
151
|
|
|
150
152
|
- Stories within each epic MUST be logically sequential
|
|
151
|
-
- Each story should be a "vertical slice" delivering complete functionality
|
|
153
|
+
- Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
|
|
152
154
|
- No story should depend on work from a later story or epic
|
|
153
155
|
- Identify and note any direct prerequisite stories
|
|
154
156
|
- Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Project Brief: {{Project Name}}
|
|
2
2
|
|
|
3
|
+
[[LLM: The default path and filename unless specified is docs/brief.md]]
|
|
4
|
+
|
|
3
5
|
[[LLM: This template guides creation of a comprehensive Project Brief that serves as the foundational input for product development.
|
|
4
6
|
|
|
5
7
|
Start by asking the user which mode they prefer:
|
|
@@ -11,16 +11,11 @@ workflow:
|
|
|
11
11
|
- modernization
|
|
12
12
|
- integration-enhancement
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
complex_enhancement_sequence:
|
|
16
|
-
- step: scope_assessment
|
|
17
|
-
agent: any
|
|
18
|
-
action: assess complexity
|
|
19
|
-
notes: "First, assess if this is a simple change (use simple_enhancement_sequence) or complex enhancement requiring full planning."
|
|
20
|
-
|
|
14
|
+
sequence:
|
|
21
15
|
- step: project_analysis
|
|
22
|
-
agent:
|
|
23
|
-
action: analyze existing project
|
|
16
|
+
agent: architect
|
|
17
|
+
action: analyze existing project and use task document-project
|
|
18
|
+
creates: multiple documents per the document-project template
|
|
24
19
|
notes: "Review existing documentation, codebase structure, and identify integration points. Document current system understanding before proceeding."
|
|
25
20
|
|
|
26
21
|
- agent: pm
|
|
@@ -49,68 +44,34 @@ workflow:
|
|
|
49
44
|
action: move_to_ide
|
|
50
45
|
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
|
51
46
|
|
|
52
|
-
# For Simple Enhancements (1-3 Stories, Following Existing Patterns)
|
|
53
|
-
simple_enhancement_sequence:
|
|
54
|
-
- step: enhancement_type
|
|
55
|
-
action: choose approach
|
|
56
|
-
notes: "Choose between creating single story (very small change) or epic (1-3 related stories)."
|
|
57
|
-
|
|
58
|
-
- agent: pm|po|sm
|
|
59
|
-
creates: brownfield_epic OR brownfield_story
|
|
60
|
-
uses: brownfield-create-epic OR brownfield-create-story
|
|
61
|
-
notes: "Create focused enhancement with existing system integration. Choose agent based on team preference and context."
|
|
62
|
-
|
|
63
|
-
- workflow_end:
|
|
64
|
-
action: move_to_ide
|
|
65
|
-
notes: "Enhancement defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
|
66
|
-
|
|
67
47
|
flow_diagram: |
|
|
68
48
|
```mermaid
|
|
69
49
|
graph TD
|
|
70
|
-
A[Start: Brownfield Enhancement] --> B
|
|
71
|
-
B
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
F
|
|
77
|
-
G -->
|
|
78
|
-
|
|
79
|
-
H
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
D -->|1 Story| K[pm/po/sm: brownfield-create-story]
|
|
83
|
-
D -->|2-3 Stories| L[pm/po/sm: brownfield-create-epic]
|
|
84
|
-
K --> M[Move to IDE Environment]
|
|
85
|
-
L --> M
|
|
86
|
-
|
|
87
|
-
style J fill:#90EE90
|
|
88
|
-
style M fill:#90EE90
|
|
89
|
-
style E fill:#FFE4B5
|
|
90
|
-
style F fill:#FFE4B5
|
|
91
|
-
style K fill:#FFB6C1
|
|
92
|
-
style L fill:#FFB6C1
|
|
50
|
+
A[Start: Brownfield Enhancement] --> B[analyst: analyze existing project]
|
|
51
|
+
B --> C[pm: brownfield-prd.md]
|
|
52
|
+
C --> D[architect: brownfield-architecture.md]
|
|
53
|
+
D --> E[po: validate with po-master-checklist]
|
|
54
|
+
E --> F{PO finds issues?}
|
|
55
|
+
F -->|Yes| G[Return to relevant agent for fixes]
|
|
56
|
+
F -->|No| H[Move to IDE Environment]
|
|
57
|
+
G --> E
|
|
58
|
+
|
|
59
|
+
style H fill:#90EE90
|
|
60
|
+
style C fill:#FFE4B5
|
|
61
|
+
style D fill:#FFE4B5
|
|
93
62
|
```
|
|
94
63
|
|
|
95
64
|
decision_guidance:
|
|
96
|
-
|
|
97
|
-
- Enhancement requires
|
|
65
|
+
when_to_use:
|
|
66
|
+
- Enhancement requires coordinated stories
|
|
98
67
|
- Architectural changes are needed
|
|
99
68
|
- Significant integration work required
|
|
100
69
|
- Risk assessment and mitigation planning necessary
|
|
101
70
|
- Multiple team members will work on related changes
|
|
102
71
|
|
|
103
|
-
use_simple_sequence_when:
|
|
104
|
-
- Enhancement can be completed in 1-3 stories
|
|
105
|
-
- Follows existing project patterns
|
|
106
|
-
- Integration complexity is minimal
|
|
107
|
-
- Risk to existing system is low
|
|
108
|
-
- Change is isolated with clear boundaries
|
|
109
|
-
|
|
110
72
|
handoff_prompts:
|
|
111
73
|
analyst_to_pm: "Existing project analysis complete. Create comprehensive brownfield PRD with integration strategy."
|
|
112
74
|
pm_to_architect: "Brownfield PRD ready. Save it as docs/brownfield-prd.md, then create the integration architecture."
|
|
113
75
|
architect_to_po: "Architecture complete. Save it as docs/brownfield-architecture.md. Please validate all artifacts for integration safety."
|
|
114
76
|
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
|
115
|
-
|
|
116
|
-
complex_complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
|
77
|
+
complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
|
@@ -12,16 +12,11 @@ workflow:
|
|
|
12
12
|
- performance-optimization
|
|
13
13
|
- integration-enhancement
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
complex_enhancement_sequence:
|
|
17
|
-
- step: scope_assessment
|
|
18
|
-
agent: any
|
|
19
|
-
action: assess complexity
|
|
20
|
-
notes: "First, assess if this is a simple service change (use simple_enhancement_sequence) or complex enhancement requiring full planning."
|
|
21
|
-
|
|
15
|
+
sequence:
|
|
22
16
|
- step: service_analysis
|
|
23
|
-
|
|
24
|
-
action: analyze existing
|
|
17
|
+
agent: architect
|
|
18
|
+
action: analyze existing project and use task document-project
|
|
19
|
+
creates: multiple documents per the document-project template
|
|
25
20
|
notes: "Review existing service documentation, codebase, performance metrics, and identify integration dependencies."
|
|
26
21
|
|
|
27
22
|
- agent: pm
|
|
@@ -50,68 +45,34 @@ workflow:
|
|
|
50
45
|
action: move_to_ide
|
|
51
46
|
notes: "All planning artifacts complete. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
|
52
47
|
|
|
53
|
-
# For Simple Service Enhancements (1-3 Stories, Following Existing Patterns)
|
|
54
|
-
simple_enhancement_sequence:
|
|
55
|
-
- step: enhancement_type
|
|
56
|
-
action: choose approach
|
|
57
|
-
notes: "Choose between creating single story (simple API endpoint) or epic (1-3 related service changes)."
|
|
58
|
-
|
|
59
|
-
- agent: pm|po|sm
|
|
60
|
-
creates: brownfield_epic OR brownfield_story
|
|
61
|
-
uses: brownfield-create-epic OR brownfield-create-story
|
|
62
|
-
notes: "Create focused service enhancement with existing API integration. Choose agent based on team preference and context."
|
|
63
|
-
|
|
64
|
-
- workflow_end:
|
|
65
|
-
action: move_to_ide
|
|
66
|
-
notes: "Service enhancement defined. Move to IDE environment to begin development. Explain to the user the IDE Development Workflow next steps: data#bmad-kb:IDE Development Workflow"
|
|
67
|
-
|
|
68
48
|
flow_diagram: |
|
|
69
49
|
```mermaid
|
|
70
50
|
graph TD
|
|
71
|
-
A[Start: Service Enhancement] --> B
|
|
72
|
-
B
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
F
|
|
78
|
-
G -->
|
|
79
|
-
|
|
80
|
-
H
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
D -->|1 Story| K[pm/po/sm: brownfield-create-story]
|
|
84
|
-
D -->|2-3 Stories| L[pm/po/sm: brownfield-create-epic]
|
|
85
|
-
K --> M[Move to IDE Environment]
|
|
86
|
-
L --> M
|
|
87
|
-
|
|
88
|
-
style J fill:#90EE90
|
|
89
|
-
style M fill:#90EE90
|
|
90
|
-
style E fill:#FFE4B5
|
|
91
|
-
style F fill:#FFE4B5
|
|
92
|
-
style K fill:#FFB6C1
|
|
93
|
-
style L fill:#FFB6C1
|
|
51
|
+
A[Start: Service Enhancement] --> B[analyst: analyze existing service]
|
|
52
|
+
B --> C[pm: brownfield-prd.md]
|
|
53
|
+
C --> D[architect: brownfield-architecture.md]
|
|
54
|
+
D --> E[po: validate with po-master-checklist]
|
|
55
|
+
E --> F{PO finds issues?}
|
|
56
|
+
F -->|Yes| G[Return to relevant agent for fixes]
|
|
57
|
+
F -->|No| H[Move to IDE Environment]
|
|
58
|
+
G --> E
|
|
59
|
+
|
|
60
|
+
style H fill:#90EE90
|
|
61
|
+
style C fill:#FFE4B5
|
|
62
|
+
style D fill:#FFE4B5
|
|
94
63
|
```
|
|
95
64
|
|
|
96
65
|
decision_guidance:
|
|
97
|
-
|
|
98
|
-
- Service enhancement requires
|
|
66
|
+
when_to_use:
|
|
67
|
+
- Service enhancement requires coordinated stories
|
|
99
68
|
- API versioning or breaking changes needed
|
|
100
69
|
- Database schema changes required
|
|
101
70
|
- Performance or scalability improvements needed
|
|
102
71
|
- Multiple integration points affected
|
|
103
72
|
|
|
104
|
-
use_simple_sequence_when:
|
|
105
|
-
- Adding simple endpoints or modifying existing ones
|
|
106
|
-
- Enhancement follows existing service patterns
|
|
107
|
-
- API compatibility maintained
|
|
108
|
-
- Risk to existing service is low
|
|
109
|
-
- Change is isolated with clear boundaries
|
|
110
|
-
|
|
111
73
|
handoff_prompts:
|
|
112
74
|
analyst_to_pm: "Service analysis complete. Create comprehensive brownfield PRD with service integration strategy."
|
|
113
75
|
pm_to_architect: "Brownfield PRD ready. Save it as docs/brownfield-prd.md, then create the service architecture."
|
|
114
76
|
architect_to_po: "Architecture complete. Save it as docs/brownfield-architecture.md. Please validate all artifacts for service integration safety."
|
|
115
77
|
po_issues: "PO found issues with [document]. Please return to [agent] to fix and re-save the updated document."
|
|
116
|
-
|
|
117
|
-
complex_complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|
|
78
|
+
complete: "All brownfield planning artifacts validated and saved in docs/ folder. Move to IDE environment to begin development."
|