bmad-method 4.27.5 → 5.0.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.
- package/.bmad-core/agent-teams/team-all.yml +16 -0
- package/.bmad-core/agent-teams/team-fullstack.yml +26 -0
- package/.bmad-core/agent-teams/team-no-ui.yml +15 -0
- package/{bmad-core → .bmad-core}/agents/analyst.md +23 -30
- package/.bmad-core/agents/architect.md +66 -0
- package/.bmad-core/agents/bmad-master.md +104 -0
- package/.bmad-core/agents/bmad-orchestrator.md +81 -0
- package/.bmad-core/agents/dev.md +70 -0
- package/{bmad-core → .bmad-core}/agents/pm.md +24 -25
- package/{bmad-core → .bmad-core}/agents/po.md +24 -28
- package/.bmad-core/agents/qa.md +52 -0
- package/.bmad-core/agents/sm.md +55 -0
- package/.bmad-core/agents/ux-expert.md +66 -0
- package/{bmad-core → .bmad-core}/checklists/change-checklist.md +2 -2
- package/{bmad-core → .bmad-core}/checklists/story-draft-checklist.md +1 -1
- package/.bmad-core/data/bmad-kb.md +47 -0
- package/.bmad-core/schemas/agent-team-schema.yml +153 -0
- package/.bmad-core/tasks/advanced-elicitation.md +92 -0
- package/.bmad-core/tasks/brainstorming-techniques.md +238 -0
- package/.bmad-core/tasks/core-dump.md +74 -0
- package/{expansion-packs/bmad-creator-tools → .bmad-core}/tasks/create-agent.md +11 -9
- package/.bmad-core/tasks/create-doc.md +74 -0
- package/.bmad-core/tasks/create-expansion-pack.md +425 -0
- package/.bmad-core/tasks/create-next-story.md +206 -0
- package/.bmad-core/tasks/create-team.md +229 -0
- package/{bmad-core → .bmad-core}/tasks/doc-migration-task.md +9 -9
- package/{common → .bmad-core}/tasks/execute-checklist.md +6 -2
- package/.bmad-core/tasks/generate-ai-frontend-prompt.md +58 -0
- package/{bmad-core → .bmad-core}/tasks/index-docs.md +7 -3
- package/{bmad-core → .bmad-core}/tasks/shard-doc.md +7 -25
- package/.bmad-core/templates/agent-tmpl.md +58 -0
- package/.bmad-core/templates/architecture-tmpl.md +771 -0
- package/.bmad-core/templates/brownfield-architecture-tmpl.md +542 -0
- package/.bmad-core/templates/brownfield-prd-tmpl.md +240 -0
- package/.bmad-core/templates/competitor-analysis-tmpl.md +289 -0
- package/.bmad-core/templates/expansion-pack-plan-tmpl.md +91 -0
- package/.bmad-core/templates/front-end-architecture-tmpl.md +173 -0
- package/.bmad-core/templates/front-end-spec-tmpl.md +411 -0
- package/.bmad-core/templates/fullstack-architecture-tmpl.md +1016 -0
- package/.bmad-core/templates/market-research-tmpl.md +261 -0
- package/.bmad-core/templates/prd-tmpl.md +200 -0
- package/.bmad-core/templates/project-brief-tmpl.md +228 -0
- package/.bmad-core/templates/simple-project-prd-tmpl.md +461 -0
- package/.bmad-core/templates/story-tmpl.md +61 -0
- package/.bmad-core/templates/web-agent-startup-instructions-template.md +39 -0
- package/.bmad-core/utils/agent-switcher.ide.md +112 -0
- package/.bmad-core/utils/template-format.md +26 -0
- package/.bmad-core/utils/workflow-management.md +224 -0
- package/.bmad-core/web-bundles/agents/analyst.txt +1684 -0
- package/.bmad-core/web-bundles/agents/architect.txt +3584 -0
- package/.bmad-core/web-bundles/agents/bmad-master.txt +9491 -0
- package/.bmad-core/web-bundles/agents/bmad-orchestrator.txt +1466 -0
- package/{dist → .bmad-core/web-bundles}/agents/dev.txt +71 -179
- package/{dist → .bmad-core/web-bundles}/agents/pm.txt +1058 -624
- package/{dist → .bmad-core/web-bundles}/agents/po.txt +138 -337
- package/.bmad-core/web-bundles/agents/qa.txt +129 -0
- package/.bmad-core/web-bundles/agents/sm.txt +658 -0
- package/.bmad-core/web-bundles/agents/ux-expert.txt +1099 -0
- package/.bmad-core/web-bundles/teams/team-all.txt +10757 -0
- package/.bmad-core/web-bundles/teams/team-fullstack.txt +10109 -0
- package/.bmad-core/web-bundles/teams/team-no-ui.txt +8950 -0
- package/.bmad-core/workflows/brownfield-fullstack.yml +116 -0
- package/.bmad-core/workflows/brownfield-service.yml +117 -0
- package/.bmad-core/workflows/brownfield-ui.yml +127 -0
- package/{bmad-core/workflows/greenfield-fullstack.yaml → .bmad-core/workflows/greenfield-fullstack.yml} +77 -140
- package/.bmad-core/workflows/greenfield-service.yml +143 -0
- package/.bmad-core/workflows/greenfield-ui.yml +172 -0
- package/.claude/commands/analyst.md +63 -0
- package/.claude/commands/architect.md +70 -0
- package/.claude/commands/bmad-master.md +108 -0
- package/.claude/commands/bmad-orchestrator.md +85 -0
- package/.claude/commands/dev.md +74 -0
- package/.claude/commands/pm.md +63 -0
- package/.claude/commands/po.md +64 -0
- package/.claude/commands/qa.md +56 -0
- package/.claude/commands/sm.md +59 -0
- package/.claude/commands/ux-expert.md +70 -0
- package/.cursor/rules/analyst.mdc +77 -0
- package/.cursor/rules/architect.mdc +84 -0
- package/.cursor/rules/bmad-master.mdc +122 -0
- package/.cursor/rules/bmad-orchestrator.mdc +99 -0
- package/.cursor/rules/dev.mdc +88 -0
- package/.cursor/rules/pm.mdc +77 -0
- package/.cursor/rules/po.mdc +78 -0
- package/.cursor/rules/qa.mdc +70 -0
- package/.cursor/rules/sm.mdc +73 -0
- package/.cursor/rules/ux-expert.mdc +84 -0
- package/.roo/.roomodes +95 -0
- package/.roo/README.md +38 -0
- package/.vscode/extensions.json +6 -0
- package/.vscode/settings.json +75 -49
- package/.windsurf/rules/analyst.md +71 -0
- package/.windsurf/rules/architect.md +78 -0
- package/.windsurf/rules/bmad-master.md +116 -0
- package/.windsurf/rules/bmad-orchestrator.md +93 -0
- package/.windsurf/rules/dev.md +82 -0
- package/.windsurf/rules/pm.md +71 -0
- package/.windsurf/rules/po.md +72 -0
- package/.windsurf/rules/qa.md +64 -0
- package/.windsurf/rules/sm.md +67 -0
- package/.windsurf/rules/ux-expert.md +78 -0
- package/CHANGELOG.md +16 -452
- package/CONTRIBUTING.md +5 -168
- package/LICENSE +1 -1
- package/README.md +230 -77
- package/docs/bmad-workflow-guide.md +15 -19
- package/docs/claude-code-guide.md +119 -0
- package/docs/cursor-guide.md +127 -0
- package/docs/roo-code-guide.md +140 -0
- package/docs/sample-output/simple-fullstack-greenfield/prd.md +42 -0
- package/docs/versioning-and-releases.md +16 -8
- package/docs/versions.md +5 -4
- package/docs/windsurf-guide.md +127 -0
- package/expansion-packs/README.md +112 -2
- package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/README.md +9 -9
- package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/agents/infra-devops-platform.md +15 -15
- package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/checklists/infrastructure-checklist.md +1 -1
- package/expansion-packs/infrastructure-devops/manifest.yml +38 -0
- package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/tasks/review-infrastructure.md +4 -4
- package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/tasks/validate-infrastructure.md +4 -4
- package/expansion-packs/infrastructure-devops/templates/infrastructure-architecture-tmpl.md +415 -0
- package/expansion-packs/infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
- package/package.json +11 -19
- package/tools/bmad-npx-wrapper.js +1 -1
- package/tools/builders/web-builder.js +28 -563
- package/tools/cli.js +22 -55
- package/tools/installer/README.md +53 -3
- package/tools/installer/bin/bmad.js +56 -294
- package/tools/installer/config/install.config.yml +139 -0
- package/tools/installer/lib/config-loader.js +34 -198
- package/tools/installer/lib/file-manager.js +5 -123
- package/tools/installer/lib/ide-setup.js +189 -545
- package/tools/installer/lib/installer.js +55 -1136
- package/tools/installer/package-lock.json +3 -3
- package/tools/installer/package.json +4 -4
- package/tools/installer/templates/claude-commands.md +7 -0
- package/tools/installer/templates/cursor-rules.md +22 -0
- package/tools/installer/templates/windsurf-rules.md +22 -0
- package/tools/lib/dependency-resolver.js +22 -22
- package/tools/upgraders/v3-to-v4-upgrader.js +43 -35
- package/tools/version-bump.js +1 -1
- package/tools/yaml-format.js +2 -2
- package/.github/FUNDING.yaml +0 -15
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -32
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
- package/.prettierignore +0 -21
- package/.prettierrc +0 -23
- package/bmad-core/agent-teams/team-all.yaml +0 -14
- package/bmad-core/agent-teams/team-fullstack.yaml +0 -18
- package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
- package/bmad-core/agent-teams/team-no-ui.yaml +0 -13
- package/bmad-core/agents/architect.md +0 -63
- package/bmad-core/agents/bmad-master.md +0 -110
- package/bmad-core/agents/bmad-orchestrator.md +0 -140
- package/bmad-core/agents/dev.md +0 -57
- package/bmad-core/agents/qa.md +0 -55
- package/bmad-core/agents/sm.md +0 -46
- package/bmad-core/agents/ux-expert.md +0 -54
- package/bmad-core/core-config.yaml +0 -25
- package/bmad-core/data/bmad-kb.md +0 -803
- package/bmad-core/data/brainstorming-techniques.md +0 -36
- package/bmad-core/data/elicitation-methods.md +0 -134
- package/bmad-core/tasks/advanced-elicitation.md +0 -117
- package/bmad-core/tasks/create-brownfield-story.md +0 -355
- package/bmad-core/tasks/create-next-story.md +0 -114
- package/bmad-core/tasks/create-workflow-plan.md +0 -289
- package/bmad-core/tasks/document-project.md +0 -317
- package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
- package/bmad-core/tasks/kb-mode-interaction.md +0 -70
- package/bmad-core/tasks/review-story.md +0 -145
- package/bmad-core/tasks/update-workflow-plan.md +0 -248
- package/bmad-core/tasks/validate-next-story.md +0 -134
- package/bmad-core/templates/architecture-tmpl.yaml +0 -650
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
- package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -805
- package/bmad-core/templates/market-research-tmpl.yaml +0 -252
- package/bmad-core/templates/prd-tmpl.yaml +0 -202
- package/bmad-core/templates/project-brief-tmpl.yaml +0 -221
- package/bmad-core/templates/story-tmpl.yaml +0 -137
- package/bmad-core/utils/plan-management.md +0 -219
- package/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
- package/bmad-core/workflows/brownfield-service.yaml +0 -187
- package/bmad-core/workflows/brownfield-ui.yaml +0 -197
- package/bmad-core/workflows/greenfield-service.yaml +0 -206
- package/bmad-core/workflows/greenfield-ui.yaml +0 -235
- package/common/tasks/create-doc.md +0 -79
- package/common/utils/bmad-doc-template.md +0 -325
- package/common/utils/workflow-management.md +0 -69
- package/dist/agents/analyst.txt +0 -2849
- package/dist/agents/architect.txt +0 -3505
- package/dist/agents/bmad-master.txt +0 -9588
- package/dist/agents/bmad-orchestrator.txt +0 -2232
- package/dist/agents/qa.txt +0 -388
- package/dist/agents/sm.txt +0 -673
- package/dist/agents/ux-expert.txt +0 -987
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2401
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1635
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -825
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -11730
- package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +0 -2023
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2052
- package/dist/teams/team-all.txt +0 -11799
- package/dist/teams/team-fullstack.txt +0 -11129
- package/dist/teams/team-ide-minimal.txt +0 -4573
- package/dist/teams/team-no-ui.txt +0 -9684
- package/docs/GUIDING-PRINCIPLES.md +0 -91
- package/docs/agentic-tools/claude-code-guide.md +0 -19
- package/docs/agentic-tools/cline-guide.md +0 -16
- package/docs/agentic-tools/cursor-guide.md +0 -14
- package/docs/agentic-tools/gemini-cli-guide.md +0 -32
- package/docs/agentic-tools/github-copilot-guide.md +0 -42
- package/docs/agentic-tools/roo-code-guide.md +0 -15
- package/docs/agentic-tools/trae-guide.md +0 -14
- package/docs/agentic-tools/windsurf-guide.md +0 -14
- package/docs/core-architecture.md +0 -219
- package/docs/expansion-packs.md +0 -280
- package/docs/how-to-contribute-with-pull-requests.md +0 -158
- package/docs/template-markup-references.md +0 -86
- package/docs/user-guide.md +0 -1142
- package/docs/working-in-the-brownfield.md +0 -361
- package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -60
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -68
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -53
- package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
- package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -7
- package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -254
- package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -651
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -111
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -308
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
- package/expansion-packs/bmad-creator-tools/README.md +0 -8
- package/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.md +0 -55
- package/expansion-packs/bmad-creator-tools/config.yaml +0 -5
- package/expansion-packs/bmad-creator-tools/tasks/generate-expansion-pack.md +0 -1020
- package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +0 -178
- package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +0 -154
- package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +0 -120
- package/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -8
- package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -308
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
- package/tools/bump-all-versions.js +0 -107
- package/tools/bump-core-version.js +0 -57
- package/tools/bump-expansion-version.js +0 -78
- package/tools/installer/config/ide-agent-config.yaml +0 -58
- package/tools/installer/config/install.config.yaml +0 -91
- package/tools/lib/yaml-utils.js +0 -29
- package/tools/md-assets/web-agent-startup-instructions.md +0 -39
- package/tools/update-expansion-version.js +0 -54
- /package/{bmad-core → .bmad-core}/checklists/architect-checklist.md +0 -0
- /package/{bmad-core → .bmad-core}/checklists/pm-checklist.md +0 -0
- /package/{bmad-core → .bmad-core}/checklists/po-master-checklist.md +0 -0
- /package/{bmad-core → .bmad-core}/checklists/story-dod-checklist.md +0 -0
- /package/{bmad-core → .bmad-core}/data/technical-preferences.md +0 -0
- /package/{bmad-core → .bmad-core}/tasks/brownfield-create-epic.md +0 -0
- /package/{bmad-core → .bmad-core}/tasks/brownfield-create-story.md +0 -0
- /package/{bmad-core → .bmad-core}/tasks/correct-course.md +0 -0
- /package/{bmad-core → .bmad-core}/tasks/create-deep-research-prompt.md +0 -0
- /package/.github/workflows/{release.yaml → release.yml} +0 -0
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
# {{Project Name}} Product Requirements Document (PRD)
|
|
2
|
+
|
|
3
|
+
[[LLM: If available, review any provided document or ask if any are optionally available: Project Brief]]
|
|
4
|
+
|
|
5
|
+
## Goals and Background Context
|
|
6
|
+
|
|
7
|
+
[[LLM: Populate the 2 child sections based on what we have received from user description or the provided brief. Allow user to review the 2 sections and offer changes before proceeding]]
|
|
8
|
+
|
|
9
|
+
### Goals
|
|
10
|
+
|
|
11
|
+
[[LLM: Bullet list of 1 line desired outcomes the PRD will deliver if successful - user and project desires]]
|
|
12
|
+
|
|
13
|
+
### Background Context
|
|
14
|
+
|
|
15
|
+
[[LLM: 1-2 short paragraphs summarizing the background context, such as what we learned in the brief without being redundant with the goals, what and why this solves a problem, what the current landscape or need is etc...]]
|
|
16
|
+
|
|
17
|
+
### Change Log
|
|
18
|
+
|
|
19
|
+
[[LLM: Track document versions and changes]]
|
|
20
|
+
|
|
21
|
+
| Date | Version | Description | Author |
|
|
22
|
+
| :--- | :------ | :---------- | :----- |
|
|
23
|
+
|
|
24
|
+
## Requirements
|
|
25
|
+
|
|
26
|
+
[[LLM: Draft the list of functional and non functional requirements under the two child sections, and immediately execute tasks#advanced-elicitation display]]
|
|
27
|
+
|
|
28
|
+
### Functional
|
|
29
|
+
|
|
30
|
+
[[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with FR`.]]
|
|
31
|
+
@{example: - FR6: The Todo List uses AI to detect and warn against adding potentially duplicate todo items that are worded differently.}
|
|
32
|
+
|
|
33
|
+
### Non Functional
|
|
34
|
+
|
|
35
|
+
[[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR`.]]
|
|
36
|
+
@{example: - NFR1: AWS service usage **must** aim to stay within free-tier limits where feasible.}
|
|
37
|
+
|
|
38
|
+
^^CONDITION: has_ui^^
|
|
39
|
+
|
|
40
|
+
## User Interface Design Goals
|
|
41
|
+
|
|
42
|
+
[[LLM: Capture high-level UI/UX vision to inform story creation and also generate a prompt for Lovable or V0 if the user would like either. Steps:
|
|
43
|
+
|
|
44
|
+
1. Pre-fill all subsections with educated guesses based on project context
|
|
45
|
+
2. Present the complete rendered section to user
|
|
46
|
+
3. Clearly let the user know where assumptions were made
|
|
47
|
+
4. Ask targeted questions for unclear/missing elements or areas needing more specification
|
|
48
|
+
5. This is NOT detailed UI spec - focus on product vision and user goals
|
|
49
|
+
6. After section completion, immediately apply `tasks#advanced-elicitation` protocol]]
|
|
50
|
+
|
|
51
|
+
### Overall UX Vision
|
|
52
|
+
|
|
53
|
+
### Key Interaction Paradigms
|
|
54
|
+
|
|
55
|
+
### Core Screens and Views
|
|
56
|
+
|
|
57
|
+
[[LLM: From a product perspective, what are the most critical screens or views necessary to deliver the the PRD values and goals? This is meant to be Conceptual High Level to Drive Rough Epic or User Stories]]
|
|
58
|
+
|
|
59
|
+
@{example}
|
|
60
|
+
|
|
61
|
+
- Login Screen
|
|
62
|
+
- Main Dashboard
|
|
63
|
+
- Item Detail Page
|
|
64
|
+
- Settings Page
|
|
65
|
+
@{/example}
|
|
66
|
+
|
|
67
|
+
### Accessibility: { None, WCAG, etc }
|
|
68
|
+
|
|
69
|
+
### Branding
|
|
70
|
+
|
|
71
|
+
[[LLM: Any known branding elements or style guides that must be incorporated?]]
|
|
72
|
+
|
|
73
|
+
@{example}
|
|
74
|
+
|
|
75
|
+
- Replicate the look and feel of early 1900s black and white cinema, including animated effects replicating film damage or projector glitches during page or state transitions.
|
|
76
|
+
- Attached is the full color pallet and tokens for our corporate branding.
|
|
77
|
+
@{/example}
|
|
78
|
+
|
|
79
|
+
### Target Device and Platforms
|
|
80
|
+
|
|
81
|
+
@{example}
|
|
82
|
+
"Web Responsive, and all mobile platforms", "IPhone Only", "ASCII Windows Desktop"
|
|
83
|
+
@{/example}
|
|
84
|
+
|
|
85
|
+
^^/CONDITION: has_ui^^
|
|
86
|
+
|
|
87
|
+
## Technical Assumptions
|
|
88
|
+
|
|
89
|
+
[[LLM: Gather technical decisions that will be used for this simple technical PRD that includes architecture decisions. Steps:
|
|
90
|
+
|
|
91
|
+
1. Check if `data#technical-preferences` file exists - use it to pre-populate choices
|
|
92
|
+
2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
|
|
93
|
+
3. For unknowns, offer guidance based on project goals and MVP scope
|
|
94
|
+
4. Document ALL technical choices with rationale (why this choice fits the project)
|
|
95
|
+
5. These become constraints for the Architect - be specific and complete
|
|
96
|
+
6. After section completion, apply `tasks#advanced-elicitation` protocol.]]
|
|
97
|
+
|
|
98
|
+
### Repository Structure: { Monorepo, Polyrepo, etc...}
|
|
99
|
+
|
|
100
|
+
### Service Architecture
|
|
101
|
+
|
|
102
|
+
[[LLM: CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo).]]
|
|
103
|
+
|
|
104
|
+
## Testing requirements
|
|
105
|
+
|
|
106
|
+
[[LLM: CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods).]]
|
|
107
|
+
|
|
108
|
+
### Additional Technical Assumptions and Requests
|
|
109
|
+
|
|
110
|
+
[[LLM: Throughout the entire process of drafting this document, if any other technical assumptions are raised or discovered appropriate for the architect, add them here as additional bulleted items]]
|
|
111
|
+
|
|
112
|
+
## Data Models
|
|
113
|
+
|
|
114
|
+
[[LLM: Define the core data models/entities that will be used in the front end (if there is one), core application or back end, and if both, shared between frontend and backend:
|
|
115
|
+
|
|
116
|
+
1. Review PRD requirements and identify key business entities
|
|
117
|
+
2. For each model, explain its purpose and relationships
|
|
118
|
+
3. Include key attributes and data types
|
|
119
|
+
4. Show relationships between models
|
|
120
|
+
5. Create TypeScript interfaces that can be shared
|
|
121
|
+
6. Discuss design decisions with user
|
|
122
|
+
|
|
123
|
+
Create a clear conceptual model before moving to database schema.
|
|
124
|
+
|
|
125
|
+
After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
|
|
126
|
+
|
|
127
|
+
<<REPEAT: data_model>>
|
|
128
|
+
|
|
129
|
+
### {{model_name}}
|
|
130
|
+
|
|
131
|
+
**Purpose:** {{model_purpose}}
|
|
132
|
+
|
|
133
|
+
**Key Attributes:**
|
|
134
|
+
|
|
135
|
+
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
|
136
|
+
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
|
137
|
+
|
|
138
|
+
**TypeScript Interface:**
|
|
139
|
+
|
|
140
|
+
````typescript
|
|
141
|
+
{
|
|
142
|
+
{
|
|
143
|
+
model_interface;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
```text
|
|
147
|
+
|
|
148
|
+
**Relationships:**
|
|
149
|
+
|
|
150
|
+
- {{relationship_1}}
|
|
151
|
+
- {{relationship_2}}
|
|
152
|
+
<</REPEAT>>
|
|
153
|
+
|
|
154
|
+
@{example: data_model}
|
|
155
|
+
|
|
156
|
+
### User
|
|
157
|
+
|
|
158
|
+
**Purpose:** Represents authenticated users in the system
|
|
159
|
+
|
|
160
|
+
**Key Attributes:**
|
|
161
|
+
|
|
162
|
+
- id: string - Unique identifier
|
|
163
|
+
- email: string - User's email address
|
|
164
|
+
- name: string - Display name
|
|
165
|
+
- role: enum - User permission level
|
|
166
|
+
- timestamps: Date - Created and updated times
|
|
167
|
+
|
|
168
|
+
**TypeScript Interface:**
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
interface User {
|
|
172
|
+
id: string;
|
|
173
|
+
email: string;
|
|
174
|
+
name: string;
|
|
175
|
+
role: "admin" | "user" | "guest";
|
|
176
|
+
createdAt: Date;
|
|
177
|
+
updatedAt: Date;
|
|
178
|
+
profile?: UserProfile;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
interface UserProfile {
|
|
182
|
+
avatarUrl?: string;
|
|
183
|
+
bio?: string;
|
|
184
|
+
preferences: Record<string, any>;
|
|
185
|
+
}
|
|
186
|
+
````
|
|
187
|
+
|
|
188
|
+
**Relationships:**
|
|
189
|
+
|
|
190
|
+
- Has many Posts (1:n)
|
|
191
|
+
- Has one Profile (1:1)
|
|
192
|
+
@{/example}
|
|
193
|
+
|
|
194
|
+
## REST API Spec
|
|
195
|
+
|
|
196
|
+
[[LLM: Based on the chosen API style from Tech Stack:
|
|
197
|
+
|
|
198
|
+
1. If REST API, create an OpenAPI 3.0 specification
|
|
199
|
+
2. If GraphQL, provide the GraphQL schema
|
|
200
|
+
3. If tRPC, show router definitions
|
|
201
|
+
4. Include all endpoints from epics/stories
|
|
202
|
+
5. Define request/response schemas based on data models
|
|
203
|
+
6. Document authentication requirements
|
|
204
|
+
7. Include example requests/responses
|
|
205
|
+
|
|
206
|
+
Use appropriate format for the chosen API style. If no API (e.g., static site), skip this section.]]
|
|
207
|
+
|
|
208
|
+
^^CONDITION: has_rest_api^^
|
|
209
|
+
|
|
210
|
+
````yml
|
|
211
|
+
openapi: 3.0.0
|
|
212
|
+
info:
|
|
213
|
+
title:
|
|
214
|
+
'[object Object]': null
|
|
215
|
+
version:
|
|
216
|
+
'[object Object]': null
|
|
217
|
+
description:
|
|
218
|
+
'[object Object]': null
|
|
219
|
+
servers:
|
|
220
|
+
- url:
|
|
221
|
+
'[object Object]': null
|
|
222
|
+
description:
|
|
223
|
+
'[object Object]': null
|
|
224
|
+
```text
|
|
225
|
+
|
|
226
|
+
^^/CONDITION: has_rest_api^^
|
|
227
|
+
|
|
228
|
+
^^CONDITION: has_graphql_api^^
|
|
229
|
+
|
|
230
|
+
```graphql
|
|
231
|
+
# GraphQL Schema
|
|
232
|
+
{{graphql_schema}}
|
|
233
|
+
````
|
|
234
|
+
|
|
235
|
+
^^/CONDITION: has_graphql_api^^
|
|
236
|
+
|
|
237
|
+
^^CONDITION: has_trpc_api^^
|
|
238
|
+
|
|
239
|
+
```typescript
|
|
240
|
+
// tRPC Router Definitions
|
|
241
|
+
{
|
|
242
|
+
{
|
|
243
|
+
trpc_routers;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
^^/CONDITION: has_trpc_api^^
|
|
249
|
+
|
|
250
|
+
[[LLM: After presenting the API spec (or noting its absence if not applicable), apply `tasks#advanced-elicitation` protocol]]
|
|
251
|
+
|
|
252
|
+
## Components
|
|
253
|
+
|
|
254
|
+
[[LLM: Based on the architectural patterns, tech stack, and data models from above:
|
|
255
|
+
|
|
256
|
+
1. Identify major logical components/services across the fullstack
|
|
257
|
+
2. Consider both frontend and backend components
|
|
258
|
+
3. Define clear boundaries and interfaces between components
|
|
259
|
+
4. For each component, specify:
|
|
260
|
+
|
|
261
|
+
- Primary responsibility
|
|
262
|
+
- Key interfaces/APIs exposed
|
|
263
|
+
- Dependencies on other components
|
|
264
|
+
- Technology specifics based on tech stack choices
|
|
265
|
+
|
|
266
|
+
5. Create component diagrams where helpful
|
|
267
|
+
6. After presenting all components, apply `tasks#advanced-elicitation` protocol]]
|
|
268
|
+
|
|
269
|
+
<<REPEAT: component>>
|
|
270
|
+
|
|
271
|
+
### {{component_name}}
|
|
272
|
+
|
|
273
|
+
**Responsibility:** {{component_description}}
|
|
274
|
+
|
|
275
|
+
**Key Interfaces:**
|
|
276
|
+
|
|
277
|
+
- {{interface_1}}
|
|
278
|
+
- {{interface_2}}
|
|
279
|
+
|
|
280
|
+
**Dependencies:** {{dependencies}}
|
|
281
|
+
|
|
282
|
+
**Technology Stack:** {{component_tech_details}}
|
|
283
|
+
<</REPEAT>>
|
|
284
|
+
|
|
285
|
+
### Component Diagrams
|
|
286
|
+
|
|
287
|
+
[[LLM: Create Mermaid diagrams to visualize component relationships. Options:
|
|
288
|
+
|
|
289
|
+
- C4 Container diagram for high-level view
|
|
290
|
+
- Component diagram for detailed internal structure
|
|
291
|
+
- Sequence diagrams for complex interactions
|
|
292
|
+
Choose the most appropriate for clarity
|
|
293
|
+
|
|
294
|
+
After presenting the diagrams, apply `tasks#advanced-elicitation` protocol]]
|
|
295
|
+
|
|
296
|
+
## External APIs
|
|
297
|
+
|
|
298
|
+
[[LLM: For each external service integration:
|
|
299
|
+
|
|
300
|
+
1. Identify APIs needed based on PRD requirements and component design
|
|
301
|
+
2. If documentation URLs are unknown, ask user for specifics
|
|
302
|
+
3. Document authentication methods and security considerations
|
|
303
|
+
4. List specific endpoints that will be used
|
|
304
|
+
5. Note any rate limits or usage constraints
|
|
305
|
+
|
|
306
|
+
If no external APIs are needed, state this explicitly and skip to next section.]]
|
|
307
|
+
|
|
308
|
+
^^CONDITION: has_external_apis^^
|
|
309
|
+
|
|
310
|
+
<<REPEAT: external_api>>
|
|
311
|
+
|
|
312
|
+
### {{api_name}} API
|
|
313
|
+
|
|
314
|
+
- **Purpose:** {{api_purpose}}
|
|
315
|
+
- **Documentation:** {{api_docs_url}}
|
|
316
|
+
- **Base URL(s):** {{api_base_url}}
|
|
317
|
+
- **Authentication:** {{auth_method}}
|
|
318
|
+
- **Rate Limits:** {{rate_limits}}
|
|
319
|
+
|
|
320
|
+
**Key Endpoints Used:**
|
|
321
|
+
<<REPEAT: endpoint>>
|
|
322
|
+
|
|
323
|
+
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
|
324
|
+
<</REPEAT>>
|
|
325
|
+
|
|
326
|
+
**Integration Notes:** {{integration_considerations}}
|
|
327
|
+
<</REPEAT>>
|
|
328
|
+
|
|
329
|
+
@{example: external_api}
|
|
330
|
+
|
|
331
|
+
### Stripe API
|
|
332
|
+
|
|
333
|
+
- **Purpose:** Payment processing and subscription management
|
|
334
|
+
- **Documentation:** https://stripe.com/docs/api
|
|
335
|
+
- **Base URL(s):** `https://api.stripe.com/v1`
|
|
336
|
+
- **Authentication:** Bearer token with secret key
|
|
337
|
+
- **Rate Limits:** 100 requests per second
|
|
338
|
+
|
|
339
|
+
**Key Endpoints Used:**
|
|
340
|
+
|
|
341
|
+
- `POST /customers` - Create customer profiles
|
|
342
|
+
- `POST /payment_intents` - Process payments
|
|
343
|
+
- `POST /subscriptions` - Manage subscriptions
|
|
344
|
+
@{/example}
|
|
345
|
+
|
|
346
|
+
^^/CONDITION: has_external_apis^^
|
|
347
|
+
|
|
348
|
+
[[LLM: After presenting external APIs (or noting their absence), apply `tasks#advanced-elicitation` protocol]]
|
|
349
|
+
|
|
350
|
+
## Coding Standards
|
|
351
|
+
|
|
352
|
+
[[LLM: 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.
|
|
353
|
+
|
|
354
|
+
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
355
|
+
|
|
356
|
+
### Critical Fullstack Rules
|
|
357
|
+
|
|
358
|
+
<<REPEAT: critical_rule>>
|
|
359
|
+
|
|
360
|
+
- **{{rule_name}}:** {{rule_description}}
|
|
361
|
+
<</REPEAT>>
|
|
362
|
+
|
|
363
|
+
@{example: critical_rules}
|
|
364
|
+
|
|
365
|
+
- **Type Sharing:** Always define types in packages/shared and import from there
|
|
366
|
+
- **API Calls:** Never make direct HTTP calls - use the service layer
|
|
367
|
+
- **Environment Variables:** Access only through config objects, never process.env directly
|
|
368
|
+
- **Error Handling:** All API routes must use the standard error handler
|
|
369
|
+
- **State Updates:** Never mutate state directly - use proper state management patterns
|
|
370
|
+
@{/example}
|
|
371
|
+
|
|
372
|
+
### Naming Conventions
|
|
373
|
+
|
|
374
|
+
| Element | Frontend | Backend | Example |
|
|
375
|
+
| :-------------- | :------------------- | :--------- | :------------------ |
|
|
376
|
+
| Components | PascalCase | - | `UserProfile.tsx` |
|
|
377
|
+
| Hooks | camelCase with 'use' | - | `useAuth.ts` |
|
|
378
|
+
| API Routes | - | kebab-case | `/api/user-profile` |
|
|
379
|
+
| Database Tables | - | snake_case | `user_profiles` |
|
|
380
|
+
|
|
381
|
+
## Epics
|
|
382
|
+
|
|
383
|
+
[[LLM: First, present a high-level list of all epics for user approval, the epic_list and immediately execute tasks#advanced-elicitation display. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
|
|
384
|
+
|
|
385
|
+
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
|
386
|
+
|
|
387
|
+
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
|
388
|
+
- 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
|
|
389
|
+
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
|
390
|
+
- 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.
|
|
391
|
+
- 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.
|
|
392
|
+
- Cross Cutting Concerns should flow through epics and stories and not be final stories. For example, adding a logging framework as a last story of an epic, or at the end of a project as a final epic or story would be terrible as we would not have logging from the beginning.]]
|
|
393
|
+
|
|
394
|
+
<<REPEAT: epic_list>>
|
|
395
|
+
|
|
396
|
+
- Epic{{epic_number}} {{epic_title}}: {{short_goal}}
|
|
397
|
+
|
|
398
|
+
<</REPEAT>>
|
|
399
|
+
|
|
400
|
+
@{example: epic_list}
|
|
401
|
+
|
|
402
|
+
1. Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management
|
|
403
|
+
2. Core Business Entities: Create and manage primary domain objects with CRUD operations
|
|
404
|
+
3. User Workflows & Interactions: Enable key user journeys and business processes
|
|
405
|
+
4. Reporting & Analytics: Provide insights and data visualization for users
|
|
406
|
+
|
|
407
|
+
@{/example}
|
|
408
|
+
|
|
409
|
+
[[LLM: After the epic list is approved, present each `epic_details` with all its stories and acceptance criteria as a complete review unit and immediately execute tasks#advanced-elicitation display, before moving on to the next epic.]]
|
|
410
|
+
|
|
411
|
+
<<REPEAT: epic_details>>
|
|
412
|
+
|
|
413
|
+
## Epic {{epic_number}} {{epic_title}}
|
|
414
|
+
|
|
415
|
+
{{epic_goal}} [[LLM: Expanded goal - 2-3 sentences describing the objective and value all the stories will achieve]]
|
|
416
|
+
|
|
417
|
+
[[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
|
|
418
|
+
|
|
419
|
+
- Stories within each epic MUST be logically sequential
|
|
420
|
+
- Each story should be a "vertical slice" delivering complete functionality
|
|
421
|
+
- No story should depend on work from a later story or epic
|
|
422
|
+
- Identify and note any direct prerequisite stories
|
|
423
|
+
- 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.
|
|
424
|
+
- Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
|
|
425
|
+
- Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
|
|
426
|
+
- Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
|
|
427
|
+
- If a story seems complex, break it down further as long as it can deliver a vertical slice
|
|
428
|
+
- Each story should result in working, testable code before the agent's context window fills]]
|
|
429
|
+
|
|
430
|
+
<<REPEAT: story>>
|
|
431
|
+
|
|
432
|
+
### Story {{epic_number}}.{{story_number}} {{story_title}}
|
|
433
|
+
|
|
434
|
+
As a {{user_type}},
|
|
435
|
+
I want {{action}},
|
|
436
|
+
so that {{benefit}}.
|
|
437
|
+
|
|
438
|
+
#### Acceptance Criteria
|
|
439
|
+
|
|
440
|
+
[[LLM: Define clear, comprehensive, and testable acceptance criteria that:
|
|
441
|
+
|
|
442
|
+
- Precisely define what "done" means from a functional perspective
|
|
443
|
+
- Are unambiguous and serve as basis for verification
|
|
444
|
+
- Include any critical non-functional requirements from the PRD
|
|
445
|
+
- Consider local testability for backend/data components
|
|
446
|
+
- Specify UI/UX requirements and framework adherence where applicable
|
|
447
|
+
- Avoid cross-cutting concerns that should be in other stories or PRD sections]]
|
|
448
|
+
|
|
449
|
+
<<REPEAT: criteria>>
|
|
450
|
+
|
|
451
|
+
- {{criterion number}}: {{criteria}}
|
|
452
|
+
|
|
453
|
+
<</REPEAT>>
|
|
454
|
+
<</REPEAT>>
|
|
455
|
+
<</REPEAT>>
|
|
456
|
+
|
|
457
|
+
## Next Steps
|
|
458
|
+
|
|
459
|
+
### Design Architect Prompt
|
|
460
|
+
|
|
461
|
+
[[LLM: This section will contain the prompt for the Design Architect, keep it short and to the point to initiate create architecture mode using this document as input.]]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Story {{EpicNum}}.{{StoryNum}}: {{Short Title Copied from Epic File specific story}}
|
|
2
|
+
|
|
3
|
+
## Status: {{ Draft | Approved | InProgress | Review | Done }}
|
|
4
|
+
|
|
5
|
+
## Story
|
|
6
|
+
|
|
7
|
+
- As a {{role}}
|
|
8
|
+
- I want {{action}}
|
|
9
|
+
- so that {{benefit}}
|
|
10
|
+
|
|
11
|
+
## Acceptance Criteria (ACs)
|
|
12
|
+
|
|
13
|
+
{{ Copy of Acceptance Criteria numbered list }}
|
|
14
|
+
|
|
15
|
+
## Tasks / Subtasks
|
|
16
|
+
|
|
17
|
+
- [ ] Task 1 (AC: # if applicable)
|
|
18
|
+
- [ ] Subtask1.1...
|
|
19
|
+
- [ ] Task 2 (AC: # if applicable)
|
|
20
|
+
- [ ] Subtask 2.1...
|
|
21
|
+
- [ ] Task 3 (AC: # if applicable)
|
|
22
|
+
- [ ] Subtask 3.1...
|
|
23
|
+
|
|
24
|
+
## Dev Notes
|
|
25
|
+
|
|
26
|
+
[[LLM: populates relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story. Do not invent information. Critical: If known add Relevant Source Tree info that relates to this story. If there were important notes from previous story that are relevant to this one, also include them here if it will help the dev agent. You do NOT need to repeat anything from coding standards or test standards as the dev agent is already aware of those. The dev agent should NEVER need to read the PRD or architecture documents or child documents though to complete this self contained story, because your critical mission is to share the specific items needed here extremely concisely for the Dev Agent LLM to comprehend with the least about of context overhead token usage needed.]]
|
|
27
|
+
|
|
28
|
+
### Testing
|
|
29
|
+
|
|
30
|
+
[[LLM: Scrum Master use `test-strategy-and-standards.md` to leave instruction for developer agent in the following concise format, leave unchecked if no specific test requirement of that type]]
|
|
31
|
+
Dev Note: Story Requires the following tests:
|
|
32
|
+
|
|
33
|
+
- [ ] {{type f.e. Jest}} Unit Tests: (nextToFile: {{true|false}}), coverage requirement: {{from strategy or default 80%}}
|
|
34
|
+
- [ ] {{type f.e. Jest with in memory db}} Integration Test (Test Location): location: {{Integration test location f.e. `/tests/story-name/foo.spec.cs` or `next to handler`}}
|
|
35
|
+
- [ ] {{type f.e. Cypress}} E2E: location: {{f.e. `/e2e/{epic-name/bar.test.ts`}}
|
|
36
|
+
|
|
37
|
+
Manual Test Steps: [[LLM: Include how if possible the user can manually test the functionality when story is Ready for Review, if any]]
|
|
38
|
+
|
|
39
|
+
{{ f.e. `- dev will create a script with task 3 above that you can run with "npm run test-initiate-launch-sequence" and validate Armageddon is initiated`}}
|
|
40
|
+
|
|
41
|
+
## Dev Agent Record
|
|
42
|
+
|
|
43
|
+
### Agent Model Used: {{Agent Model Name/Version}}
|
|
44
|
+
|
|
45
|
+
### Debug Log References
|
|
46
|
+
|
|
47
|
+
[[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update]]
|
|
48
|
+
[[LLM: (Dev Agent) If the debug is logged to during the current story progress, create a table with the debug log and the specific task section in the debug log - do not repeat all the details in the story]]
|
|
49
|
+
|
|
50
|
+
### Completion Notes List
|
|
51
|
+
|
|
52
|
+
[[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update - remove this line to the SM]]
|
|
53
|
+
[[LLM: (Dev Agent) Anything the SM needs to know that deviated from the story that might impact drafting the next story.]]
|
|
54
|
+
|
|
55
|
+
### Change Log
|
|
56
|
+
|
|
57
|
+
[[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update- remove this line to the SM]]
|
|
58
|
+
[[LLM: (Dev Agent) Track document versions and changes during development that deviate from story dev start]]
|
|
59
|
+
|
|
60
|
+
| Date | Version | Description | Author |
|
|
61
|
+
| :--- | :------ | :---------- | :----- |
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Web Agent Bundle Instructions
|
|
2
|
+
|
|
3
|
+
You are now operating as a specialized AI agent from the BMAD-METHOD framework. This is a bundled web-compatible version containing all necessary resources for your role.
|
|
4
|
+
|
|
5
|
+
## Important Instructions
|
|
6
|
+
|
|
7
|
+
1. **Follow all startup commands**: Your agent configuration includes startup instructions that define your behavior, personality, and approach. These MUST be followed exactly.
|
|
8
|
+
|
|
9
|
+
2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
|
|
10
|
+
|
|
11
|
+
- `==================== START: folder#filename ====================`
|
|
12
|
+
- `==================== END: folder#filename ====================`
|
|
13
|
+
|
|
14
|
+
When you need to reference a resource mentioned in your instructions:
|
|
15
|
+
|
|
16
|
+
- Look for the corresponding START/END tags
|
|
17
|
+
- The format is always `folder#filename` (e.g., `personas#analyst`, `tasks#create-story`)
|
|
18
|
+
- If a section is specified (e.g., `tasks#create-story#section-name`), navigate to that section within the file
|
|
19
|
+
|
|
20
|
+
**Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
|
|
21
|
+
|
|
22
|
+
```yaml
|
|
23
|
+
dependencies:
|
|
24
|
+
utils:
|
|
25
|
+
- template-format
|
|
26
|
+
tasks:
|
|
27
|
+
- create-story
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
These references map directly to bundle sections:
|
|
31
|
+
|
|
32
|
+
- `utils: template-format` → Look for `==================== START: utils#template-format ====================`
|
|
33
|
+
- `tasks: create-story` → Look for `==================== START: tasks#create-story ====================`
|
|
34
|
+
|
|
35
|
+
3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
|
|
36
|
+
|
|
37
|
+
4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the BMAD-METHOD framework.
|
|
38
|
+
|
|
39
|
+
---
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Agent Switcher Instructions
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This document provides instructions for switching between different IDE agent personas in the BMAD-METHOD framework.
|
|
6
|
+
|
|
7
|
+
## Behavior
|
|
8
|
+
|
|
9
|
+
### Listing Available Agents
|
|
10
|
+
|
|
11
|
+
When no agent name is provided:
|
|
12
|
+
|
|
13
|
+
1. Read the `bmad-core/ide-agents/` directory
|
|
14
|
+
2. Look for files matching the pattern `*.ide.md`
|
|
15
|
+
3. Extract agent names from filenames (the part before `.ide.md`)
|
|
16
|
+
4. Present a numbered list of available agents
|
|
17
|
+
|
|
18
|
+
### Loading an Agent
|
|
19
|
+
|
|
20
|
+
When an agent name is provided:
|
|
21
|
+
|
|
22
|
+
1. Attempt to load `bmad-core/ide-agents/{agent-name}.ide.md`
|
|
23
|
+
2. If the file doesn't exist:
|
|
24
|
+
- List all available agents found in the directory
|
|
25
|
+
- Prompt for a valid selection
|
|
26
|
+
3. If the file exists:
|
|
27
|
+
- Read and internalize the agent's instructions
|
|
28
|
+
- Note the agent's name and role from the Agent Profile section
|
|
29
|
+
- Embody that agent's persona, communication style, and capabilities
|
|
30
|
+
- Use the agent's name when referring to yourself (e.g., "I'm John, the Product Manager")
|
|
31
|
+
- Follow the agent's specific workflows and constraints
|
|
32
|
+
|
|
33
|
+
### Active Agent Behavior
|
|
34
|
+
|
|
35
|
+
When successfully operating as an IDE agent:
|
|
36
|
+
|
|
37
|
+
- Strictly follow the agent's defined capabilities and limitations
|
|
38
|
+
- Only execute commands that the agent supports (typically prefixed with `*`)
|
|
39
|
+
- Maintain the agent identity and context until switched or exited
|
|
40
|
+
- If asked to perform tasks outside the agent's scope:
|
|
41
|
+
- Inform the user of the limitation
|
|
42
|
+
- Suggest the appropriate agent for that task
|
|
43
|
+
|
|
44
|
+
### Exiting Agent Mode
|
|
45
|
+
|
|
46
|
+
When exiting agent mode:
|
|
47
|
+
|
|
48
|
+
- Immediately exit the current agent persona
|
|
49
|
+
- Return to standard assistant capabilities
|
|
50
|
+
- Clear any agent-specific context or workflows
|
|
51
|
+
|
|
52
|
+
## Implementation Details
|
|
53
|
+
|
|
54
|
+
- Each agent maintains its own context and workflow state
|
|
55
|
+
- Switching agents clears the previous agent's context
|
|
56
|
+
- Agents are self-contained - no need to read additional files
|
|
57
|
+
- The system automatically adapts as agents are added or removed
|
|
58
|
+
|
|
59
|
+
## Example Interactions
|
|
60
|
+
|
|
61
|
+
### Example Listing Agents
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
User: [requests agent list]
|
|
65
|
+
Agent: Available IDE agents:
|
|
66
|
+
1. architect
|
|
67
|
+
2. dev
|
|
68
|
+
3. devops
|
|
69
|
+
4. pm
|
|
70
|
+
5. po
|
|
71
|
+
6. sm
|
|
72
|
+
|
|
73
|
+
Please select an agent by specifying: <agent-name>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Example Loading an Agent
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
User: [requests dev agent]
|
|
80
|
+
Agent: [Loads dev.ide.md and operates as Dev agent]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Example Invalid Agent Request
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
User: [requests designer agent]
|
|
87
|
+
Agent: Could not find IDE agent 'designer'. Available agents:
|
|
88
|
+
1. architect
|
|
89
|
+
2. dev
|
|
90
|
+
3. devops
|
|
91
|
+
4. pm
|
|
92
|
+
5. po
|
|
93
|
+
6. sm
|
|
94
|
+
|
|
95
|
+
Please select an agent by specifying: <agent-name>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Example Task Outside Agent Scope
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
[While operating as Dev agent]
|
|
102
|
+
User: Create a PRD
|
|
103
|
+
Agent: I'm currently operating as the Dev agent, which doesn't have PRD creation capabilities.
|
|
104
|
+
The PM agent can create PRDs. Would you like me to switch to the PM agent?
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Example Exiting Agent Mode
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
User: [requests to exit agent mode]
|
|
111
|
+
Agent: Exited IDE agent mode. Returned to standard assistant capabilities.
|
|
112
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Template Format Conventions
|
|
2
|
+
|
|
3
|
+
Templates in the BMAD method use standardized markup for AI processing. These conventions ensure consistent document generation.
|
|
4
|
+
|
|
5
|
+
## Template Markup Elements
|
|
6
|
+
|
|
7
|
+
- **{{placeholders}}**: Variables to be replaced with actual content
|
|
8
|
+
- **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
|
|
9
|
+
- **REPEAT** sections: Content blocks that may be repeated as needed
|
|
10
|
+
- **^^CONDITION^^** blocks: Conditional content included only if criteria are met
|
|
11
|
+
- **@{examples}**: Example content for guidance (never output to users)
|
|
12
|
+
|
|
13
|
+
## Processing Rules
|
|
14
|
+
|
|
15
|
+
- Replace all {{placeholders}} with project-specific content
|
|
16
|
+
- Execute all [[LLM: instructions]] internally without showing users
|
|
17
|
+
- Process conditional and repeat blocks as specified
|
|
18
|
+
- Use examples for guidance but never include them in final output
|
|
19
|
+
- Present only clean, formatted content to users
|
|
20
|
+
|
|
21
|
+
## Critical Guidelines
|
|
22
|
+
|
|
23
|
+
- **NEVER display template markup, LLM instructions, or examples to users**
|
|
24
|
+
- Template elements are for AI processing only
|
|
25
|
+
- Focus on faithful template execution and clean output
|
|
26
|
+
- All template-specific instructions are embedded within templates
|