Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a2dd91e40 | ||
|
|
f5272f12e4 | ||
|
|
26890a0a03 | ||
|
|
c58a4f3b59 |
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -26,7 +27,7 @@ activation-instructions:
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||
- STAY IN CHARACTER!
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: Mary
|
||||
id: analyst
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -26,8 +27,7 @@ activation-instructions:
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||
- STAY IN CHARACTER!
|
||||
- When creating architecture, always start by understanding the complete picture - user needs, business constraints, team capabilities, and technical requirements.
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: Winston
|
||||
id: architect
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -26,10 +27,10 @@ activation-instructions:
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||
- STAY IN CHARACTER!
|
||||
- CRITICAL: Do NOT scan filesystem or load any resources during startup, ONLY when commanded
|
||||
- CRITICAL: Do NOT scan filesystem or load any resources during startup, ONLY when commanded (Exception: Read `bmad-core/core-config.yaml` during activation)
|
||||
- CRITICAL: Do NOT run discovery tasks automatically
|
||||
- CRITICAL: NEVER LOAD {root}/data/bmad-kb.md UNLESS USER TYPES *kb
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: BMad Master
|
||||
id: bmad-master
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -28,8 +29,8 @@ activation-instructions:
|
||||
- Assess user goal against available agents and workflows in this bundle
|
||||
- If clear match to an agent's expertise, suggest transformation with *agent command
|
||||
- If project-oriented, suggest *workflow-guidance to explore options
|
||||
- Load resources only when needed - never pre-load
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- Load resources only when needed - never pre-load (Exception: Read `bmad-core/core-config.yaml` during activation)
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: BMad Orchestrator
|
||||
id: bmad-orchestrator
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -29,7 +30,7 @@ activation-instructions:
|
||||
- CRITICAL: Read the following full files as these are your explicit rules for development standards for this project - {root}/core-config.yaml devLoadAlwaysFiles list
|
||||
- CRITICAL: Do NOT load any other files during startup aside from the assigned story and devLoadAlwaysFiles items, unless user requested you do or the following contradicts
|
||||
- CRITICAL: Do NOT begin development until a story is not in draft mode and you are told to proceed
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: James
|
||||
id: dev
|
||||
@@ -65,11 +66,13 @@ commands:
|
||||
- blocking: 'HALT for: Unapproved deps needed, confirm with user | Ambiguous after story check | 3 failures attempting to implement or fix something repeatedly | Missing config | Failing regression'
|
||||
- ready-for-review: 'Code matches requirements + All validations pass + Follows standards + File List complete'
|
||||
- completion: "All Tasks and Subtasks marked [x] and have tests→Validations and full regression passes (DON'T BE LAZY, EXECUTE ALL TESTS and CONFIRM)→Ensure File List is Complete→run the task execute-checklist for the checklist story-dod-checklist→set story status: 'Ready for Review'→HALT"
|
||||
- review-qa: run task `apply-qa-fixes.md'
|
||||
|
||||
dependencies:
|
||||
tasks:
|
||||
- execute-checklist.md
|
||||
- validate-next-story.md
|
||||
- apply-qa-fixes.md
|
||||
checklists:
|
||||
- story-dod-checklist.md
|
||||
```
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -26,7 +27,7 @@ activation-instructions:
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||
- STAY IN CHARACTER!
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: John
|
||||
id: pm
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -26,7 +27,7 @@ activation-instructions:
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||
- STAY IN CHARACTER!
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: Sarah
|
||||
id: po
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -26,7 +27,7 @@ activation-instructions:
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||
- STAY IN CHARACTER!
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: Quinn
|
||||
id: qa
|
||||
@@ -64,9 +65,9 @@ commands:
|
||||
- review {story}: |
|
||||
Adaptive, risk-aware comprehensive review.
|
||||
Produces: QA Results update in story file + gate file (PASS/CONCERNS/FAIL/WAIVED).
|
||||
Gate file location: docs/qa/gates/{epic}.{story}-{slug}.yml
|
||||
Gate file location: qa.qaLocation/gates/{epic}.{story}-{slug}.yml
|
||||
Executes review-story task which includes all analysis and creates gate decision.
|
||||
- gate {story}: Execute qa-gate task to write/update quality gate decision in docs/qa/gates/
|
||||
- gate {story}: Execute qa-gate task to write/update quality gate decision in directory from qa.qaLocation/gates/
|
||||
- trace {story}: Execute trace-requirements task to map requirements to tests using Given-When-Then
|
||||
- risk-profile {story}: Execute risk-profile task to generate risk assessment matrix
|
||||
- test-design {story}: Execute test-design task to create comprehensive test scenarios
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -26,7 +27,7 @@ activation-instructions:
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||
- STAY IN CHARACTER!
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: Bob
|
||||
id: sm
|
||||
|
||||
@@ -17,7 +17,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
|
||||
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
@@ -26,7 +27,7 @@ activation-instructions:
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||
- STAY IN CHARACTER!
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
||||
agent:
|
||||
name: Sally
|
||||
id: ux-expert
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
markdownExploder: true
|
||||
qa:
|
||||
qaLocation: docs/qa
|
||||
prd:
|
||||
prdFile: docs/prd.md
|
||||
prdVersion: v4
|
||||
|
||||
148
bmad-core/tasks/apply-qa-fixes.md
Normal file
148
bmad-core/tasks/apply-qa-fixes.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# apply-qa-fixes
|
||||
|
||||
Implement fixes based on QA results (gate and assessments) for a specific story. This task is for the Dev agent to systematically consume QA outputs and apply code/test changes while only updating allowed sections in the story file.
|
||||
|
||||
## Purpose
|
||||
|
||||
- Read QA outputs for a story (gate YAML + assessment markdowns)
|
||||
- Create a prioritized, deterministic fix plan
|
||||
- Apply code and test changes to close gaps and address issues
|
||||
- Update only the allowed story sections for the Dev agent
|
||||
|
||||
## Inputs
|
||||
|
||||
```yaml
|
||||
required:
|
||||
- story_id: '{epic}.{story}' # e.g., "2.2"
|
||||
- qa_root: from `bmad-core/core-config.yaml` key `qa.qaLocation` (e.g., `docs/project/qa`)
|
||||
- story_root: from `bmad-core/core-config.yaml` key `devStoryLocation` (e.g., `docs/project/stories`)
|
||||
|
||||
optional:
|
||||
- story_title: '{title}' # derive from story H1 if missing
|
||||
- story_slug: '{slug}' # derive from title (lowercase, hyphenated) if missing
|
||||
```
|
||||
|
||||
## QA Sources to Read
|
||||
|
||||
- Gate (YAML): `{qa_root}/gates/{epic}.{story}-*.yml`
|
||||
- If multiple, use the most recent by modified time
|
||||
- Assessments (Markdown):
|
||||
- Test Design: `{qa_root}/assessments/{epic}.{story}-test-design-*.md`
|
||||
- Traceability: `{qa_root}/assessments/{epic}.{story}-trace-*.md`
|
||||
- Risk Profile: `{qa_root}/assessments/{epic}.{story}-risk-*.md`
|
||||
- NFR Assessment: `{qa_root}/assessments/{epic}.{story}-nfr-*.md`
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Repository builds and tests run locally (Deno 2)
|
||||
- Lint and test commands available:
|
||||
- `deno lint`
|
||||
- `deno test -A`
|
||||
|
||||
## Process (Do not skip steps)
|
||||
|
||||
### 0) Load Core Config & Locate Story
|
||||
|
||||
- Read `bmad-core/core-config.yaml` and resolve `qa_root` and `story_root`
|
||||
- Locate story file in `{story_root}/{epic}.{story}.*.md`
|
||||
- HALT if missing and ask for correct story id/path
|
||||
|
||||
### 1) Collect QA Findings
|
||||
|
||||
- Parse the latest gate YAML:
|
||||
- `gate` (PASS|CONCERNS|FAIL|WAIVED)
|
||||
- `top_issues[]` with `id`, `severity`, `finding`, `suggested_action`
|
||||
- `nfr_validation.*.status` and notes
|
||||
- `trace` coverage summary/gaps
|
||||
- `test_design.coverage_gaps[]`
|
||||
- `risk_summary.recommendations.must_fix[]` (if present)
|
||||
- Read any present assessment markdowns and extract explicit gaps/recommendations
|
||||
|
||||
### 2) Build Deterministic Fix Plan (Priority Order)
|
||||
|
||||
Apply in order, highest priority first:
|
||||
|
||||
1. High severity items in `top_issues` (security/perf/reliability/maintainability)
|
||||
2. NFR statuses: all FAIL must be fixed → then CONCERNS
|
||||
3. Test Design `coverage_gaps` (prioritize P0 scenarios if specified)
|
||||
4. Trace uncovered requirements (AC-level)
|
||||
5. Risk `must_fix` recommendations
|
||||
6. Medium severity issues, then low
|
||||
|
||||
Guidance:
|
||||
|
||||
- Prefer tests closing coverage gaps before/with code changes
|
||||
- Keep changes minimal and targeted; follow project architecture and TS/Deno rules
|
||||
|
||||
### 3) Apply Changes
|
||||
|
||||
- Implement code fixes per plan
|
||||
- Add missing tests to close coverage gaps (unit first; integration where required by AC)
|
||||
- Keep imports centralized via `deps.ts` (see `docs/project/typescript-rules.md`)
|
||||
- Follow DI boundaries in `src/core/di.ts` and existing patterns
|
||||
|
||||
### 4) Validate
|
||||
|
||||
- Run `deno lint` and fix issues
|
||||
- Run `deno test -A` until all tests pass
|
||||
- Iterate until clean
|
||||
|
||||
### 5) Update Story (Allowed Sections ONLY)
|
||||
|
||||
CRITICAL: Dev agent is ONLY authorized to update these sections of the story file. Do not modify any other sections (e.g., QA Results, Story, Acceptance Criteria, Dev Notes, Testing):
|
||||
|
||||
- Tasks / Subtasks Checkboxes (mark any fix subtask you added as done)
|
||||
- Dev Agent Record →
|
||||
- Agent Model Used (if changed)
|
||||
- Debug Log References (commands/results, e.g., lint/tests)
|
||||
- Completion Notes List (what changed, why, how)
|
||||
- File List (all added/modified/deleted files)
|
||||
- Change Log (new dated entry describing applied fixes)
|
||||
- Status (see Rule below)
|
||||
|
||||
Status Rule:
|
||||
|
||||
- If gate was PASS and all identified gaps are closed → set `Status: Ready for Done`
|
||||
- Otherwise → set `Status: Ready for Review` and notify QA to re-run the review
|
||||
|
||||
### 6) Do NOT Edit Gate Files
|
||||
|
||||
- Dev does not modify gate YAML. If fixes address issues, request QA to re-run `review-story` to update the gate
|
||||
|
||||
## Blocking Conditions
|
||||
|
||||
- Missing `bmad-core/core-config.yaml`
|
||||
- Story file not found for `story_id`
|
||||
- No QA artifacts found (neither gate nor assessments)
|
||||
- HALT and request QA to generate at least a gate file (or proceed only with clear developer-provided fix list)
|
||||
|
||||
## Completion Checklist
|
||||
|
||||
- deno lint: 0 problems
|
||||
- deno test -A: all tests pass
|
||||
- All high severity `top_issues` addressed
|
||||
- NFR FAIL → resolved; CONCERNS minimized or documented
|
||||
- Coverage gaps closed or explicitly documented with rationale
|
||||
- Story updated (allowed sections only) including File List and Change Log
|
||||
- Status set according to Status Rule
|
||||
|
||||
## Example: Story 2.2
|
||||
|
||||
Given gate `docs/project/qa/gates/2.2-*.yml` shows
|
||||
|
||||
- `coverage_gaps`: Back action behavior untested (AC2)
|
||||
- `coverage_gaps`: Centralized dependencies enforcement untested (AC4)
|
||||
|
||||
Fix plan:
|
||||
|
||||
- Add a test ensuring the Toolkit Menu "Back" action returns to Main Menu
|
||||
- Add a static test verifying imports for service/view go through `deps.ts`
|
||||
- Re-run lint/tests and update Dev Agent Record + File List accordingly
|
||||
|
||||
## Key Principles
|
||||
|
||||
- Deterministic, risk-first prioritization
|
||||
- Minimal, maintainable changes
|
||||
- Tests validate behavior and close gaps
|
||||
- Strict adherence to allowed story update areas
|
||||
- Gate ownership remains with QA; Dev signals readiness via Status
|
||||
@@ -7,11 +7,11 @@ Quick NFR validation focused on the core four: security, performance, reliabilit
|
||||
```yaml
|
||||
required:
|
||||
- story_id: '{epic}.{story}' # e.g., "1.3"
|
||||
- story_path: 'docs/stories/{epic}.{story}.*.md'
|
||||
- story_path: `bmad-core/core-config.yaml` for the `devStoryLocation`
|
||||
|
||||
optional:
|
||||
- architecture_refs: 'docs/architecture/*.md'
|
||||
- technical_preferences: 'docs/technical-preferences.md'
|
||||
- architecture_refs: `bmad-core/core-config.yaml` for the `architecture.architectureFile`
|
||||
- technical_preferences: `bmad-core/core-config.yaml` for the `technicalPreferences`
|
||||
- acceptance_criteria: From story file
|
||||
```
|
||||
|
||||
@@ -20,7 +20,7 @@ optional:
|
||||
Assess non-functional requirements for a story and generate:
|
||||
|
||||
1. YAML block for the gate file's `nfr_validation` section
|
||||
2. Brief markdown assessment saved to `docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
|
||||
2. Brief markdown assessment saved to `qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
|
||||
|
||||
## Process
|
||||
|
||||
@@ -123,7 +123,7 @@ If `technical-preferences.md` defines custom weights, use those instead.
|
||||
|
||||
## Output 2: Brief Assessment Report
|
||||
|
||||
**ALWAYS save to:** `docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
|
||||
**ALWAYS save to:** `qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
|
||||
|
||||
```markdown
|
||||
# NFR Assessment: {epic}.{story}
|
||||
@@ -162,7 +162,7 @@ Reviewer: Quinn
|
||||
**End with this line for the review task to quote:**
|
||||
|
||||
```
|
||||
NFR assessment: docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
||||
NFR assessment: qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
||||
```
|
||||
|
||||
## Output 4: Gate Integration Line
|
||||
@@ -170,7 +170,7 @@ NFR assessment: docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
||||
**Always print at the end:**
|
||||
|
||||
```
|
||||
Gate NFR block ready → paste into docs/qa/gates/{epic}.{story}-{slug}.yml under nfr_validation
|
||||
Gate NFR block ready → paste into qa.qaLocation/gates/{epic}.{story}-{slug}.yml under nfr_validation
|
||||
```
|
||||
|
||||
## Assessment Criteria
|
||||
|
||||
@@ -14,7 +14,7 @@ Generate a standalone quality gate file that provides a clear pass/fail decision
|
||||
|
||||
## Gate File Location
|
||||
|
||||
**ALWAYS** create file at: `docs/qa/gates/{epic}.{story}-{slug}.yml`
|
||||
**ALWAYS** check the `bmad-core/core-config.yaml` for the `qa.qaLocation/gates`
|
||||
|
||||
Slug rules:
|
||||
|
||||
@@ -124,11 +124,13 @@ waiver:
|
||||
|
||||
## Output Requirements
|
||||
|
||||
1. **ALWAYS** create gate file at: `docs/qa/gates/{epic}.{story}-{slug}.yml`
|
||||
1. **ALWAYS** create gate file at: `qa.qaLocation/gates` from `bmad-core/core-config.yaml`
|
||||
2. **ALWAYS** append this exact format to story's QA Results section:
|
||||
|
||||
```text
|
||||
Gate: {STATUS} → qa.qaLocation/gates/{epic}.{story}-{slug}.yml
|
||||
```
|
||||
Gate: {STATUS} → docs/qa/gates/{epic}.{story}-{slug}.yml
|
||||
```
|
||||
|
||||
3. Keep status_reason to 1-2 sentences maximum
|
||||
4. Use severity values exactly: `low`, `medium`, or `high`
|
||||
|
||||
@@ -147,7 +149,7 @@ After creating gate file, append to story's QA Results section:
|
||||
|
||||
### Gate Status
|
||||
|
||||
Gate: CONCERNS → docs/qa/gates/1.3-user-auth-login.yml
|
||||
Gate: CONCERNS → qa.qaLocation/gates/{epic}.{story}-{slug}.yml
|
||||
```
|
||||
|
||||
## Key Principles
|
||||
|
||||
@@ -167,9 +167,9 @@ After review and any refactoring, append your results to the story file in the Q
|
||||
|
||||
### Gate Status
|
||||
|
||||
Gate: {STATUS} → docs/qa/gates/{epic}.{story}-{slug}.yml
|
||||
Risk profile: docs/qa/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
||||
NFR assessment: docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
||||
Gate: {STATUS} → qa.qaLocation/gates/{epic}.{story}-{slug}.yml
|
||||
Risk profile: qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
||||
NFR assessment: qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
||||
|
||||
# Note: Paths should reference core-config.yaml for custom configurations
|
||||
|
||||
@@ -183,9 +183,9 @@ NFR assessment: docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
||||
|
||||
**Template and Directory:**
|
||||
|
||||
- Render from `templates/qa-gate-tmpl.yaml`
|
||||
- Create `docs/qa/gates/` directory if missing (or configure in core-config.yaml)
|
||||
- Save to: `docs/qa/gates/{epic}.{story}-{slug}.yml`
|
||||
- Render from `../templates/qa-gate-tmpl.yaml`
|
||||
- Create directory defined in `qa.qaLocation/gates` (see `bmad-core/core-config.yaml`) if missing
|
||||
- Save to: `qa.qaLocation/gates/{epic}.{story}-{slug}.yml`
|
||||
|
||||
Gate file structure:
|
||||
|
||||
@@ -308,7 +308,7 @@ Stop the review and request clarification if:
|
||||
After review:
|
||||
|
||||
1. Update the QA Results section in the story file
|
||||
2. Create the gate file in `docs/qa/gates/`
|
||||
2. Create the gate file in directory from `qa.qaLocation/gates`
|
||||
3. Recommend status: "Ready for Done" or "Changes Required" (owner decides)
|
||||
4. If files were modified, list them in QA Results and ask Dev to update File List
|
||||
5. Always provide constructive feedback and actionable recommendations
|
||||
|
||||
@@ -105,7 +105,7 @@ Evaluate each risk using probability × impact:
|
||||
- `Medium (2)`: Moderate consequences (degraded performance, minor data issues)
|
||||
- `Low (1)`: Minor consequences (cosmetic issues, slight inconvenience)
|
||||
|
||||
**Risk Score = Probability × Impact**
|
||||
### Risk Score = Probability × Impact
|
||||
|
||||
- 9: Critical Risk (Red)
|
||||
- 6: High Risk (Orange)
|
||||
@@ -182,7 +182,7 @@ risk_summary:
|
||||
|
||||
### Output 2: Markdown Report
|
||||
|
||||
**Save to:** `docs/qa/assessments/{epic}.{story}-risk-{YYYYMMDD}.md`
|
||||
**Save to:** `qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md`
|
||||
|
||||
```markdown
|
||||
# Risk Profile: Story {epic}.{story}
|
||||
@@ -290,7 +290,7 @@ Review and update risk profile when:
|
||||
|
||||
Calculate overall story risk score:
|
||||
|
||||
```
|
||||
```text
|
||||
Base Score = 100
|
||||
For each risk:
|
||||
- Critical (9): Deduct 20 points
|
||||
@@ -339,8 +339,8 @@ Based on risk profile, recommend:
|
||||
|
||||
**Print this line for review task to quote:**
|
||||
|
||||
```
|
||||
Risk profile: docs/qa/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
||||
```text
|
||||
Risk profile: qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
||||
```
|
||||
|
||||
## Key Principles
|
||||
|
||||
@@ -84,7 +84,7 @@ Ensure:
|
||||
|
||||
### Output 1: Test Design Document
|
||||
|
||||
**Save to:** `docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md`
|
||||
**Save to:** `qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md`
|
||||
|
||||
```markdown
|
||||
# Test Design: Story {epic}.{story}
|
||||
@@ -150,7 +150,7 @@ test_design:
|
||||
Print for use by trace-requirements task:
|
||||
|
||||
```text
|
||||
Test design matrix: docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md
|
||||
Test design matrix: qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md
|
||||
P0 tests identified: {count}
|
||||
```
|
||||
|
||||
|
||||
@@ -95,16 +95,16 @@ trace:
|
||||
full: Y
|
||||
partial: Z
|
||||
none: W
|
||||
planning_ref: 'docs/qa/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md'
|
||||
planning_ref: 'qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md'
|
||||
uncovered:
|
||||
- ac: 'AC3'
|
||||
reason: 'No test found for password reset timing'
|
||||
notes: 'See docs/qa/assessments/{epic}.{story}-trace-{YYYYMMDD}.md'
|
||||
notes: 'See qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md'
|
||||
```
|
||||
|
||||
### Output 2: Traceability Report
|
||||
|
||||
**Save to:** `docs/qa/assessments/{epic}.{story}-trace-{YYYYMMDD}.md`
|
||||
**Save to:** `qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md`
|
||||
|
||||
Create a traceability report with:
|
||||
|
||||
@@ -250,7 +250,7 @@ This traceability feeds into quality gates:
|
||||
**Print this line for review task to quote:**
|
||||
|
||||
```text
|
||||
Trace matrix: docs/qa/assessments/{epic}.{story}-trace-{YYYYMMDD}.md
|
||||
Trace matrix: qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md
|
||||
```
|
||||
|
||||
- Full coverage → PASS contribution
|
||||
|
||||
@@ -4,7 +4,7 @@ template:
|
||||
version: 1.0
|
||||
output:
|
||||
format: yaml
|
||||
filename: docs/qa/gates/{{epic_num}}.{{story_num}}-{{story_slug}}.yml
|
||||
filename: qa.qaLocation/gates/{{epic_num}}.{{story_num}}-{{story_slug}}.yml
|
||||
title: "Quality Gate: {{epic_num}}.{{story_num}}"
|
||||
|
||||
# Required fields (keep these first)
|
||||
|
||||
234
dist/agents/analyst.txt
vendored
234
dist/agents/analyst.txt
vendored
@@ -1101,24 +1101,24 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/brief.md
|
||||
title: "Project Brief: {{project_name}}"
|
||||
title: 'Project Brief: {{project_name}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
elicitation: advanced-elicitation
|
||||
custom_elicitation:
|
||||
title: "Project Brief Elicitation Actions"
|
||||
title: 'Project Brief Elicitation Actions'
|
||||
options:
|
||||
- "Expand section with more specific details"
|
||||
- "Validate against similar successful products"
|
||||
- "Stress test assumptions with edge cases"
|
||||
- "Explore alternative solution approaches"
|
||||
- "Analyze resource/constraint trade-offs"
|
||||
- "Generate risk mitigation strategies"
|
||||
- "Challenge scope from MVP minimalist view"
|
||||
- "Brainstorm creative feature possibilities"
|
||||
- "If only we had [resource/capability/time]..."
|
||||
- "Proceed to next section"
|
||||
- 'Expand section with more specific details'
|
||||
- 'Validate against similar successful products'
|
||||
- 'Stress test assumptions with edge cases'
|
||||
- 'Explore alternative solution approaches'
|
||||
- 'Analyze resource/constraint trade-offs'
|
||||
- 'Generate risk mitigation strategies'
|
||||
- 'Challenge scope from MVP minimalist view'
|
||||
- 'Brainstorm creative feature possibilities'
|
||||
- 'If only we had [resource/capability/time]...'
|
||||
- 'Proceed to next section'
|
||||
|
||||
sections:
|
||||
- id: introduction
|
||||
@@ -1140,7 +1140,7 @@ sections:
|
||||
- Primary problem being solved
|
||||
- Target market identification
|
||||
- Key value proposition
|
||||
template: "{{executive_summary_content}}"
|
||||
template: '{{executive_summary_content}}'
|
||||
|
||||
- id: problem-statement
|
||||
title: Problem Statement
|
||||
@@ -1150,7 +1150,7 @@ sections:
|
||||
- Impact of the problem (quantify if possible)
|
||||
- Why existing solutions fall short
|
||||
- Urgency and importance of solving this now
|
||||
template: "{{detailed_problem_description}}"
|
||||
template: '{{detailed_problem_description}}'
|
||||
|
||||
- id: proposed-solution
|
||||
title: Proposed Solution
|
||||
@@ -1160,7 +1160,7 @@ sections:
|
||||
- Key differentiators from existing solutions
|
||||
- Why this solution will succeed where others haven't
|
||||
- High-level vision for the product
|
||||
template: "{{solution_description}}"
|
||||
template: '{{solution_description}}'
|
||||
|
||||
- id: target-users
|
||||
title: Target Users
|
||||
@@ -1172,12 +1172,12 @@ sections:
|
||||
- Goals they're trying to achieve
|
||||
sections:
|
||||
- id: primary-segment
|
||||
title: "Primary User Segment: {{segment_name}}"
|
||||
template: "{{primary_user_description}}"
|
||||
title: 'Primary User Segment: {{segment_name}}'
|
||||
template: '{{primary_user_description}}'
|
||||
- id: secondary-segment
|
||||
title: "Secondary User Segment: {{segment_name}}"
|
||||
title: 'Secondary User Segment: {{segment_name}}'
|
||||
condition: Has secondary user segment
|
||||
template: "{{secondary_user_description}}"
|
||||
template: '{{secondary_user_description}}'
|
||||
|
||||
- id: goals-metrics
|
||||
title: Goals & Success Metrics
|
||||
@@ -1186,15 +1186,15 @@ sections:
|
||||
- id: business-objectives
|
||||
title: Business Objectives
|
||||
type: bullet-list
|
||||
template: "- {{objective_with_metric}}"
|
||||
template: '- {{objective_with_metric}}'
|
||||
- id: user-success-metrics
|
||||
title: User Success Metrics
|
||||
type: bullet-list
|
||||
template: "- {{user_metric}}"
|
||||
template: '- {{user_metric}}'
|
||||
- id: kpis
|
||||
title: Key Performance Indicators (KPIs)
|
||||
type: bullet-list
|
||||
template: "- {{kpi}}: {{definition_and_target}}"
|
||||
template: '- {{kpi}}: {{definition_and_target}}'
|
||||
|
||||
- id: mvp-scope
|
||||
title: MVP Scope
|
||||
@@ -1203,14 +1203,14 @@ sections:
|
||||
- id: core-features
|
||||
title: Core Features (Must Have)
|
||||
type: bullet-list
|
||||
template: "- **{{feature}}:** {{description_and_rationale}}"
|
||||
template: '- **{{feature}}:** {{description_and_rationale}}'
|
||||
- id: out-of-scope
|
||||
title: Out of Scope for MVP
|
||||
type: bullet-list
|
||||
template: "- {{feature_or_capability}}"
|
||||
template: '- {{feature_or_capability}}'
|
||||
- id: mvp-success-criteria
|
||||
title: MVP Success Criteria
|
||||
template: "{{mvp_success_definition}}"
|
||||
template: '{{mvp_success_definition}}'
|
||||
|
||||
- id: post-mvp-vision
|
||||
title: Post-MVP Vision
|
||||
@@ -1218,13 +1218,13 @@ sections:
|
||||
sections:
|
||||
- id: phase-2-features
|
||||
title: Phase 2 Features
|
||||
template: "{{next_priority_features}}"
|
||||
template: '{{next_priority_features}}'
|
||||
- id: long-term-vision
|
||||
title: Long-term Vision
|
||||
template: "{{one_two_year_vision}}"
|
||||
template: '{{one_two_year_vision}}'
|
||||
- id: expansion-opportunities
|
||||
title: Expansion Opportunities
|
||||
template: "{{potential_expansions}}"
|
||||
template: '{{potential_expansions}}'
|
||||
|
||||
- id: technical-considerations
|
||||
title: Technical Considerations
|
||||
@@ -1265,7 +1265,7 @@ sections:
|
||||
- id: key-assumptions
|
||||
title: Key Assumptions
|
||||
type: bullet-list
|
||||
template: "- {{assumption}}"
|
||||
template: '- {{assumption}}'
|
||||
|
||||
- id: risks-questions
|
||||
title: Risks & Open Questions
|
||||
@@ -1274,15 +1274,15 @@ sections:
|
||||
- id: key-risks
|
||||
title: Key Risks
|
||||
type: bullet-list
|
||||
template: "- **{{risk}}:** {{description_and_impact}}"
|
||||
template: '- **{{risk}}:** {{description_and_impact}}'
|
||||
- id: open-questions
|
||||
title: Open Questions
|
||||
type: bullet-list
|
||||
template: "- {{question}}"
|
||||
template: '- {{question}}'
|
||||
- id: research-areas
|
||||
title: Areas Needing Further Research
|
||||
type: bullet-list
|
||||
template: "- {{research_topic}}"
|
||||
template: '- {{research_topic}}'
|
||||
|
||||
- id: appendices
|
||||
title: Appendices
|
||||
@@ -1299,10 +1299,10 @@ sections:
|
||||
- id: stakeholder-input
|
||||
title: B. Stakeholder Input
|
||||
condition: Has stakeholder feedback
|
||||
template: "{{stakeholder_feedback}}"
|
||||
template: '{{stakeholder_feedback}}'
|
||||
- id: references
|
||||
title: C. References
|
||||
template: "{{relevant_links_and_docs}}"
|
||||
template: '{{relevant_links_and_docs}}'
|
||||
|
||||
- id: next-steps
|
||||
title: Next Steps
|
||||
@@ -1310,7 +1310,7 @@ sections:
|
||||
- id: immediate-actions
|
||||
title: Immediate Actions
|
||||
type: numbered-list
|
||||
template: "{{action_item}}"
|
||||
template: '{{action_item}}'
|
||||
- id: pm-handoff
|
||||
title: PM Handoff
|
||||
content: |
|
||||
@@ -1325,24 +1325,24 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/market-research.md
|
||||
title: "Market Research Report: {{project_product_name}}"
|
||||
title: 'Market Research Report: {{project_product_name}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
elicitation: advanced-elicitation
|
||||
custom_elicitation:
|
||||
title: "Market Research Elicitation Actions"
|
||||
title: 'Market Research Elicitation Actions'
|
||||
options:
|
||||
- "Expand market sizing calculations with sensitivity analysis"
|
||||
- "Deep dive into a specific customer segment"
|
||||
- "Analyze an emerging market trend in detail"
|
||||
- "Compare this market to an analogous market"
|
||||
- "Stress test market assumptions"
|
||||
- "Explore adjacent market opportunities"
|
||||
- "Challenge market definition and boundaries"
|
||||
- "Generate strategic scenarios (best/base/worst case)"
|
||||
- "If only we had considered [X market factor]..."
|
||||
- "Proceed to next section"
|
||||
- 'Expand market sizing calculations with sensitivity analysis'
|
||||
- 'Deep dive into a specific customer segment'
|
||||
- 'Analyze an emerging market trend in detail'
|
||||
- 'Compare this market to an analogous market'
|
||||
- 'Stress test market assumptions'
|
||||
- 'Explore adjacent market opportunities'
|
||||
- 'Challenge market definition and boundaries'
|
||||
- 'Generate strategic scenarios (best/base/worst case)'
|
||||
- 'If only we had considered [X market factor]...'
|
||||
- 'Proceed to next section'
|
||||
|
||||
sections:
|
||||
- id: executive-summary
|
||||
@@ -1424,7 +1424,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: segment
|
||||
title: "Segment {{segment_number}}: {{segment_name}}"
|
||||
title: 'Segment {{segment_number}}: {{segment_name}}'
|
||||
template: |
|
||||
- **Description:** {{brief_overview}}
|
||||
- **Size:** {{number_of_customers_market_value}}
|
||||
@@ -1493,20 +1493,20 @@ sections:
|
||||
instruction: Analyze each force with specific evidence and implications
|
||||
sections:
|
||||
- id: supplier-power
|
||||
title: "Supplier Power: {{power_level}}"
|
||||
template: "{{analysis_and_implications}}"
|
||||
title: 'Supplier Power: {{power_level}}'
|
||||
template: '{{analysis_and_implications}}'
|
||||
- id: buyer-power
|
||||
title: "Buyer Power: {{power_level}}"
|
||||
template: "{{analysis_and_implications}}"
|
||||
title: 'Buyer Power: {{power_level}}'
|
||||
template: '{{analysis_and_implications}}'
|
||||
- id: competitive-rivalry
|
||||
title: "Competitive Rivalry: {{intensity_level}}"
|
||||
template: "{{analysis_and_implications}}"
|
||||
title: 'Competitive Rivalry: {{intensity_level}}'
|
||||
template: '{{analysis_and_implications}}'
|
||||
- id: threat-new-entry
|
||||
title: "Threat of New Entry: {{threat_level}}"
|
||||
template: "{{analysis_and_implications}}"
|
||||
title: 'Threat of New Entry: {{threat_level}}'
|
||||
template: '{{analysis_and_implications}}'
|
||||
- id: threat-substitutes
|
||||
title: "Threat of Substitutes: {{threat_level}}"
|
||||
template: "{{analysis_and_implications}}"
|
||||
title: 'Threat of Substitutes: {{threat_level}}'
|
||||
template: '{{analysis_and_implications}}'
|
||||
- id: adoption-lifecycle
|
||||
title: Technology Adoption Lifecycle Stage
|
||||
instruction: |
|
||||
@@ -1524,7 +1524,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: opportunity
|
||||
title: "Opportunity {{opportunity_number}}: {{name}}"
|
||||
title: 'Opportunity {{opportunity_number}}: {{name}}'
|
||||
template: |
|
||||
- **Description:** {{what_is_the_opportunity}}
|
||||
- **Size/Potential:** {{quantified_potential}}
|
||||
@@ -1580,24 +1580,24 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/competitor-analysis.md
|
||||
title: "Competitive Analysis Report: {{project_product_name}}"
|
||||
title: 'Competitive Analysis Report: {{project_product_name}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
elicitation: advanced-elicitation
|
||||
custom_elicitation:
|
||||
title: "Competitive Analysis Elicitation Actions"
|
||||
title: 'Competitive Analysis Elicitation Actions'
|
||||
options:
|
||||
- "Deep dive on a specific competitor's strategy"
|
||||
- "Analyze competitive dynamics in a specific segment"
|
||||
- "War game competitive responses to your moves"
|
||||
- "Explore partnership vs. competition scenarios"
|
||||
- "Stress test differentiation claims"
|
||||
- "Analyze disruption potential (yours or theirs)"
|
||||
- "Compare to competition in adjacent markets"
|
||||
- "Generate win/loss analysis insights"
|
||||
- 'Analyze competitive dynamics in a specific segment'
|
||||
- 'War game competitive responses to your moves'
|
||||
- 'Explore partnership vs. competition scenarios'
|
||||
- 'Stress test differentiation claims'
|
||||
- 'Analyze disruption potential (yours or theirs)'
|
||||
- 'Compare to competition in adjacent markets'
|
||||
- 'Generate win/loss analysis insights'
|
||||
- "If only we had known about [competitor X's plan]..."
|
||||
- "Proceed to next section"
|
||||
- 'Proceed to next section'
|
||||
|
||||
sections:
|
||||
- id: executive-summary
|
||||
@@ -1664,7 +1664,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: competitor
|
||||
title: "{{competitor_name}} - Priority {{priority_level}}"
|
||||
title: '{{competitor_name}} - Priority {{priority_level}}'
|
||||
sections:
|
||||
- id: company-overview
|
||||
title: Company Overview
|
||||
@@ -1696,11 +1696,11 @@ sections:
|
||||
- id: strengths
|
||||
title: Strengths
|
||||
type: bullet-list
|
||||
template: "- {{strength}}"
|
||||
template: '- {{strength}}'
|
||||
- id: weaknesses
|
||||
title: Weaknesses
|
||||
type: bullet-list
|
||||
template: "- {{weakness}}"
|
||||
template: '- {{weakness}}'
|
||||
- id: market-position
|
||||
title: Market Position & Performance
|
||||
template: |
|
||||
@@ -1718,35 +1718,35 @@ sections:
|
||||
type: table
|
||||
columns:
|
||||
[
|
||||
"Feature Category",
|
||||
"{{your_company}}",
|
||||
"{{competitor_1}}",
|
||||
"{{competitor_2}}",
|
||||
"{{competitor_3}}",
|
||||
'Feature Category',
|
||||
'{{your_company}}',
|
||||
'{{competitor_1}}',
|
||||
'{{competitor_2}}',
|
||||
'{{competitor_3}}',
|
||||
]
|
||||
rows:
|
||||
- category: "Core Functionality"
|
||||
- category: 'Core Functionality'
|
||||
items:
|
||||
- ["Feature A", "{{status}}", "{{status}}", "{{status}}", "{{status}}"]
|
||||
- ["Feature B", "{{status}}", "{{status}}", "{{status}}", "{{status}}"]
|
||||
- category: "User Experience"
|
||||
- ['Feature A', '{{status}}', '{{status}}', '{{status}}', '{{status}}']
|
||||
- ['Feature B', '{{status}}', '{{status}}', '{{status}}', '{{status}}']
|
||||
- category: 'User Experience'
|
||||
items:
|
||||
- ["Mobile App", "{{rating}}", "{{rating}}", "{{rating}}", "{{rating}}"]
|
||||
- ["Onboarding Time", "{{time}}", "{{time}}", "{{time}}", "{{time}}"]
|
||||
- category: "Integration & Ecosystem"
|
||||
- ['Mobile App', '{{rating}}', '{{rating}}', '{{rating}}', '{{rating}}']
|
||||
- ['Onboarding Time', '{{time}}', '{{time}}', '{{time}}', '{{time}}']
|
||||
- category: 'Integration & Ecosystem'
|
||||
items:
|
||||
- [
|
||||
"API Availability",
|
||||
"{{availability}}",
|
||||
"{{availability}}",
|
||||
"{{availability}}",
|
||||
"{{availability}}",
|
||||
'API Availability',
|
||||
'{{availability}}',
|
||||
'{{availability}}',
|
||||
'{{availability}}',
|
||||
'{{availability}}',
|
||||
]
|
||||
- ["Third-party Integrations", "{{number}}", "{{number}}", "{{number}}", "{{number}}"]
|
||||
- category: "Pricing & Plans"
|
||||
- ['Third-party Integrations', '{{number}}', '{{number}}', '{{number}}', '{{number}}']
|
||||
- category: 'Pricing & Plans'
|
||||
items:
|
||||
- ["Starting Price", "{{price}}", "{{price}}", "{{price}}", "{{price}}"]
|
||||
- ["Free Tier", "{{yes_no}}", "{{yes_no}}", "{{yes_no}}", "{{yes_no}}"]
|
||||
- ['Starting Price', '{{price}}', '{{price}}', '{{price}}', '{{price}}']
|
||||
- ['Free Tier', '{{yes_no}}', '{{yes_no}}', '{{yes_no}}', '{{yes_no}}']
|
||||
- id: swot-comparison
|
||||
title: SWOT Comparison
|
||||
instruction: Create SWOT analysis for your solution vs. top competitors
|
||||
@@ -1759,7 +1759,7 @@ sections:
|
||||
- **Opportunities:** {{opportunities}}
|
||||
- **Threats:** {{threats}}
|
||||
- id: vs-competitor
|
||||
title: "vs. {{main_competitor}}"
|
||||
title: 'vs. {{main_competitor}}'
|
||||
template: |
|
||||
- **Competitive Advantages:** {{your_advantages}}
|
||||
- **Competitive Disadvantages:** {{their_advantages}}
|
||||
@@ -1889,7 +1889,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/brainstorming-session-results.md
|
||||
title: "Brainstorming Session Results"
|
||||
title: 'Brainstorming Session Results'
|
||||
|
||||
workflow:
|
||||
mode: non-interactive
|
||||
@@ -1914,38 +1914,38 @@ sections:
|
||||
|
||||
**Total Ideas Generated:** {{total_ideas}}
|
||||
- id: key-themes
|
||||
title: "Key Themes Identified:"
|
||||
title: 'Key Themes Identified:'
|
||||
type: bullet-list
|
||||
template: "- {{theme}}"
|
||||
template: '- {{theme}}'
|
||||
|
||||
- id: technique-sessions
|
||||
title: Technique Sessions
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: technique
|
||||
title: "{{technique_name}} - {{duration}}"
|
||||
title: '{{technique_name}} - {{duration}}'
|
||||
sections:
|
||||
- id: description
|
||||
template: "**Description:** {{technique_description}}"
|
||||
template: '**Description:** {{technique_description}}'
|
||||
- id: ideas-generated
|
||||
title: "Ideas Generated:"
|
||||
title: 'Ideas Generated:'
|
||||
type: numbered-list
|
||||
template: "{{idea}}"
|
||||
template: '{{idea}}'
|
||||
- id: insights
|
||||
title: "Insights Discovered:"
|
||||
title: 'Insights Discovered:'
|
||||
type: bullet-list
|
||||
template: "- {{insight}}"
|
||||
template: '- {{insight}}'
|
||||
- id: connections
|
||||
title: "Notable Connections:"
|
||||
title: 'Notable Connections:'
|
||||
type: bullet-list
|
||||
template: "- {{connection}}"
|
||||
template: '- {{connection}}'
|
||||
|
||||
- id: idea-categorization
|
||||
title: Idea Categorization
|
||||
sections:
|
||||
- id: immediate-opportunities
|
||||
title: Immediate Opportunities
|
||||
content: "*Ideas ready to implement now*"
|
||||
content: '*Ideas ready to implement now*'
|
||||
repeatable: true
|
||||
type: numbered-list
|
||||
template: |
|
||||
@@ -1955,7 +1955,7 @@ sections:
|
||||
- Resources needed: {{requirements}}
|
||||
- id: future-innovations
|
||||
title: Future Innovations
|
||||
content: "*Ideas requiring development/research*"
|
||||
content: '*Ideas requiring development/research*'
|
||||
repeatable: true
|
||||
type: numbered-list
|
||||
template: |
|
||||
@@ -1965,7 +1965,7 @@ sections:
|
||||
- Timeline estimate: {{timeline}}
|
||||
- id: moonshots
|
||||
title: Moonshots
|
||||
content: "*Ambitious, transformative concepts*"
|
||||
content: '*Ambitious, transformative concepts*'
|
||||
repeatable: true
|
||||
type: numbered-list
|
||||
template: |
|
||||
@@ -1975,9 +1975,9 @@ sections:
|
||||
- Challenges to overcome: {{challenges}}
|
||||
- id: insights-learnings
|
||||
title: Insights & Learnings
|
||||
content: "*Key realizations from the session*"
|
||||
content: '*Key realizations from the session*'
|
||||
type: bullet-list
|
||||
template: "- {{insight}}: {{description_and_implications}}"
|
||||
template: '- {{insight}}: {{description_and_implications}}'
|
||||
|
||||
- id: action-planning
|
||||
title: Action Planning
|
||||
@@ -1986,21 +1986,21 @@ sections:
|
||||
title: Top 3 Priority Ideas
|
||||
sections:
|
||||
- id: priority-1
|
||||
title: "#1 Priority: {{idea_name}}"
|
||||
title: '#1 Priority: {{idea_name}}'
|
||||
template: |
|
||||
- Rationale: {{rationale}}
|
||||
- Next steps: {{next_steps}}
|
||||
- Resources needed: {{resources}}
|
||||
- Timeline: {{timeline}}
|
||||
- id: priority-2
|
||||
title: "#2 Priority: {{idea_name}}"
|
||||
title: '#2 Priority: {{idea_name}}'
|
||||
template: |
|
||||
- Rationale: {{rationale}}
|
||||
- Next steps: {{next_steps}}
|
||||
- Resources needed: {{resources}}
|
||||
- Timeline: {{timeline}}
|
||||
- id: priority-3
|
||||
title: "#3 Priority: {{idea_name}}"
|
||||
title: '#3 Priority: {{idea_name}}'
|
||||
template: |
|
||||
- Rationale: {{rationale}}
|
||||
- Next steps: {{next_steps}}
|
||||
@@ -2013,19 +2013,19 @@ sections:
|
||||
- id: what-worked
|
||||
title: What Worked Well
|
||||
type: bullet-list
|
||||
template: "- {{aspect}}"
|
||||
template: '- {{aspect}}'
|
||||
- id: areas-exploration
|
||||
title: Areas for Further Exploration
|
||||
type: bullet-list
|
||||
template: "- {{area}}: {{reason}}"
|
||||
template: '- {{area}}: {{reason}}'
|
||||
- id: recommended-techniques
|
||||
title: Recommended Follow-up Techniques
|
||||
type: bullet-list
|
||||
template: "- {{technique}}: {{reason}}"
|
||||
template: '- {{technique}}: {{reason}}'
|
||||
- id: questions-emerged
|
||||
title: Questions That Emerged
|
||||
type: bullet-list
|
||||
template: "- {{question}}"
|
||||
template: '- {{question}}'
|
||||
- id: next-session
|
||||
title: Next Session Planning
|
||||
template: |
|
||||
|
||||
286
dist/agents/architect.txt
vendored
286
dist/agents/architect.txt
vendored
@@ -933,7 +933,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/architecture.md
|
||||
title: "{{project_name}} Architecture Document"
|
||||
title: '{{project_name}} Architecture Document'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1044,11 +1044,11 @@ sections:
|
||||
- Code organization patterns (Dependency Injection, Repository, Module, Factory)
|
||||
- Data patterns (Event Sourcing, Saga, Database per Service)
|
||||
- Communication patterns (REST, GraphQL, Message Queue, Pub/Sub)
|
||||
template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
|
||||
template: '- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}'
|
||||
examples:
|
||||
- "**Serverless Architecture:** Using AWS Lambda for compute - _Rationale:_ Aligns with PRD requirement for cost optimization and automatic scaling"
|
||||
- "**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility"
|
||||
- "**Event-Driven Communication:** Using SNS/SQS for service decoupling - _Rationale:_ Supports async processing and system resilience"
|
||||
- '**Serverless Architecture:** Using AWS Lambda for compute - _Rationale:_ Aligns with PRD requirement for cost optimization and automatic scaling'
|
||||
- '**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility'
|
||||
- '**Event-Driven Communication:** Using SNS/SQS for service decoupling - _Rationale:_ Supports async processing and system resilience'
|
||||
|
||||
- id: tech-stack
|
||||
title: Tech Stack
|
||||
@@ -1086,9 +1086,9 @@ sections:
|
||||
columns: [Category, Technology, Version, Purpose, Rationale]
|
||||
instruction: Populate the technology stack table with all relevant technologies
|
||||
examples:
|
||||
- "| **Language** | TypeScript | 5.3.3 | Primary development language | Strong typing, excellent tooling, team expertise |"
|
||||
- "| **Runtime** | Node.js | 20.11.0 | JavaScript runtime | LTS version, stable performance, wide ecosystem |"
|
||||
- "| **Framework** | NestJS | 10.3.2 | Backend framework | Enterprise-ready, good DI, matches team patterns |"
|
||||
- '| **Language** | TypeScript | 5.3.3 | Primary development language | Strong typing, excellent tooling, team expertise |'
|
||||
- '| **Runtime** | Node.js | 20.11.0 | JavaScript runtime | LTS version, stable performance, wide ecosystem |'
|
||||
- '| **Framework** | NestJS | 10.3.2 | Backend framework | Enterprise-ready, good DI, matches team patterns |'
|
||||
|
||||
- id: data-models
|
||||
title: Data Models
|
||||
@@ -1106,7 +1106,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: model
|
||||
title: "{{model_name}}"
|
||||
title: '{{model_name}}'
|
||||
template: |
|
||||
**Purpose:** {{model_purpose}}
|
||||
|
||||
@@ -1137,7 +1137,7 @@ sections:
|
||||
sections:
|
||||
- id: component-list
|
||||
repeatable: true
|
||||
title: "{{component_name}}"
|
||||
title: '{{component_name}}'
|
||||
template: |
|
||||
**Responsibility:** {{component_description}}
|
||||
|
||||
@@ -1175,7 +1175,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: api
|
||||
title: "{{api_name}} API"
|
||||
title: '{{api_name}} API'
|
||||
template: |
|
||||
- **Purpose:** {{api_purpose}}
|
||||
- **Documentation:** {{api_docs_url}}
|
||||
@@ -1300,12 +1300,12 @@ sections:
|
||||
- id: environments
|
||||
title: Environments
|
||||
repeatable: true
|
||||
template: "- **{{env_name}}:** {{env_purpose}} - {{env_details}}"
|
||||
template: '- **{{env_name}}:** {{env_purpose}} - {{env_details}}'
|
||||
- id: promotion-flow
|
||||
title: Environment Promotion Flow
|
||||
type: code
|
||||
language: text
|
||||
template: "{{promotion_flow_diagram}}"
|
||||
template: '{{promotion_flow_diagram}}'
|
||||
- id: rollback-strategy
|
||||
title: Rollback Strategy
|
||||
template: |
|
||||
@@ -1401,16 +1401,16 @@ sections:
|
||||
|
||||
Avoid obvious rules like "use SOLID principles" or "write clean code"
|
||||
repeatable: true
|
||||
template: "- **{{rule_name}}:** {{rule_description}}"
|
||||
template: '- **{{rule_name}}:** {{rule_description}}'
|
||||
- id: language-specifics
|
||||
title: Language-Specific Guidelines
|
||||
condition: Critical language-specific rules needed
|
||||
instruction: Add ONLY if critical for preventing AI mistakes. Most teams don't need this section.
|
||||
sections:
|
||||
- id: language-rules
|
||||
title: "{{language_name}} Specifics"
|
||||
title: '{{language_name}} Specifics'
|
||||
repeatable: true
|
||||
template: "- **{{rule_topic}}:** {{rule_detail}}"
|
||||
template: '- **{{rule_topic}}:** {{rule_detail}}'
|
||||
|
||||
- id: test-strategy
|
||||
title: Test Strategy and Standards
|
||||
@@ -1458,9 +1458,9 @@ sections:
|
||||
- **Test Infrastructure:**
|
||||
- **{{dependency_name}}:** {{test_approach}} ({{test_tool}})
|
||||
examples:
|
||||
- "**Database:** In-memory H2 for unit tests, Testcontainers PostgreSQL for integration"
|
||||
- "**Message Queue:** Embedded Kafka for tests"
|
||||
- "**External APIs:** WireMock for stubbing"
|
||||
- '**Database:** In-memory H2 for unit tests, Testcontainers PostgreSQL for integration'
|
||||
- '**Message Queue:** Embedded Kafka for tests'
|
||||
- '**External APIs:** WireMock for stubbing'
|
||||
- id: e2e-tests
|
||||
title: End-to-End Tests
|
||||
template: |
|
||||
@@ -1586,7 +1586,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/ui-architecture.md
|
||||
title: "{{project_name}} Frontend Architecture Document"
|
||||
title: '{{project_name}} Frontend Architecture Document'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1654,29 +1654,29 @@ sections:
|
||||
columns: [Category, Technology, Version, Purpose, Rationale]
|
||||
instruction: Fill in appropriate technology choices based on the selected framework and project requirements.
|
||||
rows:
|
||||
- ["Framework", "{{framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["UI Library", "{{ui_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ['Framework', '{{framework}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['UI Library', '{{ui_library}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- [
|
||||
"State Management",
|
||||
"{{state_management}}",
|
||||
"{{version}}",
|
||||
"{{purpose}}",
|
||||
"{{why_chosen}}",
|
||||
'State Management',
|
||||
'{{state_management}}',
|
||||
'{{version}}',
|
||||
'{{purpose}}',
|
||||
'{{why_chosen}}',
|
||||
]
|
||||
- ["Routing", "{{routing_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Build Tool", "{{build_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Styling", "{{styling_solution}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Testing", "{{test_framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ['Routing', '{{routing_library}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Build Tool', '{{build_tool}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Styling', '{{styling_solution}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Testing', '{{test_framework}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- [
|
||||
"Component Library",
|
||||
"{{component_lib}}",
|
||||
"{{version}}",
|
||||
"{{purpose}}",
|
||||
"{{why_chosen}}",
|
||||
'Component Library',
|
||||
'{{component_lib}}',
|
||||
'{{version}}',
|
||||
'{{purpose}}',
|
||||
'{{why_chosen}}',
|
||||
]
|
||||
- ["Form Handling", "{{form_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Animation", "{{animation_lib}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Dev Tools", "{{dev_tools}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ['Form Handling', '{{form_library}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Animation', '{{animation_lib}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Dev Tools', '{{dev_tools}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
|
||||
- id: project-structure
|
||||
title: Project Structure
|
||||
@@ -1770,12 +1770,12 @@ sections:
|
||||
title: Testing Best Practices
|
||||
type: numbered-list
|
||||
items:
|
||||
- "**Unit Tests**: Test individual components in isolation"
|
||||
- "**Integration Tests**: Test component interactions"
|
||||
- "**E2E Tests**: Test critical user flows (using Cypress/Playwright)"
|
||||
- "**Coverage Goals**: Aim for 80% code coverage"
|
||||
- "**Test Structure**: Arrange-Act-Assert pattern"
|
||||
- "**Mock External Dependencies**: API calls, routing, state management"
|
||||
- '**Unit Tests**: Test individual components in isolation'
|
||||
- '**Integration Tests**: Test component interactions'
|
||||
- '**E2E Tests**: Test critical user flows (using Cypress/Playwright)'
|
||||
- '**Coverage Goals**: Aim for 80% code coverage'
|
||||
- '**Test Structure**: Arrange-Act-Assert pattern'
|
||||
- '**Mock External Dependencies**: API calls, routing, state management'
|
||||
|
||||
- id: environment-configuration
|
||||
title: Environment Configuration
|
||||
@@ -1807,7 +1807,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/architecture.md
|
||||
title: "{{project_name}} Fullstack Architecture Document"
|
||||
title: '{{project_name}} Fullstack Architecture Document'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1928,12 +1928,12 @@ sections:
|
||||
|
||||
For each pattern, provide recommendation and rationale.
|
||||
repeatable: true
|
||||
template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
|
||||
template: '- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}'
|
||||
examples:
|
||||
- "**Jamstack Architecture:** Static site generation with serverless APIs - _Rationale:_ Optimal performance and scalability for content-heavy applications"
|
||||
- "**Component-Based UI:** Reusable React components with TypeScript - _Rationale:_ Maintainability and type safety across large codebases"
|
||||
- "**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility"
|
||||
- "**API Gateway Pattern:** Single entry point for all API calls - _Rationale:_ Centralized auth, rate limiting, and monitoring"
|
||||
- '**Jamstack Architecture:** Static site generation with serverless APIs - _Rationale:_ Optimal performance and scalability for content-heavy applications'
|
||||
- '**Component-Based UI:** Reusable React components with TypeScript - _Rationale:_ Maintainability and type safety across large codebases'
|
||||
- '**Repository Pattern:** Abstract data access logic - _Rationale:_ Enables testing and future database migration flexibility'
|
||||
- '**API Gateway Pattern:** Single entry point for all API calls - _Rationale:_ Centralized auth, rate limiting, and monitoring'
|
||||
|
||||
- id: tech-stack
|
||||
title: Tech Stack
|
||||
@@ -1957,45 +1957,45 @@ sections:
|
||||
type: table
|
||||
columns: [Category, Technology, Version, Purpose, Rationale]
|
||||
rows:
|
||||
- ["Frontend Language", "{{fe_language}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ['Frontend Language', '{{fe_language}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- [
|
||||
"Frontend Framework",
|
||||
"{{fe_framework}}",
|
||||
"{{version}}",
|
||||
"{{purpose}}",
|
||||
"{{why_chosen}}",
|
||||
'Frontend Framework',
|
||||
'{{fe_framework}}',
|
||||
'{{version}}',
|
||||
'{{purpose}}',
|
||||
'{{why_chosen}}',
|
||||
]
|
||||
- [
|
||||
"UI Component Library",
|
||||
"{{ui_library}}",
|
||||
"{{version}}",
|
||||
"{{purpose}}",
|
||||
"{{why_chosen}}",
|
||||
'UI Component Library',
|
||||
'{{ui_library}}',
|
||||
'{{version}}',
|
||||
'{{purpose}}',
|
||||
'{{why_chosen}}',
|
||||
]
|
||||
- ["State Management", "{{state_mgmt}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Backend Language", "{{be_language}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ['State Management', '{{state_mgmt}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Backend Language', '{{be_language}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- [
|
||||
"Backend Framework",
|
||||
"{{be_framework}}",
|
||||
"{{version}}",
|
||||
"{{purpose}}",
|
||||
"{{why_chosen}}",
|
||||
'Backend Framework',
|
||||
'{{be_framework}}',
|
||||
'{{version}}',
|
||||
'{{purpose}}',
|
||||
'{{why_chosen}}',
|
||||
]
|
||||
- ["API Style", "{{api_style}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Database", "{{database}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Cache", "{{cache}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["File Storage", "{{storage}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Authentication", "{{auth}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Frontend Testing", "{{fe_test}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Backend Testing", "{{be_test}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["E2E Testing", "{{e2e_test}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Build Tool", "{{build_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Bundler", "{{bundler}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["IaC Tool", "{{iac_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["CI/CD", "{{cicd}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Monitoring", "{{monitoring}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["Logging", "{{logging}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ["CSS Framework", "{{css_framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||
- ['API Style', '{{api_style}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Database', '{{database}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Cache', '{{cache}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['File Storage', '{{storage}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Authentication', '{{auth}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Frontend Testing', '{{fe_test}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Backend Testing', '{{be_test}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['E2E Testing', '{{e2e_test}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Build Tool', '{{build_tool}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Bundler', '{{bundler}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['IaC Tool', '{{iac_tool}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['CI/CD', '{{cicd}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Monitoring', '{{monitoring}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['Logging', '{{logging}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
- ['CSS Framework', '{{css_framework}}', '{{version}}', '{{purpose}}', '{{why_chosen}}']
|
||||
|
||||
- id: data-models
|
||||
title: Data Models
|
||||
@@ -2014,7 +2014,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: model
|
||||
title: "{{model_name}}"
|
||||
title: '{{model_name}}'
|
||||
template: |
|
||||
**Purpose:** {{model_purpose}}
|
||||
|
||||
@@ -2026,11 +2026,11 @@ sections:
|
||||
title: TypeScript Interface
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{model_interface}}"
|
||||
template: '{{model_interface}}'
|
||||
- id: relationships
|
||||
title: Relationships
|
||||
type: bullet-list
|
||||
template: "- {{relationship}}"
|
||||
template: '- {{relationship}}'
|
||||
|
||||
- id: api-spec
|
||||
title: API Specification
|
||||
@@ -2067,13 +2067,13 @@ sections:
|
||||
condition: API style is GraphQL
|
||||
type: code
|
||||
language: graphql
|
||||
template: "{{graphql_schema}}"
|
||||
template: '{{graphql_schema}}'
|
||||
- id: trpc-api
|
||||
title: tRPC Router Definitions
|
||||
condition: API style is tRPC
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{trpc_routers}}"
|
||||
template: '{{trpc_routers}}'
|
||||
|
||||
- id: components
|
||||
title: Components
|
||||
@@ -2094,7 +2094,7 @@ sections:
|
||||
sections:
|
||||
- id: component-list
|
||||
repeatable: true
|
||||
title: "{{component_name}}"
|
||||
title: '{{component_name}}'
|
||||
template: |
|
||||
**Responsibility:** {{component_description}}
|
||||
|
||||
@@ -2132,7 +2132,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: api
|
||||
title: "{{api_name}} API"
|
||||
title: '{{api_name}} API'
|
||||
template: |
|
||||
- **Purpose:** {{api_purpose}}
|
||||
- **Documentation:** {{api_docs_url}}
|
||||
@@ -2189,12 +2189,12 @@ sections:
|
||||
title: Component Organization
|
||||
type: code
|
||||
language: text
|
||||
template: "{{component_structure}}"
|
||||
template: '{{component_structure}}'
|
||||
- id: component-template
|
||||
title: Component Template
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{component_template}}"
|
||||
template: '{{component_template}}'
|
||||
- id: state-management
|
||||
title: State Management Architecture
|
||||
instruction: Detail state management approach based on chosen solution.
|
||||
@@ -2203,11 +2203,11 @@ sections:
|
||||
title: State Structure
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{state_structure}}"
|
||||
template: '{{state_structure}}'
|
||||
- id: state-patterns
|
||||
title: State Management Patterns
|
||||
type: bullet-list
|
||||
template: "- {{pattern}}"
|
||||
template: '- {{pattern}}'
|
||||
- id: routing-architecture
|
||||
title: Routing Architecture
|
||||
instruction: Define routing structure based on framework choice.
|
||||
@@ -2216,12 +2216,12 @@ sections:
|
||||
title: Route Organization
|
||||
type: code
|
||||
language: text
|
||||
template: "{{route_structure}}"
|
||||
template: '{{route_structure}}'
|
||||
- id: protected-routes
|
||||
title: Protected Route Pattern
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{protected_route_example}}"
|
||||
template: '{{protected_route_example}}'
|
||||
- id: frontend-services
|
||||
title: Frontend Services Layer
|
||||
instruction: Define how frontend communicates with backend.
|
||||
@@ -2230,12 +2230,12 @@ sections:
|
||||
title: API Client Setup
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{api_client_setup}}"
|
||||
template: '{{api_client_setup}}'
|
||||
- id: service-example
|
||||
title: Service Example
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{service_example}}"
|
||||
template: '{{service_example}}'
|
||||
|
||||
- id: backend-architecture
|
||||
title: Backend Architecture
|
||||
@@ -2253,12 +2253,12 @@ sections:
|
||||
title: Function Organization
|
||||
type: code
|
||||
language: text
|
||||
template: "{{function_structure}}"
|
||||
template: '{{function_structure}}'
|
||||
- id: function-template
|
||||
title: Function Template
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{function_template}}"
|
||||
template: '{{function_template}}'
|
||||
- id: traditional-server
|
||||
condition: Traditional server architecture chosen
|
||||
sections:
|
||||
@@ -2266,12 +2266,12 @@ sections:
|
||||
title: Controller/Route Organization
|
||||
type: code
|
||||
language: text
|
||||
template: "{{controller_structure}}"
|
||||
template: '{{controller_structure}}'
|
||||
- id: controller-template
|
||||
title: Controller Template
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{controller_template}}"
|
||||
template: '{{controller_template}}'
|
||||
- id: database-architecture
|
||||
title: Database Architecture
|
||||
instruction: Define database schema and access patterns.
|
||||
@@ -2280,12 +2280,12 @@ sections:
|
||||
title: Schema Design
|
||||
type: code
|
||||
language: sql
|
||||
template: "{{database_schema}}"
|
||||
template: '{{database_schema}}'
|
||||
- id: data-access-layer
|
||||
title: Data Access Layer
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{repository_pattern}}"
|
||||
template: '{{repository_pattern}}'
|
||||
- id: auth-architecture
|
||||
title: Authentication and Authorization
|
||||
instruction: Define auth implementation details.
|
||||
@@ -2294,12 +2294,12 @@ sections:
|
||||
title: Auth Flow
|
||||
type: mermaid
|
||||
mermaid_type: sequence
|
||||
template: "{{auth_flow_diagram}}"
|
||||
template: '{{auth_flow_diagram}}'
|
||||
- id: auth-middleware
|
||||
title: Middleware/Guards
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{auth_middleware}}"
|
||||
template: '{{auth_middleware}}'
|
||||
|
||||
- id: unified-project-structure
|
||||
title: Unified Project Structure
|
||||
@@ -2375,12 +2375,12 @@ sections:
|
||||
title: Prerequisites
|
||||
type: code
|
||||
language: bash
|
||||
template: "{{prerequisites_commands}}"
|
||||
template: '{{prerequisites_commands}}'
|
||||
- id: initial-setup
|
||||
title: Initial Setup
|
||||
type: code
|
||||
language: bash
|
||||
template: "{{setup_commands}}"
|
||||
template: '{{setup_commands}}'
|
||||
- id: dev-commands
|
||||
title: Development Commands
|
||||
type: code
|
||||
@@ -2436,15 +2436,15 @@ sections:
|
||||
title: CI/CD Pipeline
|
||||
type: code
|
||||
language: yaml
|
||||
template: "{{cicd_pipeline_config}}"
|
||||
template: '{{cicd_pipeline_config}}'
|
||||
- id: environments
|
||||
title: Environments
|
||||
type: table
|
||||
columns: [Environment, Frontend URL, Backend URL, Purpose]
|
||||
rows:
|
||||
- ["Development", "{{dev_fe_url}}", "{{dev_be_url}}", "Local development"]
|
||||
- ["Staging", "{{staging_fe_url}}", "{{staging_be_url}}", "Pre-production testing"]
|
||||
- ["Production", "{{prod_fe_url}}", "{{prod_be_url}}", "Live environment"]
|
||||
- ['Development', '{{dev_fe_url}}', '{{dev_be_url}}', 'Local development']
|
||||
- ['Staging', '{{staging_fe_url}}', '{{staging_be_url}}', 'Pre-production testing']
|
||||
- ['Production', '{{prod_fe_url}}', '{{prod_be_url}}', 'Live environment']
|
||||
|
||||
- id: security-performance
|
||||
title: Security and Performance
|
||||
@@ -2503,17 +2503,17 @@ sections:
|
||||
title: Frontend Tests
|
||||
type: code
|
||||
language: text
|
||||
template: "{{frontend_test_structure}}"
|
||||
template: '{{frontend_test_structure}}'
|
||||
- id: backend-tests
|
||||
title: Backend Tests
|
||||
type: code
|
||||
language: text
|
||||
template: "{{backend_test_structure}}"
|
||||
template: '{{backend_test_structure}}'
|
||||
- id: e2e-tests
|
||||
title: E2E Tests
|
||||
type: code
|
||||
language: text
|
||||
template: "{{e2e_test_structure}}"
|
||||
template: '{{e2e_test_structure}}'
|
||||
- id: test-examples
|
||||
title: Test Examples
|
||||
sections:
|
||||
@@ -2521,17 +2521,17 @@ sections:
|
||||
title: Frontend Component Test
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{frontend_test_example}}"
|
||||
template: '{{frontend_test_example}}'
|
||||
- id: backend-test
|
||||
title: Backend API Test
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{backend_test_example}}"
|
||||
template: '{{backend_test_example}}'
|
||||
- id: e2e-test
|
||||
title: E2E Test
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{e2e_test_example}}"
|
||||
template: '{{e2e_test_example}}'
|
||||
|
||||
- id: coding-standards
|
||||
title: Coding Standards
|
||||
@@ -2541,22 +2541,22 @@ sections:
|
||||
- id: critical-rules
|
||||
title: Critical Fullstack Rules
|
||||
repeatable: true
|
||||
template: "- **{{rule_name}}:** {{rule_description}}"
|
||||
template: '- **{{rule_name}}:** {{rule_description}}'
|
||||
examples:
|
||||
- "**Type Sharing:** Always define types in packages/shared and import from there"
|
||||
- "**API Calls:** Never make direct HTTP calls - use the service layer"
|
||||
- "**Environment Variables:** Access only through config objects, never process.env directly"
|
||||
- "**Error Handling:** All API routes must use the standard error handler"
|
||||
- "**State Updates:** Never mutate state directly - use proper state management patterns"
|
||||
- '**Type Sharing:** Always define types in packages/shared and import from there'
|
||||
- '**API Calls:** Never make direct HTTP calls - use the service layer'
|
||||
- '**Environment Variables:** Access only through config objects, never process.env directly'
|
||||
- '**Error Handling:** All API routes must use the standard error handler'
|
||||
- '**State Updates:** Never mutate state directly - use proper state management patterns'
|
||||
- id: naming-conventions
|
||||
title: Naming Conventions
|
||||
type: table
|
||||
columns: [Element, Frontend, Backend, Example]
|
||||
rows:
|
||||
- ["Components", "PascalCase", "-", "`UserProfile.tsx`"]
|
||||
- ["Hooks", "camelCase with 'use'", "-", "`useAuth.ts`"]
|
||||
- ["API Routes", "-", "kebab-case", "`/api/user-profile`"]
|
||||
- ["Database Tables", "-", "snake_case", "`user_profiles`"]
|
||||
- ['Components', 'PascalCase', '-', '`UserProfile.tsx`']
|
||||
- ['Hooks', "camelCase with 'use'", '-', '`useAuth.ts`']
|
||||
- ['API Routes', '-', 'kebab-case', '`/api/user-profile`']
|
||||
- ['Database Tables', '-', 'snake_case', '`user_profiles`']
|
||||
|
||||
- id: error-handling
|
||||
title: Error Handling Strategy
|
||||
@@ -2567,7 +2567,7 @@ sections:
|
||||
title: Error Flow
|
||||
type: mermaid
|
||||
mermaid_type: sequence
|
||||
template: "{{error_flow_diagram}}"
|
||||
template: '{{error_flow_diagram}}'
|
||||
- id: error-format
|
||||
title: Error Response Format
|
||||
type: code
|
||||
@@ -2586,12 +2586,12 @@ sections:
|
||||
title: Frontend Error Handling
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{frontend_error_handler}}"
|
||||
template: '{{frontend_error_handler}}'
|
||||
- id: backend-error-handling
|
||||
title: Backend Error Handling
|
||||
type: code
|
||||
language: typescript
|
||||
template: "{{backend_error_handler}}"
|
||||
template: '{{backend_error_handler}}'
|
||||
|
||||
- id: monitoring
|
||||
title: Monitoring and Observability
|
||||
@@ -2633,7 +2633,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/architecture.md
|
||||
title: "{{project_name}} Brownfield Enhancement Architecture"
|
||||
title: '{{project_name}} Brownfield Enhancement Architecture'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -2691,11 +2691,11 @@ sections:
|
||||
- id: available-docs
|
||||
title: Available Documentation
|
||||
type: bullet-list
|
||||
template: "- {{existing_docs_summary}}"
|
||||
template: '- {{existing_docs_summary}}'
|
||||
- id: constraints
|
||||
title: Identified Constraints
|
||||
type: bullet-list
|
||||
template: "- {{constraint}}"
|
||||
template: '- {{constraint}}'
|
||||
- id: changelog
|
||||
title: Change Log
|
||||
type: table
|
||||
@@ -2775,7 +2775,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: model
|
||||
title: "{{model_name}}"
|
||||
title: '{{model_name}}'
|
||||
template: |
|
||||
**Purpose:** {{model_purpose}}
|
||||
**Integration:** {{integration_with_existing}}
|
||||
@@ -2818,7 +2818,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: component
|
||||
title: "{{component_name}}"
|
||||
title: '{{component_name}}'
|
||||
template: |
|
||||
**Responsibility:** {{component_description}}
|
||||
**Integration Points:** {{integration_points}}
|
||||
@@ -2861,7 +2861,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: endpoint
|
||||
title: "{{endpoint_name}}"
|
||||
title: '{{endpoint_name}}'
|
||||
template: |
|
||||
- **Method:** {{http_method}}
|
||||
- **Endpoint:** {{endpoint_path}}
|
||||
@@ -2872,12 +2872,12 @@ sections:
|
||||
title: Request
|
||||
type: code
|
||||
language: json
|
||||
template: "{{request_schema}}"
|
||||
template: '{{request_schema}}'
|
||||
- id: response
|
||||
title: Response
|
||||
type: code
|
||||
language: json
|
||||
template: "{{response_schema}}"
|
||||
template: '{{response_schema}}'
|
||||
|
||||
- id: external-api-integration
|
||||
title: External API Integration
|
||||
@@ -2886,7 +2886,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: external-api
|
||||
title: "{{api_name}} API"
|
||||
title: '{{api_name}} API'
|
||||
template: |
|
||||
- **Purpose:** {{api_purpose}}
|
||||
- **Documentation:** {{api_docs_url}}
|
||||
@@ -2915,7 +2915,7 @@ sections:
|
||||
type: code
|
||||
language: plaintext
|
||||
instruction: Document relevant parts of current structure
|
||||
template: "{{existing_structure_relevant_parts}}"
|
||||
template: '{{existing_structure_relevant_parts}}'
|
||||
- id: new-file-organization
|
||||
title: New File Organization
|
||||
type: code
|
||||
@@ -2990,7 +2990,7 @@ sections:
|
||||
title: Enhancement-Specific Standards
|
||||
condition: New patterns needed for enhancement
|
||||
repeatable: true
|
||||
template: "- **{{standard_name}}:** {{standard_description}}"
|
||||
template: '- **{{standard_name}}:** {{standard_description}}'
|
||||
- id: integration-rules
|
||||
title: Critical Integration Rules
|
||||
template: |
|
||||
|
||||
672
dist/agents/bmad-master.txt
vendored
672
dist/agents/bmad-master.txt
vendored
File diff suppressed because it is too large
Load Diff
80
dist/agents/pm.txt
vendored
80
dist/agents/pm.txt
vendored
@@ -1159,7 +1159,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/prd.md
|
||||
title: "{{project_name}} Product Requirements Document (PRD)"
|
||||
title: '{{project_name}} Product Requirements Document (PRD)'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1196,14 +1196,14 @@ sections:
|
||||
prefix: FR
|
||||
instruction: Each Requirement will be a bullet markdown and an identifier sequence starting with FR
|
||||
examples:
|
||||
- "FR6: The Todo List uses AI to detect and warn against potentially duplicate todo items that are worded differently."
|
||||
- 'FR6: The Todo List uses AI to detect and warn against potentially duplicate todo items that are worded differently.'
|
||||
- id: non-functional
|
||||
title: Non Functional
|
||||
type: numbered-list
|
||||
prefix: NFR
|
||||
instruction: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR
|
||||
examples:
|
||||
- "NFR1: AWS service usage must aim to stay within free-tier limits where feasible."
|
||||
- 'NFR1: AWS service usage must aim to stay within free-tier limits where feasible.'
|
||||
|
||||
- id: ui-goals
|
||||
title: User Interface Design Goals
|
||||
@@ -1229,24 +1229,24 @@ sections:
|
||||
title: Core Screens and Views
|
||||
instruction: 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
|
||||
examples:
|
||||
- "Login Screen"
|
||||
- "Main Dashboard"
|
||||
- "Item Detail Page"
|
||||
- "Settings Page"
|
||||
- 'Login Screen'
|
||||
- 'Main Dashboard'
|
||||
- 'Item Detail Page'
|
||||
- 'Settings Page'
|
||||
- id: accessibility
|
||||
title: "Accessibility: {None|WCAG AA|WCAG AAA|Custom Requirements}"
|
||||
title: 'Accessibility: {None|WCAG AA|WCAG AAA|Custom Requirements}'
|
||||
- id: branding
|
||||
title: Branding
|
||||
instruction: Any known branding elements or style guides that must be incorporated?
|
||||
examples:
|
||||
- "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."
|
||||
- "Attached is the full color pallet and tokens for our corporate branding."
|
||||
- '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.'
|
||||
- 'Attached is the full color pallet and tokens for our corporate branding.'
|
||||
- id: target-platforms
|
||||
title: "Target Device and Platforms: {Web Responsive|Mobile Only|Desktop Only|Cross-Platform}"
|
||||
title: 'Target Device and Platforms: {Web Responsive|Mobile Only|Desktop Only|Cross-Platform}'
|
||||
examples:
|
||||
- "Web Responsive, and all mobile platforms"
|
||||
- "iPhone Only"
|
||||
- "ASCII Windows Desktop"
|
||||
- 'Web Responsive, and all mobile platforms'
|
||||
- 'iPhone Only'
|
||||
- 'ASCII Windows Desktop'
|
||||
|
||||
- id: technical-assumptions
|
||||
title: Technical Assumptions
|
||||
@@ -1265,13 +1265,13 @@ sections:
|
||||
testing: [Unit Only, Unit + Integration, Full Testing Pyramid]
|
||||
sections:
|
||||
- id: repository-structure
|
||||
title: "Repository Structure: {Monorepo|Polyrepo|Multi-repo}"
|
||||
title: 'Repository Structure: {Monorepo|Polyrepo|Multi-repo}'
|
||||
- id: service-architecture
|
||||
title: Service Architecture
|
||||
instruction: "CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo)."
|
||||
instruction: 'CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo).'
|
||||
- id: testing-requirements
|
||||
title: Testing Requirements
|
||||
instruction: "CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods)."
|
||||
instruction: 'CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods).'
|
||||
- id: additional-assumptions
|
||||
title: Additional Technical Assumptions and Requests
|
||||
instruction: 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
|
||||
@@ -1291,10 +1291,10 @@ sections:
|
||||
- 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.
|
||||
elicit: true
|
||||
examples:
|
||||
- "Epic 1: Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management"
|
||||
- "Epic 2: Core Business Entities: Create and manage primary domain objects with CRUD operations"
|
||||
- "Epic 3: User Workflows & Interactions: Enable key user journeys and business processes"
|
||||
- "Epic 4: Reporting & Analytics: Provide insights and data visualization for users"
|
||||
- 'Epic 1: Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management'
|
||||
- 'Epic 2: Core Business Entities: Create and manage primary domain objects with CRUD operations'
|
||||
- 'Epic 3: User Workflows & Interactions: Enable key user journeys and business processes'
|
||||
- 'Epic 4: Reporting & Analytics: Provide insights and data visualization for users'
|
||||
|
||||
- id: epic-details
|
||||
title: Epic {{epic_number}} {{epic_title}}
|
||||
@@ -1316,7 +1316,7 @@ sections:
|
||||
- Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
|
||||
- If a story seems complex, break it down further as long as it can deliver a vertical slice
|
||||
elicit: true
|
||||
template: "{{epic_goal}}"
|
||||
template: '{{epic_goal}}'
|
||||
sections:
|
||||
- id: story
|
||||
title: Story {{epic_number}}.{{story_number}} {{story_title}}
|
||||
@@ -1329,7 +1329,7 @@ sections:
|
||||
- id: acceptance-criteria
|
||||
title: Acceptance Criteria
|
||||
type: numbered-list
|
||||
item_template: "{{criterion_number}}: {{criteria}}"
|
||||
item_template: '{{criterion_number}}: {{criteria}}'
|
||||
repeatable: true
|
||||
instruction: |
|
||||
Define clear, comprehensive, and testable acceptance criteria that:
|
||||
@@ -1364,7 +1364,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/prd.md
|
||||
title: "{{project_name}} Brownfield Enhancement PRD"
|
||||
title: '{{project_name}} Brownfield Enhancement PRD'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1427,7 +1427,7 @@ sections:
|
||||
- External API Documentation [[LLM: If from document-project, check ✓]]
|
||||
- UX/UI Guidelines [[LLM: May not be in document-project]]
|
||||
- Technical Debt Documentation [[LLM: If from document-project, check ✓]]
|
||||
- "Other: {{other_docs}}"
|
||||
- 'Other: {{other_docs}}'
|
||||
instruction: |
|
||||
- If document-project was already run: "Using existing project analysis from document-project output."
|
||||
- If critical documentation is missing and no document-project: "I recommend running the document-project task first..."
|
||||
@@ -1447,7 +1447,7 @@ sections:
|
||||
- UI/UX Overhaul
|
||||
- Technology Stack Upgrade
|
||||
- Bug Fix and Stability Improvements
|
||||
- "Other: {{other_type}}"
|
||||
- 'Other: {{other_type}}'
|
||||
- id: enhancement-description
|
||||
title: Enhancement Description
|
||||
instruction: 2-3 sentences describing what the user wants to add or change
|
||||
@@ -1488,29 +1488,29 @@ sections:
|
||||
prefix: FR
|
||||
instruction: Each Requirement will be a bullet markdown with identifier starting with FR
|
||||
examples:
|
||||
- "FR1: The existing Todo List will integrate with the new AI duplicate detection service without breaking current functionality."
|
||||
- 'FR1: The existing Todo List will integrate with the new AI duplicate detection service without breaking current functionality.'
|
||||
- id: non-functional
|
||||
title: Non Functional
|
||||
type: numbered-list
|
||||
prefix: NFR
|
||||
instruction: Each Requirement will be a bullet markdown with identifier starting with NFR. Include constraints from existing system
|
||||
examples:
|
||||
- "NFR1: Enhancement must maintain existing performance characteristics and not exceed current memory usage by more than 20%."
|
||||
- 'NFR1: Enhancement must maintain existing performance characteristics and not exceed current memory usage by more than 20%.'
|
||||
- id: compatibility
|
||||
title: Compatibility Requirements
|
||||
instruction: Critical for brownfield - what must remain compatible
|
||||
type: numbered-list
|
||||
prefix: CR
|
||||
template: "{{requirement}}: {{description}}"
|
||||
template: '{{requirement}}: {{description}}'
|
||||
items:
|
||||
- id: cr1
|
||||
template: "CR1: {{existing_api_compatibility}}"
|
||||
template: 'CR1: {{existing_api_compatibility}}'
|
||||
- id: cr2
|
||||
template: "CR2: {{database_schema_compatibility}}"
|
||||
template: 'CR2: {{database_schema_compatibility}}'
|
||||
- id: cr3
|
||||
template: "CR3: {{ui_ux_consistency}}"
|
||||
template: 'CR3: {{ui_ux_consistency}}'
|
||||
- id: cr4
|
||||
template: "CR4: {{integration_compatibility}}"
|
||||
template: 'CR4: {{integration_compatibility}}'
|
||||
|
||||
- id: ui-enhancement-goals
|
||||
title: User Interface Enhancement Goals
|
||||
@@ -1593,10 +1593,10 @@ sections:
|
||||
- id: epic-approach
|
||||
title: Epic Approach
|
||||
instruction: Explain the rationale for epic structure - typically single epic for brownfield unless multiple unrelated features
|
||||
template: "**Epic Structure Decision**: {{epic_decision}} with rationale"
|
||||
template: '**Epic Structure Decision**: {{epic_decision}} with rationale'
|
||||
|
||||
- id: epic-details
|
||||
title: "Epic 1: {{enhancement_title}}"
|
||||
title: 'Epic 1: {{enhancement_title}}'
|
||||
instruction: |
|
||||
Comprehensive epic that delivers the brownfield enhancement while maintaining existing functionality
|
||||
|
||||
@@ -1616,7 +1616,7 @@ sections:
|
||||
**Integration Requirements**: {{integration_requirements}}
|
||||
sections:
|
||||
- id: story
|
||||
title: "Story 1.{{story_number}} {{story_title}}"
|
||||
title: 'Story 1.{{story_number}} {{story_title}}'
|
||||
repeatable: true
|
||||
template: |
|
||||
As a {{user_type}},
|
||||
@@ -1627,16 +1627,16 @@ sections:
|
||||
title: Acceptance Criteria
|
||||
type: numbered-list
|
||||
instruction: Define criteria that include both new functionality and existing system integrity
|
||||
item_template: "{{criterion_number}}: {{criteria}}"
|
||||
item_template: '{{criterion_number}}: {{criteria}}'
|
||||
- id: integration-verification
|
||||
title: Integration Verification
|
||||
instruction: Specific verification steps to ensure existing functionality remains intact
|
||||
type: numbered-list
|
||||
prefix: IV
|
||||
items:
|
||||
- template: "IV1: {{existing_functionality_verification}}"
|
||||
- template: "IV2: {{integration_point_verification}}"
|
||||
- template: "IV3: {{performance_impact_verification}}"
|
||||
- template: 'IV1: {{existing_functionality_verification}}'
|
||||
- template: 'IV2: {{integration_point_verification}}'
|
||||
- template: 'IV3: {{performance_impact_verification}}'
|
||||
==================== END: .bmad-core/templates/brownfield-prd-tmpl.yaml ====================
|
||||
|
||||
==================== START: .bmad-core/checklists/pm-checklist.md ====================
|
||||
|
||||
4
dist/agents/po.txt
vendored
4
dist/agents/po.txt
vendored
@@ -593,7 +593,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
|
||||
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
|
||||
title: 'Story {{epic_num}}.{{story_num}}: {{story_title_short}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -695,7 +695,7 @@ sections:
|
||||
sections:
|
||||
- id: agent-model
|
||||
title: Agent Model Used
|
||||
template: "{{agent_model_name_version}}"
|
||||
template: '{{agent_model_name_version}}'
|
||||
instruction: Record the specific AI agent model and version used for development
|
||||
owner: dev-agent
|
||||
editors: [dev-agent]
|
||||
|
||||
18
dist/agents/qa.txt
vendored
18
dist/agents/qa.txt
vendored
@@ -1743,7 +1743,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
|
||||
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
|
||||
title: 'Story {{epic_num}}.{{story_num}}: {{story_title_short}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1845,7 +1845,7 @@ sections:
|
||||
sections:
|
||||
- id: agent-model
|
||||
title: Agent Model Used
|
||||
template: "{{agent_model_name_version}}"
|
||||
template: '{{agent_model_name_version}}'
|
||||
instruction: Record the specific AI agent model and version used for development
|
||||
owner: dev-agent
|
||||
editors: [dev-agent]
|
||||
@@ -1883,16 +1883,16 @@ template:
|
||||
output:
|
||||
format: yaml
|
||||
filename: docs/qa/gates/{{epic_num}}.{{story_num}}-{{story_slug}}.yml
|
||||
title: "Quality Gate: {{epic_num}}.{{story_num}}"
|
||||
title: 'Quality Gate: {{epic_num}}.{{story_num}}'
|
||||
|
||||
# Required fields (keep these first)
|
||||
schema: 1
|
||||
story: "{{epic_num}}.{{story_num}}"
|
||||
story_title: "{{story_title}}"
|
||||
gate: "{{gate_status}}" # PASS|CONCERNS|FAIL|WAIVED
|
||||
status_reason: "{{status_reason}}" # 1-2 sentence summary of why this gate decision
|
||||
reviewer: "Quinn (Test Architect)"
|
||||
updated: "{{iso_timestamp}}"
|
||||
story: '{{epic_num}}.{{story_num}}'
|
||||
story_title: '{{story_title}}'
|
||||
gate: '{{gate_status}}' # PASS|CONCERNS|FAIL|WAIVED
|
||||
status_reason: '{{status_reason}}' # 1-2 sentence summary of why this gate decision
|
||||
reviewer: 'Quinn (Test Architect)'
|
||||
updated: '{{iso_timestamp}}'
|
||||
|
||||
# Always present but only active when WAIVED
|
||||
waiver: { active: false }
|
||||
|
||||
4
dist/agents/sm.txt
vendored
4
dist/agents/sm.txt
vendored
@@ -369,7 +369,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
|
||||
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
|
||||
title: 'Story {{epic_num}}.{{story_num}}: {{story_title_short}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -471,7 +471,7 @@ sections:
|
||||
sections:
|
||||
- id: agent-model
|
||||
title: Agent Model Used
|
||||
template: "{{agent_model_name_version}}"
|
||||
template: '{{agent_model_name_version}}'
|
||||
instruction: Record the specific AI agent model and version used for development
|
||||
owner: dev-agent
|
||||
editors: [dev-agent]
|
||||
|
||||
114
dist/agents/ux-expert.txt
vendored
114
dist/agents/ux-expert.txt
vendored
@@ -343,7 +343,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/front-end-spec.md
|
||||
title: "{{project_name}} UI/UX Specification"
|
||||
title: '{{project_name}} UI/UX Specification'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -371,29 +371,29 @@ sections:
|
||||
sections:
|
||||
- id: user-personas
|
||||
title: Target User Personas
|
||||
template: "{{persona_descriptions}}"
|
||||
template: '{{persona_descriptions}}'
|
||||
examples:
|
||||
- "**Power User:** Technical professionals who need advanced features and efficiency"
|
||||
- "**Casual User:** Occasional users who prioritize ease of use and clear guidance"
|
||||
- "**Administrator:** System managers who need control and oversight capabilities"
|
||||
- '**Power User:** Technical professionals who need advanced features and efficiency'
|
||||
- '**Casual User:** Occasional users who prioritize ease of use and clear guidance'
|
||||
- '**Administrator:** System managers who need control and oversight capabilities'
|
||||
- id: usability-goals
|
||||
title: Usability Goals
|
||||
template: "{{usability_goals}}"
|
||||
template: '{{usability_goals}}'
|
||||
examples:
|
||||
- "Ease of learning: New users can complete core tasks within 5 minutes"
|
||||
- "Efficiency of use: Power users can complete frequent tasks with minimal clicks"
|
||||
- "Error prevention: Clear validation and confirmation for destructive actions"
|
||||
- "Memorability: Infrequent users can return without relearning"
|
||||
- 'Ease of learning: New users can complete core tasks within 5 minutes'
|
||||
- 'Efficiency of use: Power users can complete frequent tasks with minimal clicks'
|
||||
- 'Error prevention: Clear validation and confirmation for destructive actions'
|
||||
- 'Memorability: Infrequent users can return without relearning'
|
||||
- id: design-principles
|
||||
title: Design Principles
|
||||
template: "{{design_principles}}"
|
||||
template: '{{design_principles}}'
|
||||
type: numbered-list
|
||||
examples:
|
||||
- "**Clarity over cleverness** - Prioritize clear communication over aesthetic innovation"
|
||||
- '**Clarity over cleverness** - Prioritize clear communication over aesthetic innovation'
|
||||
- "**Progressive disclosure** - Show only what's needed, when it's needed"
|
||||
- "**Consistent patterns** - Use familiar UI patterns throughout the application"
|
||||
- "**Immediate feedback** - Every action should have a clear, immediate response"
|
||||
- "**Accessible by default** - Design for all users from the start"
|
||||
- '**Consistent patterns** - Use familiar UI patterns throughout the application'
|
||||
- '**Immediate feedback** - Every action should have a clear, immediate response'
|
||||
- '**Accessible by default** - Design for all users from the start'
|
||||
- id: changelog
|
||||
title: Change Log
|
||||
type: table
|
||||
@@ -415,7 +415,7 @@ sections:
|
||||
title: Site Map / Screen Inventory
|
||||
type: mermaid
|
||||
mermaid_type: graph
|
||||
template: "{{sitemap_diagram}}"
|
||||
template: '{{sitemap_diagram}}'
|
||||
examples:
|
||||
- |
|
||||
graph TD
|
||||
@@ -455,7 +455,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: flow
|
||||
title: "{{flow_name}}"
|
||||
title: '{{flow_name}}'
|
||||
template: |
|
||||
**User Goal:** {{flow_goal}}
|
||||
|
||||
@@ -467,13 +467,13 @@ sections:
|
||||
title: Flow Diagram
|
||||
type: mermaid
|
||||
mermaid_type: graph
|
||||
template: "{{flow_diagram}}"
|
||||
template: '{{flow_diagram}}'
|
||||
- id: edge-cases
|
||||
title: "Edge Cases & Error Handling:"
|
||||
title: 'Edge Cases & Error Handling:'
|
||||
type: bullet-list
|
||||
template: "- {{edge_case}}"
|
||||
template: '- {{edge_case}}'
|
||||
- id: notes
|
||||
template: "**Notes:** {{flow_notes}}"
|
||||
template: '**Notes:** {{flow_notes}}'
|
||||
|
||||
- id: wireframes-mockups
|
||||
title: Wireframes & Mockups
|
||||
@@ -482,13 +482,13 @@ sections:
|
||||
elicit: true
|
||||
sections:
|
||||
- id: design-files
|
||||
template: "**Primary Design Files:** {{design_tool_link}}"
|
||||
template: '**Primary Design Files:** {{design_tool_link}}'
|
||||
- id: key-screen-layouts
|
||||
title: Key Screen Layouts
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: screen
|
||||
title: "{{screen_name}}"
|
||||
title: '{{screen_name}}'
|
||||
template: |
|
||||
**Purpose:** {{screen_purpose}}
|
||||
|
||||
@@ -508,13 +508,13 @@ sections:
|
||||
elicit: true
|
||||
sections:
|
||||
- id: design-system-approach
|
||||
template: "**Design System Approach:** {{design_system_approach}}"
|
||||
template: '**Design System Approach:** {{design_system_approach}}'
|
||||
- id: core-components
|
||||
title: Core Components
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: component
|
||||
title: "{{component_name}}"
|
||||
title: '{{component_name}}'
|
||||
template: |
|
||||
**Purpose:** {{component_purpose}}
|
||||
|
||||
@@ -531,19 +531,19 @@ sections:
|
||||
sections:
|
||||
- id: visual-identity
|
||||
title: Visual Identity
|
||||
template: "**Brand Guidelines:** {{brand_guidelines_link}}"
|
||||
template: '**Brand Guidelines:** {{brand_guidelines_link}}'
|
||||
- id: color-palette
|
||||
title: Color Palette
|
||||
type: table
|
||||
columns: ["Color Type", "Hex Code", "Usage"]
|
||||
columns: ['Color Type', 'Hex Code', 'Usage']
|
||||
rows:
|
||||
- ["Primary", "{{primary_color}}", "{{primary_usage}}"]
|
||||
- ["Secondary", "{{secondary_color}}", "{{secondary_usage}}"]
|
||||
- ["Accent", "{{accent_color}}", "{{accent_usage}}"]
|
||||
- ["Success", "{{success_color}}", "Positive feedback, confirmations"]
|
||||
- ["Warning", "{{warning_color}}", "Cautions, important notices"]
|
||||
- ["Error", "{{error_color}}", "Errors, destructive actions"]
|
||||
- ["Neutral", "{{neutral_colors}}", "Text, borders, backgrounds"]
|
||||
- ['Primary', '{{primary_color}}', '{{primary_usage}}']
|
||||
- ['Secondary', '{{secondary_color}}', '{{secondary_usage}}']
|
||||
- ['Accent', '{{accent_color}}', '{{accent_usage}}']
|
||||
- ['Success', '{{success_color}}', 'Positive feedback, confirmations']
|
||||
- ['Warning', '{{warning_color}}', 'Cautions, important notices']
|
||||
- ['Error', '{{error_color}}', 'Errors, destructive actions']
|
||||
- ['Neutral', '{{neutral_colors}}', 'Text, borders, backgrounds']
|
||||
- id: typography
|
||||
title: Typography
|
||||
sections:
|
||||
@@ -556,13 +556,13 @@ sections:
|
||||
- id: type-scale
|
||||
title: Type Scale
|
||||
type: table
|
||||
columns: ["Element", "Size", "Weight", "Line Height"]
|
||||
columns: ['Element', 'Size', 'Weight', 'Line Height']
|
||||
rows:
|
||||
- ["H1", "{{h1_size}}", "{{h1_weight}}", "{{h1_line}}"]
|
||||
- ["H2", "{{h2_size}}", "{{h2_weight}}", "{{h2_line}}"]
|
||||
- ["H3", "{{h3_size}}", "{{h3_weight}}", "{{h3_line}}"]
|
||||
- ["Body", "{{body_size}}", "{{body_weight}}", "{{body_line}}"]
|
||||
- ["Small", "{{small_size}}", "{{small_weight}}", "{{small_line}}"]
|
||||
- ['H1', '{{h1_size}}', '{{h1_weight}}', '{{h1_line}}']
|
||||
- ['H2', '{{h2_size}}', '{{h2_weight}}', '{{h2_line}}']
|
||||
- ['H3', '{{h3_size}}', '{{h3_weight}}', '{{h3_line}}']
|
||||
- ['Body', '{{body_size}}', '{{body_weight}}', '{{body_line}}']
|
||||
- ['Small', '{{small_size}}', '{{small_weight}}', '{{small_line}}']
|
||||
- id: iconography
|
||||
title: Iconography
|
||||
template: |
|
||||
@@ -583,7 +583,7 @@ sections:
|
||||
sections:
|
||||
- id: compliance-target
|
||||
title: Compliance Target
|
||||
template: "**Standard:** {{compliance_standard}}"
|
||||
template: '**Standard:** {{compliance_standard}}'
|
||||
- id: key-requirements
|
||||
title: Key Requirements
|
||||
template: |
|
||||
@@ -603,7 +603,7 @@ sections:
|
||||
- Form labels: {{form_requirements}}
|
||||
- id: testing-strategy
|
||||
title: Testing Strategy
|
||||
template: "{{accessibility_testing}}"
|
||||
template: '{{accessibility_testing}}'
|
||||
|
||||
- id: responsiveness
|
||||
title: Responsiveness Strategy
|
||||
@@ -613,12 +613,12 @@ sections:
|
||||
- id: breakpoints
|
||||
title: Breakpoints
|
||||
type: table
|
||||
columns: ["Breakpoint", "Min Width", "Max Width", "Target Devices"]
|
||||
columns: ['Breakpoint', 'Min Width', 'Max Width', 'Target Devices']
|
||||
rows:
|
||||
- ["Mobile", "{{mobile_min}}", "{{mobile_max}}", "{{mobile_devices}}"]
|
||||
- ["Tablet", "{{tablet_min}}", "{{tablet_max}}", "{{tablet_devices}}"]
|
||||
- ["Desktop", "{{desktop_min}}", "{{desktop_max}}", "{{desktop_devices}}"]
|
||||
- ["Wide", "{{wide_min}}", "-", "{{wide_devices}}"]
|
||||
- ['Mobile', '{{mobile_min}}', '{{mobile_max}}', '{{mobile_devices}}']
|
||||
- ['Tablet', '{{tablet_min}}', '{{tablet_max}}', '{{tablet_devices}}']
|
||||
- ['Desktop', '{{desktop_min}}', '{{desktop_max}}', '{{desktop_devices}}']
|
||||
- ['Wide', '{{wide_min}}', '-', '{{wide_devices}}']
|
||||
- id: adaptation-patterns
|
||||
title: Adaptation Patterns
|
||||
template: |
|
||||
@@ -637,11 +637,11 @@ sections:
|
||||
sections:
|
||||
- id: motion-principles
|
||||
title: Motion Principles
|
||||
template: "{{motion_principles}}"
|
||||
template: '{{motion_principles}}'
|
||||
- id: key-animations
|
||||
title: Key Animations
|
||||
repeatable: true
|
||||
template: "- **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})"
|
||||
template: '- **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})'
|
||||
|
||||
- id: performance
|
||||
title: Performance Considerations
|
||||
@@ -655,7 +655,7 @@ sections:
|
||||
- **Animation FPS:** {{animation_goal}}
|
||||
- id: design-strategies
|
||||
title: Design Strategies
|
||||
template: "{{performance_strategies}}"
|
||||
template: '{{performance_strategies}}'
|
||||
|
||||
- id: next-steps
|
||||
title: Next Steps
|
||||
@@ -670,17 +670,17 @@ sections:
|
||||
- id: immediate-actions
|
||||
title: Immediate Actions
|
||||
type: numbered-list
|
||||
template: "{{action}}"
|
||||
template: '{{action}}'
|
||||
- id: design-handoff-checklist
|
||||
title: Design Handoff Checklist
|
||||
type: checklist
|
||||
items:
|
||||
- "All user flows documented"
|
||||
- "Component inventory complete"
|
||||
- "Accessibility requirements defined"
|
||||
- "Responsive strategy clear"
|
||||
- "Brand guidelines incorporated"
|
||||
- "Performance goals established"
|
||||
- 'All user flows documented'
|
||||
- 'Component inventory complete'
|
||||
- 'Accessibility requirements defined'
|
||||
- 'Responsive strategy clear'
|
||||
- 'Brand guidelines incorporated'
|
||||
- 'Performance goals established'
|
||||
|
||||
- id: checklist-results
|
||||
title: Checklist Results
|
||||
|
||||
@@ -981,8 +981,8 @@ template:
|
||||
version: 2.0
|
||||
output:
|
||||
format: markdown
|
||||
filename: "docs/{{game_name}}-game-design-document.md"
|
||||
title: "{{game_title}} Game Design Document (GDD)"
|
||||
filename: 'docs/{{game_name}}-game-design-document.md'
|
||||
title: '{{game_title}} Game Design Document (GDD)'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1019,7 +1019,7 @@ sections:
|
||||
title: Unique Selling Points
|
||||
instruction: List 3-5 key features that differentiate this game from competitors
|
||||
type: numbered-list
|
||||
template: "{{usp}}"
|
||||
template: '{{usp}}'
|
||||
|
||||
- id: core-gameplay
|
||||
title: Core Gameplay
|
||||
@@ -1064,7 +1064,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: mechanic
|
||||
title: "{{mechanic_name}}"
|
||||
title: '{{mechanic_name}}'
|
||||
template: |
|
||||
**Description:** {{detailed_description}}
|
||||
|
||||
@@ -1129,7 +1129,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: level-type
|
||||
title: "{{level_type_name}}"
|
||||
title: '{{level_type_name}}'
|
||||
template: |
|
||||
**Purpose:** {{gameplay_purpose}}
|
||||
**Duration:** {{target_time}}
|
||||
@@ -1230,10 +1230,10 @@ sections:
|
||||
instruction: Break down the development into phases that can be converted to epics
|
||||
sections:
|
||||
- id: phase-1-core-systems
|
||||
title: "Phase 1: Core Systems ({{duration}})"
|
||||
title: 'Phase 1: Core Systems ({{duration}})'
|
||||
sections:
|
||||
- id: foundation-epic
|
||||
title: "Epic: Foundation"
|
||||
title: 'Epic: Foundation'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Engine setup and configuration
|
||||
@@ -1241,41 +1241,41 @@ sections:
|
||||
- Core input handling
|
||||
- Asset loading pipeline
|
||||
- id: core-mechanics-epic
|
||||
title: "Epic: Core Mechanics"
|
||||
title: 'Epic: Core Mechanics'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- {{primary_mechanic}} implementation
|
||||
- Basic physics and collision
|
||||
- Player controller
|
||||
- id: phase-2-gameplay-features
|
||||
title: "Phase 2: Gameplay Features ({{duration}})"
|
||||
title: 'Phase 2: Gameplay Features ({{duration}})'
|
||||
sections:
|
||||
- id: game-systems-epic
|
||||
title: "Epic: Game Systems"
|
||||
title: 'Epic: Game Systems'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- {{mechanic_2}} implementation
|
||||
- {{mechanic_3}} implementation
|
||||
- Game state management
|
||||
- id: content-creation-epic
|
||||
title: "Epic: Content Creation"
|
||||
title: 'Epic: Content Creation'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Level loading system
|
||||
- First playable levels
|
||||
- Basic UI implementation
|
||||
- id: phase-3-polish-optimization
|
||||
title: "Phase 3: Polish & Optimization ({{duration}})"
|
||||
title: 'Phase 3: Polish & Optimization ({{duration}})'
|
||||
sections:
|
||||
- id: performance-epic
|
||||
title: "Epic: Performance"
|
||||
title: 'Epic: Performance'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Optimization and profiling
|
||||
- Mobile platform testing
|
||||
- Memory management
|
||||
- id: user-experience-epic
|
||||
title: "Epic: User Experience"
|
||||
title: 'Epic: User Experience'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Audio implementation
|
||||
@@ -1317,7 +1317,7 @@ sections:
|
||||
title: References
|
||||
instruction: List any competitive analysis, inspiration, or research sources
|
||||
type: bullet-list
|
||||
template: "{{reference}}"
|
||||
template: '{{reference}}'
|
||||
==================== END: .bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml ====================
|
||||
|
||||
==================== START: .bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml ====================
|
||||
@@ -1327,8 +1327,8 @@ template:
|
||||
version: 2.0
|
||||
output:
|
||||
format: markdown
|
||||
filename: "docs/{{game_name}}-level-design-document.md"
|
||||
title: "{{game_title}} Level Design Document"
|
||||
filename: 'docs/{{game_name}}-level-design-document.md'
|
||||
title: '{{game_title}} Level Design Document'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1389,7 +1389,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: level-category
|
||||
title: "{{category_name}} Levels"
|
||||
title: '{{category_name}} Levels'
|
||||
template: |
|
||||
**Purpose:** {{gameplay_purpose}}
|
||||
|
||||
@@ -1694,19 +1694,19 @@ sections:
|
||||
title: Playtesting Checklist
|
||||
type: checklist
|
||||
items:
|
||||
- "Level completes within target time range"
|
||||
- "All mechanics function correctly"
|
||||
- "Difficulty feels appropriate for level category"
|
||||
- "Player guidance is clear and effective"
|
||||
- "No exploits or sequence breaks (unless intended)"
|
||||
- 'Level completes within target time range'
|
||||
- 'All mechanics function correctly'
|
||||
- 'Difficulty feels appropriate for level category'
|
||||
- 'Player guidance is clear and effective'
|
||||
- 'No exploits or sequence breaks (unless intended)'
|
||||
- id: player-experience-testing
|
||||
title: Player Experience Testing
|
||||
type: checklist
|
||||
items:
|
||||
- "Tutorial levels teach effectively"
|
||||
- "Challenge feels fair and rewarding"
|
||||
- "Flow and pacing maintain engagement"
|
||||
- "Audio and visual feedback support gameplay"
|
||||
- 'Tutorial levels teach effectively'
|
||||
- 'Challenge feels fair and rewarding'
|
||||
- 'Flow and pacing maintain engagement'
|
||||
- 'Audio and visual feedback support gameplay'
|
||||
- id: balance-validation
|
||||
title: Balance Validation
|
||||
template: |
|
||||
@@ -1814,8 +1814,8 @@ template:
|
||||
version: 2.0
|
||||
output:
|
||||
format: markdown
|
||||
filename: "docs/{{game_name}}-game-brief.md"
|
||||
title: "{{game_title}} Game Brief"
|
||||
filename: 'docs/{{game_name}}-game-brief.md'
|
||||
title: '{{game_title}} Game Brief'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -2101,21 +2101,21 @@ sections:
|
||||
title: Development Roadmap
|
||||
sections:
|
||||
- id: phase-1-preproduction
|
||||
title: "Phase 1: Pre-Production ({{duration}})"
|
||||
title: 'Phase 1: Pre-Production ({{duration}})'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Detailed Game Design Document creation
|
||||
- Technical architecture planning
|
||||
- Art style exploration and pipeline setup
|
||||
- id: phase-2-prototype
|
||||
title: "Phase 2: Prototype ({{duration}})"
|
||||
title: 'Phase 2: Prototype ({{duration}})'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Core mechanic implementation
|
||||
- Technical proof of concept
|
||||
- Initial playtesting and iteration
|
||||
- id: phase-3-production
|
||||
title: "Phase 3: Production ({{duration}})"
|
||||
title: 'Phase 3: Production ({{duration}})'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Full feature development
|
||||
|
||||
@@ -197,8 +197,8 @@ template:
|
||||
version: 2.0
|
||||
output:
|
||||
format: markdown
|
||||
filename: "docs/{{game_name}}-game-architecture.md"
|
||||
title: "{{game_title}} Game Architecture Document"
|
||||
filename: 'docs/{{game_name}}-game-architecture.md'
|
||||
title: '{{game_title}} Game Architecture Document'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -422,7 +422,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: mechanic-system
|
||||
title: "{{mechanic_name}} System"
|
||||
title: '{{mechanic_name}} System'
|
||||
template: |
|
||||
**Purpose:** {{system_purpose}}
|
||||
|
||||
@@ -719,7 +719,7 @@ sections:
|
||||
instruction: Break down the architecture implementation into phases that align with the GDD development phases
|
||||
sections:
|
||||
- id: phase-1-foundation
|
||||
title: "Phase 1: Foundation ({{duration}})"
|
||||
title: 'Phase 1: Foundation ({{duration}})'
|
||||
sections:
|
||||
- id: phase-1-core
|
||||
title: Core Systems
|
||||
@@ -737,7 +737,7 @@ sections:
|
||||
- "Basic Scene Management System"
|
||||
- "Asset Loading Foundation"
|
||||
- id: phase-2-game-systems
|
||||
title: "Phase 2: Game Systems ({{duration}})"
|
||||
title: 'Phase 2: Game Systems ({{duration}})'
|
||||
sections:
|
||||
- id: phase-2-gameplay
|
||||
title: Gameplay Systems
|
||||
@@ -755,7 +755,7 @@ sections:
|
||||
- "Physics and Collision Framework"
|
||||
- "Game State Management System"
|
||||
- id: phase-3-content-polish
|
||||
title: "Phase 3: Content & Polish ({{duration}})"
|
||||
title: 'Phase 3: Content & Polish ({{duration}})'
|
||||
sections:
|
||||
- id: phase-3-content
|
||||
title: Content Systems
|
||||
|
||||
@@ -402,8 +402,8 @@ template:
|
||||
version: 2.0
|
||||
output:
|
||||
format: markdown
|
||||
filename: "stories/{{epic_name}}/{{story_id}}-{{story_name}}.md"
|
||||
title: "Story: {{story_title}}"
|
||||
filename: 'stories/{{epic_name}}/{{story_id}}-{{story_name}}.md'
|
||||
title: 'Story: {{story_title}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -432,7 +432,7 @@ sections:
|
||||
- id: description
|
||||
title: Description
|
||||
instruction: Provide a clear, concise description of what this story implements. Focus on the specific game feature or system being built. Reference the GDD section that defines this feature.
|
||||
template: "{{clear_description_of_what_needs_to_be_implemented}}"
|
||||
template: '{{clear_description_of_what_needs_to_be_implemented}}'
|
||||
|
||||
- id: acceptance-criteria
|
||||
title: Acceptance Criteria
|
||||
@@ -442,22 +442,22 @@ sections:
|
||||
title: Functional Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "{{specific_functional_requirement}}"
|
||||
- '{{specific_functional_requirement}}'
|
||||
- id: technical-requirements
|
||||
title: Technical Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "Code follows TypeScript strict mode standards"
|
||||
- "Maintains 60 FPS on target devices"
|
||||
- "No memory leaks or performance degradation"
|
||||
- "{{specific_technical_requirement}}"
|
||||
- 'Code follows TypeScript strict mode standards'
|
||||
- 'Maintains 60 FPS on target devices'
|
||||
- 'No memory leaks or performance degradation'
|
||||
- '{{specific_technical_requirement}}'
|
||||
- id: game-design-requirements
|
||||
title: Game Design Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "{{gameplay_requirement_from_gdd}}"
|
||||
- "{{balance_requirement_if_applicable}}"
|
||||
- "{{player_experience_requirement}}"
|
||||
- '{{gameplay_requirement_from_gdd}}'
|
||||
- '{{balance_requirement_if_applicable}}'
|
||||
- '{{player_experience_requirement}}'
|
||||
|
||||
- id: technical-specifications
|
||||
title: Technical Specifications
|
||||
@@ -622,14 +622,14 @@ sections:
|
||||
instruction: Checklist that must be completed before the story is considered finished
|
||||
type: checklist
|
||||
items:
|
||||
- "All acceptance criteria met"
|
||||
- "Code reviewed and approved"
|
||||
- "Unit tests written and passing"
|
||||
- "Integration tests passing"
|
||||
- "Performance targets met"
|
||||
- "No linting errors"
|
||||
- "Documentation updated"
|
||||
- "{{game_specific_dod_item}}"
|
||||
- 'All acceptance criteria met'
|
||||
- 'Code reviewed and approved'
|
||||
- 'Unit tests written and passing'
|
||||
- 'Integration tests passing'
|
||||
- 'Performance targets met'
|
||||
- 'No linting errors'
|
||||
- 'Documentation updated'
|
||||
- '{{game_specific_dod_item}}'
|
||||
|
||||
- id: notes
|
||||
title: Notes
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1231,7 +1231,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/game-architecture.md
|
||||
title: "{{project_name}} Game Architecture Document"
|
||||
title: '{{project_name}} Game Architecture Document'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1341,11 +1341,11 @@ sections:
|
||||
- Game management patterns (Singleton managers, Event systems, State machines)
|
||||
- Data patterns (ScriptableObject configuration, Save/Load systems)
|
||||
- Unity-specific patterns (Object pooling, Coroutines, Unity Events)
|
||||
template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
|
||||
template: '- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}'
|
||||
examples:
|
||||
- "**Component-Based Architecture:** Using MonoBehaviour components for game logic - _Rationale:_ Aligns with Unity's design philosophy and enables reusable, testable game systems"
|
||||
- "**ScriptableObject Data:** Using ScriptableObjects for game configuration - _Rationale:_ Enables data-driven design and easy balancing without code changes"
|
||||
- "**Event-Driven Communication:** Using Unity Events and C# events for system decoupling - _Rationale:_ Supports modular architecture and easier testing"
|
||||
- '**ScriptableObject Data:** Using ScriptableObjects for game configuration - _Rationale:_ Enables data-driven design and easy balancing without code changes'
|
||||
- '**Event-Driven Communication:** Using Unity Events and C# events for system decoupling - _Rationale:_ Supports modular architecture and easier testing'
|
||||
|
||||
- id: tech-stack
|
||||
title: Tech Stack
|
||||
@@ -1384,13 +1384,13 @@ sections:
|
||||
columns: [Category, Technology, Version, Purpose, Rationale]
|
||||
instruction: Populate the technology stack table with all relevant Unity technologies
|
||||
examples:
|
||||
- "| **Game Engine** | Unity | 2022.3.21f1 | Core game development platform | Latest LTS version, stable 2D tooling, comprehensive package ecosystem |"
|
||||
- '| **Game Engine** | Unity | 2022.3.21f1 | Core game development platform | Latest LTS version, stable 2D tooling, comprehensive package ecosystem |'
|
||||
- "| **Language** | C# | 10.0 | Primary scripting language | Unity's native language, strong typing, excellent tooling |"
|
||||
- "| **Render Pipeline** | Universal Render Pipeline (URP) | 14.0.10 | 2D/3D rendering | Optimized for mobile, excellent 2D features, future-proof |"
|
||||
- "| **Input System** | Unity Input System | 1.7.0 | Cross-platform input handling | Modern input system, supports multiple devices, rebindable controls |"
|
||||
- "| **Physics** | Unity 2D Physics | Built-in | 2D collision and physics | Integrated Box2D, optimized for 2D games |"
|
||||
- "| **Audio** | Unity Audio | Built-in | Audio playback and mixing | Built-in audio system with mixer support |"
|
||||
- "| **Testing** | Unity Test Framework | 1.1.33 | Unit and integration testing | Built-in testing framework based on NUnit |"
|
||||
- '| **Render Pipeline** | Universal Render Pipeline (URP) | 14.0.10 | 2D/3D rendering | Optimized for mobile, excellent 2D features, future-proof |'
|
||||
- '| **Input System** | Unity Input System | 1.7.0 | Cross-platform input handling | Modern input system, supports multiple devices, rebindable controls |'
|
||||
- '| **Physics** | Unity 2D Physics | Built-in | 2D collision and physics | Integrated Box2D, optimized for 2D games |'
|
||||
- '| **Audio** | Unity Audio | Built-in | Audio playback and mixing | Built-in audio system with mixer support |'
|
||||
- '| **Testing** | Unity Test Framework | 1.1.33 | Unit and integration testing | Built-in testing framework based on NUnit |'
|
||||
|
||||
- id: data-models
|
||||
title: Game Data Models
|
||||
@@ -1408,7 +1408,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: model
|
||||
title: "{{model_name}}"
|
||||
title: '{{model_name}}'
|
||||
template: |
|
||||
**Purpose:** {{model_purpose}}
|
||||
|
||||
@@ -1443,7 +1443,7 @@ sections:
|
||||
sections:
|
||||
- id: system-list
|
||||
repeatable: true
|
||||
title: "{{system_name}} System"
|
||||
title: '{{system_name}} System'
|
||||
template: |
|
||||
**Responsibility:** {{system_description}}
|
||||
|
||||
@@ -1967,7 +1967,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: integration
|
||||
title: "{{service_name}} Integration"
|
||||
title: '{{service_name}} Integration'
|
||||
template: |
|
||||
- **Purpose:** {{service_purpose}}
|
||||
- **Documentation:** {{service_docs_url}}
|
||||
@@ -2079,12 +2079,12 @@ sections:
|
||||
- id: environments
|
||||
title: Build Environments
|
||||
repeatable: true
|
||||
template: "- **{{env_name}}:** {{env_purpose}} - {{platform_settings}}"
|
||||
template: '- **{{env_name}}:** {{env_purpose}} - {{platform_settings}}'
|
||||
- id: platform-specific-builds
|
||||
title: Platform-Specific Build Settings
|
||||
type: code
|
||||
language: text
|
||||
template: "{{platform_build_configurations}}"
|
||||
template: '{{platform_build_configurations}}'
|
||||
|
||||
- id: coding-standards
|
||||
title: Coding Standards
|
||||
@@ -2113,9 +2113,9 @@ sections:
|
||||
columns: [Element, Convention, Example]
|
||||
instruction: Only include if deviating from Unity defaults
|
||||
examples:
|
||||
- "| MonoBehaviour | PascalCase + Component suffix | PlayerController, HealthSystem |"
|
||||
- "| ScriptableObject | PascalCase + Data/Config suffix | PlayerData, GameConfig |"
|
||||
- "| Prefab | PascalCase descriptive | PlayerCharacter, EnvironmentTile |"
|
||||
- '| MonoBehaviour | PascalCase + Component suffix | PlayerController, HealthSystem |'
|
||||
- '| ScriptableObject | PascalCase + Data/Config suffix | PlayerData, GameConfig |'
|
||||
- '| Prefab | PascalCase descriptive | PlayerCharacter, EnvironmentTile |'
|
||||
- id: critical-rules
|
||||
title: Critical Unity Rules
|
||||
instruction: |
|
||||
@@ -2127,7 +2127,7 @@ sections:
|
||||
|
||||
Avoid obvious rules like "follow SOLID principles" or "optimize performance"
|
||||
repeatable: true
|
||||
template: "- **{{rule_name}}:** {{rule_description}}"
|
||||
template: '- **{{rule_name}}:** {{rule_description}}'
|
||||
- id: unity-specifics
|
||||
title: Unity-Specific Guidelines
|
||||
condition: Critical Unity-specific rules needed
|
||||
@@ -2136,7 +2136,7 @@ sections:
|
||||
- id: unity-lifecycle
|
||||
title: Unity Lifecycle Rules
|
||||
repeatable: true
|
||||
template: "- **{{lifecycle_method}}:** {{usage_rule}}"
|
||||
template: '- **{{lifecycle_method}}:** {{usage_rule}}'
|
||||
|
||||
- id: test-strategy
|
||||
title: Test Strategy and Standards
|
||||
|
||||
@@ -1175,7 +1175,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/game-design-document.md
|
||||
title: "{{game_title}} Game Design Document (GDD)"
|
||||
title: '{{game_title}} Game Design Document (GDD)'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1223,8 +1223,8 @@ sections:
|
||||
**Primary:** {{age_range}}, {{player_type}}, {{platform_preference}}
|
||||
**Secondary:** {{secondary_audience}}
|
||||
examples:
|
||||
- "Primary: Ages 8-16, casual mobile gamers, prefer short play sessions"
|
||||
- "Secondary: Adult puzzle enthusiasts, educators looking for teaching tools"
|
||||
- 'Primary: Ages 8-16, casual mobile gamers, prefer short play sessions'
|
||||
- 'Secondary: Adult puzzle enthusiasts, educators looking for teaching tools'
|
||||
- id: platform-technical
|
||||
title: Platform & Technical Requirements
|
||||
instruction: Based on the technical preferences or user input, define the target platforms and Unity-specific requirements
|
||||
@@ -1235,7 +1235,7 @@ sections:
|
||||
**Screen Support:** {{resolution_range}}
|
||||
**Build Targets:** {{build_targets}}
|
||||
examples:
|
||||
- "Primary Platform: Mobile (iOS/Android), Engine: Unity 2022.3 LTS & C#, Performance: 60 FPS on iPhone 8/Galaxy S8"
|
||||
- 'Primary Platform: Mobile (iOS/Android), Engine: Unity 2022.3 LTS & C#, Performance: 60 FPS on iPhone 8/Galaxy S8'
|
||||
- id: unique-selling-points
|
||||
title: Unique Selling Points
|
||||
instruction: List 3-5 key features that differentiate this game from competitors
|
||||
@@ -1286,8 +1286,8 @@ sections:
|
||||
- {{loss_condition_1}} - Trigger: {{unity_trigger}}
|
||||
- {{loss_condition_2}} - Trigger: {{unity_trigger}}
|
||||
examples:
|
||||
- "Victory: Player reaches exit portal - Unity Event: OnTriggerEnter2D with Portal tag"
|
||||
- "Failure: Health reaches zero - Trigger: Health component value <= 0"
|
||||
- 'Victory: Player reaches exit portal - Unity Event: OnTriggerEnter2D with Portal tag'
|
||||
- 'Failure: Health reaches zero - Trigger: Health component value <= 0'
|
||||
|
||||
- id: game-mechanics
|
||||
title: Game Mechanics
|
||||
@@ -1299,7 +1299,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: mechanic
|
||||
title: "{{mechanic_name}}"
|
||||
title: '{{mechanic_name}}'
|
||||
template: |
|
||||
**Description:** {{detailed_description}}
|
||||
|
||||
@@ -1321,8 +1321,8 @@ sections:
|
||||
- {{script_name}}.cs - {{responsibility}}
|
||||
- {{manager_script}}.cs - {{management_role}}
|
||||
examples:
|
||||
- "Components Needed: Rigidbody2D, BoxCollider2D, PlayerMovement script"
|
||||
- "Physics Requirements: 2D Physics material for ground friction, Gravity scale 3"
|
||||
- 'Components Needed: Rigidbody2D, BoxCollider2D, PlayerMovement script'
|
||||
- 'Physics Requirements: 2D Physics material for ground friction, Gravity scale 3'
|
||||
- id: controls
|
||||
title: Controls
|
||||
instruction: Define all input methods for different platforms using Unity's Input System
|
||||
@@ -1377,7 +1377,7 @@ sections:
|
||||
**Late Game:** {{duration}} - {{difficulty_description}}
|
||||
- Unity Config: {{scriptable_object_values}}
|
||||
examples:
|
||||
- "enemy speed: 2.0f, jump height: 4.5f, obstacle density: 0.3f"
|
||||
- 'enemy speed: 2.0f, jump height: 4.5f, obstacle density: 0.3f'
|
||||
- id: economy-resources
|
||||
title: Economy & Resources
|
||||
condition: has_economy
|
||||
@@ -1400,7 +1400,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: level-type
|
||||
title: "{{level_type_name}}"
|
||||
title: '{{level_type_name}}'
|
||||
template: |
|
||||
**Purpose:** {{gameplay_purpose}}
|
||||
**Target Duration:** {{target_time}}
|
||||
@@ -1424,7 +1424,7 @@ sections:
|
||||
|
||||
- {{prefab_name}} - {{prefab_purpose}}
|
||||
examples:
|
||||
- "Environment: TilemapRenderer with Platform tileset, Lighting: 2D Global Light + Point Lights"
|
||||
- 'Environment: TilemapRenderer with Platform tileset, Lighting: 2D Global Light + Point Lights'
|
||||
- id: level-progression
|
||||
title: Level Progression
|
||||
template: |
|
||||
@@ -1439,7 +1439,7 @@ sections:
|
||||
- Addressable Assets: {{addressable_groups}}
|
||||
- Loading Screens: {{loading_implementation}}
|
||||
examples:
|
||||
- "Scene Naming: World{X}_Level{Y}_Name, Addressable Groups: Levels_World1, World_Environments"
|
||||
- 'Scene Naming: World{X}_Level{Y}_Name, Addressable Groups: Levels_World1, World_Environments'
|
||||
|
||||
- id: technical-specifications
|
||||
title: Technical Specifications
|
||||
@@ -1471,7 +1471,7 @@ sections:
|
||||
- Physics Settings: {{physics_config}}
|
||||
examples:
|
||||
- com.unity.addressables 1.20.5 - Asset loading and memory management
|
||||
- "Color Space: Linear, Quality: Mobile/Desktop presets, Gravity: -20"
|
||||
- 'Color Space: Linear, Quality: Mobile/Desktop presets, Gravity: -20'
|
||||
- id: performance-requirements
|
||||
title: Performance Requirements
|
||||
template: |
|
||||
@@ -1487,7 +1487,7 @@ sections:
|
||||
- GC Allocs: <{{gc_limit}}KB per frame
|
||||
- Draw Calls: <{{draw_calls}} per frame
|
||||
examples:
|
||||
- "60 FPS (minimum 30), CPU: <16.67ms, GPU: <16.67ms, GC: <4KB, Draws: <50"
|
||||
- '60 FPS (minimum 30), CPU: <16.67ms, GPU: <16.67ms, GC: <4KB, Draws: <50'
|
||||
- id: platform-specific
|
||||
title: Platform Specific Requirements
|
||||
template: |
|
||||
@@ -1510,7 +1510,7 @@ sections:
|
||||
- Browser Support: {{browser_list}}
|
||||
- Compression: {{compression_format}}
|
||||
examples:
|
||||
- "Resolution: 1280x720 - 4K, Gamepad: Xbox/PlayStation controllers via Input System"
|
||||
- 'Resolution: 1280x720 - 4K, Gamepad: Xbox/PlayStation controllers via Input System'
|
||||
- id: asset-requirements
|
||||
title: Asset Requirements
|
||||
instruction: Define asset specifications for Unity pipeline optimization
|
||||
@@ -1536,7 +1536,7 @@ sections:
|
||||
- Font: {{font_requirements}}
|
||||
- Icon Sizes: {{icon_specifications}}
|
||||
examples:
|
||||
- "Sprites: 32x32 to 256x256 at 16 PPU, Format: RGBA32 for quality/RGBA16 for performance"
|
||||
- 'Sprites: 32x32 to 256x256 at 16 PPU, Format: RGBA32 for quality/RGBA16 for performance'
|
||||
|
||||
- id: technical-architecture-requirements
|
||||
title: Technical Architecture Requirements
|
||||
@@ -1578,8 +1578,8 @@ sections:
|
||||
- Prefabs: {{prefab_naming}}
|
||||
- Scenes: {{scene_naming}}
|
||||
examples:
|
||||
- "Architecture: Component-Based with ScriptableObject data containers"
|
||||
- "Scripts: PascalCase (PlayerController), Prefabs: Player_Prefab, Scenes: Level_01_Forest"
|
||||
- 'Architecture: Component-Based with ScriptableObject data containers'
|
||||
- 'Scripts: PascalCase (PlayerController), Prefabs: Player_Prefab, Scenes: Level_01_Forest'
|
||||
- id: unity-systems-integration
|
||||
title: Unity Systems Integration
|
||||
template: |
|
||||
@@ -1601,8 +1601,8 @@ sections:
|
||||
- **Memory Management:** {{memory_strategy}}
|
||||
- **Build Pipeline:** {{build_automation}}
|
||||
examples:
|
||||
- "Input System: Action Maps for Menu/Gameplay contexts with device switching"
|
||||
- "DOTween: Smooth UI transitions and gameplay animations"
|
||||
- 'Input System: Action Maps for Menu/Gameplay contexts with device switching'
|
||||
- 'DOTween: Smooth UI transitions and gameplay animations'
|
||||
- id: data-management
|
||||
title: Data Management
|
||||
template: |
|
||||
@@ -1625,8 +1625,8 @@ sections:
|
||||
- **Memory Pools:** {{pooling_objects}}
|
||||
- **Asset References:** {{asset_reference_system}}
|
||||
examples:
|
||||
- "Save Data: JSON format with AES encryption, stored in persistent data path"
|
||||
- "ScriptableObjects: Game settings, level configurations, character data"
|
||||
- 'Save Data: JSON format with AES encryption, stored in persistent data path'
|
||||
- 'ScriptableObjects: Game settings, level configurations, character data'
|
||||
|
||||
- id: development-phases
|
||||
title: Development Phases & Epic Planning
|
||||
@@ -1638,15 +1638,15 @@ sections:
|
||||
instruction: Present a high-level list of all phases for user approval. Each phase's design should deliver significant Unity functionality.
|
||||
type: numbered-list
|
||||
examples:
|
||||
- "Phase 1: Unity Foundation & Core Systems: Project setup, input handling, basic scene management"
|
||||
- "Phase 2: Core Game Mechanics: Player controller, physics systems, basic gameplay loop"
|
||||
- "Phase 3: Level Systems & Content Pipeline: Scene loading, prefab systems, level progression"
|
||||
- "Phase 4: Polish & Platform Optimization: Performance tuning, platform-specific features, deployment"
|
||||
- 'Phase 1: Unity Foundation & Core Systems: Project setup, input handling, basic scene management'
|
||||
- 'Phase 2: Core Game Mechanics: Player controller, physics systems, basic gameplay loop'
|
||||
- 'Phase 3: Level Systems & Content Pipeline: Scene loading, prefab systems, level progression'
|
||||
- 'Phase 4: Polish & Platform Optimization: Performance tuning, platform-specific features, deployment'
|
||||
- id: phase-1-foundation
|
||||
title: "Phase 1: Unity Foundation & Core Systems ({{duration}})"
|
||||
title: 'Phase 1: Unity Foundation & Core Systems ({{duration}})'
|
||||
sections:
|
||||
- id: foundation-design
|
||||
title: "Design: Unity Project Foundation"
|
||||
title: 'Design: Unity Project Foundation'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Unity project setup with proper folder structure and naming conventions
|
||||
@@ -1656,9 +1656,9 @@ sections:
|
||||
- Development tools setup (debugging, profiling integration)
|
||||
- Initial build pipeline and platform configuration
|
||||
examples:
|
||||
- "Input System: Configure PlayerInput component with Action Maps for movement and UI"
|
||||
- 'Input System: Configure PlayerInput component with Action Maps for movement and UI'
|
||||
- id: core-systems-design
|
||||
title: "Design: Essential Game Systems"
|
||||
title: 'Design: Essential Game Systems'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Save/Load system implementation with {{save_format}} format
|
||||
@@ -1668,10 +1668,10 @@ sections:
|
||||
- Basic UI framework and canvas configuration
|
||||
- Settings and configuration management with ScriptableObjects
|
||||
- id: phase-2-gameplay
|
||||
title: "Phase 2: Core Gameplay Implementation ({{duration}})"
|
||||
title: 'Phase 2: Core Gameplay Implementation ({{duration}})'
|
||||
sections:
|
||||
- id: gameplay-mechanics-design
|
||||
title: "Design: Primary Game Mechanics"
|
||||
title: 'Design: Primary Game Mechanics'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Player controller with {{movement_type}} movement system
|
||||
@@ -1681,7 +1681,7 @@ sections:
|
||||
- Basic collision detection and response systems
|
||||
- Animation system integration with Animator controllers
|
||||
- id: level-systems-design
|
||||
title: "Design: Level & Content Systems"
|
||||
title: 'Design: Level & Content Systems'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Scene loading and transition system
|
||||
@@ -1691,10 +1691,10 @@ sections:
|
||||
- Collectibles and pickup systems
|
||||
- Victory/defeat condition implementation
|
||||
- id: phase-3-polish
|
||||
title: "Phase 3: Polish & Optimization ({{duration}})"
|
||||
title: 'Phase 3: Polish & Optimization ({{duration}})'
|
||||
sections:
|
||||
- id: performance-design
|
||||
title: "Design: Performance & Platform Optimization"
|
||||
title: 'Design: Performance & Platform Optimization'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Unity Profiler analysis and optimization passes
|
||||
@@ -1704,7 +1704,7 @@ sections:
|
||||
- Build size optimization and asset bundling
|
||||
- Quality settings configuration for different device tiers
|
||||
- id: user-experience-design
|
||||
title: "Design: User Experience & Polish"
|
||||
title: 'Design: User Experience & Polish'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Complete UI/UX implementation with responsive design
|
||||
@@ -1729,10 +1729,10 @@ sections:
|
||||
- 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.
|
||||
elicit: true
|
||||
examples:
|
||||
- "Epic 1: Unity Foundation & Core Systems: Project setup, input handling, basic scene management"
|
||||
- "Epic 2: Core Game Mechanics: Player controller, physics systems, basic gameplay loop"
|
||||
- "Epic 3: Level Systems & Content Pipeline: Scene loading, prefab systems, level progression"
|
||||
- "Epic 4: Polish & Platform Optimization: Performance tuning, platform-specific features, deployment"
|
||||
- 'Epic 1: Unity Foundation & Core Systems: Project setup, input handling, basic scene management'
|
||||
- 'Epic 2: Core Game Mechanics: Player controller, physics systems, basic gameplay loop'
|
||||
- 'Epic 3: Level Systems & Content Pipeline: Scene loading, prefab systems, level progression'
|
||||
- 'Epic 4: Polish & Platform Optimization: Performance tuning, platform-specific features, deployment'
|
||||
|
||||
- id: epic-details
|
||||
title: Epic {{epic_number}} {{epic_title}}
|
||||
@@ -1754,13 +1754,13 @@ sections:
|
||||
- Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
|
||||
- If a story seems complex, break it down further as long as it can deliver a vertical slice
|
||||
elicit: true
|
||||
template: "{{epic_goal}}"
|
||||
template: '{{epic_goal}}'
|
||||
sections:
|
||||
- id: story
|
||||
title: Story {{epic_number}}.{{story_number}} {{story_title}}
|
||||
repeatable: true
|
||||
instruction: Provide a clear, concise description of what this story implements. Focus on the specific game feature or system being built. Reference the GDD section that defines this feature and reference the gamearchitecture section for additional implementation and integration specifics.
|
||||
template: "{{clear_description_of_what_needs_to_be_implemented}}"
|
||||
template: '{{clear_description_of_what_needs_to_be_implemented}}'
|
||||
sections:
|
||||
- id: acceptance-criteria
|
||||
title: Acceptance Criteria
|
||||
@@ -1770,7 +1770,7 @@ sections:
|
||||
title: Functional Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "{{specific_functional_requirement}}"
|
||||
- '{{specific_functional_requirement}}'
|
||||
- id: technical-requirements
|
||||
title: Technical Requirements
|
||||
type: checklist
|
||||
@@ -1778,14 +1778,14 @@ sections:
|
||||
- Code follows C# best practices
|
||||
- Maintains stable frame rate on target devices
|
||||
- No memory leaks or performance degradation
|
||||
- "{{specific_technical_requirement}}"
|
||||
- '{{specific_technical_requirement}}'
|
||||
- id: game-design-requirements
|
||||
title: Game Design Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "{{gameplay_requirement_from_gdd}}"
|
||||
- "{{balance_requirement_if_applicable}}"
|
||||
- "{{player_experience_requirement}}"
|
||||
- '{{gameplay_requirement_from_gdd}}'
|
||||
- '{{balance_requirement_if_applicable}}'
|
||||
- '{{player_experience_requirement}}'
|
||||
|
||||
- id: success-metrics
|
||||
title: Success Metrics & Quality Assurance
|
||||
@@ -1803,8 +1803,8 @@ sections:
|
||||
- **Build Size:** Final build <{{size_limit}}MB for mobile, <{{desktop_limit}}MB for desktop
|
||||
- **Battery Life:** Mobile gameplay sessions >{{battery_target}} hours on average device
|
||||
examples:
|
||||
- "Frame Rate: Consistent 60 FPS with <5% drops below 45 FPS on target hardware"
|
||||
- "Crash Rate: <0.5% across iOS/Android, <0.1% on desktop platforms"
|
||||
- 'Frame Rate: Consistent 60 FPS with <5% drops below 45 FPS on target hardware'
|
||||
- 'Crash Rate: <0.5% across iOS/Android, <0.1% on desktop platforms'
|
||||
- id: gameplay-metrics
|
||||
title: Gameplay & User Engagement Metrics
|
||||
type: bullet-list
|
||||
@@ -1816,8 +1816,8 @@ sections:
|
||||
- **Gameplay Completion:** {{completion_rate}}% complete main game content
|
||||
- **Control Responsiveness:** Input lag <{{input_lag}}ms on all platforms
|
||||
examples:
|
||||
- "Tutorial Completion: 85% of players complete movement and basic mechanics tutorial"
|
||||
- "Session Duration: Average 15-20 minutes per session for mobile, 30-45 minutes for desktop"
|
||||
- 'Tutorial Completion: 85% of players complete movement and basic mechanics tutorial'
|
||||
- 'Session Duration: Average 15-20 minutes per session for mobile, 30-45 minutes for desktop'
|
||||
- id: platform-specific-metrics
|
||||
title: Platform-Specific Quality Metrics
|
||||
type: table
|
||||
@@ -1862,17 +1862,17 @@ sections:
|
||||
- Consider cross-platform testing requirements
|
||||
- Account for Unity build and deployment steps
|
||||
examples:
|
||||
- "Foundation stories: Individual Unity systems (Input, Audio, Scene Management) - 1-2 days each"
|
||||
- "Feature stories: Complete gameplay mechanics with UI and feedback - 2-4 days each"
|
||||
- 'Foundation stories: Individual Unity systems (Input, Audio, Scene Management) - 1-2 days each'
|
||||
- 'Feature stories: Complete gameplay mechanics with UI and feedback - 2-4 days each'
|
||||
- id: recommended-agents
|
||||
title: Recommended BMad Agent Sequence
|
||||
type: numbered-list
|
||||
template: |
|
||||
1. **{{agent_name}}**: {{agent_responsibility}}
|
||||
examples:
|
||||
- "Unity Architect: Create detailed technical architecture document with specific Unity implementation patterns"
|
||||
- "Unity Developer: Implement core systems and gameplay mechanics according to architecture"
|
||||
- "QA Tester: Validate performance metrics and cross-platform functionality"
|
||||
- 'Unity Architect: Create detailed technical architecture document with specific Unity implementation patterns'
|
||||
- 'Unity Developer: Implement core systems and gameplay mechanics according to architecture'
|
||||
- 'QA Tester: Validate performance metrics and cross-platform functionality'
|
||||
==================== END: .bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml ====================
|
||||
|
||||
==================== START: .bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml ====================
|
||||
@@ -1883,7 +1883,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/level-design-document.md
|
||||
title: "{{game_title}} Level Design Document"
|
||||
title: '{{game_title}} Level Design Document'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -1944,7 +1944,7 @@ sections:
|
||||
repeatable: true
|
||||
sections:
|
||||
- id: level-category
|
||||
title: "{{category_name}} Levels"
|
||||
title: '{{category_name}} Levels'
|
||||
template: |
|
||||
**Purpose:** {{gameplay_purpose}}
|
||||
|
||||
@@ -2370,7 +2370,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/game-brief.md
|
||||
title: "{{game_title}} Game Brief"
|
||||
title: '{{game_title}} Game Brief'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -2656,21 +2656,21 @@ sections:
|
||||
title: Development Roadmap
|
||||
sections:
|
||||
- id: phase-1-preproduction
|
||||
title: "Phase 1: Pre-Production ({{duration}})"
|
||||
title: 'Phase 1: Pre-Production ({{duration}})'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Detailed Game Design Document creation
|
||||
- Technical architecture planning
|
||||
- Art style exploration and pipeline setup
|
||||
- id: phase-2-prototype
|
||||
title: "Phase 2: Prototype ({{duration}})"
|
||||
title: 'Phase 2: Prototype ({{duration}})'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Core mechanic implementation
|
||||
- Technical proof of concept
|
||||
- Initial playtesting and iteration
|
||||
- id: phase-3-production
|
||||
title: "Phase 3: Production ({{duration}})"
|
||||
title: 'Phase 3: Production ({{duration}})'
|
||||
type: bullet-list
|
||||
template: |
|
||||
- Full feature development
|
||||
|
||||
@@ -514,8 +514,8 @@ template:
|
||||
version: 3.0
|
||||
output:
|
||||
format: markdown
|
||||
filename: "stories/{{epic_name}}/{{story_id}}-{{story_name}}.md"
|
||||
title: "Story: {{story_title}}"
|
||||
filename: 'stories/{{epic_name}}/{{story_id}}-{{story_name}}.md'
|
||||
title: 'Story: {{story_title}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -544,7 +544,7 @@ sections:
|
||||
- id: description
|
||||
title: Description
|
||||
instruction: Provide a clear, concise description of what this story implements. Focus on the specific game feature or system being built. Reference the GDD section that defines this feature.
|
||||
template: "{{clear_description_of_what_needs_to_be_implemented}}"
|
||||
template: '{{clear_description_of_what_needs_to_be_implemented}}'
|
||||
|
||||
- id: acceptance-criteria
|
||||
title: Acceptance Criteria
|
||||
@@ -554,7 +554,7 @@ sections:
|
||||
title: Functional Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "{{specific_functional_requirement}}"
|
||||
- '{{specific_functional_requirement}}'
|
||||
- id: technical-requirements
|
||||
title: Technical Requirements
|
||||
type: checklist
|
||||
@@ -562,14 +562,14 @@ sections:
|
||||
- Code follows C# best practices
|
||||
- Maintains stable frame rate on target devices
|
||||
- No memory leaks or performance degradation
|
||||
- "{{specific_technical_requirement}}"
|
||||
- '{{specific_technical_requirement}}'
|
||||
- id: game-design-requirements
|
||||
title: Game Design Requirements
|
||||
type: checklist
|
||||
items:
|
||||
- "{{gameplay_requirement_from_gdd}}"
|
||||
- "{{balance_requirement_if_applicable}}"
|
||||
- "{{player_experience_requirement}}"
|
||||
- '{{gameplay_requirement_from_gdd}}'
|
||||
- '{{balance_requirement_if_applicable}}'
|
||||
- '{{player_experience_requirement}}'
|
||||
|
||||
- id: technical-specifications
|
||||
title: Technical Specifications
|
||||
@@ -744,7 +744,7 @@ sections:
|
||||
- Performance targets met
|
||||
- No C# compiler errors or warnings
|
||||
- Documentation updated
|
||||
- "{{game_specific_dod_item}}"
|
||||
- '{{game_specific_dod_item}}'
|
||||
|
||||
- id: notes
|
||||
title: Notes
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -530,23 +530,23 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/infrastructure-architecture.md
|
||||
title: "{{project_name}} Infrastructure Architecture"
|
||||
title: '{{project_name}} Infrastructure Architecture'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
elicitation: advanced-elicitation
|
||||
custom_elicitation:
|
||||
title: "Infrastructure Architecture Elicitation Actions"
|
||||
title: 'Infrastructure Architecture Elicitation Actions'
|
||||
sections:
|
||||
- id: infrastructure-overview
|
||||
options:
|
||||
- "Multi-Cloud Strategy Analysis - Evaluate cloud provider options and vendor lock-in considerations"
|
||||
- "Regional Distribution Planning - Analyze latency requirements and data residency needs"
|
||||
- "Environment Isolation Strategy - Design security boundaries and resource segregation"
|
||||
- "Scalability Patterns Review - Assess auto-scaling needs and traffic patterns"
|
||||
- "Compliance Requirements Analysis - Review regulatory and security compliance needs"
|
||||
- "Cost-Benefit Analysis - Compare infrastructure options and TCO"
|
||||
- "Proceed to next section"
|
||||
- 'Multi-Cloud Strategy Analysis - Evaluate cloud provider options and vendor lock-in considerations'
|
||||
- 'Regional Distribution Planning - Analyze latency requirements and data residency needs'
|
||||
- 'Environment Isolation Strategy - Design security boundaries and resource segregation'
|
||||
- 'Scalability Patterns Review - Assess auto-scaling needs and traffic patterns'
|
||||
- 'Compliance Requirements Analysis - Review regulatory and security compliance needs'
|
||||
- 'Cost-Benefit Analysis - Compare infrastructure options and TCO'
|
||||
- 'Proceed to next section'
|
||||
|
||||
sections:
|
||||
- id: initial-setup
|
||||
@@ -606,7 +606,7 @@ sections:
|
||||
sections:
|
||||
- id: environments
|
||||
repeatable: true
|
||||
title: "{{environment_name}} Environment"
|
||||
title: '{{environment_name}} Environment'
|
||||
template: |
|
||||
- **Purpose:** {{environment_purpose}}
|
||||
- **Resources:** {{environment_resources}}
|
||||
@@ -957,24 +957,24 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/platform-infrastructure/platform-implementation.md
|
||||
title: "{{project_name}} Platform Infrastructure Implementation"
|
||||
title: '{{project_name}} Platform Infrastructure Implementation'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
elicitation: advanced-elicitation
|
||||
custom_elicitation:
|
||||
title: "Platform Implementation Elicitation Actions"
|
||||
title: 'Platform Implementation Elicitation Actions'
|
||||
sections:
|
||||
- id: foundation-infrastructure
|
||||
options:
|
||||
- "Platform Layer Security Hardening - Additional security controls and compliance validation"
|
||||
- "Performance Optimization - Network and resource optimization"
|
||||
- "Operational Excellence Enhancement - Automation and monitoring improvements"
|
||||
- "Platform Integration Validation - Verify foundation supports upper layers"
|
||||
- "Developer Experience Analysis - Foundation impact on developer workflows"
|
||||
- "Disaster Recovery Testing - Foundation resilience validation"
|
||||
- "BMAD Workflow Integration - Cross-agent support verification"
|
||||
- "Finalize and Proceed to Container Platform"
|
||||
- 'Platform Layer Security Hardening - Additional security controls and compliance validation'
|
||||
- 'Performance Optimization - Network and resource optimization'
|
||||
- 'Operational Excellence Enhancement - Automation and monitoring improvements'
|
||||
- 'Platform Integration Validation - Verify foundation supports upper layers'
|
||||
- 'Developer Experience Analysis - Foundation impact on developer workflows'
|
||||
- 'Disaster Recovery Testing - Foundation resilience validation'
|
||||
- 'BMAD Workflow Integration - Cross-agent support verification'
|
||||
- 'Finalize and Proceed to Container Platform'
|
||||
|
||||
sections:
|
||||
- id: initial-setup
|
||||
|
||||
858
dist/teams/team-all.txt
vendored
858
dist/teams/team-all.txt
vendored
File diff suppressed because it is too large
Load Diff
842
dist/teams/team-fullstack.txt
vendored
842
dist/teams/team-fullstack.txt
vendored
File diff suppressed because it is too large
Load Diff
18
dist/teams/team-ide-minimal.txt
vendored
18
dist/teams/team-ide-minimal.txt
vendored
@@ -2246,7 +2246,7 @@ template:
|
||||
output:
|
||||
format: markdown
|
||||
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
|
||||
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
|
||||
title: 'Story {{epic_num}}.{{story_num}}: {{story_title_short}}'
|
||||
|
||||
workflow:
|
||||
mode: interactive
|
||||
@@ -2348,7 +2348,7 @@ sections:
|
||||
sections:
|
||||
- id: agent-model
|
||||
title: Agent Model Used
|
||||
template: "{{agent_model_name_version}}"
|
||||
template: '{{agent_model_name_version}}'
|
||||
instruction: Record the specific AI agent model and version used for development
|
||||
owner: dev-agent
|
||||
editors: [dev-agent]
|
||||
@@ -4999,16 +4999,16 @@ template:
|
||||
output:
|
||||
format: yaml
|
||||
filename: docs/qa/gates/{{epic_num}}.{{story_num}}-{{story_slug}}.yml
|
||||
title: "Quality Gate: {{epic_num}}.{{story_num}}"
|
||||
title: 'Quality Gate: {{epic_num}}.{{story_num}}'
|
||||
|
||||
# Required fields (keep these first)
|
||||
schema: 1
|
||||
story: "{{epic_num}}.{{story_num}}"
|
||||
story_title: "{{story_title}}"
|
||||
gate: "{{gate_status}}" # PASS|CONCERNS|FAIL|WAIVED
|
||||
status_reason: "{{status_reason}}" # 1-2 sentence summary of why this gate decision
|
||||
reviewer: "Quinn (Test Architect)"
|
||||
updated: "{{iso_timestamp}}"
|
||||
story: '{{epic_num}}.{{story_num}}'
|
||||
story_title: '{{story_title}}'
|
||||
gate: '{{gate_status}}' # PASS|CONCERNS|FAIL|WAIVED
|
||||
status_reason: '{{status_reason}}' # 1-2 sentence summary of why this gate decision
|
||||
reviewer: 'Quinn (Test Architect)'
|
||||
updated: '{{iso_timestamp}}'
|
||||
|
||||
# Always present but only active when WAIVED
|
||||
waiver: { active: false }
|
||||
|
||||
640
dist/teams/team-no-ui.txt
vendored
640
dist/teams/team-no-ui.txt
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/package.json",
|
||||
"name": "bmad-method",
|
||||
"version": "5.1.2",
|
||||
"version": "5.1.3",
|
||||
"description": "Breakthrough Method of Agile AI-driven Development",
|
||||
"keywords": [
|
||||
"agile",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bmad-method",
|
||||
"version": "5.1.2",
|
||||
"version": "5.1.3",
|
||||
"description": "BMad Method installer - AI-powered Agile development framework",
|
||||
"keywords": [
|
||||
"bmad",
|
||||
|
||||
Reference in New Issue
Block a user