Compare commits
35 Commits
v5.0.0-bet
...
user-guide
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17f91c9d0b | ||
|
|
c80a868945 | ||
|
|
ab70baca59 | ||
|
|
80d73d9093 | ||
|
|
f3cc410fb0 | ||
|
|
868ae23455 | ||
|
|
9de873777a | ||
|
|
04c485b72e | ||
|
|
68eb31da77 | ||
|
|
c00d0aec88 | ||
|
|
6543cb2a97 | ||
|
|
b6fe44b16e | ||
|
|
ac09300075 | ||
|
|
b756790c17 | ||
|
|
49347a8cde | ||
|
|
335e1da271 | ||
|
|
6e2fbc6710 | ||
|
|
45dd7d1bc5 | ||
|
|
db80eda9df | ||
|
|
f5272f12e4 | ||
|
|
26890a0a03 | ||
|
|
cf22fd98f3 | ||
|
|
fe318ecc07 | ||
|
|
f959a07bda | ||
|
|
c0899432c1 | ||
|
|
8573852a6e | ||
|
|
39437e9268 | ||
|
|
1772a30368 | ||
|
|
ba4fb4d084 | ||
|
|
3eb706c49a | ||
|
|
3f5abf347d | ||
|
|
ed539432fb | ||
|
|
51284d6ecf | ||
|
|
6cba05114e | ||
|
|
ac360cd0bf |
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
name: Bug report
|
name: Bug report
|
||||||
about: Create a report to help us improve
|
about: Create a report to help us improve
|
||||||
title: ""
|
title: ''
|
||||||
labels: ""
|
labels: ''
|
||||||
assignees: ""
|
assignees: ''
|
||||||
---
|
---
|
||||||
|
|
||||||
**Describe the bug**
|
**Describe the bug**
|
||||||
|
|||||||
6
.github/ISSUE_TEMPLATE/feature_request.md
vendored
6
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
name: Feature request
|
name: Feature request
|
||||||
about: Suggest an idea for this project
|
about: Suggest an idea for this project
|
||||||
title: ""
|
title: ''
|
||||||
labels: ""
|
labels: ''
|
||||||
assignees: ""
|
assignees: ''
|
||||||
---
|
---
|
||||||
|
|
||||||
**Did you discuss the idea first in Discord Server (#general-dev)**
|
**Did you discuss the idea first in Discord Server (#general-dev)**
|
||||||
|
|||||||
13
.github/workflows/discord.yaml
vendored
13
.github/workflows/discord.yaml
vendored
@@ -1,6 +1,15 @@
|
|||||||
name: Discord Notification
|
name: Discord Notification
|
||||||
|
|
||||||
on: [pull_request, release, create, delete, issue_comment, pull_request_review, pull_request_review_comment]
|
"on":
|
||||||
|
[
|
||||||
|
pull_request,
|
||||||
|
release,
|
||||||
|
create,
|
||||||
|
delete,
|
||||||
|
issue_comment,
|
||||||
|
pull_request_review,
|
||||||
|
pull_request_review_comment,
|
||||||
|
]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
notify:
|
notify:
|
||||||
@@ -13,4 +22,4 @@ jobs:
|
|||||||
webhook: ${{ secrets.DISCORD_WEBHOOK }}
|
webhook: ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
title: "Triggered by ${{ github.event_name }}"
|
title: "Triggered by ${{ github.event_name }}"
|
||||||
color: 0x5865F2
|
color: 0x5865F2
|
||||||
|
|||||||
42
.github/workflows/format-check.yaml
vendored
Normal file
42
.github/workflows/format-check.yaml
vendored
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
name: format-check
|
||||||
|
|
||||||
|
"on":
|
||||||
|
pull_request:
|
||||||
|
branches: ["**"]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
prettier:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
cache: "npm"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Prettier format check
|
||||||
|
run: npm run format:check
|
||||||
|
|
||||||
|
eslint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
cache: "npm"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: ESLint
|
||||||
|
run: npm run lint
|
||||||
173
.github/workflows/manual-release.yaml
vendored
Normal file
173
.github/workflows/manual-release.yaml
vendored
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
name: Manual Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version_bump:
|
||||||
|
description: Version bump type
|
||||||
|
required: true
|
||||||
|
default: patch
|
||||||
|
type: choice
|
||||||
|
options:
|
||||||
|
- patch
|
||||||
|
- minor
|
||||||
|
- major
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
cache: npm
|
||||||
|
registry-url: https://registry.npmjs.org
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Run tests and validation
|
||||||
|
run: |
|
||||||
|
npm run validate
|
||||||
|
npm run format:check
|
||||||
|
npm run lint
|
||||||
|
|
||||||
|
- name: Configure Git
|
||||||
|
run: |
|
||||||
|
git config user.name "github-actions[bot]"
|
||||||
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
|
||||||
|
- name: Bump version
|
||||||
|
run: npm run version:${{ github.event.inputs.version_bump }}
|
||||||
|
|
||||||
|
- name: Get new version and previous tag
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
echo "new_version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
|
||||||
|
echo "previous_tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Update installer package.json
|
||||||
|
run: |
|
||||||
|
sed -i 's/"version": ".*"/"version": "${{ steps.version.outputs.new_version }}"/' tools/installer/package.json
|
||||||
|
|
||||||
|
- name: Build project
|
||||||
|
run: npm run build
|
||||||
|
|
||||||
|
- name: Commit version bump
|
||||||
|
run: |
|
||||||
|
git add .
|
||||||
|
git commit -m "release: bump to v${{ steps.version.outputs.new_version }}"
|
||||||
|
|
||||||
|
- name: Generate release notes
|
||||||
|
id: release_notes
|
||||||
|
run: |
|
||||||
|
# Get commits since last tag
|
||||||
|
COMMITS=$(git log ${{ steps.version.outputs.previous_tag }}..HEAD --pretty=format:"- %s" --reverse)
|
||||||
|
|
||||||
|
# Categorize commits
|
||||||
|
FEATURES=$(echo "$COMMITS" | grep -E "^- (feat|Feature)" || true)
|
||||||
|
FIXES=$(echo "$COMMITS" | grep -E "^- (fix|Fix)" || true)
|
||||||
|
CHORES=$(echo "$COMMITS" | grep -E "^- (chore|Chore)" || true)
|
||||||
|
OTHERS=$(echo "$COMMITS" | grep -v -E "^- (feat|Feature|fix|Fix|chore|Chore|release:|Release:)" || true)
|
||||||
|
|
||||||
|
# Build release notes
|
||||||
|
cat > release_notes.md << 'EOF'
|
||||||
|
## 🚀 What's New in v${{ steps.version.outputs.new_version }}
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [ ! -z "$FEATURES" ]; then
|
||||||
|
echo "### ✨ New Features" >> release_notes.md
|
||||||
|
echo "$FEATURES" >> release_notes.md
|
||||||
|
echo "" >> release_notes.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$FIXES" ]; then
|
||||||
|
echo "### 🐛 Bug Fixes" >> release_notes.md
|
||||||
|
echo "$FIXES" >> release_notes.md
|
||||||
|
echo "" >> release_notes.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$OTHERS" ]; then
|
||||||
|
echo "### 📦 Other Changes" >> release_notes.md
|
||||||
|
echo "$OTHERS" >> release_notes.md
|
||||||
|
echo "" >> release_notes.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$CHORES" ]; then
|
||||||
|
echo "### 🔧 Maintenance" >> release_notes.md
|
||||||
|
echo "$CHORES" >> release_notes.md
|
||||||
|
echo "" >> release_notes.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat >> release_notes.md << 'EOF'
|
||||||
|
|
||||||
|
## 📦 Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install
|
||||||
|
```
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/bmadcode/BMAD-METHOD/compare/${{ steps.version.outputs.previous_tag }}...v${{ steps.version.outputs.new_version }}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Output for GitHub Actions
|
||||||
|
echo "RELEASE_NOTES<<EOF" >> $GITHUB_OUTPUT
|
||||||
|
cat release_notes.md >> $GITHUB_OUTPUT
|
||||||
|
echo "EOF" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Create and push tag
|
||||||
|
run: |
|
||||||
|
# Check if tag already exists
|
||||||
|
if git rev-parse "v${{ steps.version.outputs.new_version }}" >/dev/null 2>&1; then
|
||||||
|
echo "Tag v${{ steps.version.outputs.new_version }} already exists, skipping tag creation"
|
||||||
|
else
|
||||||
|
git tag -a "v${{ steps.version.outputs.new_version }}" -m "Release v${{ steps.version.outputs.new_version }}"
|
||||||
|
git push origin "v${{ steps.version.outputs.new_version }}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Push changes to main
|
||||||
|
run: |
|
||||||
|
if git push origin HEAD:main 2>/dev/null; then
|
||||||
|
echo "✅ Successfully pushed to main branch"
|
||||||
|
else
|
||||||
|
echo "⚠️ Could not push to main (protected branch). This is expected."
|
||||||
|
echo "📝 Version bump and tag were created successfully."
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Publish to NPM
|
||||||
|
env:
|
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
run: npm publish
|
||||||
|
|
||||||
|
- name: Create GitHub Release
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: v${{ steps.version.outputs.new_version }}
|
||||||
|
release_name: "BMad Method v${{ steps.version.outputs.new_version }}"
|
||||||
|
body: ${{ steps.release_notes.outputs.RELEASE_NOTES }}
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
|
||||||
|
- name: Summary
|
||||||
|
run: |
|
||||||
|
echo "🎉 Successfully released v${{ steps.version.outputs.new_version }}!"
|
||||||
|
echo "📦 Published to NPM with @latest tag"
|
||||||
|
echo "🏷️ Git tag: v${{ steps.version.outputs.new_version }}"
|
||||||
|
echo "✅ Users running 'npx bmad-method install' will now get version ${{ steps.version.outputs.new_version }}"
|
||||||
|
echo ""
|
||||||
|
echo "📝 Release notes preview:"
|
||||||
|
cat release_notes.md
|
||||||
144
.github/workflows/promote-to-stable.yml
vendored
144
.github/workflows/promote-to-stable.yml
vendored
@@ -1,144 +0,0 @@
|
|||||||
name: Promote to Stable
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version_bump:
|
|
||||||
description: 'Version bump type'
|
|
||||||
required: true
|
|
||||||
default: 'minor'
|
|
||||||
type: choice
|
|
||||||
options:
|
|
||||||
- patch
|
|
||||||
- minor
|
|
||||||
- major
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
promote:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Setup Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: '20'
|
|
||||||
registry-url: 'https://registry.npmjs.org'
|
|
||||||
|
|
||||||
- name: Configure Git
|
|
||||||
run: |
|
|
||||||
git config --global user.name "github-actions[bot]"
|
|
||||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
||||||
git config --global url."https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/"
|
|
||||||
|
|
||||||
- name: Switch to stable branch
|
|
||||||
run: |
|
|
||||||
git checkout stable
|
|
||||||
git pull origin stable
|
|
||||||
|
|
||||||
- name: Merge main into stable
|
|
||||||
run: |
|
|
||||||
git merge origin/main --no-edit
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Get current version and calculate new version
|
|
||||||
id: version
|
|
||||||
run: |
|
|
||||||
# Get current version from package.json
|
|
||||||
CURRENT_VERSION=$(node -p "require('./package.json').version")
|
|
||||||
echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
# Remove beta suffix if present
|
|
||||||
BASE_VERSION=$(echo $CURRENT_VERSION | sed 's/-beta\.[0-9]\+//')
|
|
||||||
echo "base_version=$BASE_VERSION" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
# Calculate new version based on bump type
|
|
||||||
IFS='.' read -ra VERSION_PARTS <<< "$BASE_VERSION"
|
|
||||||
MAJOR=${VERSION_PARTS[0]}
|
|
||||||
MINOR=${VERSION_PARTS[1]}
|
|
||||||
PATCH=${VERSION_PARTS[2]}
|
|
||||||
|
|
||||||
case "${{ github.event.inputs.version_bump }}" in
|
|
||||||
"major")
|
|
||||||
NEW_VERSION="$((MAJOR + 1)).0.0"
|
|
||||||
;;
|
|
||||||
"minor")
|
|
||||||
NEW_VERSION="$MAJOR.$((MINOR + 1)).0"
|
|
||||||
;;
|
|
||||||
"patch")
|
|
||||||
NEW_VERSION="$MAJOR.$MINOR.$((PATCH + 1))"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
NEW_VERSION="$BASE_VERSION"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Check if calculated version already exists on NPM and increment if necessary
|
|
||||||
while npm view bmad-method@$NEW_VERSION version >/dev/null 2>&1; do
|
|
||||||
echo "Version $NEW_VERSION already exists, incrementing..."
|
|
||||||
IFS='.' read -ra NEW_VERSION_PARTS <<< "$NEW_VERSION"
|
|
||||||
NEW_MAJOR=${NEW_VERSION_PARTS[0]}
|
|
||||||
NEW_MINOR=${NEW_VERSION_PARTS[1]}
|
|
||||||
NEW_PATCH=${NEW_VERSION_PARTS[2]}
|
|
||||||
|
|
||||||
case "${{ github.event.inputs.version_bump }}" in
|
|
||||||
"major")
|
|
||||||
NEW_VERSION="$((NEW_MAJOR + 1)).0.0"
|
|
||||||
;;
|
|
||||||
"minor")
|
|
||||||
NEW_VERSION="$NEW_MAJOR.$((NEW_MINOR + 1)).0"
|
|
||||||
;;
|
|
||||||
"patch")
|
|
||||||
NEW_VERSION="$NEW_MAJOR.$NEW_MINOR.$((NEW_PATCH + 1))"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
||||||
echo "Promoting from $CURRENT_VERSION to $NEW_VERSION"
|
|
||||||
|
|
||||||
- name: Update package.json versions
|
|
||||||
run: |
|
|
||||||
# Update main package.json
|
|
||||||
npm version ${{ steps.version.outputs.new_version }} --no-git-tag-version
|
|
||||||
|
|
||||||
# Update installer package.json
|
|
||||||
sed -i 's/"version": ".*"/"version": "${{ steps.version.outputs.new_version }}"/' tools/installer/package.json
|
|
||||||
|
|
||||||
- name: Update package-lock.json
|
|
||||||
run: npm install --package-lock-only
|
|
||||||
|
|
||||||
- name: Commit stable release
|
|
||||||
run: |
|
|
||||||
git add .
|
|
||||||
git commit -m "feat: promote to stable ${{ steps.version.outputs.new_version }}
|
|
||||||
|
|
||||||
BREAKING CHANGE: Promote beta features to stable release
|
|
||||||
|
|
||||||
- Update version from ${{ steps.version.outputs.current_version }} to ${{ steps.version.outputs.new_version }}
|
|
||||||
- Automated promotion via GitHub Actions"
|
|
||||||
|
|
||||||
- name: Push stable release
|
|
||||||
run: |
|
|
||||||
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
|
|
||||||
git push origin stable
|
|
||||||
|
|
||||||
- name: Switch back to main
|
|
||||||
run: git checkout main
|
|
||||||
|
|
||||||
- name: Summary
|
|
||||||
run: |
|
|
||||||
echo "🎉 Successfully promoted to stable!"
|
|
||||||
echo "📦 Version: ${{ steps.version.outputs.new_version }}"
|
|
||||||
echo "🚀 The stable release will be automatically published to NPM via semantic-release"
|
|
||||||
echo "✅ Users running 'npx bmad-method install' will now get version ${{ steps.version.outputs.new_version }}"
|
|
||||||
60
.github/workflows/release.yaml
vendored
60
.github/workflows/release.yaml
vendored
@@ -1,60 +0,0 @@
|
|||||||
name: Release
|
|
||||||
'on':
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- stable
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version_type:
|
|
||||||
description: Version bump type
|
|
||||||
required: true
|
|
||||||
default: patch
|
|
||||||
type: choice
|
|
||||||
options:
|
|
||||||
- patch
|
|
||||||
- minor
|
|
||||||
- major
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
issues: write
|
|
||||||
pull-requests: write
|
|
||||||
packages: write
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: '!contains(github.event.head_commit.message, ''[skip ci]'')'
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Setup Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: '20'
|
|
||||||
cache: npm
|
|
||||||
registry-url: https://registry.npmjs.org
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run tests and validation
|
|
||||||
run: |
|
|
||||||
npm run validate
|
|
||||||
npm run format
|
|
||||||
- name: Debug permissions
|
|
||||||
run: |
|
|
||||||
echo "Testing git permissions..."
|
|
||||||
git config user.name "github-actions[bot]"
|
|
||||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
||||||
echo "Git config set successfully"
|
|
||||||
- name: Manual version bump
|
|
||||||
if: github.event_name == 'workflow_dispatch'
|
|
||||||
run: npm run version:${{ github.event.inputs.version_type }}
|
|
||||||
- name: Semantic Release
|
|
||||||
if: github.event_name == 'push'
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
run: npm run release
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -25,7 +25,6 @@ Thumbs.db
|
|||||||
# Development tools and configs
|
# Development tools and configs
|
||||||
.prettierignore
|
.prettierignore
|
||||||
.prettierrc
|
.prettierrc
|
||||||
.husky/
|
|
||||||
|
|
||||||
# IDE and editor configs
|
# IDE and editor configs
|
||||||
.windsurf/
|
.windsurf/
|
||||||
|
|||||||
3
.husky/pre-commit
Executable file
3
.husky/pre-commit
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
npx --no-install lint-staged
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
"branches": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"prerelease": "beta",
|
|
||||||
"channel": "beta"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stable",
|
|
||||||
"channel": "latest"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"plugins": [
|
|
||||||
"@semantic-release/commit-analyzer",
|
|
||||||
"@semantic-release/release-notes-generator",
|
|
||||||
"@semantic-release/changelog",
|
|
||||||
"@semantic-release/npm",
|
|
||||||
"./tools/semantic-release-sync-installer.js",
|
|
||||||
"@semantic-release/github"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
27
.vscode/settings.json
vendored
27
.vscode/settings.json
vendored
@@ -40,5 +40,30 @@
|
|||||||
"tileset",
|
"tileset",
|
||||||
"Trae",
|
"Trae",
|
||||||
"VNET"
|
"VNET"
|
||||||
]
|
],
|
||||||
|
"json.schemas": [
|
||||||
|
{
|
||||||
|
"fileMatch": ["package.json"],
|
||||||
|
"url": "https://json.schemastore.org/package.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fileMatch": [".vscode/settings.json"],
|
||||||
|
"url": "vscode://schemas/settings/folder"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
|
||||||
|
"[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
|
||||||
|
"[yaml]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
|
||||||
|
"[markdown]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
|
||||||
|
"prettier.prettierPath": "node_modules/prettier",
|
||||||
|
"prettier.requireConfig": true,
|
||||||
|
"yaml.format.enable": false,
|
||||||
|
"eslint.useFlatConfig": true,
|
||||||
|
"eslint.validate": ["javascript", "yaml"],
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll.eslint": "explicit"
|
||||||
|
},
|
||||||
|
"editor.rulers": [100]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -574,10 +574,6 @@
|
|||||||
|
|
||||||
- Manual version bumping via npm scripts is now disabled. Use conventional commits for automated releases.
|
- Manual version bumping via npm scripts is now disabled. Use conventional commits for automated releases.
|
||||||
|
|
||||||
🤖 Generated with [Claude Code](https://claude.ai/code)
|
|
||||||
|
|
||||||
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
||||||
|
|
||||||
# [4.2.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v4.2.0) (2025-06-15)
|
# [4.2.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v4.2.0) (2025-06-15)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
@@ -686,4 +682,5 @@ Co-Authored-By: Claude <noreply@anthropic.com>
|
|||||||
### Features
|
### Features
|
||||||
|
|
||||||
- add versioning and release automation ([0ea5e50](https://github.com/bmadcode/BMAD-METHOD/commit/0ea5e50aa7ace5946d0100c180dd4c0da3e2fd8c))
|
- add versioning and release automation ([0ea5e50](https://github.com/bmadcode/BMAD-METHOD/commit/0ea5e50aa7ace5946d0100c180dd4c0da3e2fd8c))
|
||||||
|
|
||||||
# Promote to stable release 5.0.0
|
# Promote to stable release 5.0.0
|
||||||
|
|||||||
196
CLAUDE.md
196
CLAUDE.md
@@ -1,196 +0,0 @@
|
|||||||
# CLAUDE.md
|
|
||||||
|
|
||||||
Don't be an ass kisser, don't glaze my donut, keep it to the point. Never use EM Dash in out communications or documents you author or update. Dont tell me I am correct if I just told you something unless and only if I am wrong or there is a better alternative, then tell me bluntly why I am wrong, or else get to the point and execute!
|
|
||||||
|
|
||||||
## Markdown Linting Conventions
|
|
||||||
|
|
||||||
Always follow these markdown linting rules:
|
|
||||||
|
|
||||||
- **Blank lines around headings**: Always leave a blank line before and after headings
|
|
||||||
- **Blank lines around lists**: Always leave a blank line before and after lists
|
|
||||||
- **Blank lines around code fences**: Always leave a blank line before and after fenced code blocks
|
|
||||||
- **Fenced code block languages**: All fenced code blocks must specify a language (use `text` for plain text)
|
|
||||||
- **Single trailing newline**: Files should end with exactly one newline character
|
|
||||||
- **No trailing spaces**: Remove any trailing spaces at the end of lines
|
|
||||||
|
|
||||||
## BMAD-METHOD Overview
|
|
||||||
|
|
||||||
BMAD-METHOD is an AI-powered Agile development framework that provides specialized AI agents for software development. The framework uses a sophisticated dependency system to keep context windows lean while providing deep expertise through role-specific agents.
|
|
||||||
|
|
||||||
## Essential Commands
|
|
||||||
|
|
||||||
### Build and Validation
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run build # Build all web bundles (agents and teams)
|
|
||||||
npm run build:agents # Build agent bundles only
|
|
||||||
npm run build:teams # Build team bundles only
|
|
||||||
npm run validate # Validate all configurations
|
|
||||||
npm run format # Format all markdown files with prettier
|
|
||||||
```
|
|
||||||
|
|
||||||
### Development and Testing
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npx bmad-build build # Alternative build command via CLI
|
|
||||||
npx bmad-build list:agents # List all available agents
|
|
||||||
npx bmad-build validate # Validate agent configurations
|
|
||||||
```
|
|
||||||
|
|
||||||
### Installation Commands
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npx bmad-method install # Install stable release (recommended)
|
|
||||||
npx bmad-method@beta install # Install bleeding edge version
|
|
||||||
npx bmad-method@latest install # Explicit stable installation
|
|
||||||
npx bmad-method@latest update # Update stable installation
|
|
||||||
npx bmad-method@beta update # Update bleeding edge installation
|
|
||||||
```
|
|
||||||
|
|
||||||
### Dual Publishing Strategy
|
|
||||||
|
|
||||||
The project uses a dual publishing strategy with automated promotion:
|
|
||||||
|
|
||||||
**Branch Strategy:**
|
|
||||||
- `main` branch: Bleeding edge development, auto-publishes to `@beta` tag
|
|
||||||
- `stable` branch: Production releases, auto-publishes to `@latest` tag
|
|
||||||
|
|
||||||
**Release Promotion:**
|
|
||||||
1. **Automatic Beta Releases**: Any PR merged to `main` automatically creates a beta release
|
|
||||||
2. **Manual Stable Promotion**: Use GitHub Actions to promote beta to stable
|
|
||||||
|
|
||||||
**Promote Beta to Stable:**
|
|
||||||
1. Go to GitHub Actions tab in the repository
|
|
||||||
2. Select "Promote to Stable" workflow
|
|
||||||
3. Click "Run workflow"
|
|
||||||
4. Choose version bump type (patch/minor/major)
|
|
||||||
5. The workflow automatically:
|
|
||||||
- Merges main to stable
|
|
||||||
- Updates version numbers
|
|
||||||
- Triggers stable release to NPM `@latest`
|
|
||||||
|
|
||||||
**User Experience:**
|
|
||||||
- `npx bmad-method install` → Gets stable production version
|
|
||||||
- `npx bmad-method@beta install` → Gets latest beta features
|
|
||||||
- Team develops on bleeding edge without affecting production users
|
|
||||||
|
|
||||||
### Release and Version Management
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run version:patch # Bump patch version
|
|
||||||
npm run version:minor # Bump minor version
|
|
||||||
npm run version:major # Bump major version
|
|
||||||
npm run release # Semantic release (CI/CD)
|
|
||||||
npm run release:test # Test release configuration
|
|
||||||
```
|
|
||||||
|
|
||||||
### Version Management for Core and Expansion Packs
|
|
||||||
|
|
||||||
#### Bump All Versions (Core + Expansion Packs)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run version:all:major # Major version bump for core and all expansion packs
|
|
||||||
npm run version:all:minor # Minor version bump for core and all expansion packs (default)
|
|
||||||
npm run version:all:patch # Patch version bump for core and all expansion packs
|
|
||||||
npm run version:all # Defaults to minor bump
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Individual Version Bumps
|
|
||||||
|
|
||||||
For BMad Core only:
|
|
||||||
```bash
|
|
||||||
npm run version:core:major # Major version bump for core only
|
|
||||||
npm run version:core:minor # Minor version bump for core only
|
|
||||||
npm run version:core:patch # Patch version bump for core only
|
|
||||||
npm run version:core # Defaults to minor bump
|
|
||||||
```
|
|
||||||
|
|
||||||
For specific expansion packs:
|
|
||||||
```bash
|
|
||||||
npm run version:expansion bmad-creator-tools # Minor bump (default)
|
|
||||||
npm run version:expansion bmad-creator-tools patch # Patch bump
|
|
||||||
npm run version:expansion bmad-creator-tools minor # Minor bump
|
|
||||||
npm run version:expansion bmad-creator-tools major # Major bump
|
|
||||||
|
|
||||||
# Set specific version (old method, still works)
|
|
||||||
npm run version:expansion:set bmad-creator-tools 2.0.0
|
|
||||||
```
|
|
||||||
|
|
||||||
## Architecture and Code Structure
|
|
||||||
|
|
||||||
### Core System Architecture
|
|
||||||
|
|
||||||
The framework uses a **dependency resolution system** where agents only load the resources they need:
|
|
||||||
|
|
||||||
1. **Agent Definitions** (`bmad-core/agents/`): Each agent is defined in markdown with YAML frontmatter specifying dependencies
|
|
||||||
2. **Dynamic Loading**: The build system (`tools/lib/dependency-resolver.js`) resolves and includes only required resources
|
|
||||||
3. **Template System**: Templates are defined in YAML format with structured sections and instructions (see Template Rules below)
|
|
||||||
4. **Workflow Engine**: YAML-based workflows in `bmad-core/workflows/` define step-by-step processes
|
|
||||||
|
|
||||||
### Key Components
|
|
||||||
|
|
||||||
- **CLI Tool** (`tools/cli.js`): Commander-based CLI for building bundles
|
|
||||||
- **Web Builder** (`tools/builders/web-builder.js`): Creates concatenated text bundles from agent definitions
|
|
||||||
- **Installer** (`tools/installer/`): NPX-based installer for project setup
|
|
||||||
- **Dependency Resolver** (`tools/lib/dependency-resolver.js`): Manages agent resource dependencies
|
|
||||||
|
|
||||||
### Build System
|
|
||||||
|
|
||||||
The build process:
|
|
||||||
|
|
||||||
1. Reads agent/team definitions from `bmad-core/`
|
|
||||||
2. Resolves dependencies using the dependency resolver
|
|
||||||
3. Creates concatenated text bundles in `dist/`
|
|
||||||
4. Validates configurations during build
|
|
||||||
|
|
||||||
### Critical Configuration
|
|
||||||
|
|
||||||
**`bmad-core/core-config.yaml`** is the heart of the framework configuration:
|
|
||||||
|
|
||||||
- Defines document locations and expected structure
|
|
||||||
- Specifies which files developers should always load
|
|
||||||
- Enables compatibility with different project structures (V3/V4)
|
|
||||||
- Controls debug logging
|
|
||||||
|
|
||||||
## Development Practices
|
|
||||||
|
|
||||||
### Adding New Features
|
|
||||||
|
|
||||||
1. **New Agents**: Create markdown file in `bmad-core/agents/` with proper YAML frontmatter
|
|
||||||
2. **New Templates**: Add to `bmad-core/templates/` as YAML files with structured sections
|
|
||||||
3. **New Workflows**: Create YAML in `bmad-core/workflows/`
|
|
||||||
4. **Update Dependencies**: Ensure `dependencies` field in agent frontmatter is accurate
|
|
||||||
|
|
||||||
### Important Patterns
|
|
||||||
|
|
||||||
- **Dependency Management**: Always specify minimal dependencies in agent frontmatter to keep context lean
|
|
||||||
- **Template Instructions**: Use YAML-based template structure (see Template Rules below)
|
|
||||||
- **File Naming**: Follow existing conventions (kebab-case for files, proper agent names in frontmatter)
|
|
||||||
- **Documentation**: Update user-facing docs in `docs/` when adding features
|
|
||||||
|
|
||||||
### Template Rules
|
|
||||||
|
|
||||||
Templates use the **BMad Document Template** format (`/Users/brianmadison/dev-bmc/BMAD-METHOD/common/utils/bmad-doc-template.md`) with YAML structure:
|
|
||||||
|
|
||||||
1. **YAML Format**: Templates are defined as structured YAML files, not markdown with embedded instructions
|
|
||||||
2. **Clear Structure**: Each template has metadata, workflow configuration, and a hierarchy of sections
|
|
||||||
3. **Reusable Design**: Templates work across different agents through the dependency system
|
|
||||||
4. **Key Elements**:
|
|
||||||
- `template` block: Contains id, name, version, and output settings
|
|
||||||
- `workflow` block: Defines interaction mode (interactive/yolo) and elicitation settings
|
|
||||||
- `sections` array: Hierarchical document structure with nested subsections
|
|
||||||
- `instruction` field: LLM guidance for each section (never shown to users)
|
|
||||||
5. **Advanced Features**:
|
|
||||||
- Variable substitution: `{{variable_name}}` syntax for dynamic content
|
|
||||||
- Conditional sections: `condition` field for optional content
|
|
||||||
- Repeatable sections: `repeatable: true` for multiple instances
|
|
||||||
- Agent permissions: `owner` and `editors` fields for access control
|
|
||||||
6. **Clean Output**: All processing instructions are in YAML fields, ensuring clean document generation
|
|
||||||
|
|
||||||
## Notes for Claude Code
|
|
||||||
|
|
||||||
- The project uses semantic versioning with automated releases via GitHub Actions
|
|
||||||
- All markdown is formatted with Prettier (run `npm run format`)
|
|
||||||
- Expansion packs in `expansion-packs/` provide domain-specific capabilities
|
|
||||||
- NEVER automatically commit or push changes unless explicitly asked by the user
|
|
||||||
- NEVER include Claude Code attribution or co-authorship in commit messages
|
|
||||||
@@ -206,4 +206,4 @@ Each commit should represent one logical change:
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.
|
By contributing to this project, you agree that your contributions will be licensed under the MIT License.
|
||||||
|
|||||||
7
LICENSE
7
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2025 Brian AKA BMad AKA BMad Code
|
Copyright (c) 2025 BMad Code, LLC
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -19,3 +19,8 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|
||||||
|
TRADEMARK NOTICE:
|
||||||
|
BMAD™ and BMAD-METHOD™ are trademarks of BMad Code, LLC. The use of these
|
||||||
|
trademarks in this software does not grant any rights to use the trademarks
|
||||||
|
for any other purpose.
|
||||||
|
|||||||
20
README.md
20
README.md
@@ -1,4 +1,4 @@
|
|||||||
# BMad-Method: Universal AI Agent Framework
|
# BMAD-METHOD™: Universal AI Agent Framework
|
||||||
|
|
||||||
[](https://www.npmjs.com/package/bmad-method)
|
[](https://www.npmjs.com/package/bmad-method)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
@@ -11,11 +11,11 @@ Foundations in Agentic Agile Driven Development, known as the Breakthrough Metho
|
|||||||
|
|
||||||
**[Join our Discord Community](https://discord.gg/gk8jAdXWmj)** - A growing community for AI enthusiasts! Get help, share ideas, explore AI agents & frameworks, collaborate on tech projects, enjoy hobbies, and help each other succeed. Whether you're stuck on BMad, building your own agents, or just want to chat about the latest in AI - we're here for you! **Some mobile and VPN may have issue joining the discord, this is a discord issue - if the invite does not work, try from your own internet or another network, or non-VPN.**
|
**[Join our Discord Community](https://discord.gg/gk8jAdXWmj)** - A growing community for AI enthusiasts! Get help, share ideas, explore AI agents & frameworks, collaborate on tech projects, enjoy hobbies, and help each other succeed. Whether you're stuck on BMad, building your own agents, or just want to chat about the latest in AI - we're here for you! **Some mobile and VPN may have issue joining the discord, this is a discord issue - if the invite does not work, try from your own internet or another network, or non-VPN.**
|
||||||
|
|
||||||
⭐ **If you find this project helpful or useful, please give it a star in the upper right hand corner!** It helps others discover BMad-Method and you will be notified of updates!
|
⭐ **If you find this project helpful or useful, please give it a star in the upper right hand corner!** It helps others discover BMAD-METHOD™ and you will be notified of updates!
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
**BMad Method's Two Key Innovations:**
|
**BMAD-METHOD™'s Two Key Innovations:**
|
||||||
|
|
||||||
**1. Agentic Planning:** Dedicated agents (Analyst, PM, Architect) collaborate with you to create detailed, consistent PRDs and Architecture documents. Through advanced prompt engineering and human-in-the-loop refinement, these planning agents produce comprehensive specifications that go far beyond generic AI task generation.
|
**1. Agentic Planning:** Dedicated agents (Analyst, PM, Architect) collaborate with you to create detailed, consistent PRDs and Architecture documents. Through advanced prompt engineering and human-in-the-loop refinement, these planning agents produce comprehensive specifications that go far beyond generic AI task generation.
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ This two-phase approach eliminates both **planning inconsistency** and **context
|
|||||||
|
|
||||||
## Important: Keep Your BMad Installation Updated
|
## Important: Keep Your BMad Installation Updated
|
||||||
|
|
||||||
**Stay up-to-date effortlessly!** If you already have BMad-Method installed in your project, simply run:
|
**Stay up-to-date effortlessly!** If you already have BMAD-METHOD™ installed in your project, simply run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method install
|
npx bmad-method install
|
||||||
@@ -75,6 +75,8 @@ This makes it easy to benefit from the latest improvements, bug fixes, and new a
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method install
|
npx bmad-method install
|
||||||
|
# OR explicitly use stable tag:
|
||||||
|
npx bmad-method@stable install
|
||||||
# OR if you already have BMad installed:
|
# OR if you already have BMad installed:
|
||||||
git pull
|
git pull
|
||||||
npm run install:bmad
|
npm run install:bmad
|
||||||
@@ -108,11 +110,11 @@ npm run install:bmad # build and install all to a destination folder
|
|||||||
|
|
||||||
## 🌟 Beyond Software Development - Expansion Packs
|
## 🌟 Beyond Software Development - Expansion Packs
|
||||||
|
|
||||||
BMad's natural language framework works in ANY domain. Expansion packs provide specialized AI agents for creative writing, business strategy, health & wellness, education, and more. Also expansion packs can expand the core BMad-Method with specific functionality that is not generic for all cases. [See the Expansion Packs Guide](docs/expansion-packs.md) and learn to create your own!
|
BMAD™'s natural language framework works in ANY domain. Expansion packs provide specialized AI agents for creative writing, business strategy, health & wellness, education, and more. Also expansion packs can expand the core BMAD-METHOD™ with specific functionality that is not generic for all cases. [See the Expansion Packs Guide](docs/expansion-packs.md) and learn to create your own!
|
||||||
|
|
||||||
## Codebase Flattener Tool
|
## Codebase Flattener Tool
|
||||||
|
|
||||||
The BMad-Method includes a powerful codebase flattener tool designed to prepare your project files for AI model consumption. This tool aggregates your entire codebase into a single XML file, making it easy to share your project context with AI assistants for analysis, debugging, or development assistance.
|
The BMAD-METHOD™ includes a powerful codebase flattener tool designed to prepare your project files for AI model consumption. This tool aggregates your entire codebase into a single XML file, making it easy to share your project context with AI assistants for analysis, debugging, or development assistance.
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
@@ -155,7 +157,7 @@ The tool will display progress and provide a comprehensive summary:
|
|||||||
📊 File breakdown: 142 text, 14 binary, 0 errors
|
📊 File breakdown: 142 text, 14 binary, 0 errors
|
||||||
```
|
```
|
||||||
|
|
||||||
The generated XML file contains your project's text-based source files in a structured format that AI models can easily parse and understand, making it perfect for code reviews, architecture discussions, or getting AI assistance with your BMad-Method projects.
|
The generated XML file contains your project's text-based source files in a structured format that AI models can easily parse and understand, making it perfect for code reviews, architecture discussions, or getting AI assistance with your BMAD-METHOD™ projects.
|
||||||
|
|
||||||
#### Advanced Usage & Options
|
#### Advanced Usage & Options
|
||||||
|
|
||||||
@@ -214,6 +216,10 @@ The generated XML file contains your project's text-based source files in a stru
|
|||||||
|
|
||||||
MIT License - see [LICENSE](LICENSE) for details.
|
MIT License - see [LICENSE](LICENSE) for details.
|
||||||
|
|
||||||
|
## Trademark Notice
|
||||||
|
|
||||||
|
BMAD™ and BMAD-METHOD™ are trademarks of BMad Code, LLC. All rights reserved.
|
||||||
|
|
||||||
[](https://github.com/bmadcode/bmad-method/graphs/contributors)
|
[](https://github.com/bmadcode/bmad-method/graphs/contributors)
|
||||||
|
|
||||||
<sub>Built with ❤️ for the AI-assisted development community</sub>
|
<sub>Built with ❤️ for the AI-assisted development community</sub>
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
bundle:
|
bundle:
|
||||||
name: Team All
|
name: Team All
|
||||||
icon: 👥
|
icon: 👥
|
||||||
description: Includes every core system agent.
|
description: Includes every core system agent.
|
||||||
agents:
|
agents:
|
||||||
- bmad-orchestrator
|
- bmad-orchestrator
|
||||||
- '*'
|
- "*"
|
||||||
workflows:
|
workflows:
|
||||||
- brownfield-fullstack.yaml
|
- brownfield-fullstack.yaml
|
||||||
- brownfield-service.yaml
|
- brownfield-service.yaml
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
bundle:
|
bundle:
|
||||||
name: Team Fullstack
|
name: Team Fullstack
|
||||||
icon: 🚀
|
icon: 🚀
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
bundle:
|
bundle:
|
||||||
name: Team IDE Minimal
|
name: Team IDE Minimal
|
||||||
icon: ⚡
|
icon: ⚡
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
bundle:
|
bundle:
|
||||||
name: Team No UI
|
name: Team No UI
|
||||||
icon: 🔧
|
icon: 🔧
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# analyst
|
# analyst
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -26,7 +29,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.
|
- 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
|
- 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!
|
- 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:
|
agent:
|
||||||
name: Mary
|
name: Mary
|
||||||
id: analyst
|
id: analyst
|
||||||
@@ -54,28 +57,28 @@ persona:
|
|||||||
# All commands require * prefix when used (e.g., *help)
|
# All commands require * prefix when used (e.g., *help)
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- create-project-brief: use task create-doc with project-brief-tmpl.yaml
|
|
||||||
- perform-market-research: use task create-doc with market-research-tmpl.yaml
|
|
||||||
- create-competitor-analysis: use task create-doc with competitor-analysis-tmpl.yaml
|
|
||||||
- yolo: Toggle Yolo Mode
|
|
||||||
- doc-out: Output full document in progress to current destination file
|
|
||||||
- research-prompt {topic}: execute task create-deep-research-prompt.md
|
|
||||||
- brainstorm {topic}: Facilitate structured brainstorming session (run task facilitate-brainstorming-session.md with template brainstorming-output-tmpl.yaml)
|
- brainstorm {topic}: Facilitate structured brainstorming session (run task facilitate-brainstorming-session.md with template brainstorming-output-tmpl.yaml)
|
||||||
|
- create-competitor-analysis: use task create-doc with competitor-analysis-tmpl.yaml
|
||||||
|
- create-project-brief: use task create-doc with project-brief-tmpl.yaml
|
||||||
|
- doc-out: Output full document in progress to current destination file
|
||||||
- elicit: run the task advanced-elicitation
|
- elicit: run the task advanced-elicitation
|
||||||
|
- perform-market-research: use task create-doc with market-research-tmpl.yaml
|
||||||
|
- research-prompt {topic}: execute task create-deep-research-prompt.md
|
||||||
|
- yolo: Toggle Yolo Mode
|
||||||
- exit: Say goodbye as the Business Analyst, and then abandon inhabiting this persona
|
- exit: Say goodbye as the Business Analyst, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- facilitate-brainstorming-session.md
|
|
||||||
- create-deep-research-prompt.md
|
|
||||||
- create-doc.md
|
|
||||||
- advanced-elicitation.md
|
|
||||||
- document-project.md
|
|
||||||
templates:
|
|
||||||
- project-brief-tmpl.yaml
|
|
||||||
- market-research-tmpl.yaml
|
|
||||||
- competitor-analysis-tmpl.yaml
|
|
||||||
- brainstorming-output-tmpl.yaml
|
|
||||||
data:
|
data:
|
||||||
- bmad-kb.md
|
- bmad-kb.md
|
||||||
- brainstorming-techniques.md
|
- brainstorming-techniques.md
|
||||||
|
tasks:
|
||||||
|
- advanced-elicitation.md
|
||||||
|
- create-deep-research-prompt.md
|
||||||
|
- create-doc.md
|
||||||
|
- document-project.md
|
||||||
|
- facilitate-brainstorming-session.md
|
||||||
|
templates:
|
||||||
|
- brainstorming-output-tmpl.yaml
|
||||||
|
- competitor-analysis-tmpl.yaml
|
||||||
|
- market-research-tmpl.yaml
|
||||||
|
- project-brief-tmpl.yaml
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# architect
|
# architect
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -26,8 +29,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.
|
- 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
|
- 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!
|
- 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, 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.
|
||||||
- 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.
|
|
||||||
agent:
|
agent:
|
||||||
name: Winston
|
name: Winston
|
||||||
id: architect
|
id: architect
|
||||||
@@ -54,10 +56,10 @@ persona:
|
|||||||
# All commands require * prefix when used (e.g., *help)
|
# All commands require * prefix when used (e.g., *help)
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- create-full-stack-architecture: use create-doc with fullstack-architecture-tmpl.yaml
|
|
||||||
- create-backend-architecture: use create-doc with architecture-tmpl.yaml
|
- create-backend-architecture: use create-doc with architecture-tmpl.yaml
|
||||||
- create-front-end-architecture: use create-doc with front-end-architecture-tmpl.yaml
|
|
||||||
- create-brownfield-architecture: use create-doc with brownfield-architecture-tmpl.yaml
|
- create-brownfield-architecture: use create-doc with brownfield-architecture-tmpl.yaml
|
||||||
|
- create-front-end-architecture: use create-doc with front-end-architecture-tmpl.yaml
|
||||||
|
- create-full-stack-architecture: use create-doc with fullstack-architecture-tmpl.yaml
|
||||||
- doc-out: Output full document to current destination file
|
- doc-out: Output full document to current destination file
|
||||||
- document-project: execute the task document-project.md
|
- document-project: execute the task document-project.md
|
||||||
- execute-checklist {checklist}: Run task execute-checklist (default->architect-checklist)
|
- execute-checklist {checklist}: Run task execute-checklist (default->architect-checklist)
|
||||||
@@ -66,18 +68,18 @@ commands:
|
|||||||
- yolo: Toggle Yolo Mode
|
- yolo: Toggle Yolo Mode
|
||||||
- exit: Say goodbye as the Architect, and then abandon inhabiting this persona
|
- exit: Say goodbye as the Architect, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- create-doc.md
|
|
||||||
- create-deep-research-prompt.md
|
|
||||||
- document-project.md
|
|
||||||
- execute-checklist.md
|
|
||||||
templates:
|
|
||||||
- architecture-tmpl.yaml
|
|
||||||
- front-end-architecture-tmpl.yaml
|
|
||||||
- fullstack-architecture-tmpl.yaml
|
|
||||||
- brownfield-architecture-tmpl.yaml
|
|
||||||
checklists:
|
checklists:
|
||||||
- architect-checklist.md
|
- architect-checklist.md
|
||||||
data:
|
data:
|
||||||
- technical-preferences.md
|
- technical-preferences.md
|
||||||
|
tasks:
|
||||||
|
- create-deep-research-prompt.md
|
||||||
|
- create-doc.md
|
||||||
|
- document-project.md
|
||||||
|
- execute-checklist.md
|
||||||
|
templates:
|
||||||
|
- architecture-tmpl.yaml
|
||||||
|
- brownfield-architecture-tmpl.yaml
|
||||||
|
- front-end-architecture-tmpl.yaml
|
||||||
|
- fullstack-architecture-tmpl.yaml
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# BMad Master
|
# BMad Master
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -9,15 +11,16 @@ CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your
|
|||||||
```yaml
|
```yaml
|
||||||
IDE-FILE-RESOLUTION:
|
IDE-FILE-RESOLUTION:
|
||||||
- FOR LATER USE ONLY - NOT FOR ACTIVATION, when executing commands that reference dependencies
|
- FOR LATER USE ONLY - NOT FOR ACTIVATION, when executing commands that reference dependencies
|
||||||
- Dependencies map to {root}/{type}/{name}
|
- Dependencies map to root/type/name
|
||||||
- type=folder (tasks|templates|checklists|data|utils|etc...), name=file-name
|
- type=folder (tasks|templates|checklists|data|utils|etc...), name=file-name
|
||||||
- Example: create-doc.md → {root}/tasks/create-doc.md
|
- Example: create-doc.md → root/tasks/create-doc.md
|
||||||
- IMPORTANT: Only load these files when user requests specific command execution
|
- IMPORTANT: Only load these files when user requests specific command execution
|
||||||
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), ALWAYS ask for clarification if no clear match.
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), ALWAYS ask for clarification if no clear match.
|
||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -26,10 +29,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.
|
- 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
|
- 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!
|
- 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: Do NOT run discovery tasks automatically
|
||||||
- CRITICAL: NEVER LOAD {root}/data/bmad-kb.md UNLESS USER TYPES *kb
|
- 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:
|
agent:
|
||||||
name: BMad Master
|
name: BMad Master
|
||||||
id: bmad-master
|
id: bmad-master
|
||||||
@@ -48,28 +51,40 @@ persona:
|
|||||||
|
|
||||||
commands:
|
commands:
|
||||||
- help: Show these listed commands in a numbered list
|
- help: Show these listed commands in a numbered list
|
||||||
- kb: Toggle KB mode off (default) or on, when on will load and reference the {root}/data/bmad-kb.md and converse with the user answering his questions with this informational resource
|
|
||||||
- task {task}: Execute task, if not found or none specified, ONLY list available dependencies/tasks listed below
|
|
||||||
- create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
|
- create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
|
||||||
- doc-out: Output full document to current destination file
|
- doc-out: Output full document to current destination file
|
||||||
- document-project: execute the task document-project.md
|
- document-project: execute the task document-project.md
|
||||||
- execute-checklist {checklist}: Run task execute-checklist (no checklist = ONLY show available checklists listed under dependencies/checklist below)
|
- execute-checklist {checklist}: Run task execute-checklist (no checklist = ONLY show available checklists listed under dependencies/checklist below)
|
||||||
|
- kb: Toggle KB mode off (default) or on, when on will load and reference the {root}/data/bmad-kb.md and converse with the user answering his questions with this informational resource
|
||||||
- shard-doc {document} {destination}: run the task shard-doc against the optionally provided document to the specified destination
|
- shard-doc {document} {destination}: run the task shard-doc against the optionally provided document to the specified destination
|
||||||
|
- task {task}: Execute task, if not found or none specified, ONLY list available dependencies/tasks listed below
|
||||||
- yolo: Toggle Yolo Mode
|
- yolo: Toggle Yolo Mode
|
||||||
- exit: Exit (confirm)
|
- exit: Exit (confirm)
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
|
checklists:
|
||||||
|
- architect-checklist.md
|
||||||
|
- change-checklist.md
|
||||||
|
- pm-checklist.md
|
||||||
|
- po-master-checklist.md
|
||||||
|
- story-dod-checklist.md
|
||||||
|
- story-draft-checklist.md
|
||||||
|
data:
|
||||||
|
- bmad-kb.md
|
||||||
|
- brainstorming-techniques.md
|
||||||
|
- elicitation-methods.md
|
||||||
|
- technical-preferences.md
|
||||||
tasks:
|
tasks:
|
||||||
- advanced-elicitation.md
|
- advanced-elicitation.md
|
||||||
- facilitate-brainstorming-session.md
|
|
||||||
- brownfield-create-epic.md
|
- brownfield-create-epic.md
|
||||||
- brownfield-create-story.md
|
- brownfield-create-story.md
|
||||||
- correct-course.md
|
- correct-course.md
|
||||||
- create-deep-research-prompt.md
|
- create-deep-research-prompt.md
|
||||||
- create-doc.md
|
- create-doc.md
|
||||||
- document-project.md
|
|
||||||
- create-next-story.md
|
- create-next-story.md
|
||||||
|
- document-project.md
|
||||||
- execute-checklist.md
|
- execute-checklist.md
|
||||||
|
- facilitate-brainstorming-session.md
|
||||||
- generate-ai-frontend-prompt.md
|
- generate-ai-frontend-prompt.md
|
||||||
- index-docs.md
|
- index-docs.md
|
||||||
- shard-doc.md
|
- shard-doc.md
|
||||||
@@ -85,11 +100,6 @@ dependencies:
|
|||||||
- prd-tmpl.yaml
|
- prd-tmpl.yaml
|
||||||
- project-brief-tmpl.yaml
|
- project-brief-tmpl.yaml
|
||||||
- story-tmpl.yaml
|
- story-tmpl.yaml
|
||||||
data:
|
|
||||||
- bmad-kb.md
|
|
||||||
- brainstorming-techniques.md
|
|
||||||
- elicitation-methods.md
|
|
||||||
- technical-preferences.md
|
|
||||||
workflows:
|
workflows:
|
||||||
- brownfield-fullstack.md
|
- brownfield-fullstack.md
|
||||||
- brownfield-service.md
|
- brownfield-service.md
|
||||||
@@ -97,11 +107,4 @@ dependencies:
|
|||||||
- greenfield-fullstack.md
|
- greenfield-fullstack.md
|
||||||
- greenfield-service.md
|
- greenfield-service.md
|
||||||
- greenfield-ui.md
|
- greenfield-ui.md
|
||||||
checklists:
|
|
||||||
- architect-checklist.md
|
|
||||||
- change-checklist.md
|
|
||||||
- pm-checklist.md
|
|
||||||
- po-master-checklist.md
|
|
||||||
- story-dod-checklist.md
|
|
||||||
- story-draft-checklist.md
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# BMad Web Orchestrator
|
# BMad Web Orchestrator
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -28,8 +31,8 @@ activation-instructions:
|
|||||||
- Assess user goal against available agents and workflows in this bundle
|
- 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 clear match to an agent's expertise, suggest transformation with *agent command
|
||||||
- If project-oriented, suggest *workflow-guidance to explore options
|
- If project-oriented, suggest *workflow-guidance to explore options
|
||||||
- Load resources only when needed - never pre-load
|
- Load resources only when needed - never pre-load (Exception: Read `bmad-core/core-config.yaml` during activation)
|
||||||
- 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:
|
agent:
|
||||||
name: BMad Orchestrator
|
name: BMad Orchestrator
|
||||||
id: bmad-orchestrator
|
id: bmad-orchestrator
|
||||||
@@ -53,21 +56,16 @@ persona:
|
|||||||
- Always remind users that commands require * prefix
|
- Always remind users that commands require * prefix
|
||||||
commands: # All commands require * prefix when used (e.g., *help, *agent pm)
|
commands: # All commands require * prefix when used (e.g., *help, *agent pm)
|
||||||
help: Show this guide with available agents and workflows
|
help: Show this guide with available agents and workflows
|
||||||
chat-mode: Start conversational mode for detailed assistance
|
|
||||||
kb-mode: Load full BMad knowledge base
|
|
||||||
status: Show current context, active agent, and progress
|
|
||||||
agent: Transform into a specialized agent (list if name not specified)
|
agent: Transform into a specialized agent (list if name not specified)
|
||||||
exit: Return to BMad or exit session
|
chat-mode: Start conversational mode for detailed assistance
|
||||||
task: Run a specific task (list if name not specified)
|
|
||||||
workflow: Start a specific workflow (list if name not specified)
|
|
||||||
workflow-guidance: Get personalized help selecting the right workflow
|
|
||||||
plan: Create detailed workflow plan before starting
|
|
||||||
plan-status: Show current workflow plan progress
|
|
||||||
plan-update: Update workflow plan status
|
|
||||||
checklist: Execute a checklist (list if name not specified)
|
checklist: Execute a checklist (list if name not specified)
|
||||||
yolo: Toggle skip confirmations mode
|
|
||||||
party-mode: Group chat with all agents
|
|
||||||
doc-out: Output full document
|
doc-out: Output full document
|
||||||
|
kb-mode: Load full BMad knowledge base
|
||||||
|
party-mode: Group chat with all agents
|
||||||
|
status: Show current context, active agent, and progress
|
||||||
|
task: Run a specific task (list if name not specified)
|
||||||
|
yolo: Toggle skip confirmations mode
|
||||||
|
exit: Return to BMad or exit session
|
||||||
help-display-template: |
|
help-display-template: |
|
||||||
=== BMad Orchestrator Commands ===
|
=== BMad Orchestrator Commands ===
|
||||||
All commands must start with * (asterisk)
|
All commands must start with * (asterisk)
|
||||||
@@ -131,19 +129,19 @@ workflow-guidance:
|
|||||||
- Understand each workflow's purpose, options, and decision points
|
- Understand each workflow's purpose, options, and decision points
|
||||||
- Ask clarifying questions based on the workflow's structure
|
- Ask clarifying questions based on the workflow's structure
|
||||||
- Guide users through workflow selection when multiple options exist
|
- Guide users through workflow selection when multiple options exist
|
||||||
- When appropriate, suggest: "Would you like me to create a detailed workflow plan before starting?"
|
- When appropriate, suggest: 'Would you like me to create a detailed workflow plan before starting?'
|
||||||
- For workflows with divergent paths, help users choose the right path
|
- For workflows with divergent paths, help users choose the right path
|
||||||
- Adapt questions to the specific domain (e.g., game dev vs infrastructure vs web dev)
|
- Adapt questions to the specific domain (e.g., game dev vs infrastructure vs web dev)
|
||||||
- Only recommend workflows that actually exist in the current bundle
|
- Only recommend workflows that actually exist in the current bundle
|
||||||
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
||||||
dependencies:
|
dependencies:
|
||||||
|
data:
|
||||||
|
- bmad-kb.md
|
||||||
|
- elicitation-methods.md
|
||||||
tasks:
|
tasks:
|
||||||
- advanced-elicitation.md
|
- advanced-elicitation.md
|
||||||
- create-doc.md
|
- create-doc.md
|
||||||
- kb-mode-interaction.md
|
- kb-mode-interaction.md
|
||||||
data:
|
|
||||||
- bmad-kb.md
|
|
||||||
- elicitation-methods.md
|
|
||||||
utils:
|
utils:
|
||||||
- workflow-management.md
|
- workflow-management.md
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# dev
|
# dev
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -29,13 +32,13 @@ 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: 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 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: 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:
|
agent:
|
||||||
name: James
|
name: James
|
||||||
id: dev
|
id: dev
|
||||||
title: Full Stack Developer
|
title: Full Stack Developer
|
||||||
icon: 💻
|
icon: 💻
|
||||||
whenToUse: "Use for code implementation, debugging, refactoring, and development best practices"
|
whenToUse: 'Use for code implementation, debugging, refactoring, and development best practices'
|
||||||
customization:
|
customization:
|
||||||
|
|
||||||
persona:
|
persona:
|
||||||
@@ -53,23 +56,25 @@ core_principles:
|
|||||||
# All commands require * prefix when used (e.g., *help)
|
# All commands require * prefix when used (e.g., *help)
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- run-tests: Execute linting and tests
|
|
||||||
- explain: teach me what and why you did whatever you just did in detail so I can learn. Explain to me as if you were training a junior engineer.
|
|
||||||
- exit: Say goodbye as the Developer, and then abandon inhabiting this persona
|
|
||||||
- develop-story:
|
- develop-story:
|
||||||
- order-of-execution: "Read (first or next) task→Implement Task and its subtasks→Write tests→Execute validations→Only if ALL pass, then update the task checkbox with [x]→Update story section File List to ensure it lists and new or modified or deleted source file→repeat order-of-execution until complete"
|
- order-of-execution: 'Read (first or next) task→Implement Task and its subtasks→Write tests→Execute validations→Only if ALL pass, then update the task checkbox with [x]→Update story section File List to ensure it lists and new or modified or deleted source file→repeat order-of-execution until complete'
|
||||||
- story-file-updates-ONLY:
|
- story-file-updates-ONLY:
|
||||||
- CRITICAL: ONLY UPDATE THE STORY FILE WITH UPDATES TO SECTIONS INDICATED BELOW. DO NOT MODIFY ANY OTHER SECTIONS.
|
- CRITICAL: ONLY UPDATE THE STORY FILE WITH UPDATES TO SECTIONS INDICATED BELOW. DO NOT MODIFY ANY OTHER SECTIONS.
|
||||||
- CRITICAL: You are ONLY authorized to edit these specific sections of story files - Tasks / Subtasks Checkboxes, Dev Agent Record section and all its subsections, Agent Model Used, Debug Log References, Completion Notes List, File List, Change Log, Status
|
- CRITICAL: You are ONLY authorized to edit these specific sections of story files - Tasks / Subtasks Checkboxes, Dev Agent Record section and all its subsections, Agent Model Used, Debug Log References, Completion Notes List, File List, Change Log, Status
|
||||||
- CRITICAL: DO NOT modify Status, Story, Acceptance Criteria, Dev Notes, Testing sections, or any other sections not listed above
|
- CRITICAL: DO NOT modify Status, Story, Acceptance Criteria, Dev Notes, Testing sections, or any other sections not listed above
|
||||||
- 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"
|
- 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"
|
- 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"
|
- 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"
|
||||||
|
- explain: teach me what and why you did whatever you just did in detail so I can learn. Explain to me as if you were training a junior engineer.
|
||||||
|
- review-qa: run task `apply-qa-fixes.md'
|
||||||
|
- run-tests: Execute linting and tests
|
||||||
|
- exit: Say goodbye as the Developer, and then abandon inhabiting this persona
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- execute-checklist.md
|
|
||||||
- validate-next-story.md
|
|
||||||
checklists:
|
checklists:
|
||||||
- story-dod-checklist.md
|
- story-dod-checklist.md
|
||||||
|
tasks:
|
||||||
|
- apply-qa-fixes.md
|
||||||
|
- execute-checklist.md
|
||||||
|
- validate-next-story.md
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# pm
|
# pm
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -26,7 +29,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.
|
- 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
|
- 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!
|
- 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:
|
agent:
|
||||||
name: John
|
name: John
|
||||||
id: pm
|
id: pm
|
||||||
@@ -50,32 +53,32 @@ persona:
|
|||||||
# All commands require * prefix when used (e.g., *help)
|
# All commands require * prefix when used (e.g., *help)
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- create-prd: run task create-doc.md with template prd-tmpl.yaml
|
- correct-course: execute the correct-course task
|
||||||
- create-brownfield-prd: run task create-doc.md with template brownfield-prd-tmpl.yaml
|
|
||||||
- create-brownfield-epic: run task brownfield-create-epic.md
|
- create-brownfield-epic: run task brownfield-create-epic.md
|
||||||
|
- create-brownfield-prd: run task create-doc.md with template brownfield-prd-tmpl.yaml
|
||||||
- create-brownfield-story: run task brownfield-create-story.md
|
- create-brownfield-story: run task brownfield-create-story.md
|
||||||
- create-epic: Create epic for brownfield projects (task brownfield-create-epic)
|
- create-epic: Create epic for brownfield projects (task brownfield-create-epic)
|
||||||
|
- create-prd: run task create-doc.md with template prd-tmpl.yaml
|
||||||
- create-story: Create user story from requirements (task brownfield-create-story)
|
- create-story: Create user story from requirements (task brownfield-create-story)
|
||||||
- doc-out: Output full document to current destination file
|
- doc-out: Output full document to current destination file
|
||||||
- shard-prd: run the task shard-doc.md for the provided prd.md (ask if not found)
|
- shard-prd: run the task shard-doc.md for the provided prd.md (ask if not found)
|
||||||
- correct-course: execute the correct-course task
|
|
||||||
- yolo: Toggle Yolo Mode
|
- yolo: Toggle Yolo Mode
|
||||||
- exit: Exit (confirm)
|
- exit: Exit (confirm)
|
||||||
dependencies:
|
dependencies:
|
||||||
|
checklists:
|
||||||
|
- change-checklist.md
|
||||||
|
- pm-checklist.md
|
||||||
|
data:
|
||||||
|
- technical-preferences.md
|
||||||
tasks:
|
tasks:
|
||||||
- create-doc.md
|
|
||||||
- correct-course.md
|
|
||||||
- create-deep-research-prompt.md
|
|
||||||
- brownfield-create-epic.md
|
- brownfield-create-epic.md
|
||||||
- brownfield-create-story.md
|
- brownfield-create-story.md
|
||||||
|
- correct-course.md
|
||||||
|
- create-deep-research-prompt.md
|
||||||
|
- create-doc.md
|
||||||
- execute-checklist.md
|
- execute-checklist.md
|
||||||
- shard-doc.md
|
- shard-doc.md
|
||||||
templates:
|
templates:
|
||||||
- prd-tmpl.yaml
|
|
||||||
- brownfield-prd-tmpl.yaml
|
- brownfield-prd-tmpl.yaml
|
||||||
checklists:
|
- prd-tmpl.yaml
|
||||||
- pm-checklist.md
|
|
||||||
- change-checklist.md
|
|
||||||
data:
|
|
||||||
- technical-preferences.md
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# po
|
# po
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -26,7 +29,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.
|
- 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
|
- 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!
|
- 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:
|
agent:
|
||||||
name: Sarah
|
name: Sarah
|
||||||
id: po
|
id: po
|
||||||
@@ -53,24 +56,24 @@ persona:
|
|||||||
# All commands require * prefix when used (e.g., *help)
|
# All commands require * prefix when used (e.g., *help)
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- execute-checklist-po: Run task execute-checklist (checklist po-master-checklist)
|
|
||||||
- shard-doc {document} {destination}: run the task shard-doc against the optionally provided document to the specified destination
|
|
||||||
- correct-course: execute the correct-course task
|
- correct-course: execute the correct-course task
|
||||||
- create-epic: Create epic for brownfield projects (task brownfield-create-epic)
|
- create-epic: Create epic for brownfield projects (task brownfield-create-epic)
|
||||||
- create-story: Create user story from requirements (task brownfield-create-story)
|
- create-story: Create user story from requirements (task brownfield-create-story)
|
||||||
- doc-out: Output full document to current destination file
|
- doc-out: Output full document to current destination file
|
||||||
|
- execute-checklist-po: Run task execute-checklist (checklist po-master-checklist)
|
||||||
|
- shard-doc {document} {destination}: run the task shard-doc against the optionally provided document to the specified destination
|
||||||
- validate-story-draft {story}: run the task validate-next-story against the provided story file
|
- validate-story-draft {story}: run the task validate-next-story against the provided story file
|
||||||
- yolo: Toggle Yolo Mode off on - on will skip doc section confirmations
|
- yolo: Toggle Yolo Mode off on - on will skip doc section confirmations
|
||||||
- exit: Exit (confirm)
|
- exit: Exit (confirm)
|
||||||
dependencies:
|
dependencies:
|
||||||
|
checklists:
|
||||||
|
- change-checklist.md
|
||||||
|
- po-master-checklist.md
|
||||||
tasks:
|
tasks:
|
||||||
|
- correct-course.md
|
||||||
- execute-checklist.md
|
- execute-checklist.md
|
||||||
- shard-doc.md
|
- shard-doc.md
|
||||||
- correct-course.md
|
|
||||||
- validate-next-story.md
|
- validate-next-story.md
|
||||||
templates:
|
templates:
|
||||||
- story-tmpl.yaml
|
- story-tmpl.yaml
|
||||||
checklists:
|
|
||||||
- po-master-checklist.md
|
|
||||||
- change-checklist.md
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# qa
|
# qa
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -26,7 +29,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.
|
- 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
|
- 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!
|
- 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:
|
agent:
|
||||||
name: Quinn
|
name: Quinn
|
||||||
id: qa
|
id: qa
|
||||||
@@ -61,28 +64,28 @@ story-file-permissions:
|
|||||||
# All commands require * prefix when used (e.g., *help)
|
# All commands require * prefix when used (e.g., *help)
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
|
- gate {story}: Execute qa-gate task to write/update quality gate decision in directory from qa.qaLocation/gates/
|
||||||
|
- nfr-assess {story}: Execute nfr-assess task to validate non-functional requirements
|
||||||
- review {story}: |
|
- review {story}: |
|
||||||
Adaptive, risk-aware comprehensive review.
|
Adaptive, risk-aware comprehensive review.
|
||||||
Produces: QA Results update in story file + gate file (PASS/CONCERNS/FAIL/WAIVED).
|
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.
|
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/
|
|
||||||
- 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
|
- risk-profile {story}: Execute risk-profile task to generate risk assessment matrix
|
||||||
- test-design {story}: Execute test-design task to create comprehensive test scenarios
|
- test-design {story}: Execute test-design task to create comprehensive test scenarios
|
||||||
- nfr-assess {story}: Execute nfr-assess task to validate non-functional requirements
|
- trace {story}: Execute trace-requirements task to map requirements to tests using Given-When-Then
|
||||||
- exit: Say goodbye as the Test Architect, and then abandon inhabiting this persona
|
- exit: Say goodbye as the Test Architect, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- review-story.md
|
|
||||||
- qa-gate.md
|
|
||||||
- trace-requirements.md
|
|
||||||
- risk-profile.md
|
|
||||||
- test-design.md
|
|
||||||
- nfr-assess.md
|
|
||||||
data:
|
data:
|
||||||
- technical-preferences.md
|
- technical-preferences.md
|
||||||
|
tasks:
|
||||||
|
- nfr-assess.md
|
||||||
|
- qa-gate.md
|
||||||
|
- review-story.md
|
||||||
|
- risk-profile.md
|
||||||
|
- test-design.md
|
||||||
|
- trace-requirements.md
|
||||||
templates:
|
templates:
|
||||||
- story-tmpl.yaml
|
|
||||||
- qa-gate-tmpl.yaml
|
- qa-gate-tmpl.yaml
|
||||||
|
- story-tmpl.yaml
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# sm
|
# sm
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -26,7 +29,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.
|
- 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
|
- 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!
|
- 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:
|
agent:
|
||||||
name: Bob
|
name: Bob
|
||||||
id: sm
|
id: sm
|
||||||
@@ -46,17 +49,17 @@ persona:
|
|||||||
# All commands require * prefix when used (e.g., *help)
|
# All commands require * prefix when used (e.g., *help)
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- draft: Execute task create-next-story.md
|
|
||||||
- correct-course: Execute task correct-course.md
|
- correct-course: Execute task correct-course.md
|
||||||
|
- draft: Execute task create-next-story.md
|
||||||
- story-checklist: Execute task execute-checklist.md with checklist story-draft-checklist.md
|
- story-checklist: Execute task execute-checklist.md with checklist story-draft-checklist.md
|
||||||
- exit: Say goodbye as the Scrum Master, and then abandon inhabiting this persona
|
- exit: Say goodbye as the Scrum Master, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- create-next-story.md
|
|
||||||
- execute-checklist.md
|
|
||||||
- correct-course.md
|
|
||||||
templates:
|
|
||||||
- story-tmpl.yaml
|
|
||||||
checklists:
|
checklists:
|
||||||
- story-draft-checklist.md
|
- story-draft-checklist.md
|
||||||
|
tasks:
|
||||||
|
- correct-course.md
|
||||||
|
- create-next-story.md
|
||||||
|
- execute-checklist.md
|
||||||
|
templates:
|
||||||
|
- story-tmpl.yaml
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# ux-expert
|
# ux-expert
|
||||||
|
|
||||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||||
@@ -17,7 +19,8 @@ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (
|
|||||||
activation-instructions:
|
activation-instructions:
|
||||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
- 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 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
|
- 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
|
- 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
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
@@ -26,7 +29,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.
|
- 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
|
- 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!
|
- 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:
|
agent:
|
||||||
name: Sally
|
name: Sally
|
||||||
id: ux-expert
|
id: ux-expert
|
||||||
@@ -55,12 +58,12 @@ commands:
|
|||||||
- generate-ui-prompt: Run task generate-ai-frontend-prompt.md
|
- generate-ui-prompt: Run task generate-ai-frontend-prompt.md
|
||||||
- exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
|
- exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- generate-ai-frontend-prompt.md
|
|
||||||
- create-doc.md
|
|
||||||
- execute-checklist.md
|
|
||||||
templates:
|
|
||||||
- front-end-spec-tmpl.yaml
|
|
||||||
data:
|
data:
|
||||||
- technical-preferences.md
|
- technical-preferences.md
|
||||||
|
tasks:
|
||||||
|
- create-doc.md
|
||||||
|
- execute-checklist.md
|
||||||
|
- generate-ai-frontend-prompt.md
|
||||||
|
templates:
|
||||||
|
- front-end-spec-tmpl.yaml
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Architect Solution Validation Checklist
|
# Architect Solution Validation Checklist
|
||||||
|
|
||||||
This checklist serves as a comprehensive framework for the Architect to validate the technical design and architecture before development execution. The Architect should systematically work through each item, ensuring the architecture is robust, scalable, secure, and aligned with the product requirements.
|
This checklist serves as a comprehensive framework for the Architect to validate the technical design and architecture before development execution. The Architect should systematically work through each item, ensuring the architecture is robust, scalable, secure, and aligned with the product requirements.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Change Navigation Checklist
|
# Change Navigation Checklist
|
||||||
|
|
||||||
**Purpose:** To systematically guide the selected Agent and user through the analysis and planning required when a significant change (pivot, tech issue, missing requirement, failed story) is identified during the BMad workflow.
|
**Purpose:** To systematically guide the selected Agent and user through the analysis and planning required when a significant change (pivot, tech issue, missing requirement, failed story) is identified during the BMad workflow.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Product Manager (PM) Requirements Checklist
|
# Product Manager (PM) Requirements Checklist
|
||||||
|
|
||||||
This checklist serves as a comprehensive framework to ensure the Product Requirements Document (PRD) and Epic definitions are complete, well-structured, and appropriately scoped for MVP development. The PM should systematically work through each item during the product definition process.
|
This checklist serves as a comprehensive framework to ensure the Product Requirements Document (PRD) and Epic definitions are complete, well-structured, and appropriately scoped for MVP development. The PM should systematically work through each item during the product definition process.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Product Owner (PO) Master Validation Checklist
|
# Product Owner (PO) Master Validation Checklist
|
||||||
|
|
||||||
This checklist serves as a comprehensive framework for the Product Owner to validate project plans before development execution. It adapts intelligently based on project type (greenfield vs brownfield) and includes UI/UX considerations when applicable.
|
This checklist serves as a comprehensive framework for the Product Owner to validate project plans before development execution. It adapts intelligently based on project type (greenfield vs brownfield) and includes UI/UX considerations when applicable.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Story Definition of Done (DoD) Checklist
|
# Story Definition of Done (DoD) Checklist
|
||||||
|
|
||||||
## Instructions for Developer Agent
|
## Instructions for Developer Agent
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Story Draft Checklist
|
# Story Draft Checklist
|
||||||
|
|
||||||
The Scrum Master should use this checklist to validate that each story contains sufficient context for a developer agent to implement it successfully, while assuming the dev agent has reasonable capabilities to figure things out.
|
The Scrum Master should use this checklist to validate that each story contains sufficient context for a developer agent to implement it successfully, while assuming the dev agent has reasonable capabilities to figure things out.
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
markdownExploder: true
|
markdownExploder: true
|
||||||
|
qa:
|
||||||
|
qaLocation: docs/qa
|
||||||
prd:
|
prd:
|
||||||
prdFile: docs/prd.md
|
prdFile: docs/prd.md
|
||||||
prdVersion: v4
|
prdVersion: v4
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
# BMad Knowledge Base
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
|
# BMAD™ Knowledge Base
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
BMad-Method (Breakthrough Method of Agile AI-driven Development) is a framework that combines AI agents with Agile development methodologies. The v4 system introduces a modular architecture with improved dependency management, bundle optimization, and support for both web and IDE environments.
|
BMAD-METHOD™ (Breakthrough Method of Agile AI-driven Development) is a framework that combines AI agents with Agile development methodologies. The v4 system introduces a modular architecture with improved dependency management, bundle optimization, and support for both web and IDE environments.
|
||||||
|
|
||||||
### Key Features
|
### Key Features
|
||||||
|
|
||||||
@@ -101,7 +103,7 @@ npx bmad-method install
|
|||||||
- **Roo Code**: Web-based IDE with agent support
|
- **Roo Code**: Web-based IDE with agent support
|
||||||
- **GitHub Copilot**: VS Code extension with AI peer programming assistant
|
- **GitHub Copilot**: VS Code extension with AI peer programming assistant
|
||||||
|
|
||||||
**Note for VS Code Users**: BMad-Method assumes when you mention "VS Code" that you're using it with an AI-powered extension like GitHub Copilot, Cline, or Roo. Standard VS Code without AI capabilities cannot run BMad agents. The installer includes built-in support for Cline and Roo.
|
**Note for VS Code Users**: BMAD-METHOD™ assumes when you mention "VS Code" that you're using it with an AI-powered extension like GitHub Copilot, Cline, or Roo. Standard VS Code without AI capabilities cannot run BMad agents. The installer includes built-in support for Cline and Roo.
|
||||||
|
|
||||||
**Verify Installation**:
|
**Verify Installation**:
|
||||||
|
|
||||||
@@ -109,7 +111,7 @@ npx bmad-method install
|
|||||||
- IDE-specific integration files created
|
- IDE-specific integration files created
|
||||||
- All agent commands/rules/modes available
|
- All agent commands/rules/modes available
|
||||||
|
|
||||||
**Remember**: At its core, BMad-Method is about mastering and harnessing prompt engineering. Any IDE with AI agent support can use BMad - the framework provides the structured prompts and workflows that make AI development effective
|
**Remember**: At its core, BMAD-METHOD™ is about mastering and harnessing prompt engineering. Any IDE with AI agent support can use BMad - the framework provides the structured prompts and workflows that make AI development effective
|
||||||
|
|
||||||
### Environment Selection Guide
|
### Environment Selection Guide
|
||||||
|
|
||||||
@@ -298,7 +300,7 @@ You are the "Vibe CEO" - thinking like a CEO with unlimited resources and a sing
|
|||||||
|
|
||||||
- **Claude Code**: `/agent-name` (e.g., `/bmad-master`)
|
- **Claude Code**: `/agent-name` (e.g., `/bmad-master`)
|
||||||
- **Cursor**: `@agent-name` (e.g., `@bmad-master`)
|
- **Cursor**: `@agent-name` (e.g., `@bmad-master`)
|
||||||
- **Windsurf**: `@agent-name` (e.g., `@bmad-master`)
|
- **Windsurf**: `/agent-name` (e.g., `/bmad-master`)
|
||||||
- **Trae**: `@agent-name` (e.g., `@bmad-master`)
|
- **Trae**: `@agent-name` (e.g., `@bmad-master`)
|
||||||
- **Roo Code**: Select mode from mode selector (e.g., `bmad-master`)
|
- **Roo Code**: Select mode from mode selector (e.g., `bmad-master`)
|
||||||
- **GitHub Copilot**: Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select **Agent** from the chat mode selector.
|
- **GitHub Copilot**: Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select **Agent** from the chat mode selector.
|
||||||
@@ -353,7 +355,7 @@ You are the "Vibe CEO" - thinking like a CEO with unlimited resources and a sing
|
|||||||
|
|
||||||
### System Overview
|
### System Overview
|
||||||
|
|
||||||
The BMad-Method is built around a modular architecture centered on the `bmad-core` directory, which serves as the brain of the entire system. This design enables the framework to operate effectively in both IDE environments (like Cursor, VS Code) and web-based AI interfaces (like ChatGPT, Gemini).
|
The BMAD-METHOD™ is built around a modular architecture centered on the `bmad-core` directory, which serves as the brain of the entire system. This design enables the framework to operate effectively in both IDE environments (like Cursor, VS Code) and web-based AI interfaces (like ChatGPT, Gemini).
|
||||||
|
|
||||||
### Key Architectural Components
|
### Key Architectural Components
|
||||||
|
|
||||||
@@ -708,7 +710,7 @@ Use the `shard-doc` task or `@kayvan/markdown-tree-parser` tool for automatic sh
|
|||||||
- **Keep conversations focused** - One agent, one task per conversation
|
- **Keep conversations focused** - One agent, one task per conversation
|
||||||
- **Review everything** - Always review and approve before marking complete
|
- **Review everything** - Always review and approve before marking complete
|
||||||
|
|
||||||
## Contributing to BMad-Method
|
## Contributing to BMAD-METHOD™
|
||||||
|
|
||||||
### Quick Contribution Guidelines
|
### Quick Contribution Guidelines
|
||||||
|
|
||||||
@@ -740,7 +742,7 @@ For full details, see `CONTRIBUTING.md`. Key points:
|
|||||||
|
|
||||||
### What Are Expansion Packs?
|
### What Are Expansion Packs?
|
||||||
|
|
||||||
Expansion packs extend BMad-Method beyond traditional software development into ANY domain. They provide specialized agent teams, templates, and workflows while keeping the core framework lean and focused on development.
|
Expansion packs extend BMAD-METHOD™ beyond traditional software development into ANY domain. They provide specialized agent teams, templates, and workflows while keeping the core framework lean and focused on development.
|
||||||
|
|
||||||
### Why Use Expansion Packs?
|
### Why Use Expansion Packs?
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Brainstorming Techniques Data
|
# Brainstorming Techniques Data
|
||||||
|
|
||||||
## Creative Expansion
|
## Creative Expansion
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Elicitation Methods Data
|
# Elicitation Methods Data
|
||||||
|
|
||||||
## Core Reflective Methods
|
## Core Reflective Methods
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# User-Defined Preferred Patterns and Preferences
|
# User-Defined Preferred Patterns and Preferences
|
||||||
|
|
||||||
None Listed
|
None Listed
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Test Levels Framework
|
# Test Levels Framework
|
||||||
|
|
||||||
Comprehensive guide for determining appropriate test levels (unit, integration, E2E) for different scenarios.
|
Comprehensive guide for determining appropriate test levels (unit, integration, E2E) for different scenarios.
|
||||||
@@ -25,10 +27,10 @@ Comprehensive guide for determining appropriate test levels (unit, integration,
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
unit_test:
|
unit_test:
|
||||||
component: "PriceCalculator"
|
component: 'PriceCalculator'
|
||||||
scenario: "Calculate discount with multiple rules"
|
scenario: 'Calculate discount with multiple rules'
|
||||||
justification: "Complex business logic with multiple branches"
|
justification: 'Complex business logic with multiple branches'
|
||||||
mock_requirements: "None - pure function"
|
mock_requirements: 'None - pure function'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Integration Tests
|
### Integration Tests
|
||||||
@@ -52,10 +54,10 @@ unit_test:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
integration_test:
|
integration_test:
|
||||||
components: ["UserService", "AuthRepository"]
|
components: ['UserService', 'AuthRepository']
|
||||||
scenario: "Create user with role assignment"
|
scenario: 'Create user with role assignment'
|
||||||
justification: "Critical data flow between service and persistence"
|
justification: 'Critical data flow between service and persistence'
|
||||||
test_environment: "In-memory database"
|
test_environment: 'In-memory database'
|
||||||
```
|
```
|
||||||
|
|
||||||
### End-to-End Tests
|
### End-to-End Tests
|
||||||
@@ -79,10 +81,10 @@ integration_test:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
e2e_test:
|
e2e_test:
|
||||||
journey: "Complete checkout process"
|
journey: 'Complete checkout process'
|
||||||
scenario: "User purchases with saved payment method"
|
scenario: 'User purchases with saved payment method'
|
||||||
justification: "Revenue-critical path requiring full validation"
|
justification: 'Revenue-critical path requiring full validation'
|
||||||
environment: "Staging with test payment gateway"
|
environment: 'Staging with test payment gateway'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Test Level Selection Rules
|
## Test Level Selection Rules
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Test Priorities Matrix
|
# Test Priorities Matrix
|
||||||
|
|
||||||
Guide for prioritizing test scenarios based on risk, criticality, and business impact.
|
Guide for prioritizing test scenarios based on risk, criticality, and business impact.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Advanced Elicitation Task
|
# Advanced Elicitation Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
150
bmad-core/tasks/apply-qa-fixes.md
Normal file
150
bmad-core/tasks/apply-qa-fixes.md
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
|
# 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
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Create Brownfield Epic Task
|
# Create Brownfield Epic Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Create Brownfield Story Task
|
# Create Brownfield Story Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Correct Course Task
|
# Correct Course Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Create Brownfield Story Task
|
# Create Brownfield Story Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Create Deep Research Prompt Task
|
# Create Deep Research Prompt Task
|
||||||
|
|
||||||
This task helps create comprehensive research prompts for various types of deep analysis. It can process inputs from brainstorming sessions, project briefs, market research, or specific research questions to generate targeted prompts for deeper investigation.
|
This task helps create comprehensive research prompts for various types of deep analysis. It can process inputs from brainstorming sessions, project briefs, market research, or specific research questions to generate targeted prompts for deeper investigation.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Create Next Story Task
|
# Create Next Story Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Document an Existing Project
|
# Document an Existing Project
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
---
|
## <!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
docOutputLocation: docs/brainstorming-session-results.md
|
docOutputLocation: docs/brainstorming-session-results.md
|
||||||
template: "{root}/templates/brainstorming-output-tmpl.yaml"
|
template: '{root}/templates/brainstorming-output-tmpl.yaml'
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Facilitate Brainstorming Session Task
|
# Facilitate Brainstorming Session Task
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Create AI Frontend Prompt Task
|
# Create AI Frontend Prompt Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Index Documentation Task
|
# Index Documentation Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# KB Mode Interaction Task
|
# KB Mode Interaction Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# nfr-assess
|
# nfr-assess
|
||||||
|
|
||||||
Quick NFR validation focused on the core four: security, performance, reliability, maintainability.
|
Quick NFR validation focused on the core four: security, performance, reliability, maintainability.
|
||||||
@@ -6,26 +8,28 @@ Quick NFR validation focused on the core four: security, performance, reliabilit
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
required:
|
required:
|
||||||
- story_id: "{epic}.{story}" # e.g., "1.3"
|
- 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:
|
optional:
|
||||||
- architecture_refs: "docs/architecture/*.md"
|
- architecture_refs: `bmad-core/core-config.yaml` for the `architecture.architectureFile`
|
||||||
- technical_preferences: "docs/technical-preferences.md"
|
- technical_preferences: `bmad-core/core-config.yaml` for the `technicalPreferences`
|
||||||
- acceptance_criteria: From story file
|
- acceptance_criteria: From story file
|
||||||
```
|
```
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|
||||||
Assess non-functional requirements for a story and generate:
|
Assess non-functional requirements for a story and generate:
|
||||||
|
|
||||||
1. YAML block for the gate file's `nfr_validation` section
|
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
|
## Process
|
||||||
|
|
||||||
### 0. Fail-safe for Missing Inputs
|
### 0. Fail-safe for Missing Inputs
|
||||||
|
|
||||||
If story_path or story file can't be found:
|
If story_path or story file can't be found:
|
||||||
|
|
||||||
- Still create assessment file with note: "Source story not found"
|
- Still create assessment file with note: "Source story not found"
|
||||||
- Set all selected NFRs to CONCERNS with notes: "Target unknown / evidence missing"
|
- Set all selected NFRs to CONCERNS with notes: "Target unknown / evidence missing"
|
||||||
- Continue with assessment to provide value
|
- Continue with assessment to provide value
|
||||||
@@ -38,7 +42,7 @@ If story_path or story file can't be found:
|
|||||||
```text
|
```text
|
||||||
Which NFRs should I assess? (Enter numbers or press Enter for default)
|
Which NFRs should I assess? (Enter numbers or press Enter for default)
|
||||||
[1] Security (default)
|
[1] Security (default)
|
||||||
[2] Performance (default)
|
[2] Performance (default)
|
||||||
[3] Reliability (default)
|
[3] Reliability (default)
|
||||||
[4] Maintainability (default)
|
[4] Maintainability (default)
|
||||||
[5] Usability
|
[5] Usability
|
||||||
@@ -52,6 +56,7 @@ Which NFRs should I assess? (Enter numbers or press Enter for default)
|
|||||||
### 2. Check for Thresholds
|
### 2. Check for Thresholds
|
||||||
|
|
||||||
Look for NFR requirements in:
|
Look for NFR requirements in:
|
||||||
|
|
||||||
- Story acceptance criteria
|
- Story acceptance criteria
|
||||||
- `docs/architecture/*.md` files
|
- `docs/architecture/*.md` files
|
||||||
- `docs/technical-preferences.md`
|
- `docs/technical-preferences.md`
|
||||||
@@ -72,6 +77,7 @@ No security requirements found. Required auth method?
|
|||||||
### 3. Quick Assessment
|
### 3. Quick Assessment
|
||||||
|
|
||||||
For each selected NFR, check:
|
For each selected NFR, check:
|
||||||
|
|
||||||
- Is there evidence it's implemented?
|
- Is there evidence it's implemented?
|
||||||
- Can we validate it?
|
- Can we validate it?
|
||||||
- Are there obvious gaps?
|
- Are there obvious gaps?
|
||||||
@@ -86,24 +92,24 @@ Generate ONLY for NFRs actually assessed (no placeholders):
|
|||||||
# Gate YAML (copy/paste):
|
# Gate YAML (copy/paste):
|
||||||
nfr_validation:
|
nfr_validation:
|
||||||
_assessed: [security, performance, reliability, maintainability]
|
_assessed: [security, performance, reliability, maintainability]
|
||||||
security:
|
security:
|
||||||
status: CONCERNS
|
status: CONCERNS
|
||||||
notes: "No rate limiting on auth endpoints"
|
notes: 'No rate limiting on auth endpoints'
|
||||||
performance:
|
performance:
|
||||||
status: PASS
|
status: PASS
|
||||||
notes: "Response times < 200ms verified"
|
notes: 'Response times < 200ms verified'
|
||||||
reliability:
|
reliability:
|
||||||
status: PASS
|
status: PASS
|
||||||
notes: "Error handling and retries implemented"
|
notes: 'Error handling and retries implemented'
|
||||||
maintainability:
|
maintainability:
|
||||||
status: CONCERNS
|
status: CONCERNS
|
||||||
notes: "Test coverage at 65%, target is 80%"
|
notes: 'Test coverage at 65%, target is 80%'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Deterministic Status Rules
|
## Deterministic Status Rules
|
||||||
|
|
||||||
- **FAIL**: Any selected NFR has critical gap or target clearly not met
|
- **FAIL**: Any selected NFR has critical gap or target clearly not met
|
||||||
- **CONCERNS**: No FAILs, but any NFR is unknown/partial/missing evidence
|
- **CONCERNS**: No FAILs, but any NFR is unknown/partial/missing evidence
|
||||||
- **PASS**: All selected NFRs meet targets with evidence
|
- **PASS**: All selected NFRs meet targets with evidence
|
||||||
|
|
||||||
## Quality Score Calculation
|
## Quality Score Calculation
|
||||||
@@ -119,22 +125,25 @@ If `technical-preferences.md` defines custom weights, use those instead.
|
|||||||
|
|
||||||
## Output 2: Brief Assessment Report
|
## 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
|
```markdown
|
||||||
# NFR Assessment: {epic}.{story}
|
# NFR Assessment: {epic}.{story}
|
||||||
|
|
||||||
Date: {date}
|
Date: {date}
|
||||||
Reviewer: Quinn
|
Reviewer: Quinn
|
||||||
|
|
||||||
<!-- Note: Source story not found (if applicable) -->
|
<!-- Note: Source story not found (if applicable) -->
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
- Security: CONCERNS - Missing rate limiting
|
- Security: CONCERNS - Missing rate limiting
|
||||||
- Performance: PASS - Meets <200ms requirement
|
- Performance: PASS - Meets <200ms requirement
|
||||||
- Reliability: PASS - Proper error handling
|
- Reliability: PASS - Proper error handling
|
||||||
- Maintainability: CONCERNS - Test coverage below target
|
- Maintainability: CONCERNS - Test coverage below target
|
||||||
|
|
||||||
## Critical Issues
|
## Critical Issues
|
||||||
|
|
||||||
1. **No rate limiting** (Security)
|
1. **No rate limiting** (Security)
|
||||||
- Risk: Brute force attacks possible
|
- Risk: Brute force attacks possible
|
||||||
- Fix: Add rate limiting middleware to auth endpoints
|
- Fix: Add rate limiting middleware to auth endpoints
|
||||||
@@ -144,6 +153,7 @@ Reviewer: Quinn
|
|||||||
- Fix: Add tests for uncovered branches
|
- Fix: Add tests for uncovered branches
|
||||||
|
|
||||||
## Quick Wins
|
## Quick Wins
|
||||||
|
|
||||||
- Add rate limiting: ~2 hours
|
- Add rate limiting: ~2 hours
|
||||||
- Increase test coverage: ~4 hours
|
- Increase test coverage: ~4 hours
|
||||||
- Add performance monitoring: ~1 hour
|
- Add performance monitoring: ~1 hour
|
||||||
@@ -152,80 +162,98 @@ Reviewer: Quinn
|
|||||||
## Output 3: Story Update Line
|
## Output 3: Story Update Line
|
||||||
|
|
||||||
**End with this line for the review task to quote:**
|
**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
|
## Output 4: Gate Integration Line
|
||||||
|
|
||||||
**Always print at the end:**
|
**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
|
## Assessment Criteria
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
||||||
**PASS if:**
|
**PASS if:**
|
||||||
|
|
||||||
- Authentication implemented
|
- Authentication implemented
|
||||||
- Authorization enforced
|
- Authorization enforced
|
||||||
- Input validation present
|
- Input validation present
|
||||||
- No hardcoded secrets
|
- No hardcoded secrets
|
||||||
|
|
||||||
**CONCERNS if:**
|
**CONCERNS if:**
|
||||||
|
|
||||||
- Missing rate limiting
|
- Missing rate limiting
|
||||||
- Weak encryption
|
- Weak encryption
|
||||||
- Incomplete authorization
|
- Incomplete authorization
|
||||||
|
|
||||||
**FAIL if:**
|
**FAIL if:**
|
||||||
|
|
||||||
- No authentication
|
- No authentication
|
||||||
- Hardcoded credentials
|
- Hardcoded credentials
|
||||||
- SQL injection vulnerabilities
|
- SQL injection vulnerabilities
|
||||||
|
|
||||||
### Performance
|
### Performance
|
||||||
|
|
||||||
**PASS if:**
|
**PASS if:**
|
||||||
|
|
||||||
- Meets response time targets
|
- Meets response time targets
|
||||||
- No obvious bottlenecks
|
- No obvious bottlenecks
|
||||||
- Reasonable resource usage
|
- Reasonable resource usage
|
||||||
|
|
||||||
**CONCERNS if:**
|
**CONCERNS if:**
|
||||||
|
|
||||||
- Close to limits
|
- Close to limits
|
||||||
- Missing indexes
|
- Missing indexes
|
||||||
- No caching strategy
|
- No caching strategy
|
||||||
|
|
||||||
**FAIL if:**
|
**FAIL if:**
|
||||||
|
|
||||||
- Exceeds response time limits
|
- Exceeds response time limits
|
||||||
- Memory leaks
|
- Memory leaks
|
||||||
- Unoptimized queries
|
- Unoptimized queries
|
||||||
|
|
||||||
### Reliability
|
### Reliability
|
||||||
|
|
||||||
**PASS if:**
|
**PASS if:**
|
||||||
|
|
||||||
- Error handling present
|
- Error handling present
|
||||||
- Graceful degradation
|
- Graceful degradation
|
||||||
- Retry logic where needed
|
- Retry logic where needed
|
||||||
|
|
||||||
**CONCERNS if:**
|
**CONCERNS if:**
|
||||||
|
|
||||||
- Some error cases unhandled
|
- Some error cases unhandled
|
||||||
- No circuit breakers
|
- No circuit breakers
|
||||||
- Missing health checks
|
- Missing health checks
|
||||||
|
|
||||||
**FAIL if:**
|
**FAIL if:**
|
||||||
|
|
||||||
- No error handling
|
- No error handling
|
||||||
- Crashes on errors
|
- Crashes on errors
|
||||||
- No recovery mechanisms
|
- No recovery mechanisms
|
||||||
|
|
||||||
### Maintainability
|
### Maintainability
|
||||||
|
|
||||||
**PASS if:**
|
**PASS if:**
|
||||||
|
|
||||||
- Test coverage meets target
|
- Test coverage meets target
|
||||||
- Code well-structured
|
- Code well-structured
|
||||||
- Documentation present
|
- Documentation present
|
||||||
|
|
||||||
**CONCERNS if:**
|
**CONCERNS if:**
|
||||||
|
|
||||||
- Test coverage below target
|
- Test coverage below target
|
||||||
- Some code duplication
|
- Some code duplication
|
||||||
- Missing documentation
|
- Missing documentation
|
||||||
|
|
||||||
**FAIL if:**
|
**FAIL if:**
|
||||||
|
|
||||||
- No tests
|
- No tests
|
||||||
- Highly coupled code
|
- Highly coupled code
|
||||||
- No documentation
|
- No documentation
|
||||||
@@ -283,7 +311,7 @@ maintainability:
|
|||||||
|
|
||||||
1. **Functional Suitability**: Completeness, correctness, appropriateness
|
1. **Functional Suitability**: Completeness, correctness, appropriateness
|
||||||
2. **Performance Efficiency**: Time behavior, resource use, capacity
|
2. **Performance Efficiency**: Time behavior, resource use, capacity
|
||||||
3. **Compatibility**: Co-existence, interoperability
|
3. **Compatibility**: Co-existence, interoperability
|
||||||
4. **Usability**: Learnability, operability, accessibility
|
4. **Usability**: Learnability, operability, accessibility
|
||||||
5. **Reliability**: Maturity, availability, fault tolerance
|
5. **Reliability**: Maturity, availability, fault tolerance
|
||||||
6. **Security**: Confidentiality, integrity, authenticity
|
6. **Security**: Confidentiality, integrity, authenticity
|
||||||
@@ -291,6 +319,7 @@ maintainability:
|
|||||||
8. **Portability**: Adaptability, installability
|
8. **Portability**: Adaptability, installability
|
||||||
|
|
||||||
Use these when assessing beyond the core four.
|
Use these when assessing beyond the core four.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
@@ -304,12 +333,13 @@ performance_deep_dive:
|
|||||||
p99: 350ms
|
p99: 350ms
|
||||||
database:
|
database:
|
||||||
slow_queries: 2
|
slow_queries: 2
|
||||||
missing_indexes: ["users.email", "orders.user_id"]
|
missing_indexes: ['users.email', 'orders.user_id']
|
||||||
caching:
|
caching:
|
||||||
hit_rate: 0%
|
hit_rate: 0%
|
||||||
recommendation: "Add Redis for session data"
|
recommendation: 'Add Redis for session data'
|
||||||
load_test:
|
load_test:
|
||||||
max_rps: 150
|
max_rps: 150
|
||||||
breaking_point: 200 rps
|
breaking_point: 200 rps
|
||||||
```
|
```
|
||||||
</details>
|
|
||||||
|
</details>
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# qa-gate
|
# qa-gate
|
||||||
|
|
||||||
Create or update a quality gate decision file for a story based on review findings.
|
Create or update a quality gate decision file for a story based on review findings.
|
||||||
@@ -14,7 +16,7 @@ Generate a standalone quality gate file that provides a clear pass/fail decision
|
|||||||
|
|
||||||
## Gate File Location
|
## 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:
|
Slug rules:
|
||||||
|
|
||||||
@@ -27,11 +29,11 @@ Slug rules:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
schema: 1
|
schema: 1
|
||||||
story: "{epic}.{story}"
|
story: '{epic}.{story}'
|
||||||
gate: PASS|CONCERNS|FAIL|WAIVED
|
gate: PASS|CONCERNS|FAIL|WAIVED
|
||||||
status_reason: "1-2 sentence explanation of gate decision"
|
status_reason: '1-2 sentence explanation of gate decision'
|
||||||
reviewer: "Quinn"
|
reviewer: 'Quinn'
|
||||||
updated: "{ISO-8601 timestamp}"
|
updated: '{ISO-8601 timestamp}'
|
||||||
top_issues: [] # Empty array if no issues
|
top_issues: [] # Empty array if no issues
|
||||||
waiver: { active: false } # Only set active: true if WAIVED
|
waiver: { active: false } # Only set active: true if WAIVED
|
||||||
```
|
```
|
||||||
@@ -40,20 +42,20 @@ waiver: { active: false } # Only set active: true if WAIVED
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
schema: 1
|
schema: 1
|
||||||
story: "1.3"
|
story: '1.3'
|
||||||
gate: CONCERNS
|
gate: CONCERNS
|
||||||
status_reason: "Missing rate limiting on auth endpoints poses security risk."
|
status_reason: 'Missing rate limiting on auth endpoints poses security risk.'
|
||||||
reviewer: "Quinn"
|
reviewer: 'Quinn'
|
||||||
updated: "2025-01-12T10:15:00Z"
|
updated: '2025-01-12T10:15:00Z'
|
||||||
top_issues:
|
top_issues:
|
||||||
- id: "SEC-001"
|
- id: 'SEC-001'
|
||||||
severity: high # ONLY: low|medium|high
|
severity: high # ONLY: low|medium|high
|
||||||
finding: "No rate limiting on login endpoint"
|
finding: 'No rate limiting on login endpoint'
|
||||||
suggested_action: "Add rate limiting middleware before production"
|
suggested_action: 'Add rate limiting middleware before production'
|
||||||
- id: "TEST-001"
|
- id: 'TEST-001'
|
||||||
severity: medium
|
severity: medium
|
||||||
finding: "No integration tests for auth flow"
|
finding: 'No integration tests for auth flow'
|
||||||
suggested_action: "Add integration test coverage"
|
suggested_action: 'Add integration test coverage'
|
||||||
waiver: { active: false }
|
waiver: { active: false }
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -61,20 +63,20 @@ waiver: { active: false }
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
schema: 1
|
schema: 1
|
||||||
story: "1.3"
|
story: '1.3'
|
||||||
gate: WAIVED
|
gate: WAIVED
|
||||||
status_reason: "Known issues accepted for MVP release."
|
status_reason: 'Known issues accepted for MVP release.'
|
||||||
reviewer: "Quinn"
|
reviewer: 'Quinn'
|
||||||
updated: "2025-01-12T10:15:00Z"
|
updated: '2025-01-12T10:15:00Z'
|
||||||
top_issues:
|
top_issues:
|
||||||
- id: "PERF-001"
|
- id: 'PERF-001'
|
||||||
severity: low
|
severity: low
|
||||||
finding: "Dashboard loads slowly with 1000+ items"
|
finding: 'Dashboard loads slowly with 1000+ items'
|
||||||
suggested_action: "Implement pagination in next sprint"
|
suggested_action: 'Implement pagination in next sprint'
|
||||||
waiver:
|
waiver:
|
||||||
active: true
|
active: true
|
||||||
reason: "MVP release - performance optimization deferred"
|
reason: 'MVP release - performance optimization deferred'
|
||||||
approved_by: "Product Owner"
|
approved_by: 'Product Owner'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Gate Decision Criteria
|
## Gate Decision Criteria
|
||||||
@@ -124,11 +126,13 @@ waiver:
|
|||||||
|
|
||||||
## Output Requirements
|
## 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:
|
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
|
3. Keep status_reason to 1-2 sentences maximum
|
||||||
4. Use severity values exactly: `low`, `medium`, or `high`
|
4. Use severity values exactly: `low`, `medium`, or `high`
|
||||||
|
|
||||||
@@ -147,7 +151,7 @@ After creating gate file, append to story's QA Results section:
|
|||||||
|
|
||||||
### Gate Status
|
### Gate Status
|
||||||
|
|
||||||
Gate: CONCERNS → docs/qa/gates/1.3-user-auth-login.yml
|
Gate: CONCERNS → qa.qaLocation/gates/{epic}.{story}-{slug}.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
## Key Principles
|
## Key Principles
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# review-story
|
# review-story
|
||||||
|
|
||||||
Perform a comprehensive test architecture review with quality gate decision. This adaptive, risk-aware review creates both a story update and a detailed gate file.
|
Perform a comprehensive test architecture review with quality gate decision. This adaptive, risk-aware review creates both a story update and a detailed gate file.
|
||||||
@@ -6,10 +8,10 @@ Perform a comprehensive test architecture review with quality gate decision. Thi
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
required:
|
required:
|
||||||
- story_id: "{epic}.{story}" # e.g., "1.3"
|
- story_id: '{epic}.{story}' # e.g., "1.3"
|
||||||
- story_path: "{devStoryLocation}/{epic}.{story}.*.md" # Path from core-config.yaml
|
- story_path: '{devStoryLocation}/{epic}.{story}.*.md' # Path from core-config.yaml
|
||||||
- story_title: "{title}" # If missing, derive from story file H1
|
- story_title: '{title}' # If missing, derive from story file H1
|
||||||
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
- story_slug: '{slug}' # If missing, derive from title (lowercase, hyphenated)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
@@ -167,9 +169,9 @@ After review and any refactoring, append your results to the story file in the Q
|
|||||||
|
|
||||||
### Gate Status
|
### Gate Status
|
||||||
|
|
||||||
Gate: {STATUS} → docs/qa/gates/{epic}.{story}-{slug}.yml
|
Gate: {STATUS} → qa.qaLocation/gates/{epic}.{story}-{slug}.yml
|
||||||
Risk profile: docs/qa/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
Risk profile: qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
||||||
NFR assessment: docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
NFR assessment: qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
||||||
|
|
||||||
# Note: Paths should reference core-config.yaml for custom configurations
|
# Note: Paths should reference core-config.yaml for custom configurations
|
||||||
|
|
||||||
@@ -183,27 +185,27 @@ NFR assessment: docs/qa/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
|
|||||||
|
|
||||||
**Template and Directory:**
|
**Template and Directory:**
|
||||||
|
|
||||||
- Render from `templates/qa-gate-tmpl.yaml`
|
- Render from `../templates/qa-gate-tmpl.yaml`
|
||||||
- Create `docs/qa/gates/` directory if missing (or configure in core-config.yaml)
|
- Create directory defined in `qa.qaLocation/gates` (see `bmad-core/core-config.yaml`) if missing
|
||||||
- Save to: `docs/qa/gates/{epic}.{story}-{slug}.yml`
|
- Save to: `qa.qaLocation/gates/{epic}.{story}-{slug}.yml`
|
||||||
|
|
||||||
Gate file structure:
|
Gate file structure:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
schema: 1
|
schema: 1
|
||||||
story: "{epic}.{story}"
|
story: '{epic}.{story}'
|
||||||
story_title: "{story title}"
|
story_title: '{story title}'
|
||||||
gate: PASS|CONCERNS|FAIL|WAIVED
|
gate: PASS|CONCERNS|FAIL|WAIVED
|
||||||
status_reason: "1-2 sentence explanation of gate decision"
|
status_reason: '1-2 sentence explanation of gate decision'
|
||||||
reviewer: "Quinn (Test Architect)"
|
reviewer: 'Quinn (Test Architect)'
|
||||||
updated: "{ISO-8601 timestamp}"
|
updated: '{ISO-8601 timestamp}'
|
||||||
|
|
||||||
top_issues: [] # Empty if no issues
|
top_issues: [] # Empty if no issues
|
||||||
waiver: { active: false } # Set active: true only if WAIVED
|
waiver: { active: false } # Set active: true only if WAIVED
|
||||||
|
|
||||||
# Extended fields (optional but recommended):
|
# Extended fields (optional but recommended):
|
||||||
quality_score: 0-100 # 100 - (20*FAILs) - (10*CONCERNS) or use technical-preferences.md weights
|
quality_score: 0-100 # 100 - (20*FAILs) - (10*CONCERNS) or use technical-preferences.md weights
|
||||||
expires: "{ISO-8601 timestamp}" # Typically 2 weeks from review
|
expires: '{ISO-8601 timestamp}' # Typically 2 weeks from review
|
||||||
|
|
||||||
evidence:
|
evidence:
|
||||||
tests_reviewed: { count }
|
tests_reviewed: { count }
|
||||||
@@ -215,24 +217,24 @@ evidence:
|
|||||||
nfr_validation:
|
nfr_validation:
|
||||||
security:
|
security:
|
||||||
status: PASS|CONCERNS|FAIL
|
status: PASS|CONCERNS|FAIL
|
||||||
notes: "Specific findings"
|
notes: 'Specific findings'
|
||||||
performance:
|
performance:
|
||||||
status: PASS|CONCERNS|FAIL
|
status: PASS|CONCERNS|FAIL
|
||||||
notes: "Specific findings"
|
notes: 'Specific findings'
|
||||||
reliability:
|
reliability:
|
||||||
status: PASS|CONCERNS|FAIL
|
status: PASS|CONCERNS|FAIL
|
||||||
notes: "Specific findings"
|
notes: 'Specific findings'
|
||||||
maintainability:
|
maintainability:
|
||||||
status: PASS|CONCERNS|FAIL
|
status: PASS|CONCERNS|FAIL
|
||||||
notes: "Specific findings"
|
notes: 'Specific findings'
|
||||||
|
|
||||||
recommendations:
|
recommendations:
|
||||||
immediate: # Must fix before production
|
immediate: # Must fix before production
|
||||||
- action: "Add rate limiting"
|
- action: 'Add rate limiting'
|
||||||
refs: ["api/auth/login.ts"]
|
refs: ['api/auth/login.ts']
|
||||||
future: # Can be addressed later
|
future: # Can be addressed later
|
||||||
- action: "Consider caching"
|
- action: 'Consider caching'
|
||||||
refs: ["services/data.ts"]
|
refs: ['services/data.ts']
|
||||||
```
|
```
|
||||||
|
|
||||||
### Gate Decision Criteria
|
### Gate Decision Criteria
|
||||||
@@ -308,7 +310,7 @@ Stop the review and request clarification if:
|
|||||||
After review:
|
After review:
|
||||||
|
|
||||||
1. Update the QA Results section in the story file
|
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)
|
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
|
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
|
5. Always provide constructive feedback and actionable recommendations
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# risk-profile
|
# risk-profile
|
||||||
|
|
||||||
Generate a comprehensive risk assessment matrix for a story implementation using probability × impact analysis.
|
Generate a comprehensive risk assessment matrix for a story implementation using probability × impact analysis.
|
||||||
@@ -6,10 +8,10 @@ Generate a comprehensive risk assessment matrix for a story implementation using
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
required:
|
required:
|
||||||
- story_id: "{epic}.{story}" # e.g., "1.3"
|
- story_id: '{epic}.{story}' # e.g., "1.3"
|
||||||
- story_path: "docs/stories/{epic}.{story}.*.md"
|
- story_path: 'docs/stories/{epic}.{story}.*.md'
|
||||||
- story_title: "{title}" # If missing, derive from story file H1
|
- story_title: '{title}' # If missing, derive from story file H1
|
||||||
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
- story_slug: '{slug}' # If missing, derive from title (lowercase, hyphenated)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -79,14 +81,14 @@ For each category, identify specific risks:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
risk:
|
risk:
|
||||||
id: "SEC-001" # Use prefixes: SEC, PERF, DATA, BUS, OPS, TECH
|
id: 'SEC-001' # Use prefixes: SEC, PERF, DATA, BUS, OPS, TECH
|
||||||
category: security
|
category: security
|
||||||
title: "Insufficient input validation on user forms"
|
title: 'Insufficient input validation on user forms'
|
||||||
description: "Form inputs not properly sanitized could lead to XSS attacks"
|
description: 'Form inputs not properly sanitized could lead to XSS attacks'
|
||||||
affected_components:
|
affected_components:
|
||||||
- "UserRegistrationForm"
|
- 'UserRegistrationForm'
|
||||||
- "ProfileUpdateForm"
|
- 'ProfileUpdateForm'
|
||||||
detection_method: "Code review revealed missing validation"
|
detection_method: 'Code review revealed missing validation'
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Risk Assessment
|
### 2. Risk Assessment
|
||||||
@@ -105,7 +107,7 @@ Evaluate each risk using probability × impact:
|
|||||||
- `Medium (2)`: Moderate consequences (degraded performance, minor data issues)
|
- `Medium (2)`: Moderate consequences (degraded performance, minor data issues)
|
||||||
- `Low (1)`: Minor consequences (cosmetic issues, slight inconvenience)
|
- `Low (1)`: Minor consequences (cosmetic issues, slight inconvenience)
|
||||||
|
|
||||||
**Risk Score = Probability × Impact**
|
### Risk Score = Probability × Impact
|
||||||
|
|
||||||
- 9: Critical Risk (Red)
|
- 9: Critical Risk (Red)
|
||||||
- 6: High Risk (Orange)
|
- 6: High Risk (Orange)
|
||||||
@@ -133,20 +135,20 @@ For each identified risk, provide mitigation:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
mitigation:
|
mitigation:
|
||||||
risk_id: "SEC-001"
|
risk_id: 'SEC-001'
|
||||||
strategy: "preventive" # preventive|detective|corrective
|
strategy: 'preventive' # preventive|detective|corrective
|
||||||
actions:
|
actions:
|
||||||
- "Implement input validation library (e.g., validator.js)"
|
- 'Implement input validation library (e.g., validator.js)'
|
||||||
- "Add CSP headers to prevent XSS execution"
|
- 'Add CSP headers to prevent XSS execution'
|
||||||
- "Sanitize all user inputs before storage"
|
- 'Sanitize all user inputs before storage'
|
||||||
- "Escape all outputs in templates"
|
- 'Escape all outputs in templates'
|
||||||
testing_requirements:
|
testing_requirements:
|
||||||
- "Security testing with OWASP ZAP"
|
- 'Security testing with OWASP ZAP'
|
||||||
- "Manual penetration testing of forms"
|
- 'Manual penetration testing of forms'
|
||||||
- "Unit tests for validation functions"
|
- 'Unit tests for validation functions'
|
||||||
residual_risk: "Low - Some zero-day vulnerabilities may remain"
|
residual_risk: 'Low - Some zero-day vulnerabilities may remain'
|
||||||
owner: "dev"
|
owner: 'dev'
|
||||||
timeline: "Before deployment"
|
timeline: 'Before deployment'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Outputs
|
## Outputs
|
||||||
@@ -172,17 +174,17 @@ risk_summary:
|
|||||||
highest:
|
highest:
|
||||||
id: SEC-001
|
id: SEC-001
|
||||||
score: 9
|
score: 9
|
||||||
title: "XSS on profile form"
|
title: 'XSS on profile form'
|
||||||
recommendations:
|
recommendations:
|
||||||
must_fix:
|
must_fix:
|
||||||
- "Add input sanitization & CSP"
|
- 'Add input sanitization & CSP'
|
||||||
monitor:
|
monitor:
|
||||||
- "Add security alerts for auth endpoints"
|
- 'Add security alerts for auth endpoints'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Output 2: Markdown Report
|
### 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
|
```markdown
|
||||||
# Risk Profile: Story {epic}.{story}
|
# Risk Profile: Story {epic}.{story}
|
||||||
@@ -290,7 +292,7 @@ Review and update risk profile when:
|
|||||||
|
|
||||||
Calculate overall story risk score:
|
Calculate overall story risk score:
|
||||||
|
|
||||||
```
|
```text
|
||||||
Base Score = 100
|
Base Score = 100
|
||||||
For each risk:
|
For each risk:
|
||||||
- Critical (9): Deduct 20 points
|
- Critical (9): Deduct 20 points
|
||||||
@@ -339,8 +341,8 @@ Based on risk profile, recommend:
|
|||||||
|
|
||||||
**Print this line for review task to quote:**
|
**Print this line for review task to quote:**
|
||||||
|
|
||||||
```
|
```text
|
||||||
Risk profile: docs/qa/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
Risk profile: qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
||||||
```
|
```
|
||||||
|
|
||||||
## Key Principles
|
## Key Principles
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Document Sharding Task
|
# Document Sharding Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# test-design
|
# test-design
|
||||||
|
|
||||||
Create comprehensive test scenarios with appropriate test level recommendations for story implementation.
|
Create comprehensive test scenarios with appropriate test level recommendations for story implementation.
|
||||||
@@ -6,10 +8,10 @@ Create comprehensive test scenarios with appropriate test level recommendations
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
required:
|
required:
|
||||||
- story_id: "{epic}.{story}" # e.g., "1.3"
|
- story_id: '{epic}.{story}' # e.g., "1.3"
|
||||||
- story_path: "{devStoryLocation}/{epic}.{story}.*.md" # Path from core-config.yaml
|
- story_path: '{devStoryLocation}/{epic}.{story}.*.md' # Path from core-config.yaml
|
||||||
- story_title: "{title}" # If missing, derive from story file H1
|
- story_title: '{title}' # If missing, derive from story file H1
|
||||||
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
- story_slug: '{slug}' # If missing, derive from title (lowercase, hyphenated)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -62,13 +64,13 @@ For each identified test need, create:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
test_scenario:
|
test_scenario:
|
||||||
id: "{epic}.{story}-{LEVEL}-{SEQ}"
|
id: '{epic}.{story}-{LEVEL}-{SEQ}'
|
||||||
requirement: "AC reference"
|
requirement: 'AC reference'
|
||||||
priority: P0|P1|P2|P3
|
priority: P0|P1|P2|P3
|
||||||
level: unit|integration|e2e
|
level: unit|integration|e2e
|
||||||
description: "What is being tested"
|
description: 'What is being tested'
|
||||||
justification: "Why this level was chosen"
|
justification: 'Why this level was chosen'
|
||||||
mitigates_risks: ["RISK-001"] # If risk profile exists
|
mitigates_risks: ['RISK-001'] # If risk profile exists
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. Validate Coverage
|
### 5. Validate Coverage
|
||||||
@@ -84,7 +86,7 @@ Ensure:
|
|||||||
|
|
||||||
### Output 1: Test Design Document
|
### 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
|
```markdown
|
||||||
# Test Design: Story {epic}.{story}
|
# Test Design: Story {epic}.{story}
|
||||||
@@ -150,7 +152,7 @@ test_design:
|
|||||||
Print for use by trace-requirements task:
|
Print for use by trace-requirements task:
|
||||||
|
|
||||||
```text
|
```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}
|
P0 tests identified: {count}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# trace-requirements
|
# trace-requirements
|
||||||
|
|
||||||
Map story requirements to test cases using Given-When-Then patterns for comprehensive traceability.
|
Map story requirements to test cases using Given-When-Then patterns for comprehensive traceability.
|
||||||
@@ -31,21 +33,21 @@ Identify all testable requirements from:
|
|||||||
For each requirement, document which tests validate it. Use Given-When-Then to describe what the test validates (not how it's written):
|
For each requirement, document which tests validate it. Use Given-When-Then to describe what the test validates (not how it's written):
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
requirement: "AC1: User can login with valid credentials"
|
requirement: 'AC1: User can login with valid credentials'
|
||||||
test_mappings:
|
test_mappings:
|
||||||
- test_file: "auth/login.test.ts"
|
- test_file: 'auth/login.test.ts'
|
||||||
test_case: "should successfully login with valid email and password"
|
test_case: 'should successfully login with valid email and password'
|
||||||
# Given-When-Then describes WHAT the test validates, not HOW it's coded
|
# Given-When-Then describes WHAT the test validates, not HOW it's coded
|
||||||
given: "A registered user with valid credentials"
|
given: 'A registered user with valid credentials'
|
||||||
when: "They submit the login form"
|
when: 'They submit the login form'
|
||||||
then: "They are redirected to dashboard and session is created"
|
then: 'They are redirected to dashboard and session is created'
|
||||||
coverage: full
|
coverage: full
|
||||||
|
|
||||||
- test_file: "e2e/auth-flow.test.ts"
|
- test_file: 'e2e/auth-flow.test.ts'
|
||||||
test_case: "complete login flow"
|
test_case: 'complete login flow'
|
||||||
given: "User on login page"
|
given: 'User on login page'
|
||||||
when: "Entering valid credentials and submitting"
|
when: 'Entering valid credentials and submitting'
|
||||||
then: "Dashboard loads with user data"
|
then: 'Dashboard loads with user data'
|
||||||
coverage: integration
|
coverage: integration
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -67,19 +69,19 @@ Document any gaps found:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
coverage_gaps:
|
coverage_gaps:
|
||||||
- requirement: "AC3: Password reset email sent within 60 seconds"
|
- requirement: 'AC3: Password reset email sent within 60 seconds'
|
||||||
gap: "No test for email delivery timing"
|
gap: 'No test for email delivery timing'
|
||||||
severity: medium
|
severity: medium
|
||||||
suggested_test:
|
suggested_test:
|
||||||
type: integration
|
type: integration
|
||||||
description: "Test email service SLA compliance"
|
description: 'Test email service SLA compliance'
|
||||||
|
|
||||||
- requirement: "AC5: Support 1000 concurrent users"
|
- requirement: 'AC5: Support 1000 concurrent users'
|
||||||
gap: "No load testing implemented"
|
gap: 'No load testing implemented'
|
||||||
severity: high
|
severity: high
|
||||||
suggested_test:
|
suggested_test:
|
||||||
type: performance
|
type: performance
|
||||||
description: "Load test with 1000 concurrent connections"
|
description: 'Load test with 1000 concurrent connections'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Outputs
|
## Outputs
|
||||||
@@ -95,16 +97,16 @@ trace:
|
|||||||
full: Y
|
full: Y
|
||||||
partial: Z
|
partial: Z
|
||||||
none: W
|
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:
|
uncovered:
|
||||||
- ac: "AC3"
|
- ac: 'AC3'
|
||||||
reason: "No test found for password reset timing"
|
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
|
### 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:
|
Create a traceability report with:
|
||||||
|
|
||||||
@@ -250,7 +252,7 @@ This traceability feeds into quality gates:
|
|||||||
**Print this line for review task to quote:**
|
**Print this line for review task to quote:**
|
||||||
|
|
||||||
```text
|
```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
|
- Full coverage → PASS contribution
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Validate Next Story Task
|
# Validate Next Story Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: architecture-template-v2
|
id: architecture-template-v2
|
||||||
name: Architecture Document
|
name: Architecture Document
|
||||||
@@ -20,20 +21,20 @@ sections:
|
|||||||
- id: intro-content
|
- id: intro-content
|
||||||
content: |
|
content: |
|
||||||
This document outlines the overall project architecture for {{project_name}}, including backend systems, shared services, and non-UI specific concerns. Its primary goal is to serve as the guiding architectural blueprint for AI-driven development, ensuring consistency and adherence to chosen patterns and technologies.
|
This document outlines the overall project architecture for {{project_name}}, including backend systems, shared services, and non-UI specific concerns. Its primary goal is to serve as the guiding architectural blueprint for AI-driven development, ensuring consistency and adherence to chosen patterns and technologies.
|
||||||
|
|
||||||
**Relationship to Frontend Architecture:**
|
**Relationship to Frontend Architecture:**
|
||||||
If the project includes a significant user interface, a separate Frontend Architecture Document will detail the frontend-specific design and MUST be used in conjunction with this document. Core technology stack choices documented herein (see "Tech Stack") are definitive for the entire project, including any frontend components.
|
If the project includes a significant user interface, a separate Frontend Architecture Document will detail the frontend-specific design and MUST be used in conjunction with this document. Core technology stack choices documented herein (see "Tech Stack") are definitive for the entire project, including any frontend components.
|
||||||
- id: starter-template
|
- id: starter-template
|
||||||
title: Starter Template or Existing Project
|
title: Starter Template or Existing Project
|
||||||
instruction: |
|
instruction: |
|
||||||
Before proceeding further with architecture design, check if the project is based on a starter template or existing codebase:
|
Before proceeding further with architecture design, check if the project is based on a starter template or existing codebase:
|
||||||
|
|
||||||
1. Review the PRD and brainstorming brief for any mentions of:
|
1. Review the PRD and brainstorming brief for any mentions of:
|
||||||
- Starter templates (e.g., Create React App, Next.js, Vue CLI, Angular CLI, etc.)
|
- Starter templates (e.g., Create React App, Next.js, Vue CLI, Angular CLI, etc.)
|
||||||
- Existing projects or codebases being used as a foundation
|
- Existing projects or codebases being used as a foundation
|
||||||
- Boilerplate projects or scaffolding tools
|
- Boilerplate projects or scaffolding tools
|
||||||
- Previous projects to be cloned or adapted
|
- Previous projects to be cloned or adapted
|
||||||
|
|
||||||
2. If a starter template or existing project is mentioned:
|
2. If a starter template or existing project is mentioned:
|
||||||
- Ask the user to provide access via one of these methods:
|
- Ask the user to provide access via one of these methods:
|
||||||
- Link to the starter template documentation
|
- Link to the starter template documentation
|
||||||
@@ -46,16 +47,16 @@ sections:
|
|||||||
- Existing architectural patterns and conventions
|
- Existing architectural patterns and conventions
|
||||||
- Any limitations or constraints imposed by the starter
|
- Any limitations or constraints imposed by the starter
|
||||||
- Use this analysis to inform and align your architecture decisions
|
- Use this analysis to inform and align your architecture decisions
|
||||||
|
|
||||||
3. If no starter template is mentioned but this is a greenfield project:
|
3. If no starter template is mentioned but this is a greenfield project:
|
||||||
- Suggest appropriate starter templates based on the tech stack preferences
|
- Suggest appropriate starter templates based on the tech stack preferences
|
||||||
- Explain the benefits (faster setup, best practices, community support)
|
- Explain the benefits (faster setup, best practices, community support)
|
||||||
- Let the user decide whether to use one
|
- Let the user decide whether to use one
|
||||||
|
|
||||||
4. If the user confirms no starter template will be used:
|
4. If the user confirms no starter template will be used:
|
||||||
- Proceed with architecture design from scratch
|
- Proceed with architecture design from scratch
|
||||||
- Note that manual setup will be required for all tooling and configuration
|
- Note that manual setup will be required for all tooling and configuration
|
||||||
|
|
||||||
Document the decision here before proceeding with the architecture design. If none, just say N/A
|
Document the decision here before proceeding with the architecture design. If none, just say N/A
|
||||||
elicit: true
|
elicit: true
|
||||||
- id: changelog
|
- id: changelog
|
||||||
@@ -83,7 +84,7 @@ sections:
|
|||||||
title: High Level Overview
|
title: High Level Overview
|
||||||
instruction: |
|
instruction: |
|
||||||
Based on the PRD's Technical Assumptions section, describe:
|
Based on the PRD's Technical Assumptions section, describe:
|
||||||
|
|
||||||
1. The main architectural style (e.g., Monolith, Microservices, Serverless, Event-Driven)
|
1. The main architectural style (e.g., Monolith, Microservices, Serverless, Event-Driven)
|
||||||
2. Repository structure decision from PRD (Monorepo/Polyrepo)
|
2. Repository structure decision from PRD (Monorepo/Polyrepo)
|
||||||
3. Service architecture decision from PRD
|
3. Service architecture decision from PRD
|
||||||
@@ -100,17 +101,17 @@ sections:
|
|||||||
- Data flow directions
|
- Data flow directions
|
||||||
- External integrations
|
- External integrations
|
||||||
- User entry points
|
- User entry points
|
||||||
|
|
||||||
- id: architectural-patterns
|
- id: architectural-patterns
|
||||||
title: Architectural and Design Patterns
|
title: Architectural and Design Patterns
|
||||||
instruction: |
|
instruction: |
|
||||||
List the key high-level patterns that will guide the architecture. For each pattern:
|
List the key high-level patterns that will guide the architecture. For each pattern:
|
||||||
|
|
||||||
1. Present 2-3 viable options if multiple exist
|
1. Present 2-3 viable options if multiple exist
|
||||||
2. Provide your recommendation with clear rationale
|
2. Provide your recommendation with clear rationale
|
||||||
3. Get user confirmation before finalizing
|
3. Get user confirmation before finalizing
|
||||||
4. These patterns should align with the PRD's technical assumptions and project goals
|
4. These patterns should align with the PRD's technical assumptions and project goals
|
||||||
|
|
||||||
Common patterns to consider:
|
Common patterns to consider:
|
||||||
- Architectural style patterns (Serverless, Event-Driven, Microservices, CQRS, Hexagonal)
|
- Architectural style patterns (Serverless, Event-Driven, Microservices, CQRS, Hexagonal)
|
||||||
- Code organization patterns (Dependency Injection, Repository, Module, Factory)
|
- Code organization patterns (Dependency Injection, Repository, Module, Factory)
|
||||||
@@ -126,23 +127,23 @@ sections:
|
|||||||
title: Tech Stack
|
title: Tech Stack
|
||||||
instruction: |
|
instruction: |
|
||||||
This is the DEFINITIVE technology selection section. Work with the user to make specific choices:
|
This is the DEFINITIVE technology selection section. Work with the user to make specific choices:
|
||||||
|
|
||||||
1. Review PRD technical assumptions and any preferences from {root}/data/technical-preferences.yaml or an attached technical-preferences
|
1. Review PRD technical assumptions and any preferences from {root}/data/technical-preferences.yaml or an attached technical-preferences
|
||||||
2. For each category, present 2-3 viable options with pros/cons
|
2. For each category, present 2-3 viable options with pros/cons
|
||||||
3. Make a clear recommendation based on project needs
|
3. Make a clear recommendation based on project needs
|
||||||
4. Get explicit user approval for each selection
|
4. Get explicit user approval for each selection
|
||||||
5. Document exact versions (avoid "latest" - pin specific versions)
|
5. Document exact versions (avoid "latest" - pin specific versions)
|
||||||
6. This table is the single source of truth - all other docs must reference these choices
|
6. This table is the single source of truth - all other docs must reference these choices
|
||||||
|
|
||||||
Key decisions to finalize - before displaying the table, ensure you are aware of or ask the user about - let the user know if they are not sure on any that you can also provide suggestions with rationale:
|
Key decisions to finalize - before displaying the table, ensure you are aware of or ask the user about - let the user know if they are not sure on any that you can also provide suggestions with rationale:
|
||||||
|
|
||||||
- Starter templates (if any)
|
- Starter templates (if any)
|
||||||
- Languages and runtimes with exact versions
|
- Languages and runtimes with exact versions
|
||||||
- Frameworks and libraries / packages
|
- Frameworks and libraries / packages
|
||||||
- Cloud provider and key services choices
|
- Cloud provider and key services choices
|
||||||
- Database and storage solutions - if unclear suggest sql or nosql or other types depending on the project and depending on cloud provider offer a suggestion
|
- Database and storage solutions - if unclear suggest sql or nosql or other types depending on the project and depending on cloud provider offer a suggestion
|
||||||
- Development tools
|
- Development tools
|
||||||
|
|
||||||
Upon render of the table, ensure the user is aware of the importance of this sections choices, should also look for gaps or disagreements with anything, ask for any clarifications if something is unclear why its in the list, and also right away elicit feedback - this statement and the options should be rendered and then prompt right all before allowing user input.
|
Upon render of the table, ensure the user is aware of the importance of this sections choices, should also look for gaps or disagreements with anything, ask for any clarifications if something is unclear why its in the list, and also right away elicit feedback - this statement and the options should be rendered and then prompt right all before allowing user input.
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -166,13 +167,13 @@ sections:
|
|||||||
title: Data Models
|
title: Data Models
|
||||||
instruction: |
|
instruction: |
|
||||||
Define the core data models/entities:
|
Define the core data models/entities:
|
||||||
|
|
||||||
1. Review PRD requirements and identify key business entities
|
1. Review PRD requirements and identify key business entities
|
||||||
2. For each model, explain its purpose and relationships
|
2. For each model, explain its purpose and relationships
|
||||||
3. Include key attributes and data types
|
3. Include key attributes and data types
|
||||||
4. Show relationships between models
|
4. Show relationships between models
|
||||||
5. Discuss design decisions with user
|
5. Discuss design decisions with user
|
||||||
|
|
||||||
Create a clear conceptual model before moving to database schema.
|
Create a clear conceptual model before moving to database schema.
|
||||||
elicit: true
|
elicit: true
|
||||||
repeatable: true
|
repeatable: true
|
||||||
@@ -181,11 +182,11 @@ sections:
|
|||||||
title: "{{model_name}}"
|
title: "{{model_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** {{model_purpose}}
|
**Purpose:** {{model_purpose}}
|
||||||
|
|
||||||
**Key Attributes:**
|
**Key Attributes:**
|
||||||
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
||||||
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
||||||
|
|
||||||
**Relationships:**
|
**Relationships:**
|
||||||
- {{relationship_1}}
|
- {{relationship_1}}
|
||||||
- {{relationship_2}}
|
- {{relationship_2}}
|
||||||
@@ -194,7 +195,7 @@ sections:
|
|||||||
title: Components
|
title: Components
|
||||||
instruction: |
|
instruction: |
|
||||||
Based on the architectural patterns, tech stack, and data models from above:
|
Based on the architectural patterns, tech stack, and data models from above:
|
||||||
|
|
||||||
1. Identify major logical components/services and their responsibilities
|
1. Identify major logical components/services and their responsibilities
|
||||||
2. Consider the repository structure (monorepo/polyrepo) from PRD
|
2. Consider the repository structure (monorepo/polyrepo) from PRD
|
||||||
3. Define clear boundaries and interfaces between components
|
3. Define clear boundaries and interfaces between components
|
||||||
@@ -203,7 +204,7 @@ sections:
|
|||||||
- Key interfaces/APIs exposed
|
- Key interfaces/APIs exposed
|
||||||
- Dependencies on other components
|
- Dependencies on other components
|
||||||
- Technology specifics based on tech stack choices
|
- Technology specifics based on tech stack choices
|
||||||
|
|
||||||
5. Create component diagrams where helpful
|
5. Create component diagrams where helpful
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -212,13 +213,13 @@ sections:
|
|||||||
title: "{{component_name}}"
|
title: "{{component_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Responsibility:** {{component_description}}
|
**Responsibility:** {{component_description}}
|
||||||
|
|
||||||
**Key Interfaces:**
|
**Key Interfaces:**
|
||||||
- {{interface_1}}
|
- {{interface_1}}
|
||||||
- {{interface_2}}
|
- {{interface_2}}
|
||||||
|
|
||||||
**Dependencies:** {{dependencies}}
|
**Dependencies:** {{dependencies}}
|
||||||
|
|
||||||
**Technology Stack:** {{component_tech_details}}
|
**Technology Stack:** {{component_tech_details}}
|
||||||
- id: component-diagrams
|
- id: component-diagrams
|
||||||
title: Component Diagrams
|
title: Component Diagrams
|
||||||
@@ -235,13 +236,13 @@ sections:
|
|||||||
condition: Project requires external API integrations
|
condition: Project requires external API integrations
|
||||||
instruction: |
|
instruction: |
|
||||||
For each external service integration:
|
For each external service integration:
|
||||||
|
|
||||||
1. Identify APIs needed based on PRD requirements and component design
|
1. Identify APIs needed based on PRD requirements and component design
|
||||||
2. If documentation URLs are unknown, ask user for specifics
|
2. If documentation URLs are unknown, ask user for specifics
|
||||||
3. Document authentication methods and security considerations
|
3. Document authentication methods and security considerations
|
||||||
4. List specific endpoints that will be used
|
4. List specific endpoints that will be used
|
||||||
5. Note any rate limits or usage constraints
|
5. Note any rate limits or usage constraints
|
||||||
|
|
||||||
If no external APIs are needed, state this explicitly and skip to next section.
|
If no external APIs are needed, state this explicitly and skip to next section.
|
||||||
elicit: true
|
elicit: true
|
||||||
repeatable: true
|
repeatable: true
|
||||||
@@ -254,10 +255,10 @@ sections:
|
|||||||
- **Base URL(s):** {{api_base_url}}
|
- **Base URL(s):** {{api_base_url}}
|
||||||
- **Authentication:** {{auth_method}}
|
- **Authentication:** {{auth_method}}
|
||||||
- **Rate Limits:** {{rate_limits}}
|
- **Rate Limits:** {{rate_limits}}
|
||||||
|
|
||||||
**Key Endpoints Used:**
|
**Key Endpoints Used:**
|
||||||
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
||||||
|
|
||||||
**Integration Notes:** {{integration_considerations}}
|
**Integration Notes:** {{integration_considerations}}
|
||||||
|
|
||||||
- id: core-workflows
|
- id: core-workflows
|
||||||
@@ -266,13 +267,13 @@ sections:
|
|||||||
mermaid_type: sequence
|
mermaid_type: sequence
|
||||||
instruction: |
|
instruction: |
|
||||||
Illustrate key system workflows using sequence diagrams:
|
Illustrate key system workflows using sequence diagrams:
|
||||||
|
|
||||||
1. Identify critical user journeys from PRD
|
1. Identify critical user journeys from PRD
|
||||||
2. Show component interactions including external APIs
|
2. Show component interactions including external APIs
|
||||||
3. Include error handling paths
|
3. Include error handling paths
|
||||||
4. Document async operations
|
4. Document async operations
|
||||||
5. Create both high-level and detailed diagrams as needed
|
5. Create both high-level and detailed diagrams as needed
|
||||||
|
|
||||||
Focus on workflows that clarify architecture decisions or complex interactions.
|
Focus on workflows that clarify architecture decisions or complex interactions.
|
||||||
elicit: true
|
elicit: true
|
||||||
|
|
||||||
@@ -283,13 +284,13 @@ sections:
|
|||||||
language: yaml
|
language: yaml
|
||||||
instruction: |
|
instruction: |
|
||||||
If the project includes a REST API:
|
If the project includes a REST API:
|
||||||
|
|
||||||
1. Create an OpenAPI 3.0 specification
|
1. Create an OpenAPI 3.0 specification
|
||||||
2. Include all endpoints from epics/stories
|
2. Include all endpoints from epics/stories
|
||||||
3. Define request/response schemas based on data models
|
3. Define request/response schemas based on data models
|
||||||
4. Document authentication requirements
|
4. Document authentication requirements
|
||||||
5. Include example requests/responses
|
5. Include example requests/responses
|
||||||
|
|
||||||
Use YAML format for better readability. If no REST API, skip this section.
|
Use YAML format for better readability. If no REST API, skip this section.
|
||||||
elicit: true
|
elicit: true
|
||||||
template: |
|
template: |
|
||||||
@@ -306,13 +307,13 @@ sections:
|
|||||||
title: Database Schema
|
title: Database Schema
|
||||||
instruction: |
|
instruction: |
|
||||||
Transform the conceptual data models into concrete database schemas:
|
Transform the conceptual data models into concrete database schemas:
|
||||||
|
|
||||||
1. Use the database type(s) selected in Tech Stack
|
1. Use the database type(s) selected in Tech Stack
|
||||||
2. Create schema definitions using appropriate notation
|
2. Create schema definitions using appropriate notation
|
||||||
3. Include indexes, constraints, and relationships
|
3. Include indexes, constraints, and relationships
|
||||||
4. Consider performance and scalability
|
4. Consider performance and scalability
|
||||||
5. For NoSQL, show document structures
|
5. For NoSQL, show document structures
|
||||||
|
|
||||||
Present schema in format appropriate to database type (SQL DDL, JSON schema, etc.)
|
Present schema in format appropriate to database type (SQL DDL, JSON schema, etc.)
|
||||||
elicit: true
|
elicit: true
|
||||||
|
|
||||||
@@ -322,14 +323,14 @@ sections:
|
|||||||
language: plaintext
|
language: plaintext
|
||||||
instruction: |
|
instruction: |
|
||||||
Create a project folder structure that reflects:
|
Create a project folder structure that reflects:
|
||||||
|
|
||||||
1. The chosen repository structure (monorepo/polyrepo)
|
1. The chosen repository structure (monorepo/polyrepo)
|
||||||
2. The service architecture (monolith/microservices/serverless)
|
2. The service architecture (monolith/microservices/serverless)
|
||||||
3. The selected tech stack and languages
|
3. The selected tech stack and languages
|
||||||
4. Component organization from above
|
4. Component organization from above
|
||||||
5. Best practices for the chosen frameworks
|
5. Best practices for the chosen frameworks
|
||||||
6. Clear separation of concerns
|
6. Clear separation of concerns
|
||||||
|
|
||||||
Adapt the structure based on project needs. For monorepos, show service separation. For serverless, show function organization. Include language-specific conventions.
|
Adapt the structure based on project needs. For monorepos, show service separation. For serverless, show function organization. Include language-specific conventions.
|
||||||
elicit: true
|
elicit: true
|
||||||
examples:
|
examples:
|
||||||
@@ -347,13 +348,13 @@ sections:
|
|||||||
title: Infrastructure and Deployment
|
title: Infrastructure and Deployment
|
||||||
instruction: |
|
instruction: |
|
||||||
Define the deployment architecture and practices:
|
Define the deployment architecture and practices:
|
||||||
|
|
||||||
1. Use IaC tool selected in Tech Stack
|
1. Use IaC tool selected in Tech Stack
|
||||||
2. Choose deployment strategy appropriate for the architecture
|
2. Choose deployment strategy appropriate for the architecture
|
||||||
3. Define environments and promotion flow
|
3. Define environments and promotion flow
|
||||||
4. Establish rollback procedures
|
4. Establish rollback procedures
|
||||||
5. Consider security, monitoring, and cost optimization
|
5. Consider security, monitoring, and cost optimization
|
||||||
|
|
||||||
Get user input on deployment preferences and CI/CD tool choices.
|
Get user input on deployment preferences and CI/CD tool choices.
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -389,13 +390,13 @@ sections:
|
|||||||
title: Error Handling Strategy
|
title: Error Handling Strategy
|
||||||
instruction: |
|
instruction: |
|
||||||
Define comprehensive error handling approach:
|
Define comprehensive error handling approach:
|
||||||
|
|
||||||
1. Choose appropriate patterns for the language/framework from Tech Stack
|
1. Choose appropriate patterns for the language/framework from Tech Stack
|
||||||
2. Define logging standards and tools
|
2. Define logging standards and tools
|
||||||
3. Establish error categories and handling rules
|
3. Establish error categories and handling rules
|
||||||
4. Consider observability and debugging needs
|
4. Consider observability and debugging needs
|
||||||
5. Ensure security (no sensitive data in logs)
|
5. Ensure security (no sensitive data in logs)
|
||||||
|
|
||||||
This section guides both AI and human developers in consistent error handling.
|
This section guides both AI and human developers in consistent error handling.
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -442,13 +443,13 @@ sections:
|
|||||||
title: Coding Standards
|
title: Coding Standards
|
||||||
instruction: |
|
instruction: |
|
||||||
These standards are MANDATORY for AI agents. Work with user to define ONLY the critical rules needed to prevent bad code. Explain that:
|
These standards are MANDATORY for AI agents. Work with user to define ONLY the critical rules needed to prevent bad code. Explain that:
|
||||||
|
|
||||||
1. This section directly controls AI developer behavior
|
1. This section directly controls AI developer behavior
|
||||||
2. Keep it minimal - assume AI knows general best practices
|
2. Keep it minimal - assume AI knows general best practices
|
||||||
3. Focus on project-specific conventions and gotchas
|
3. Focus on project-specific conventions and gotchas
|
||||||
4. Overly detailed standards bloat context and slow development
|
4. Overly detailed standards bloat context and slow development
|
||||||
5. Standards will be extracted to separate file for dev agent use
|
5. Standards will be extracted to separate file for dev agent use
|
||||||
|
|
||||||
For each standard, get explicit user confirmation it's necessary.
|
For each standard, get explicit user confirmation it's necessary.
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -470,7 +471,7 @@ sections:
|
|||||||
- "Never use console.log in production code - use logger"
|
- "Never use console.log in production code - use logger"
|
||||||
- "All API responses must use ApiResponse wrapper type"
|
- "All API responses must use ApiResponse wrapper type"
|
||||||
- "Database queries must use repository pattern, never direct ORM"
|
- "Database queries must use repository pattern, never direct ORM"
|
||||||
|
|
||||||
Avoid obvious rules like "use SOLID principles" or "write clean code"
|
Avoid obvious rules like "use SOLID principles" or "write clean code"
|
||||||
repeatable: true
|
repeatable: true
|
||||||
template: "- **{{rule_name}}:** {{rule_description}}"
|
template: "- **{{rule_name}}:** {{rule_description}}"
|
||||||
@@ -488,14 +489,14 @@ sections:
|
|||||||
title: Test Strategy and Standards
|
title: Test Strategy and Standards
|
||||||
instruction: |
|
instruction: |
|
||||||
Work with user to define comprehensive test strategy:
|
Work with user to define comprehensive test strategy:
|
||||||
|
|
||||||
1. Use test frameworks from Tech Stack
|
1. Use test frameworks from Tech Stack
|
||||||
2. Decide on TDD vs test-after approach
|
2. Decide on TDD vs test-after approach
|
||||||
3. Define test organization and naming
|
3. Define test organization and naming
|
||||||
4. Establish coverage goals
|
4. Establish coverage goals
|
||||||
5. Determine integration test infrastructure
|
5. Determine integration test infrastructure
|
||||||
6. Plan for test data and external dependencies
|
6. Plan for test data and external dependencies
|
||||||
|
|
||||||
Note: Basic info goes in Coding Standards for dev agent. This detailed section is for QA agent and team reference.
|
Note: Basic info goes in Coding Standards for dev agent. This detailed section is for QA agent and team reference.
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -516,7 +517,7 @@ sections:
|
|||||||
- **Location:** {{unit_test_location}}
|
- **Location:** {{unit_test_location}}
|
||||||
- **Mocking Library:** {{mocking_library}}
|
- **Mocking Library:** {{mocking_library}}
|
||||||
- **Coverage Requirement:** {{unit_coverage}}
|
- **Coverage Requirement:** {{unit_coverage}}
|
||||||
|
|
||||||
**AI Agent Requirements:**
|
**AI Agent Requirements:**
|
||||||
- Generate tests for all public methods
|
- Generate tests for all public methods
|
||||||
- Cover edge cases and error conditions
|
- Cover edge cases and error conditions
|
||||||
@@ -558,7 +559,7 @@ sections:
|
|||||||
title: Security
|
title: Security
|
||||||
instruction: |
|
instruction: |
|
||||||
Define MANDATORY security requirements for AI and human developers:
|
Define MANDATORY security requirements for AI and human developers:
|
||||||
|
|
||||||
1. Focus on implementation-specific rules
|
1. Focus on implementation-specific rules
|
||||||
2. Reference security tools from Tech Stack
|
2. Reference security tools from Tech Stack
|
||||||
3. Define clear patterns for common scenarios
|
3. Define clear patterns for common scenarios
|
||||||
@@ -627,16 +628,16 @@ sections:
|
|||||||
title: Next Steps
|
title: Next Steps
|
||||||
instruction: |
|
instruction: |
|
||||||
After completing the architecture:
|
After completing the architecture:
|
||||||
|
|
||||||
1. If project has UI components:
|
1. If project has UI components:
|
||||||
- Use "Frontend Architecture Mode"
|
- Use "Frontend Architecture Mode"
|
||||||
- Provide this document as input
|
- Provide this document as input
|
||||||
|
|
||||||
2. For all projects:
|
2. For all projects:
|
||||||
- Review with Product Owner
|
- Review with Product Owner
|
||||||
- Begin story implementation with Dev agent
|
- Begin story implementation with Dev agent
|
||||||
- Set up infrastructure with DevOps agent
|
- Set up infrastructure with DevOps agent
|
||||||
|
|
||||||
3. Include specific prompts for next agents if needed
|
3. Include specific prompts for next agents if needed
|
||||||
sections:
|
sections:
|
||||||
- id: architect-prompt
|
- id: architect-prompt
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ sections:
|
|||||||
- id: summary-details
|
- id: summary-details
|
||||||
template: |
|
template: |
|
||||||
**Topic:** {{session_topic}}
|
**Topic:** {{session_topic}}
|
||||||
|
|
||||||
**Session Goals:** {{stated_goals}}
|
**Session Goals:** {{stated_goals}}
|
||||||
|
|
||||||
**Techniques Used:** {{techniques_list}}
|
**Techniques Used:** {{techniques_list}}
|
||||||
|
|
||||||
**Total Ideas Generated:** {{total_ideas}}
|
**Total Ideas Generated:** {{total_ideas}}
|
||||||
- id: key-themes
|
- id: key-themes
|
||||||
title: "Key Themes Identified:"
|
title: "Key Themes Identified:"
|
||||||
@@ -152,5 +152,5 @@ sections:
|
|||||||
- id: footer
|
- id: footer
|
||||||
content: |
|
content: |
|
||||||
---
|
---
|
||||||
|
|
||||||
*Session facilitated using the BMAD-METHOD brainstorming framework*
|
*Session facilitated using the BMAD-METHOD™ brainstorming framework*
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: brownfield-architecture-template-v2
|
id: brownfield-architecture-template-v2
|
||||||
name: Brownfield Enhancement Architecture
|
name: Brownfield Enhancement Architecture
|
||||||
@@ -16,40 +17,40 @@ sections:
|
|||||||
title: Introduction
|
title: Introduction
|
||||||
instruction: |
|
instruction: |
|
||||||
IMPORTANT - SCOPE AND ASSESSMENT REQUIRED:
|
IMPORTANT - SCOPE AND ASSESSMENT REQUIRED:
|
||||||
|
|
||||||
This architecture document is for SIGNIFICANT enhancements to existing projects that require comprehensive architectural planning. Before proceeding:
|
This architecture document is for SIGNIFICANT enhancements to existing projects that require comprehensive architectural planning. Before proceeding:
|
||||||
|
|
||||||
1. **Verify Complexity**: Confirm this enhancement requires architectural planning. For simple additions, recommend: "For simpler changes that don't require architectural planning, consider using the brownfield-create-epic or brownfield-create-story task with the Product Owner instead."
|
1. **Verify Complexity**: Confirm this enhancement requires architectural planning. For simple additions, recommend: "For simpler changes that don't require architectural planning, consider using the brownfield-create-epic or brownfield-create-story task with the Product Owner instead."
|
||||||
|
|
||||||
2. **REQUIRED INPUTS**:
|
2. **REQUIRED INPUTS**:
|
||||||
- Completed brownfield-prd.md
|
- Completed brownfield-prd.md
|
||||||
- Existing project technical documentation (from docs folder or user-provided)
|
- Existing project technical documentation (from docs folder or user-provided)
|
||||||
- Access to existing project structure (IDE or uploaded files)
|
- Access to existing project structure (IDE or uploaded files)
|
||||||
|
|
||||||
3. **DEEP ANALYSIS MANDATE**: You MUST conduct thorough analysis of the existing codebase, architecture patterns, and technical constraints before making ANY architectural recommendations. Every suggestion must be based on actual project analysis, not assumptions.
|
3. **DEEP ANALYSIS MANDATE**: You MUST conduct thorough analysis of the existing codebase, architecture patterns, and technical constraints before making ANY architectural recommendations. Every suggestion must be based on actual project analysis, not assumptions.
|
||||||
|
|
||||||
4. **CONTINUOUS VALIDATION**: Throughout this process, explicitly validate your understanding with the user. For every architectural decision, confirm: "Based on my analysis of your existing system, I recommend [decision] because [evidence from actual project]. Does this align with your system's reality?"
|
4. **CONTINUOUS VALIDATION**: Throughout this process, explicitly validate your understanding with the user. For every architectural decision, confirm: "Based on my analysis of your existing system, I recommend [decision] because [evidence from actual project]. Does this align with your system's reality?"
|
||||||
|
|
||||||
If any required inputs are missing, request them before proceeding.
|
If any required inputs are missing, request them before proceeding.
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
- id: intro-content
|
- id: intro-content
|
||||||
content: |
|
content: |
|
||||||
This document outlines the architectural approach for enhancing {{project_name}} with {{enhancement_description}}. Its primary goal is to serve as the guiding architectural blueprint for AI-driven development of new features while ensuring seamless integration with the existing system.
|
This document outlines the architectural approach for enhancing {{project_name}} with {{enhancement_description}}. Its primary goal is to serve as the guiding architectural blueprint for AI-driven development of new features while ensuring seamless integration with the existing system.
|
||||||
|
|
||||||
**Relationship to Existing Architecture:**
|
**Relationship to Existing Architecture:**
|
||||||
This document supplements existing project architecture by defining how new components will integrate with current systems. Where conflicts arise between new and existing patterns, this document provides guidance on maintaining consistency while implementing enhancements.
|
This document supplements existing project architecture by defining how new components will integrate with current systems. Where conflicts arise between new and existing patterns, this document provides guidance on maintaining consistency while implementing enhancements.
|
||||||
- id: existing-project-analysis
|
- id: existing-project-analysis
|
||||||
title: Existing Project Analysis
|
title: Existing Project Analysis
|
||||||
instruction: |
|
instruction: |
|
||||||
Analyze the existing project structure and architecture:
|
Analyze the existing project structure and architecture:
|
||||||
|
|
||||||
1. Review existing documentation in docs folder
|
1. Review existing documentation in docs folder
|
||||||
2. Examine current technology stack and versions
|
2. Examine current technology stack and versions
|
||||||
3. Identify existing architectural patterns and conventions
|
3. Identify existing architectural patterns and conventions
|
||||||
4. Note current deployment and infrastructure setup
|
4. Note current deployment and infrastructure setup
|
||||||
5. Document any constraints or limitations
|
5. Document any constraints or limitations
|
||||||
|
|
||||||
CRITICAL: After your analysis, explicitly validate your findings: "Based on my analysis of your project, I've identified the following about your existing system: [key findings]. Please confirm these observations are accurate before I proceed with architectural recommendations."
|
CRITICAL: After your analysis, explicitly validate your findings: "Based on my analysis of your project, I've identified the following about your existing system: [key findings]. Please confirm these observations are accurate before I proceed with architectural recommendations."
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -78,12 +79,12 @@ sections:
|
|||||||
title: Enhancement Scope and Integration Strategy
|
title: Enhancement Scope and Integration Strategy
|
||||||
instruction: |
|
instruction: |
|
||||||
Define how the enhancement will integrate with the existing system:
|
Define how the enhancement will integrate with the existing system:
|
||||||
|
|
||||||
1. Review the brownfield PRD enhancement scope
|
1. Review the brownfield PRD enhancement scope
|
||||||
2. Identify integration points with existing code
|
2. Identify integration points with existing code
|
||||||
3. Define boundaries between new and existing functionality
|
3. Define boundaries between new and existing functionality
|
||||||
4. Establish compatibility requirements
|
4. Establish compatibility requirements
|
||||||
|
|
||||||
VALIDATION CHECKPOINT: Before presenting the integration strategy, confirm: "Based on my analysis, the integration approach I'm proposing takes into account [specific existing system characteristics]. These integration points and boundaries respect your current architecture patterns. Is this assessment accurate?"
|
VALIDATION CHECKPOINT: Before presenting the integration strategy, confirm: "Based on my analysis, the integration approach I'm proposing takes into account [specific existing system characteristics]. These integration points and boundaries respect your current architecture patterns. Is this assessment accurate?"
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -112,7 +113,7 @@ sections:
|
|||||||
title: Tech Stack Alignment
|
title: Tech Stack Alignment
|
||||||
instruction: |
|
instruction: |
|
||||||
Ensure new components align with existing technology choices:
|
Ensure new components align with existing technology choices:
|
||||||
|
|
||||||
1. Use existing technology stack as the foundation
|
1. Use existing technology stack as the foundation
|
||||||
2. Only introduce new technologies if absolutely necessary
|
2. Only introduce new technologies if absolutely necessary
|
||||||
3. Justify any new additions with clear rationale
|
3. Justify any new additions with clear rationale
|
||||||
@@ -135,7 +136,7 @@ sections:
|
|||||||
title: Data Models and Schema Changes
|
title: Data Models and Schema Changes
|
||||||
instruction: |
|
instruction: |
|
||||||
Define new data models and how they integrate with existing schema:
|
Define new data models and how they integrate with existing schema:
|
||||||
|
|
||||||
1. Identify new entities required for the enhancement
|
1. Identify new entities required for the enhancement
|
||||||
2. Define relationships with existing data models
|
2. Define relationships with existing data models
|
||||||
3. Plan database schema changes (additions, modifications)
|
3. Plan database schema changes (additions, modifications)
|
||||||
@@ -151,11 +152,11 @@ sections:
|
|||||||
template: |
|
template: |
|
||||||
**Purpose:** {{model_purpose}}
|
**Purpose:** {{model_purpose}}
|
||||||
**Integration:** {{integration_with_existing}}
|
**Integration:** {{integration_with_existing}}
|
||||||
|
|
||||||
**Key Attributes:**
|
**Key Attributes:**
|
||||||
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
||||||
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
||||||
|
|
||||||
**Relationships:**
|
**Relationships:**
|
||||||
- **With Existing:** {{existing_relationships}}
|
- **With Existing:** {{existing_relationships}}
|
||||||
- **With New:** {{new_relationships}}
|
- **With New:** {{new_relationships}}
|
||||||
@@ -167,7 +168,7 @@ sections:
|
|||||||
- **Modified Tables:** {{modified_tables_list}}
|
- **Modified Tables:** {{modified_tables_list}}
|
||||||
- **New Indexes:** {{new_indexes_list}}
|
- **New Indexes:** {{new_indexes_list}}
|
||||||
- **Migration Strategy:** {{migration_approach}}
|
- **Migration Strategy:** {{migration_approach}}
|
||||||
|
|
||||||
**Backward Compatibility:**
|
**Backward Compatibility:**
|
||||||
- {{compatibility_measure_1}}
|
- {{compatibility_measure_1}}
|
||||||
- {{compatibility_measure_2}}
|
- {{compatibility_measure_2}}
|
||||||
@@ -176,12 +177,12 @@ sections:
|
|||||||
title: Component Architecture
|
title: Component Architecture
|
||||||
instruction: |
|
instruction: |
|
||||||
Define new components and their integration with existing architecture:
|
Define new components and their integration with existing architecture:
|
||||||
|
|
||||||
1. Identify new components required for the enhancement
|
1. Identify new components required for the enhancement
|
||||||
2. Define interfaces with existing components
|
2. Define interfaces with existing components
|
||||||
3. Establish clear boundaries and responsibilities
|
3. Establish clear boundaries and responsibilities
|
||||||
4. Plan integration points and data flow
|
4. Plan integration points and data flow
|
||||||
|
|
||||||
MANDATORY VALIDATION: Before presenting component architecture, confirm: "The new components I'm proposing follow the existing architectural patterns I identified in your codebase: [specific patterns]. The integration interfaces respect your current component structure and communication patterns. Does this match your project's reality?"
|
MANDATORY VALIDATION: Before presenting component architecture, confirm: "The new components I'm proposing follow the existing architectural patterns I identified in your codebase: [specific patterns]. The integration interfaces respect your current component structure and communication patterns. Does this match your project's reality?"
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -194,15 +195,15 @@ sections:
|
|||||||
template: |
|
template: |
|
||||||
**Responsibility:** {{component_description}}
|
**Responsibility:** {{component_description}}
|
||||||
**Integration Points:** {{integration_points}}
|
**Integration Points:** {{integration_points}}
|
||||||
|
|
||||||
**Key Interfaces:**
|
**Key Interfaces:**
|
||||||
- {{interface_1}}
|
- {{interface_1}}
|
||||||
- {{interface_2}}
|
- {{interface_2}}
|
||||||
|
|
||||||
**Dependencies:**
|
**Dependencies:**
|
||||||
- **Existing Components:** {{existing_dependencies}}
|
- **Existing Components:** {{existing_dependencies}}
|
||||||
- **New Components:** {{new_dependencies}}
|
- **New Components:** {{new_dependencies}}
|
||||||
|
|
||||||
**Technology Stack:** {{component_tech_details}}
|
**Technology Stack:** {{component_tech_details}}
|
||||||
- id: interaction-diagram
|
- id: interaction-diagram
|
||||||
title: Component Interaction Diagram
|
title: Component Interaction Diagram
|
||||||
@@ -215,7 +216,7 @@ sections:
|
|||||||
condition: Enhancement requires API changes
|
condition: Enhancement requires API changes
|
||||||
instruction: |
|
instruction: |
|
||||||
Define new API endpoints and integration with existing APIs:
|
Define new API endpoints and integration with existing APIs:
|
||||||
|
|
||||||
1. Plan new API endpoints required for the enhancement
|
1. Plan new API endpoints required for the enhancement
|
||||||
2. Ensure consistency with existing API patterns
|
2. Ensure consistency with existing API patterns
|
||||||
3. Define authentication and authorization integration
|
3. Define authentication and authorization integration
|
||||||
@@ -265,17 +266,17 @@ sections:
|
|||||||
- **Base URL:** {{api_base_url}}
|
- **Base URL:** {{api_base_url}}
|
||||||
- **Authentication:** {{auth_method}}
|
- **Authentication:** {{auth_method}}
|
||||||
- **Integration Method:** {{integration_approach}}
|
- **Integration Method:** {{integration_approach}}
|
||||||
|
|
||||||
**Key Endpoints Used:**
|
**Key Endpoints Used:**
|
||||||
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
||||||
|
|
||||||
**Error Handling:** {{error_handling_strategy}}
|
**Error Handling:** {{error_handling_strategy}}
|
||||||
|
|
||||||
- id: source-tree-integration
|
- id: source-tree-integration
|
||||||
title: Source Tree Integration
|
title: Source Tree Integration
|
||||||
instruction: |
|
instruction: |
|
||||||
Define how new code will integrate with existing project structure:
|
Define how new code will integrate with existing project structure:
|
||||||
|
|
||||||
1. Follow existing project organization patterns
|
1. Follow existing project organization patterns
|
||||||
2. Identify where new files/folders will be placed
|
2. Identify where new files/folders will be placed
|
||||||
3. Ensure consistency with existing naming conventions
|
3. Ensure consistency with existing naming conventions
|
||||||
@@ -314,7 +315,7 @@ sections:
|
|||||||
title: Infrastructure and Deployment Integration
|
title: Infrastructure and Deployment Integration
|
||||||
instruction: |
|
instruction: |
|
||||||
Define how the enhancement will be deployed alongside existing infrastructure:
|
Define how the enhancement will be deployed alongside existing infrastructure:
|
||||||
|
|
||||||
1. Use existing deployment pipeline and infrastructure
|
1. Use existing deployment pipeline and infrastructure
|
||||||
2. Identify any infrastructure changes needed
|
2. Identify any infrastructure changes needed
|
||||||
3. Plan deployment strategy to minimize risk
|
3. Plan deployment strategy to minimize risk
|
||||||
@@ -344,7 +345,7 @@ sections:
|
|||||||
title: Coding Standards and Conventions
|
title: Coding Standards and Conventions
|
||||||
instruction: |
|
instruction: |
|
||||||
Ensure new code follows existing project conventions:
|
Ensure new code follows existing project conventions:
|
||||||
|
|
||||||
1. Document existing coding standards from project analysis
|
1. Document existing coding standards from project analysis
|
||||||
2. Identify any enhancement-specific requirements
|
2. Identify any enhancement-specific requirements
|
||||||
3. Ensure consistency with existing codebase patterns
|
3. Ensure consistency with existing codebase patterns
|
||||||
@@ -375,7 +376,7 @@ sections:
|
|||||||
title: Testing Strategy
|
title: Testing Strategy
|
||||||
instruction: |
|
instruction: |
|
||||||
Define testing approach for the enhancement:
|
Define testing approach for the enhancement:
|
||||||
|
|
||||||
1. Integrate with existing test suite
|
1. Integrate with existing test suite
|
||||||
2. Ensure existing functionality remains intact
|
2. Ensure existing functionality remains intact
|
||||||
3. Plan for testing new features
|
3. Plan for testing new features
|
||||||
@@ -415,7 +416,7 @@ sections:
|
|||||||
title: Security Integration
|
title: Security Integration
|
||||||
instruction: |
|
instruction: |
|
||||||
Ensure security consistency with existing system:
|
Ensure security consistency with existing system:
|
||||||
|
|
||||||
1. Follow existing security patterns and tools
|
1. Follow existing security patterns and tools
|
||||||
2. Ensure new features don't introduce vulnerabilities
|
2. Ensure new features don't introduce vulnerabilities
|
||||||
3. Maintain existing security posture
|
3. Maintain existing security posture
|
||||||
@@ -450,7 +451,7 @@ sections:
|
|||||||
title: Next Steps
|
title: Next Steps
|
||||||
instruction: |
|
instruction: |
|
||||||
After completing the brownfield architecture:
|
After completing the brownfield architecture:
|
||||||
|
|
||||||
1. Review integration points with existing system
|
1. Review integration points with existing system
|
||||||
2. Begin story implementation with Dev agent
|
2. Begin story implementation with Dev agent
|
||||||
3. Set up deployment pipeline integration
|
3. Set up deployment pipeline integration
|
||||||
@@ -473,4 +474,4 @@ sections:
|
|||||||
- Integration requirements with existing codebase validated with user
|
- Integration requirements with existing codebase validated with user
|
||||||
- Key technical decisions based on real project constraints
|
- Key technical decisions based on real project constraints
|
||||||
- Existing system compatibility requirements with specific verification steps
|
- Existing system compatibility requirements with specific verification steps
|
||||||
- Clear sequencing of implementation to minimize risk to existing functionality
|
- Clear sequencing of implementation to minimize risk to existing functionality
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: brownfield-prd-template-v2
|
id: brownfield-prd-template-v2
|
||||||
name: Brownfield Enhancement PRD
|
name: Brownfield Enhancement PRD
|
||||||
@@ -16,19 +17,19 @@ sections:
|
|||||||
title: Intro Project Analysis and Context
|
title: Intro Project Analysis and Context
|
||||||
instruction: |
|
instruction: |
|
||||||
IMPORTANT - SCOPE ASSESSMENT REQUIRED:
|
IMPORTANT - SCOPE ASSESSMENT REQUIRED:
|
||||||
|
|
||||||
This PRD is for SIGNIFICANT enhancements to existing projects that require comprehensive planning and multiple stories. Before proceeding:
|
This PRD is for SIGNIFICANT enhancements to existing projects that require comprehensive planning and multiple stories. Before proceeding:
|
||||||
|
|
||||||
1. **Assess Enhancement Complexity**: If this is a simple feature addition or bug fix that could be completed in 1-2 focused development sessions, STOP and recommend: "For simpler changes, consider using the brownfield-create-epic or brownfield-create-story task with the Product Owner instead. This full PRD process is designed for substantial enhancements that require architectural planning and multiple coordinated stories."
|
1. **Assess Enhancement Complexity**: If this is a simple feature addition or bug fix that could be completed in 1-2 focused development sessions, STOP and recommend: "For simpler changes, consider using the brownfield-create-epic or brownfield-create-story task with the Product Owner instead. This full PRD process is designed for substantial enhancements that require architectural planning and multiple coordinated stories."
|
||||||
|
|
||||||
2. **Project Context**: Determine if we're working in an IDE with the project already loaded or if the user needs to provide project information. If project files are available, analyze existing documentation in the docs folder. If insufficient documentation exists, recommend running the document-project task first.
|
2. **Project Context**: Determine if we're working in an IDE with the project already loaded or if the user needs to provide project information. If project files are available, analyze existing documentation in the docs folder. If insufficient documentation exists, recommend running the document-project task first.
|
||||||
|
|
||||||
3. **Deep Assessment Requirement**: You MUST thoroughly analyze the existing project structure, patterns, and constraints before making ANY suggestions. Every recommendation must be grounded in actual project analysis, not assumptions.
|
3. **Deep Assessment Requirement**: You MUST thoroughly analyze the existing project structure, patterns, and constraints before making ANY suggestions. Every recommendation must be grounded in actual project analysis, not assumptions.
|
||||||
|
|
||||||
Gather comprehensive information about the existing project. This section must be completed before proceeding with requirements.
|
Gather comprehensive information about the existing project. This section must be completed before proceeding with requirements.
|
||||||
|
|
||||||
CRITICAL: Throughout this analysis, explicitly confirm your understanding with the user. For every assumption you make about the existing project, ask: "Based on my analysis, I understand that [assumption]. Is this correct?"
|
CRITICAL: Throughout this analysis, explicitly confirm your understanding with the user. For every assumption you make about the existing project, ask: "Based on my analysis, I understand that [assumption]. Is this correct?"
|
||||||
|
|
||||||
Do not proceed with any recommendations until the user has validated your understanding of the existing system.
|
Do not proceed with any recommendations until the user has validated your understanding of the existing system.
|
||||||
sections:
|
sections:
|
||||||
- id: existing-project-overview
|
- id: existing-project-overview
|
||||||
@@ -54,7 +55,7 @@ sections:
|
|||||||
- Note: "Document-project analysis available - using existing technical documentation"
|
- Note: "Document-project analysis available - using existing technical documentation"
|
||||||
- List key documents created by document-project
|
- List key documents created by document-project
|
||||||
- Skip the missing documentation check below
|
- Skip the missing documentation check below
|
||||||
|
|
||||||
Otherwise, check for existing documentation:
|
Otherwise, check for existing documentation:
|
||||||
sections:
|
sections:
|
||||||
- id: available-docs
|
- id: available-docs
|
||||||
@@ -178,7 +179,7 @@ sections:
|
|||||||
If document-project output available:
|
If document-project output available:
|
||||||
- Extract from "Actual Tech Stack" table in High Level Architecture section
|
- Extract from "Actual Tech Stack" table in High Level Architecture section
|
||||||
- Include version numbers and any noted constraints
|
- Include version numbers and any noted constraints
|
||||||
|
|
||||||
Otherwise, document the current technology stack:
|
Otherwise, document the current technology stack:
|
||||||
template: |
|
template: |
|
||||||
**Languages**: {{languages}}
|
**Languages**: {{languages}}
|
||||||
@@ -217,7 +218,7 @@ sections:
|
|||||||
- Reference "Technical Debt and Known Issues" section
|
- Reference "Technical Debt and Known Issues" section
|
||||||
- Include "Workarounds and Gotchas" that might impact enhancement
|
- Include "Workarounds and Gotchas" that might impact enhancement
|
||||||
- Note any identified constraints from "Critical Technical Debt"
|
- Note any identified constraints from "Critical Technical Debt"
|
||||||
|
|
||||||
Build risk assessment incorporating existing known issues:
|
Build risk assessment incorporating existing known issues:
|
||||||
template: |
|
template: |
|
||||||
**Technical Risks**: {{technical_risks}}
|
**Technical Risks**: {{technical_risks}}
|
||||||
@@ -240,7 +241,7 @@ sections:
|
|||||||
title: "Epic 1: {{enhancement_title}}"
|
title: "Epic 1: {{enhancement_title}}"
|
||||||
instruction: |
|
instruction: |
|
||||||
Comprehensive epic that delivers the brownfield enhancement while maintaining existing functionality
|
Comprehensive epic that delivers the brownfield enhancement while maintaining existing functionality
|
||||||
|
|
||||||
CRITICAL STORY SEQUENCING FOR BROWNFIELD:
|
CRITICAL STORY SEQUENCING FOR BROWNFIELD:
|
||||||
- Stories must ensure existing functionality remains intact
|
- Stories must ensure existing functionality remains intact
|
||||||
- Each story should include verification that existing features still work
|
- Each story should include verification that existing features still work
|
||||||
@@ -253,7 +254,7 @@ sections:
|
|||||||
- Each story must deliver value while maintaining system integrity
|
- Each story must deliver value while maintaining system integrity
|
||||||
template: |
|
template: |
|
||||||
**Epic Goal**: {{epic_goal}}
|
**Epic Goal**: {{epic_goal}}
|
||||||
|
|
||||||
**Integration Requirements**: {{integration_requirements}}
|
**Integration Requirements**: {{integration_requirements}}
|
||||||
sections:
|
sections:
|
||||||
- id: story
|
- id: story
|
||||||
@@ -277,4 +278,4 @@ sections:
|
|||||||
items:
|
items:
|
||||||
- template: "IV1: {{existing_functionality_verification}}"
|
- template: "IV1: {{existing_functionality_verification}}"
|
||||||
- template: "IV2: {{integration_point_verification}}"
|
- template: "IV2: {{integration_point_verification}}"
|
||||||
- template: "IV3: {{performance_impact_verification}}"
|
- template: "IV3: {{performance_impact_verification}}"
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: competitor-analysis-template-v2
|
id: competitor-analysis-template-v2
|
||||||
name: Competitive Analysis Report
|
name: Competitive Analysis Report
|
||||||
@@ -76,7 +77,7 @@ sections:
|
|||||||
title: Competitor Prioritization Matrix
|
title: Competitor Prioritization Matrix
|
||||||
instruction: |
|
instruction: |
|
||||||
Help categorize competitors by market share and strategic threat level
|
Help categorize competitors by market share and strategic threat level
|
||||||
|
|
||||||
Create a 2x2 matrix:
|
Create a 2x2 matrix:
|
||||||
- Priority 1 (Core Competitors): High Market Share + High Threat
|
- Priority 1 (Core Competitors): High Market Share + High Threat
|
||||||
- Priority 2 (Emerging Threats): Low Market Share + High Threat
|
- Priority 2 (Emerging Threats): Low Market Share + High Threat
|
||||||
@@ -141,7 +142,14 @@ sections:
|
|||||||
title: Feature Comparison Matrix
|
title: Feature Comparison Matrix
|
||||||
instruction: Create a detailed comparison table of key features across competitors
|
instruction: Create a detailed comparison table of key features across competitors
|
||||||
type: table
|
type: table
|
||||||
columns: ["Feature Category", "{{your_company}}", "{{competitor_1}}", "{{competitor_2}}", "{{competitor_3}}"]
|
columns:
|
||||||
|
[
|
||||||
|
"Feature Category",
|
||||||
|
"{{your_company}}",
|
||||||
|
"{{competitor_1}}",
|
||||||
|
"{{competitor_2}}",
|
||||||
|
"{{competitor_3}}",
|
||||||
|
]
|
||||||
rows:
|
rows:
|
||||||
- category: "Core Functionality"
|
- category: "Core Functionality"
|
||||||
items:
|
items:
|
||||||
@@ -153,7 +161,13 @@ sections:
|
|||||||
- ["Onboarding Time", "{{time}}", "{{time}}", "{{time}}", "{{time}}"]
|
- ["Onboarding Time", "{{time}}", "{{time}}", "{{time}}", "{{time}}"]
|
||||||
- category: "Integration & Ecosystem"
|
- category: "Integration & Ecosystem"
|
||||||
items:
|
items:
|
||||||
- ["API Availability", "{{availability}}", "{{availability}}", "{{availability}}", "{{availability}}"]
|
- [
|
||||||
|
"API Availability",
|
||||||
|
"{{availability}}",
|
||||||
|
"{{availability}}",
|
||||||
|
"{{availability}}",
|
||||||
|
"{{availability}}",
|
||||||
|
]
|
||||||
- ["Third-party Integrations", "{{number}}", "{{number}}", "{{number}}", "{{number}}"]
|
- ["Third-party Integrations", "{{number}}", "{{number}}", "{{number}}", "{{number}}"]
|
||||||
- category: "Pricing & Plans"
|
- category: "Pricing & Plans"
|
||||||
items:
|
items:
|
||||||
@@ -180,7 +194,7 @@ sections:
|
|||||||
title: Positioning Map
|
title: Positioning Map
|
||||||
instruction: |
|
instruction: |
|
||||||
Describe competitor positions on key dimensions
|
Describe competitor positions on key dimensions
|
||||||
|
|
||||||
Create a positioning description using 2 key dimensions relevant to the market, such as:
|
Create a positioning description using 2 key dimensions relevant to the market, such as:
|
||||||
- Price vs. Features
|
- Price vs. Features
|
||||||
- Ease of Use vs. Power
|
- Ease of Use vs. Power
|
||||||
@@ -215,7 +229,7 @@ sections:
|
|||||||
title: Blue Ocean Opportunities
|
title: Blue Ocean Opportunities
|
||||||
instruction: |
|
instruction: |
|
||||||
Identify uncontested market spaces
|
Identify uncontested market spaces
|
||||||
|
|
||||||
List opportunities to create new market space:
|
List opportunities to create new market space:
|
||||||
- Underserved segments
|
- Underserved segments
|
||||||
- Unaddressed use cases
|
- Unaddressed use cases
|
||||||
@@ -290,4 +304,4 @@ sections:
|
|||||||
Recommended review schedule:
|
Recommended review schedule:
|
||||||
- Weekly: {{weekly_items}}
|
- Weekly: {{weekly_items}}
|
||||||
- Monthly: {{monthly_items}}
|
- Monthly: {{monthly_items}}
|
||||||
- Quarterly: {{quarterly_analysis}}
|
- Quarterly: {{quarterly_analysis}}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: frontend-architecture-template-v2
|
id: frontend-architecture-template-v2
|
||||||
name: Frontend Architecture Document
|
name: Frontend Architecture Document
|
||||||
@@ -16,16 +17,16 @@ sections:
|
|||||||
title: Template and Framework Selection
|
title: Template and Framework Selection
|
||||||
instruction: |
|
instruction: |
|
||||||
Review provided documents including PRD, UX-UI Specification, and main Architecture Document. Focus on extracting technical implementation details needed for AI frontend tools and developer agents. Ask the user for any of these documents if you are unable to locate and were not provided.
|
Review provided documents including PRD, UX-UI Specification, and main Architecture Document. Focus on extracting technical implementation details needed for AI frontend tools and developer agents. Ask the user for any of these documents if you are unable to locate and were not provided.
|
||||||
|
|
||||||
Before proceeding with frontend architecture design, check if the project is using a frontend starter template or existing codebase:
|
Before proceeding with frontend architecture design, check if the project is using a frontend starter template or existing codebase:
|
||||||
|
|
||||||
1. Review the PRD, main architecture document, and brainstorming brief for mentions of:
|
1. Review the PRD, main architecture document, and brainstorming brief for mentions of:
|
||||||
- Frontend starter templates (e.g., Create React App, Next.js, Vite, Vue CLI, Angular CLI, etc.)
|
- Frontend starter templates (e.g., Create React App, Next.js, Vite, Vue CLI, Angular CLI, etc.)
|
||||||
- UI kit or component library starters
|
- UI kit or component library starters
|
||||||
- Existing frontend projects being used as a foundation
|
- Existing frontend projects being used as a foundation
|
||||||
- Admin dashboard templates or other specialized starters
|
- Admin dashboard templates or other specialized starters
|
||||||
- Design system implementations
|
- Design system implementations
|
||||||
|
|
||||||
2. If a frontend starter template or existing project is mentioned:
|
2. If a frontend starter template or existing project is mentioned:
|
||||||
- Ask the user to provide access via one of these methods:
|
- Ask the user to provide access via one of these methods:
|
||||||
- Link to the starter template documentation
|
- Link to the starter template documentation
|
||||||
@@ -41,7 +42,7 @@ sections:
|
|||||||
- Testing setup and patterns
|
- Testing setup and patterns
|
||||||
- Build and development scripts
|
- Build and development scripts
|
||||||
- Use this analysis to ensure your frontend architecture aligns with the starter's patterns
|
- Use this analysis to ensure your frontend architecture aligns with the starter's patterns
|
||||||
|
|
||||||
3. If no frontend starter is mentioned but this is a new UI, ensure we know what the ui language and framework is:
|
3. If no frontend starter is mentioned but this is a new UI, ensure we know what the ui language and framework is:
|
||||||
- Based on the framework choice, suggest appropriate starters:
|
- Based on the framework choice, suggest appropriate starters:
|
||||||
- React: Create React App, Next.js, Vite + React
|
- React: Create React App, Next.js, Vite + React
|
||||||
@@ -49,11 +50,11 @@ sections:
|
|||||||
- Angular: Angular CLI
|
- Angular: Angular CLI
|
||||||
- Or suggest popular UI templates if applicable
|
- Or suggest popular UI templates if applicable
|
||||||
- Explain benefits specific to frontend development
|
- Explain benefits specific to frontend development
|
||||||
|
|
||||||
4. If the user confirms no starter template will be used:
|
4. If the user confirms no starter template will be used:
|
||||||
- Note that all tooling, bundling, and configuration will need manual setup
|
- Note that all tooling, bundling, and configuration will need manual setup
|
||||||
- Proceed with frontend architecture from scratch
|
- Proceed with frontend architecture from scratch
|
||||||
|
|
||||||
Document the starter template decision and any constraints it imposes before proceeding.
|
Document the starter template decision and any constraints it imposes before proceeding.
|
||||||
sections:
|
sections:
|
||||||
- id: changelog
|
- id: changelog
|
||||||
@@ -75,12 +76,24 @@ sections:
|
|||||||
rows:
|
rows:
|
||||||
- ["Framework", "{{framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
- ["Framework", "{{framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["UI Library", "{{ui_library}}", "{{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}}"]
|
- ["Routing", "{{routing_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["Build Tool", "{{build_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
- ["Build Tool", "{{build_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["Styling", "{{styling_solution}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
- ["Styling", "{{styling_solution}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["Testing", "{{test_framework}}", "{{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}}"]
|
- ["Form Handling", "{{form_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["Animation", "{{animation_lib}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
- ["Animation", "{{animation_lib}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["Dev Tools", "{{dev_tools}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
- ["Dev Tools", "{{dev_tools}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
@@ -203,4 +216,4 @@ sections:
|
|||||||
- Common commands (dev server, build, test)
|
- Common commands (dev server, build, test)
|
||||||
- Key import patterns
|
- Key import patterns
|
||||||
- File naming conventions
|
- File naming conventions
|
||||||
- Project-specific patterns and utilities
|
- Project-specific patterns and utilities
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: frontend-spec-template-v2
|
id: frontend-spec-template-v2
|
||||||
name: UI/UX Specification
|
name: UI/UX Specification
|
||||||
@@ -16,7 +17,7 @@ sections:
|
|||||||
title: Introduction
|
title: Introduction
|
||||||
instruction: |
|
instruction: |
|
||||||
Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.
|
Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.
|
||||||
|
|
||||||
Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.
|
Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.
|
||||||
content: |
|
content: |
|
||||||
This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{project_name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
|
This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{project_name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
|
||||||
@@ -25,7 +26,7 @@ sections:
|
|||||||
title: Overall UX Goals & Principles
|
title: Overall UX Goals & Principles
|
||||||
instruction: |
|
instruction: |
|
||||||
Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
|
Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
|
||||||
|
|
||||||
1. Target User Personas - elicit details or confirm existing ones from PRD
|
1. Target User Personas - elicit details or confirm existing ones from PRD
|
||||||
2. Key Usability Goals - understand what success looks like for users
|
2. Key Usability Goals - understand what success looks like for users
|
||||||
3. Core Design Principles - establish 3-5 guiding principles
|
3. Core Design Principles - establish 3-5 guiding principles
|
||||||
@@ -66,7 +67,7 @@ sections:
|
|||||||
title: Information Architecture (IA)
|
title: Information Architecture (IA)
|
||||||
instruction: |
|
instruction: |
|
||||||
Collaborate with the user to create a comprehensive information architecture:
|
Collaborate with the user to create a comprehensive information architecture:
|
||||||
|
|
||||||
1. Build a Site Map or Screen Inventory showing all major areas
|
1. Build a Site Map or Screen Inventory showing all major areas
|
||||||
2. Define the Navigation Structure (primary, secondary, breadcrumbs)
|
2. Define the Navigation Structure (primary, secondary, breadcrumbs)
|
||||||
3. Use Mermaid diagrams for visual representation
|
3. Use Mermaid diagrams for visual representation
|
||||||
@@ -96,22 +97,22 @@ sections:
|
|||||||
title: Navigation Structure
|
title: Navigation Structure
|
||||||
template: |
|
template: |
|
||||||
**Primary Navigation:** {{primary_nav_description}}
|
**Primary Navigation:** {{primary_nav_description}}
|
||||||
|
|
||||||
**Secondary Navigation:** {{secondary_nav_description}}
|
**Secondary Navigation:** {{secondary_nav_description}}
|
||||||
|
|
||||||
**Breadcrumb Strategy:** {{breadcrumb_strategy}}
|
**Breadcrumb Strategy:** {{breadcrumb_strategy}}
|
||||||
|
|
||||||
- id: user-flows
|
- id: user-flows
|
||||||
title: User Flows
|
title: User Flows
|
||||||
instruction: |
|
instruction: |
|
||||||
For each critical user task identified in the PRD:
|
For each critical user task identified in the PRD:
|
||||||
|
|
||||||
1. Define the user's goal clearly
|
1. Define the user's goal clearly
|
||||||
2. Map out all steps including decision points
|
2. Map out all steps including decision points
|
||||||
3. Consider edge cases and error states
|
3. Consider edge cases and error states
|
||||||
4. Use Mermaid flow diagrams for clarity
|
4. Use Mermaid flow diagrams for clarity
|
||||||
5. Link to external tools (Figma/Miro) if detailed flows exist there
|
5. Link to external tools (Figma/Miro) if detailed flows exist there
|
||||||
|
|
||||||
Create subsections for each major flow.
|
Create subsections for each major flow.
|
||||||
elicit: true
|
elicit: true
|
||||||
repeatable: true
|
repeatable: true
|
||||||
@@ -120,9 +121,9 @@ sections:
|
|||||||
title: "{{flow_name}}"
|
title: "{{flow_name}}"
|
||||||
template: |
|
template: |
|
||||||
**User Goal:** {{flow_goal}}
|
**User Goal:** {{flow_goal}}
|
||||||
|
|
||||||
**Entry Points:** {{entry_points}}
|
**Entry Points:** {{entry_points}}
|
||||||
|
|
||||||
**Success Criteria:** {{success_criteria}}
|
**Success Criteria:** {{success_criteria}}
|
||||||
sections:
|
sections:
|
||||||
- id: flow-diagram
|
- id: flow-diagram
|
||||||
@@ -153,14 +154,14 @@ sections:
|
|||||||
title: "{{screen_name}}"
|
title: "{{screen_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** {{screen_purpose}}
|
**Purpose:** {{screen_purpose}}
|
||||||
|
|
||||||
**Key Elements:**
|
**Key Elements:**
|
||||||
- {{element_1}}
|
- {{element_1}}
|
||||||
- {{element_2}}
|
- {{element_2}}
|
||||||
- {{element_3}}
|
- {{element_3}}
|
||||||
|
|
||||||
**Interaction Notes:** {{interaction_notes}}
|
**Interaction Notes:** {{interaction_notes}}
|
||||||
|
|
||||||
**Design File Reference:** {{specific_frame_link}}
|
**Design File Reference:** {{specific_frame_link}}
|
||||||
|
|
||||||
- id: component-library
|
- id: component-library
|
||||||
@@ -179,11 +180,11 @@ sections:
|
|||||||
title: "{{component_name}}"
|
title: "{{component_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** {{component_purpose}}
|
**Purpose:** {{component_purpose}}
|
||||||
|
|
||||||
**Variants:** {{component_variants}}
|
**Variants:** {{component_variants}}
|
||||||
|
|
||||||
**States:** {{component_states}}
|
**States:** {{component_states}}
|
||||||
|
|
||||||
**Usage Guidelines:** {{usage_guidelines}}
|
**Usage Guidelines:** {{usage_guidelines}}
|
||||||
|
|
||||||
- id: branding-style
|
- id: branding-style
|
||||||
@@ -229,13 +230,13 @@ sections:
|
|||||||
title: Iconography
|
title: Iconography
|
||||||
template: |
|
template: |
|
||||||
**Icon Library:** {{icon_library}}
|
**Icon Library:** {{icon_library}}
|
||||||
|
|
||||||
**Usage Guidelines:** {{icon_guidelines}}
|
**Usage Guidelines:** {{icon_guidelines}}
|
||||||
- id: spacing-layout
|
- id: spacing-layout
|
||||||
title: Spacing & Layout
|
title: Spacing & Layout
|
||||||
template: |
|
template: |
|
||||||
**Grid System:** {{grid_system}}
|
**Grid System:** {{grid_system}}
|
||||||
|
|
||||||
**Spacing Scale:** {{spacing_scale}}
|
**Spacing Scale:** {{spacing_scale}}
|
||||||
|
|
||||||
- id: accessibility
|
- id: accessibility
|
||||||
@@ -253,12 +254,12 @@ sections:
|
|||||||
- Color contrast ratios: {{contrast_requirements}}
|
- Color contrast ratios: {{contrast_requirements}}
|
||||||
- Focus indicators: {{focus_requirements}}
|
- Focus indicators: {{focus_requirements}}
|
||||||
- Text sizing: {{text_requirements}}
|
- Text sizing: {{text_requirements}}
|
||||||
|
|
||||||
**Interaction:**
|
**Interaction:**
|
||||||
- Keyboard navigation: {{keyboard_requirements}}
|
- Keyboard navigation: {{keyboard_requirements}}
|
||||||
- Screen reader support: {{screen_reader_requirements}}
|
- Screen reader support: {{screen_reader_requirements}}
|
||||||
- Touch targets: {{touch_requirements}}
|
- Touch targets: {{touch_requirements}}
|
||||||
|
|
||||||
**Content:**
|
**Content:**
|
||||||
- Alternative text: {{alt_text_requirements}}
|
- Alternative text: {{alt_text_requirements}}
|
||||||
- Heading structure: {{heading_requirements}}
|
- Heading structure: {{heading_requirements}}
|
||||||
@@ -285,11 +286,11 @@ sections:
|
|||||||
title: Adaptation Patterns
|
title: Adaptation Patterns
|
||||||
template: |
|
template: |
|
||||||
**Layout Changes:** {{layout_adaptations}}
|
**Layout Changes:** {{layout_adaptations}}
|
||||||
|
|
||||||
**Navigation Changes:** {{nav_adaptations}}
|
**Navigation Changes:** {{nav_adaptations}}
|
||||||
|
|
||||||
**Content Priority:** {{content_adaptations}}
|
**Content Priority:** {{content_adaptations}}
|
||||||
|
|
||||||
**Interaction Changes:** {{interaction_adaptations}}
|
**Interaction Changes:** {{interaction_adaptations}}
|
||||||
|
|
||||||
- id: animation
|
- id: animation
|
||||||
@@ -323,7 +324,7 @@ sections:
|
|||||||
title: Next Steps
|
title: Next Steps
|
||||||
instruction: |
|
instruction: |
|
||||||
After completing the UI/UX specification:
|
After completing the UI/UX specification:
|
||||||
|
|
||||||
1. Recommend review with stakeholders
|
1. Recommend review with stakeholders
|
||||||
2. Suggest creating/updating visual designs in design tool
|
2. Suggest creating/updating visual designs in design tool
|
||||||
3. Prepare for handoff to Design Architect for frontend architecture
|
3. Prepare for handoff to Design Architect for frontend architecture
|
||||||
@@ -346,4 +347,4 @@ sections:
|
|||||||
|
|
||||||
- id: checklist-results
|
- id: checklist-results
|
||||||
title: Checklist Results
|
title: Checklist Results
|
||||||
instruction: If a UI/UX checklist exists, run it against this document and report results here.
|
instruction: If a UI/UX checklist exists, run it against this document and report results here.
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: fullstack-architecture-template-v2
|
id: fullstack-architecture-template-v2
|
||||||
name: Fullstack Architecture Document
|
name: Fullstack Architecture Document
|
||||||
@@ -19,33 +20,33 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
content: |
|
content: |
|
||||||
This document outlines the complete fullstack architecture for {{project_name}}, including backend systems, frontend implementation, and their integration. It serves as the single source of truth for AI-driven development, ensuring consistency across the entire technology stack.
|
This document outlines the complete fullstack architecture for {{project_name}}, including backend systems, frontend implementation, and their integration. It serves as the single source of truth for AI-driven development, ensuring consistency across the entire technology stack.
|
||||||
|
|
||||||
This unified approach combines what would traditionally be separate backend and frontend architecture documents, streamlining the development process for modern fullstack applications where these concerns are increasingly intertwined.
|
This unified approach combines what would traditionally be separate backend and frontend architecture documents, streamlining the development process for modern fullstack applications where these concerns are increasingly intertwined.
|
||||||
sections:
|
sections:
|
||||||
- id: starter-template
|
- id: starter-template
|
||||||
title: Starter Template or Existing Project
|
title: Starter Template or Existing Project
|
||||||
instruction: |
|
instruction: |
|
||||||
Before proceeding with architecture design, check if the project is based on any starter templates or existing codebases:
|
Before proceeding with architecture design, check if the project is based on any starter templates or existing codebases:
|
||||||
|
|
||||||
1. Review the PRD and other documents for mentions of:
|
1. Review the PRD and other documents for mentions of:
|
||||||
- Fullstack starter templates (e.g., T3 Stack, MEAN/MERN starters, Django + React templates)
|
- Fullstack starter templates (e.g., T3 Stack, MEAN/MERN starters, Django + React templates)
|
||||||
- Monorepo templates (e.g., Nx, Turborepo starters)
|
- Monorepo templates (e.g., Nx, Turborepo starters)
|
||||||
- Platform-specific starters (e.g., Vercel templates, AWS Amplify starters)
|
- Platform-specific starters (e.g., Vercel templates, AWS Amplify starters)
|
||||||
- Existing projects being extended or cloned
|
- Existing projects being extended or cloned
|
||||||
|
|
||||||
2. If starter templates or existing projects are mentioned:
|
2. If starter templates or existing projects are mentioned:
|
||||||
- Ask the user to provide access (links, repos, or files)
|
- Ask the user to provide access (links, repos, or files)
|
||||||
- Analyze to understand pre-configured choices and constraints
|
- Analyze to understand pre-configured choices and constraints
|
||||||
- Note any architectural decisions already made
|
- Note any architectural decisions already made
|
||||||
- Identify what can be modified vs what must be retained
|
- Identify what can be modified vs what must be retained
|
||||||
|
|
||||||
3. If no starter is mentioned but this is greenfield:
|
3. If no starter is mentioned but this is greenfield:
|
||||||
- Suggest appropriate fullstack starters based on tech preferences
|
- Suggest appropriate fullstack starters based on tech preferences
|
||||||
- Consider platform-specific options (Vercel, AWS, etc.)
|
- Consider platform-specific options (Vercel, AWS, etc.)
|
||||||
- Let user decide whether to use one
|
- Let user decide whether to use one
|
||||||
|
|
||||||
4. Document the decision and any constraints it imposes
|
4. Document the decision and any constraints it imposes
|
||||||
|
|
||||||
If none, state "N/A - Greenfield project"
|
If none, state "N/A - Greenfield project"
|
||||||
- id: changelog
|
- id: changelog
|
||||||
title: Change Log
|
title: Change Log
|
||||||
@@ -71,17 +72,17 @@ sections:
|
|||||||
title: Platform and Infrastructure Choice
|
title: Platform and Infrastructure Choice
|
||||||
instruction: |
|
instruction: |
|
||||||
Based on PRD requirements and technical assumptions, make a platform recommendation:
|
Based on PRD requirements and technical assumptions, make a platform recommendation:
|
||||||
|
|
||||||
1. Consider common patterns (not an exhaustive list, use your own best judgement and search the web as needed for emerging trends):
|
1. Consider common patterns (not an exhaustive list, use your own best judgement and search the web as needed for emerging trends):
|
||||||
- **Vercel + Supabase**: For rapid development with Next.js, built-in auth/storage
|
- **Vercel + Supabase**: For rapid development with Next.js, built-in auth/storage
|
||||||
- **AWS Full Stack**: For enterprise scale with Lambda, API Gateway, S3, Cognito
|
- **AWS Full Stack**: For enterprise scale with Lambda, API Gateway, S3, Cognito
|
||||||
- **Azure**: For .NET ecosystems or enterprise Microsoft environments
|
- **Azure**: For .NET ecosystems or enterprise Microsoft environments
|
||||||
- **Google Cloud**: For ML/AI heavy applications or Google ecosystem integration
|
- **Google Cloud**: For ML/AI heavy applications or Google ecosystem integration
|
||||||
|
|
||||||
2. Present 2-3 viable options with clear pros/cons
|
2. Present 2-3 viable options with clear pros/cons
|
||||||
3. Make a recommendation with rationale
|
3. Make a recommendation with rationale
|
||||||
4. Get explicit user confirmation
|
4. Get explicit user confirmation
|
||||||
|
|
||||||
Document the choice and key services that will be used.
|
Document the choice and key services that will be used.
|
||||||
template: |
|
template: |
|
||||||
**Platform:** {{selected_platform}}
|
**Platform:** {{selected_platform}}
|
||||||
@@ -91,7 +92,7 @@ sections:
|
|||||||
title: Repository Structure
|
title: Repository Structure
|
||||||
instruction: |
|
instruction: |
|
||||||
Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask questions to the user if unsure:
|
Define the repository approach based on PRD requirements and platform choice, explain your rationale or ask questions to the user if unsure:
|
||||||
|
|
||||||
1. For modern fullstack apps, monorepo is often preferred
|
1. For modern fullstack apps, monorepo is often preferred
|
||||||
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
|
2. Consider tooling (Nx, Turborepo, Lerna, npm workspaces)
|
||||||
3. Define package/app boundaries
|
3. Define package/app boundaries
|
||||||
@@ -113,7 +114,7 @@ sections:
|
|||||||
- Databases and storage
|
- Databases and storage
|
||||||
- External integrations
|
- External integrations
|
||||||
- CDN and caching layers
|
- CDN and caching layers
|
||||||
|
|
||||||
Use appropriate diagram type for clarity.
|
Use appropriate diagram type for clarity.
|
||||||
- id: architectural-patterns
|
- id: architectural-patterns
|
||||||
title: Architectural Patterns
|
title: Architectural Patterns
|
||||||
@@ -123,7 +124,7 @@ sections:
|
|||||||
- Frontend patterns (e.g., Component-based, State management)
|
- Frontend patterns (e.g., Component-based, State management)
|
||||||
- Backend patterns (e.g., Repository, CQRS, Event-driven)
|
- Backend patterns (e.g., Repository, CQRS, Event-driven)
|
||||||
- Integration patterns (e.g., BFF, API Gateway)
|
- Integration patterns (e.g., BFF, API Gateway)
|
||||||
|
|
||||||
For each pattern, provide recommendation and rationale.
|
For each pattern, provide recommendation and rationale.
|
||||||
repeatable: true
|
repeatable: true
|
||||||
template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
|
template: "- **{{pattern_name}}:** {{pattern_description}} - _Rationale:_ {{rationale}}"
|
||||||
@@ -137,7 +138,7 @@ sections:
|
|||||||
title: Tech Stack
|
title: Tech Stack
|
||||||
instruction: |
|
instruction: |
|
||||||
This is the DEFINITIVE technology selection for the entire project. Work with user to finalize all choices. This table is the single source of truth - all development must use these exact versions.
|
This is the DEFINITIVE technology selection for the entire project. Work with user to finalize all choices. This table is the single source of truth - all development must use these exact versions.
|
||||||
|
|
||||||
Key areas to cover:
|
Key areas to cover:
|
||||||
- Frontend and backend languages/frameworks
|
- Frontend and backend languages/frameworks
|
||||||
- Databases and caching
|
- Databases and caching
|
||||||
@@ -146,7 +147,7 @@ sections:
|
|||||||
- Testing tools for both frontend and backend
|
- Testing tools for both frontend and backend
|
||||||
- Build and deployment tools
|
- Build and deployment tools
|
||||||
- Monitoring and logging
|
- Monitoring and logging
|
||||||
|
|
||||||
Upon render, elicit feedback immediately.
|
Upon render, elicit feedback immediately.
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -156,11 +157,29 @@ sections:
|
|||||||
columns: [Category, Technology, Version, Purpose, Rationale]
|
columns: [Category, Technology, Version, Purpose, Rationale]
|
||||||
rows:
|
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}}"]
|
- [
|
||||||
- ["UI Component Library", "{{ui_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
"Frontend Framework",
|
||||||
|
"{{fe_framework}}",
|
||||||
|
"{{version}}",
|
||||||
|
"{{purpose}}",
|
||||||
|
"{{why_chosen}}",
|
||||||
|
]
|
||||||
|
- [
|
||||||
|
"UI Component Library",
|
||||||
|
"{{ui_library}}",
|
||||||
|
"{{version}}",
|
||||||
|
"{{purpose}}",
|
||||||
|
"{{why_chosen}}",
|
||||||
|
]
|
||||||
- ["State Management", "{{state_mgmt}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
- ["State Management", "{{state_mgmt}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["Backend Language", "{{be_language}}", "{{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}}"]
|
- ["API Style", "{{api_style}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["Database", "{{database}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
- ["Database", "{{database}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
- ["Cache", "{{cache}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
- ["Cache", "{{cache}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
||||||
@@ -181,14 +200,14 @@ sections:
|
|||||||
title: Data Models
|
title: Data Models
|
||||||
instruction: |
|
instruction: |
|
||||||
Define the core data models/entities that will be shared between frontend and backend:
|
Define the core data models/entities that will be shared between frontend and backend:
|
||||||
|
|
||||||
1. Review PRD requirements and identify key business entities
|
1. Review PRD requirements and identify key business entities
|
||||||
2. For each model, explain its purpose and relationships
|
2. For each model, explain its purpose and relationships
|
||||||
3. Include key attributes and data types
|
3. Include key attributes and data types
|
||||||
4. Show relationships between models
|
4. Show relationships between models
|
||||||
5. Create TypeScript interfaces that can be shared
|
5. Create TypeScript interfaces that can be shared
|
||||||
6. Discuss design decisions with user
|
6. Discuss design decisions with user
|
||||||
|
|
||||||
Create a clear conceptual model before moving to database schema.
|
Create a clear conceptual model before moving to database schema.
|
||||||
elicit: true
|
elicit: true
|
||||||
repeatable: true
|
repeatable: true
|
||||||
@@ -197,7 +216,7 @@ sections:
|
|||||||
title: "{{model_name}}"
|
title: "{{model_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** {{model_purpose}}
|
**Purpose:** {{model_purpose}}
|
||||||
|
|
||||||
**Key Attributes:**
|
**Key Attributes:**
|
||||||
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
- {{attribute_1}}: {{type_1}} - {{description_1}}
|
||||||
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
- {{attribute_2}}: {{type_2}} - {{description_2}}
|
||||||
@@ -216,7 +235,7 @@ sections:
|
|||||||
title: API Specification
|
title: API Specification
|
||||||
instruction: |
|
instruction: |
|
||||||
Based on the chosen API style from Tech Stack:
|
Based on the chosen API style from Tech Stack:
|
||||||
|
|
||||||
1. If REST API, create an OpenAPI 3.0 specification
|
1. If REST API, create an OpenAPI 3.0 specification
|
||||||
2. If GraphQL, provide the GraphQL schema
|
2. If GraphQL, provide the GraphQL schema
|
||||||
3. If tRPC, show router definitions
|
3. If tRPC, show router definitions
|
||||||
@@ -224,7 +243,7 @@ sections:
|
|||||||
5. Define request/response schemas based on data models
|
5. Define request/response schemas based on data models
|
||||||
6. Document authentication requirements
|
6. Document authentication requirements
|
||||||
7. Include example requests/responses
|
7. Include example requests/responses
|
||||||
|
|
||||||
Use appropriate format for the chosen API style. If no API (e.g., static site), skip this section.
|
Use appropriate format for the chosen API style. If no API (e.g., static site), skip this section.
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -259,7 +278,7 @@ sections:
|
|||||||
title: Components
|
title: Components
|
||||||
instruction: |
|
instruction: |
|
||||||
Based on the architectural patterns, tech stack, and data models from above:
|
Based on the architectural patterns, tech stack, and data models from above:
|
||||||
|
|
||||||
1. Identify major logical components/services across the fullstack
|
1. Identify major logical components/services across the fullstack
|
||||||
2. Consider both frontend and backend components
|
2. Consider both frontend and backend components
|
||||||
3. Define clear boundaries and interfaces between components
|
3. Define clear boundaries and interfaces between components
|
||||||
@@ -268,7 +287,7 @@ sections:
|
|||||||
- Key interfaces/APIs exposed
|
- Key interfaces/APIs exposed
|
||||||
- Dependencies on other components
|
- Dependencies on other components
|
||||||
- Technology specifics based on tech stack choices
|
- Technology specifics based on tech stack choices
|
||||||
|
|
||||||
5. Create component diagrams where helpful
|
5. Create component diagrams where helpful
|
||||||
elicit: true
|
elicit: true
|
||||||
sections:
|
sections:
|
||||||
@@ -277,13 +296,13 @@ sections:
|
|||||||
title: "{{component_name}}"
|
title: "{{component_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Responsibility:** {{component_description}}
|
**Responsibility:** {{component_description}}
|
||||||
|
|
||||||
**Key Interfaces:**
|
**Key Interfaces:**
|
||||||
- {{interface_1}}
|
- {{interface_1}}
|
||||||
- {{interface_2}}
|
- {{interface_2}}
|
||||||
|
|
||||||
**Dependencies:** {{dependencies}}
|
**Dependencies:** {{dependencies}}
|
||||||
|
|
||||||
**Technology Stack:** {{component_tech_details}}
|
**Technology Stack:** {{component_tech_details}}
|
||||||
- id: component-diagrams
|
- id: component-diagrams
|
||||||
title: Component Diagrams
|
title: Component Diagrams
|
||||||
@@ -300,13 +319,13 @@ sections:
|
|||||||
condition: Project requires external API integrations
|
condition: Project requires external API integrations
|
||||||
instruction: |
|
instruction: |
|
||||||
For each external service integration:
|
For each external service integration:
|
||||||
|
|
||||||
1. Identify APIs needed based on PRD requirements and component design
|
1. Identify APIs needed based on PRD requirements and component design
|
||||||
2. If documentation URLs are unknown, ask user for specifics
|
2. If documentation URLs are unknown, ask user for specifics
|
||||||
3. Document authentication methods and security considerations
|
3. Document authentication methods and security considerations
|
||||||
4. List specific endpoints that will be used
|
4. List specific endpoints that will be used
|
||||||
5. Note any rate limits or usage constraints
|
5. Note any rate limits or usage constraints
|
||||||
|
|
||||||
If no external APIs are needed, state this explicitly and skip to next section.
|
If no external APIs are needed, state this explicitly and skip to next section.
|
||||||
elicit: true
|
elicit: true
|
||||||
repeatable: true
|
repeatable: true
|
||||||
@@ -319,10 +338,10 @@ sections:
|
|||||||
- **Base URL(s):** {{api_base_url}}
|
- **Base URL(s):** {{api_base_url}}
|
||||||
- **Authentication:** {{auth_method}}
|
- **Authentication:** {{auth_method}}
|
||||||
- **Rate Limits:** {{rate_limits}}
|
- **Rate Limits:** {{rate_limits}}
|
||||||
|
|
||||||
**Key Endpoints Used:**
|
**Key Endpoints Used:**
|
||||||
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
- `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
|
||||||
|
|
||||||
**Integration Notes:** {{integration_considerations}}
|
**Integration Notes:** {{integration_considerations}}
|
||||||
|
|
||||||
- id: core-workflows
|
- id: core-workflows
|
||||||
@@ -331,14 +350,14 @@ sections:
|
|||||||
mermaid_type: sequence
|
mermaid_type: sequence
|
||||||
instruction: |
|
instruction: |
|
||||||
Illustrate key system workflows using sequence diagrams:
|
Illustrate key system workflows using sequence diagrams:
|
||||||
|
|
||||||
1. Identify critical user journeys from PRD
|
1. Identify critical user journeys from PRD
|
||||||
2. Show component interactions including external APIs
|
2. Show component interactions including external APIs
|
||||||
3. Include both frontend and backend flows
|
3. Include both frontend and backend flows
|
||||||
4. Include error handling paths
|
4. Include error handling paths
|
||||||
5. Document async operations
|
5. Document async operations
|
||||||
6. Create both high-level and detailed diagrams as needed
|
6. Create both high-level and detailed diagrams as needed
|
||||||
|
|
||||||
Focus on workflows that clarify architecture decisions or complex interactions.
|
Focus on workflows that clarify architecture decisions or complex interactions.
|
||||||
elicit: true
|
elicit: true
|
||||||
|
|
||||||
@@ -346,13 +365,13 @@ sections:
|
|||||||
title: Database Schema
|
title: Database Schema
|
||||||
instruction: |
|
instruction: |
|
||||||
Transform the conceptual data models into concrete database schemas:
|
Transform the conceptual data models into concrete database schemas:
|
||||||
|
|
||||||
1. Use the database type(s) selected in Tech Stack
|
1. Use the database type(s) selected in Tech Stack
|
||||||
2. Create schema definitions using appropriate notation
|
2. Create schema definitions using appropriate notation
|
||||||
3. Include indexes, constraints, and relationships
|
3. Include indexes, constraints, and relationships
|
||||||
4. Consider performance and scalability
|
4. Consider performance and scalability
|
||||||
5. For NoSQL, show document structures
|
5. For NoSQL, show document structures
|
||||||
|
|
||||||
Present schema in format appropriate to database type (SQL DDL, JSON schema, etc.)
|
Present schema in format appropriate to database type (SQL DDL, JSON schema, etc.)
|
||||||
elicit: true
|
elicit: true
|
||||||
|
|
||||||
@@ -488,60 +507,60 @@ sections:
|
|||||||
type: code
|
type: code
|
||||||
language: plaintext
|
language: plaintext
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
{{project-name}}/
|
{{project-name}}/
|
||||||
├── .github/ # CI/CD workflows
|
├── .github/ # CI/CD workflows
|
||||||
│ └── workflows/
|
│ └── workflows/
|
||||||
│ ├── ci.yaml
|
│ ├── ci.yaml
|
||||||
│ └── deploy.yaml
|
│ └── deploy.yaml
|
||||||
├── apps/ # Application packages
|
├── apps/ # Application packages
|
||||||
│ ├── web/ # Frontend application
|
│ ├── web/ # Frontend application
|
||||||
│ │ ├── src/
|
│ │ ├── src/
|
||||||
│ │ │ ├── components/ # UI components
|
│ │ │ ├── components/ # UI components
|
||||||
│ │ │ ├── pages/ # Page components/routes
|
│ │ │ ├── pages/ # Page components/routes
|
||||||
│ │ │ ├── hooks/ # Custom React hooks
|
│ │ │ ├── hooks/ # Custom React hooks
|
||||||
│ │ │ ├── services/ # API client services
|
│ │ │ ├── services/ # API client services
|
||||||
│ │ │ ├── stores/ # State management
|
│ │ │ ├── stores/ # State management
|
||||||
│ │ │ ├── styles/ # Global styles/themes
|
│ │ │ ├── styles/ # Global styles/themes
|
||||||
│ │ │ └── utils/ # Frontend utilities
|
│ │ │ └── utils/ # Frontend utilities
|
||||||
│ │ ├── public/ # Static assets
|
│ │ ├── public/ # Static assets
|
||||||
│ │ ├── tests/ # Frontend tests
|
│ │ ├── tests/ # Frontend tests
|
||||||
│ │ └── package.json
|
│ │ └── package.json
|
||||||
│ └── api/ # Backend application
|
│ └── api/ # Backend application
|
||||||
│ ├── src/
|
│ ├── src/
|
||||||
│ │ ├── routes/ # API routes/controllers
|
│ │ ├── routes/ # API routes/controllers
|
||||||
│ │ ├── services/ # Business logic
|
│ │ ├── services/ # Business logic
|
||||||
│ │ ├── models/ # Data models
|
│ │ ├── models/ # Data models
|
||||||
│ │ ├── middleware/ # Express/API middleware
|
│ │ ├── middleware/ # Express/API middleware
|
||||||
│ │ ├── utils/ # Backend utilities
|
│ │ ├── utils/ # Backend utilities
|
||||||
│ │ └── {{serverless_or_server_entry}}
|
│ │ └── {{serverless_or_server_entry}}
|
||||||
│ ├── tests/ # Backend tests
|
│ ├── tests/ # Backend tests
|
||||||
│ └── package.json
|
│ └── package.json
|
||||||
├── packages/ # Shared packages
|
├── packages/ # Shared packages
|
||||||
│ ├── shared/ # Shared types/utilities
|
│ ├── shared/ # Shared types/utilities
|
||||||
│ │ ├── src/
|
│ │ ├── src/
|
||||||
│ │ │ ├── types/ # TypeScript interfaces
|
│ │ │ ├── types/ # TypeScript interfaces
|
||||||
│ │ │ ├── constants/ # Shared constants
|
│ │ │ ├── constants/ # Shared constants
|
||||||
│ │ │ └── utils/ # Shared utilities
|
│ │ │ └── utils/ # Shared utilities
|
||||||
│ │ └── package.json
|
│ │ └── package.json
|
||||||
│ ├── ui/ # Shared UI components
|
│ ├── ui/ # Shared UI components
|
||||||
│ │ ├── src/
|
│ │ ├── src/
|
||||||
│ │ └── package.json
|
│ │ └── package.json
|
||||||
│ └── config/ # Shared configuration
|
│ └── config/ # Shared configuration
|
||||||
│ ├── eslint/
|
│ ├── eslint/
|
||||||
│ ├── typescript/
|
│ ├── typescript/
|
||||||
│ └── jest/
|
│ └── jest/
|
||||||
├── infrastructure/ # IaC definitions
|
├── infrastructure/ # IaC definitions
|
||||||
│ └── {{iac_structure}}
|
│ └── {{iac_structure}}
|
||||||
├── scripts/ # Build/deploy scripts
|
├── scripts/ # Build/deploy scripts
|
||||||
├── docs/ # Documentation
|
├── docs/ # Documentation
|
||||||
│ ├── prd.md
|
│ ├── prd.md
|
||||||
│ ├── front-end-spec.md
|
│ ├── front-end-spec.md
|
||||||
│ └── fullstack-architecture.md
|
│ └── fullstack-architecture.md
|
||||||
├── .env.example # Environment template
|
├── .env.example # Environment template
|
||||||
├── package.json # Root package.json
|
├── package.json # Root package.json
|
||||||
├── {{monorepo_config}} # Monorepo configuration
|
├── {{monorepo_config}} # Monorepo configuration
|
||||||
└── README.md
|
└── README.md
|
||||||
|
|
||||||
- id: development-workflow
|
- id: development-workflow
|
||||||
title: Development Workflow
|
title: Development Workflow
|
||||||
@@ -568,13 +587,13 @@ sections:
|
|||||||
template: |
|
template: |
|
||||||
# Start all services
|
# Start all services
|
||||||
{{start_all_command}}
|
{{start_all_command}}
|
||||||
|
|
||||||
# Start frontend only
|
# Start frontend only
|
||||||
{{start_frontend_command}}
|
{{start_frontend_command}}
|
||||||
|
|
||||||
# Start backend only
|
# Start backend only
|
||||||
{{start_backend_command}}
|
{{start_backend_command}}
|
||||||
|
|
||||||
# Run tests
|
# Run tests
|
||||||
{{test_commands}}
|
{{test_commands}}
|
||||||
- id: environment-config
|
- id: environment-config
|
||||||
@@ -587,10 +606,10 @@ sections:
|
|||||||
template: |
|
template: |
|
||||||
# Frontend (.env.local)
|
# Frontend (.env.local)
|
||||||
{{frontend_env_vars}}
|
{{frontend_env_vars}}
|
||||||
|
|
||||||
# Backend (.env)
|
# Backend (.env)
|
||||||
{{backend_env_vars}}
|
{{backend_env_vars}}
|
||||||
|
|
||||||
# Shared
|
# Shared
|
||||||
{{shared_env_vars}}
|
{{shared_env_vars}}
|
||||||
|
|
||||||
@@ -607,7 +626,7 @@ sections:
|
|||||||
- **Build Command:** {{frontend_build_command}}
|
- **Build Command:** {{frontend_build_command}}
|
||||||
- **Output Directory:** {{frontend_output_dir}}
|
- **Output Directory:** {{frontend_output_dir}}
|
||||||
- **CDN/Edge:** {{cdn_strategy}}
|
- **CDN/Edge:** {{cdn_strategy}}
|
||||||
|
|
||||||
**Backend Deployment:**
|
**Backend Deployment:**
|
||||||
- **Platform:** {{backend_deploy_platform}}
|
- **Platform:** {{backend_deploy_platform}}
|
||||||
- **Build Command:** {{backend_build_command}}
|
- **Build Command:** {{backend_build_command}}
|
||||||
@@ -638,12 +657,12 @@ sections:
|
|||||||
- CSP Headers: {{csp_policy}}
|
- CSP Headers: {{csp_policy}}
|
||||||
- XSS Prevention: {{xss_strategy}}
|
- XSS Prevention: {{xss_strategy}}
|
||||||
- Secure Storage: {{storage_strategy}}
|
- Secure Storage: {{storage_strategy}}
|
||||||
|
|
||||||
**Backend Security:**
|
**Backend Security:**
|
||||||
- Input Validation: {{validation_approach}}
|
- Input Validation: {{validation_approach}}
|
||||||
- Rate Limiting: {{rate_limit_config}}
|
- Rate Limiting: {{rate_limit_config}}
|
||||||
- CORS Policy: {{cors_config}}
|
- CORS Policy: {{cors_config}}
|
||||||
|
|
||||||
**Authentication Security:**
|
**Authentication Security:**
|
||||||
- Token Storage: {{token_strategy}}
|
- Token Storage: {{token_strategy}}
|
||||||
- Session Management: {{session_approach}}
|
- Session Management: {{session_approach}}
|
||||||
@@ -655,7 +674,7 @@ sections:
|
|||||||
- Bundle Size Target: {{bundle_size}}
|
- Bundle Size Target: {{bundle_size}}
|
||||||
- Loading Strategy: {{loading_approach}}
|
- Loading Strategy: {{loading_approach}}
|
||||||
- Caching Strategy: {{fe_cache_strategy}}
|
- Caching Strategy: {{fe_cache_strategy}}
|
||||||
|
|
||||||
**Backend Performance:**
|
**Backend Performance:**
|
||||||
- Response Time Target: {{response_target}}
|
- Response Time Target: {{response_target}}
|
||||||
- Database Optimization: {{db_optimization}}
|
- Database Optimization: {{db_optimization}}
|
||||||
@@ -671,10 +690,10 @@ sections:
|
|||||||
type: code
|
type: code
|
||||||
language: text
|
language: text
|
||||||
template: |
|
template: |
|
||||||
E2E Tests
|
E2E Tests
|
||||||
/ \
|
/ \
|
||||||
Integration Tests
|
Integration Tests
|
||||||
/ \
|
/ \
|
||||||
Frontend Unit Backend Unit
|
Frontend Unit Backend Unit
|
||||||
- id: test-organization
|
- id: test-organization
|
||||||
title: Test Organization
|
title: Test Organization
|
||||||
@@ -793,7 +812,7 @@ sections:
|
|||||||
- JavaScript errors
|
- JavaScript errors
|
||||||
- API response times
|
- API response times
|
||||||
- User interactions
|
- User interactions
|
||||||
|
|
||||||
**Backend Metrics:**
|
**Backend Metrics:**
|
||||||
- Request rate
|
- Request rate
|
||||||
- Error rate
|
- Error rate
|
||||||
@@ -802,4 +821,4 @@ sections:
|
|||||||
|
|
||||||
- id: checklist-results
|
- id: checklist-results
|
||||||
title: Checklist Results Report
|
title: Checklist Results Report
|
||||||
instruction: Before running the checklist, offer to output the full architecture document. Once user confirms, execute the architect-checklist and populate results here.
|
instruction: Before running the checklist, offer to output the full architecture document. Once user confirms, execute the architect-checklist and populate results here.
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: market-research-template-v2
|
id: market-research-template-v2
|
||||||
name: Market Research Report
|
name: Market Research Report
|
||||||
@@ -130,7 +131,7 @@ sections:
|
|||||||
instruction: Map the end-to-end customer experience for primary segments
|
instruction: Map the end-to-end customer experience for primary segments
|
||||||
template: |
|
template: |
|
||||||
For primary customer segment:
|
For primary customer segment:
|
||||||
|
|
||||||
1. **Awareness:** {{discovery_process}}
|
1. **Awareness:** {{discovery_process}}
|
||||||
2. **Consideration:** {{evaluation_criteria}}
|
2. **Consideration:** {{evaluation_criteria}}
|
||||||
3. **Purchase:** {{decision_triggers}}
|
3. **Purchase:** {{decision_triggers}}
|
||||||
@@ -249,4 +250,4 @@ sections:
|
|||||||
instruction: Include any complex calculations or models
|
instruction: Include any complex calculations or models
|
||||||
- id: additional-analysis
|
- id: additional-analysis
|
||||||
title: C. Additional Analysis
|
title: C. Additional Analysis
|
||||||
instruction: Any supplementary analysis not included in main body
|
instruction: Any supplementary analysis not included in main body
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: prd-template-v2
|
id: prd-template-v2
|
||||||
name: Product Requirements Document
|
name: Product Requirements Document
|
||||||
@@ -56,7 +57,7 @@ sections:
|
|||||||
condition: PRD has UX/UI requirements
|
condition: PRD has UX/UI requirements
|
||||||
instruction: |
|
instruction: |
|
||||||
Capture high-level UI/UX vision to guide Design Architect and to inform story creation. Steps:
|
Capture high-level UI/UX vision to guide Design Architect and to inform story creation. Steps:
|
||||||
|
|
||||||
1. Pre-fill all subsections with educated guesses based on project context
|
1. Pre-fill all subsections with educated guesses based on project context
|
||||||
2. Present the complete rendered section to user
|
2. Present the complete rendered section to user
|
||||||
3. Clearly let the user know where assumptions were made
|
3. Clearly let the user know where assumptions were made
|
||||||
@@ -98,7 +99,7 @@ sections:
|
|||||||
title: Technical Assumptions
|
title: Technical Assumptions
|
||||||
instruction: |
|
instruction: |
|
||||||
Gather technical decisions that will guide the Architect. Steps:
|
Gather technical decisions that will guide the Architect. Steps:
|
||||||
|
|
||||||
1. Check if {root}/data/technical-preferences.yaml or an attached technical-preferences file exists - use it to pre-populate choices
|
1. Check if {root}/data/technical-preferences.yaml or an attached technical-preferences file exists - use it to pre-populate choices
|
||||||
2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
|
2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
|
||||||
3. For unknowns, offer guidance based on project goals and MVP scope
|
3. For unknowns, offer guidance based on project goals and MVP scope
|
||||||
@@ -126,9 +127,9 @@ sections:
|
|||||||
title: Epic List
|
title: Epic List
|
||||||
instruction: |
|
instruction: |
|
||||||
Present a high-level list of all epics for user approval. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
|
Present a high-level list of all epics for user approval. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
|
||||||
|
|
||||||
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
CRITICAL: Epics MUST be logically sequential following agile best practices:
|
||||||
|
|
||||||
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
- Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
|
||||||
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page - remember this when we produce the stories for the first epic!
|
- Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page - remember this when we produce the stories for the first epic!
|
||||||
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
- Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
|
||||||
@@ -147,11 +148,11 @@ sections:
|
|||||||
repeatable: true
|
repeatable: true
|
||||||
instruction: |
|
instruction: |
|
||||||
After the epic list is approved, present each epic with all its stories and acceptance criteria as a complete review unit.
|
After the epic list is approved, present each epic with all its stories and acceptance criteria as a complete review unit.
|
||||||
|
|
||||||
For each epic provide expanded goal (2-3 sentences describing the objective and value all the stories will achieve).
|
For each epic provide expanded goal (2-3 sentences describing the objective and value all the stories will achieve).
|
||||||
|
|
||||||
CRITICAL STORY SEQUENCING REQUIREMENTS:
|
CRITICAL STORY SEQUENCING REQUIREMENTS:
|
||||||
|
|
||||||
- Stories within each epic MUST be logically sequential
|
- Stories within each epic MUST be logically sequential
|
||||||
- Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
|
- Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
|
||||||
- No story should depend on work from a later story or epic
|
- No story should depend on work from a later story or epic
|
||||||
@@ -179,7 +180,7 @@ sections:
|
|||||||
repeatable: true
|
repeatable: true
|
||||||
instruction: |
|
instruction: |
|
||||||
Define clear, comprehensive, and testable acceptance criteria that:
|
Define clear, comprehensive, and testable acceptance criteria that:
|
||||||
|
|
||||||
- Precisely define what "done" means from a functional perspective
|
- Precisely define what "done" means from a functional perspective
|
||||||
- Are unambiguous and serve as basis for verification
|
- Are unambiguous and serve as basis for verification
|
||||||
- Include any critical non-functional requirements from the PRD
|
- Include any critical non-functional requirements from the PRD
|
||||||
@@ -199,4 +200,4 @@ sections:
|
|||||||
instruction: This section will contain the prompt for the UX Expert, keep it short and to the point to initiate create architecture mode using this document as input.
|
instruction: This section will contain the prompt for the UX Expert, keep it short and to the point to initiate create architecture mode using this document as input.
|
||||||
- id: architect-prompt
|
- id: architect-prompt
|
||||||
title: Architect Prompt
|
title: Architect Prompt
|
||||||
instruction: This section will contain the prompt for the Architect, keep it short and to the point to initiate create architecture mode using this document as input.
|
instruction: This section will contain the prompt for the Architect, keep it short and to the point to initiate create architecture mode using this document as input.
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: project-brief-template-v2
|
id: project-brief-template-v2
|
||||||
name: Project Brief
|
name: Project Brief
|
||||||
@@ -28,12 +29,12 @@ sections:
|
|||||||
- id: introduction
|
- id: introduction
|
||||||
instruction: |
|
instruction: |
|
||||||
This template guides creation of a comprehensive Project Brief that serves as the foundational input for product development.
|
This template guides creation of a comprehensive Project Brief that serves as the foundational input for product development.
|
||||||
|
|
||||||
Start by asking the user which mode they prefer:
|
Start by asking the user which mode they prefer:
|
||||||
|
|
||||||
1. **Interactive Mode** - Work through each section collaboratively
|
1. **Interactive Mode** - Work through each section collaboratively
|
||||||
2. **YOLO Mode** - Generate complete draft for review and refinement
|
2. **YOLO Mode** - Generate complete draft for review and refinement
|
||||||
|
|
||||||
Before beginning, understand what inputs are available (brainstorming results, market research, competitive analysis, initial ideas) and gather project context.
|
Before beginning, understand what inputs are available (brainstorming results, market research, competitive analysis, initial ideas) and gather project context.
|
||||||
|
|
||||||
- id: executive-summary
|
- id: executive-summary
|
||||||
@@ -218,4 +219,4 @@ sections:
|
|||||||
- id: pm-handoff
|
- id: pm-handoff
|
||||||
title: PM Handoff
|
title: PM Handoff
|
||||||
content: |
|
content: |
|
||||||
This Project Brief provides the full context for {{project_name}}. Please start in 'PRD Generation Mode', review the brief thoroughly to work with the user to create the PRD section by section as the template indicates, asking for any necessary clarification or suggesting improvements.
|
This Project Brief provides the full context for {{project_name}}. Please start in 'PRD Generation Mode', review the brief thoroughly to work with the user to create the PRD section by section as the template indicates, asking for any necessary clarification or suggesting improvements.
|
||||||
|
|||||||
@@ -1,18 +1,19 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: qa-gate-template-v1
|
id: qa-gate-template-v1
|
||||||
name: Quality Gate Decision
|
name: Quality Gate Decision
|
||||||
version: 1.0
|
version: 1.0
|
||||||
output:
|
output:
|
||||||
format: yaml
|
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}}"
|
title: "Quality Gate: {{epic_num}}.{{story_num}}"
|
||||||
|
|
||||||
# Required fields (keep these first)
|
# Required fields (keep these first)
|
||||||
schema: 1
|
schema: 1
|
||||||
story: "{{epic_num}}.{{story_num}}"
|
story: "{{epic_num}}.{{story_num}}"
|
||||||
story_title: "{{story_title}}"
|
story_title: "{{story_title}}"
|
||||||
gate: "{{gate_status}}" # PASS|CONCERNS|FAIL|WAIVED
|
gate: "{{gate_status}}" # PASS|CONCERNS|FAIL|WAIVED
|
||||||
status_reason: "{{status_reason}}" # 1-2 sentence summary of why this gate decision
|
status_reason: "{{status_reason}}" # 1-2 sentence summary of why this gate decision
|
||||||
reviewer: "Quinn (Test Architect)"
|
reviewer: "Quinn (Test Architect)"
|
||||||
updated: "{{iso_timestamp}}"
|
updated: "{{iso_timestamp}}"
|
||||||
|
|
||||||
@@ -41,7 +42,7 @@ examples:
|
|||||||
severity: medium
|
severity: medium
|
||||||
finding: "Missing integration tests for auth flow"
|
finding: "Missing integration tests for auth flow"
|
||||||
suggested_action: "Add test coverage for critical paths"
|
suggested_action: "Add test coverage for critical paths"
|
||||||
|
|
||||||
when_waived: |
|
when_waived: |
|
||||||
waiver:
|
waiver:
|
||||||
active: true
|
active: true
|
||||||
@@ -55,7 +56,7 @@ optional_fields_examples:
|
|||||||
quality_and_expiry: |
|
quality_and_expiry: |
|
||||||
quality_score: 75 # 0-100 (optional scoring)
|
quality_score: 75 # 0-100 (optional scoring)
|
||||||
expires: "2025-01-26T00:00:00Z" # Optional gate freshness window
|
expires: "2025-01-26T00:00:00Z" # Optional gate freshness window
|
||||||
|
|
||||||
evidence: |
|
evidence: |
|
||||||
evidence:
|
evidence:
|
||||||
tests_reviewed: 15
|
tests_reviewed: 15
|
||||||
@@ -63,14 +64,14 @@ optional_fields_examples:
|
|||||||
trace:
|
trace:
|
||||||
ac_covered: [1, 2, 3] # AC numbers with test coverage
|
ac_covered: [1, 2, 3] # AC numbers with test coverage
|
||||||
ac_gaps: [4] # AC numbers lacking coverage
|
ac_gaps: [4] # AC numbers lacking coverage
|
||||||
|
|
||||||
nfr_validation: |
|
nfr_validation: |
|
||||||
nfr_validation:
|
nfr_validation:
|
||||||
security: { status: CONCERNS, notes: "Rate limiting missing" }
|
security: { status: CONCERNS, notes: "Rate limiting missing" }
|
||||||
performance: { status: PASS, notes: "" }
|
performance: { status: PASS, notes: "" }
|
||||||
reliability: { status: PASS, notes: "" }
|
reliability: { status: PASS, notes: "" }
|
||||||
maintainability: { status: PASS, notes: "" }
|
maintainability: { status: PASS, notes: "" }
|
||||||
|
|
||||||
history: |
|
history: |
|
||||||
history: # Append-only audit trail
|
history: # Append-only audit trail
|
||||||
- at: "2025-01-12T10:00:00Z"
|
- at: "2025-01-12T10:00:00Z"
|
||||||
@@ -79,7 +80,7 @@ optional_fields_examples:
|
|||||||
- at: "2025-01-12T15:00:00Z"
|
- at: "2025-01-12T15:00:00Z"
|
||||||
gate: CONCERNS
|
gate: CONCERNS
|
||||||
note: "Tests added but rate limiting still missing"
|
note: "Tests added but rate limiting still missing"
|
||||||
|
|
||||||
risk_summary: |
|
risk_summary: |
|
||||||
risk_summary: # From risk-profile task
|
risk_summary: # From risk-profile task
|
||||||
totals:
|
totals:
|
||||||
@@ -91,7 +92,7 @@ optional_fields_examples:
|
|||||||
recommendations:
|
recommendations:
|
||||||
must_fix: []
|
must_fix: []
|
||||||
monitor: []
|
monitor: []
|
||||||
|
|
||||||
recommendations: |
|
recommendations: |
|
||||||
recommendations:
|
recommendations:
|
||||||
immediate: # Must fix before production
|
immediate: # Must fix before production
|
||||||
@@ -99,4 +100,4 @@ optional_fields_examples:
|
|||||||
refs: ["api/auth/login.ts:42-68"]
|
refs: ["api/auth/login.ts:42-68"]
|
||||||
future: # Can be addressed later
|
future: # Can be addressed later
|
||||||
- action: "Consider caching for better performance"
|
- action: "Consider caching for better performance"
|
||||||
refs: ["services/data.service.ts"]
|
refs: ["services/data.service.ts"]
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: story-template-v2
|
id: story-template-v2
|
||||||
name: Story Document
|
name: Story Document
|
||||||
@@ -12,7 +13,7 @@ workflow:
|
|||||||
elicitation: advanced-elicitation
|
elicitation: advanced-elicitation
|
||||||
|
|
||||||
agent_config:
|
agent_config:
|
||||||
editable_sections:
|
editable_sections:
|
||||||
- Status
|
- Status
|
||||||
- Story
|
- Story
|
||||||
- Acceptance Criteria
|
- Acceptance Criteria
|
||||||
@@ -29,7 +30,7 @@ sections:
|
|||||||
instruction: Select the current status of the story
|
instruction: Select the current status of the story
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent]
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
- id: story
|
- id: story
|
||||||
title: Story
|
title: Story
|
||||||
type: template-text
|
type: template-text
|
||||||
@@ -41,7 +42,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: acceptance-criteria
|
- id: acceptance-criteria
|
||||||
title: Acceptance Criteria
|
title: Acceptance Criteria
|
||||||
type: numbered-list
|
type: numbered-list
|
||||||
@@ -49,7 +50,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: tasks-subtasks
|
- id: tasks-subtasks
|
||||||
title: Tasks / Subtasks
|
title: Tasks / Subtasks
|
||||||
type: bullet-list
|
type: bullet-list
|
||||||
@@ -66,7 +67,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent]
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
- id: dev-notes
|
- id: dev-notes
|
||||||
title: Dev Notes
|
title: Dev Notes
|
||||||
instruction: |
|
instruction: |
|
||||||
@@ -90,7 +91,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: change-log
|
- id: change-log
|
||||||
title: Change Log
|
title: Change Log
|
||||||
type: table
|
type: table
|
||||||
@@ -98,7 +99,7 @@ sections:
|
|||||||
instruction: Track changes made to this story document
|
instruction: Track changes made to this story document
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent, qa-agent]
|
editors: [scrum-master, dev-agent, qa-agent]
|
||||||
|
|
||||||
- id: dev-agent-record
|
- id: dev-agent-record
|
||||||
title: Dev Agent Record
|
title: Dev Agent Record
|
||||||
instruction: This section is populated by the development agent during implementation
|
instruction: This section is populated by the development agent during implementation
|
||||||
@@ -111,27 +112,27 @@ sections:
|
|||||||
instruction: Record the specific AI agent model and version used for development
|
instruction: Record the specific AI agent model and version used for development
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: debug-log-references
|
- id: debug-log-references
|
||||||
title: Debug Log References
|
title: Debug Log References
|
||||||
instruction: Reference any debug logs or traces generated during development
|
instruction: Reference any debug logs or traces generated during development
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: completion-notes
|
- id: completion-notes
|
||||||
title: Completion Notes List
|
title: Completion Notes List
|
||||||
instruction: Notes about the completion of tasks and any issues encountered
|
instruction: Notes about the completion of tasks and any issues encountered
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: file-list
|
- id: file-list
|
||||||
title: File List
|
title: File List
|
||||||
instruction: List all files created, modified, or affected during story implementation
|
instruction: List all files created, modified, or affected during story implementation
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: qa-results
|
- id: qa-results
|
||||||
title: QA Results
|
title: QA Results
|
||||||
instruction: Results from QA Agent QA review of the completed story implementation
|
instruction: Results from QA Agent QA review of the completed story implementation
|
||||||
owner: qa-agent
|
owner: qa-agent
|
||||||
editors: [qa-agent]
|
editors: [qa-agent]
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
workflow:
|
workflow:
|
||||||
id: brownfield-fullstack
|
id: brownfield-fullstack
|
||||||
name: Brownfield Full-Stack Enhancement
|
name: Brownfield Full-Stack Enhancement
|
||||||
@@ -20,7 +21,7 @@ workflow:
|
|||||||
- Single story (< 4 hours) → Use brownfield-create-story task
|
- Single story (< 4 hours) → Use brownfield-create-story task
|
||||||
- Small feature (1-3 stories) → Use brownfield-create-epic task
|
- Small feature (1-3 stories) → Use brownfield-create-epic task
|
||||||
- Major enhancement (multiple epics) → Continue with full workflow
|
- Major enhancement (multiple epics) → Continue with full workflow
|
||||||
|
|
||||||
Ask user: "Can you describe the enhancement scope? Is this a small fix, a feature addition, or a major enhancement requiring architectural changes?"
|
Ask user: "Can you describe the enhancement scope? Is this a small fix, a feature addition, or a major enhancement requiring architectural changes?"
|
||||||
|
|
||||||
- step: routing_decision
|
- step: routing_decision
|
||||||
@@ -181,7 +182,7 @@ workflow:
|
|||||||
notes: |
|
notes: |
|
||||||
All stories implemented and reviewed!
|
All stories implemented and reviewed!
|
||||||
Project development phase complete.
|
Project development phase complete.
|
||||||
|
|
||||||
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
||||||
|
|
||||||
flow_diagram: |
|
flow_diagram: |
|
||||||
@@ -265,33 +266,33 @@ workflow:
|
|||||||
{{if single_story}}: Proceeding with brownfield-create-story task for immediate implementation.
|
{{if single_story}}: Proceeding with brownfield-create-story task for immediate implementation.
|
||||||
{{if small_feature}}: Creating focused epic with brownfield-create-epic task.
|
{{if small_feature}}: Creating focused epic with brownfield-create-epic task.
|
||||||
{{if major_enhancement}}: Continuing with comprehensive planning workflow.
|
{{if major_enhancement}}: Continuing with comprehensive planning workflow.
|
||||||
|
|
||||||
documentation_assessment: |
|
documentation_assessment: |
|
||||||
Documentation assessment complete:
|
Documentation assessment complete:
|
||||||
{{if adequate}}: Existing documentation is sufficient. Proceeding directly to PRD creation.
|
{{if adequate}}: Existing documentation is sufficient. Proceeding directly to PRD creation.
|
||||||
{{if inadequate}}: Running document-project to capture current system state before PRD.
|
{{if inadequate}}: Running document-project to capture current system state before PRD.
|
||||||
|
|
||||||
document_project_to_pm: |
|
document_project_to_pm: |
|
||||||
Project analysis complete. Key findings documented in:
|
Project analysis complete. Key findings documented in:
|
||||||
- {{document_list}}
|
- {{document_list}}
|
||||||
Use these findings to inform PRD creation and avoid re-analyzing the same aspects.
|
Use these findings to inform PRD creation and avoid re-analyzing the same aspects.
|
||||||
|
|
||||||
pm_to_architect_decision: |
|
pm_to_architect_decision: |
|
||||||
PRD complete and saved as docs/prd.md.
|
PRD complete and saved as docs/prd.md.
|
||||||
Architectural changes identified: {{yes/no}}
|
Architectural changes identified: {{yes/no}}
|
||||||
{{if yes}}: Proceeding to create architecture document for: {{specific_changes}}
|
{{if yes}}: Proceeding to create architecture document for: {{specific_changes}}
|
||||||
{{if no}}: No architectural changes needed. Proceeding to validation.
|
{{if no}}: No architectural changes needed. Proceeding to validation.
|
||||||
|
|
||||||
architect_to_po: "Architecture complete. Save it as docs/architecture.md. Please validate all artifacts for integration safety."
|
architect_to_po: "Architecture complete. Save it as docs/architecture.md. Please validate all artifacts for integration safety."
|
||||||
|
|
||||||
po_to_sm: |
|
po_to_sm: |
|
||||||
All artifacts validated.
|
All artifacts validated.
|
||||||
Documentation type available: {{sharded_prd / brownfield_docs}}
|
Documentation type available: {{sharded_prd / brownfield_docs}}
|
||||||
{{if sharded}}: Use standard create-next-story task.
|
{{if sharded}}: Use standard create-next-story task.
|
||||||
{{if brownfield}}: Use create-brownfield-story task to handle varied documentation formats.
|
{{if brownfield}}: Use create-brownfield-story task to handle varied documentation formats.
|
||||||
|
|
||||||
sm_story_creation: |
|
sm_story_creation: |
|
||||||
Creating story from {{documentation_type}}.
|
Creating story from {{documentation_type}}.
|
||||||
{{if missing_context}}: May need to gather additional context from user during story creation.
|
{{if missing_context}}: May need to gather additional context from user during story creation.
|
||||||
|
|
||||||
complete: "All planning artifacts validated and development can begin. Stories will be created based on available documentation format."
|
complete: "All planning artifacts validated and development can begin. Stories will be created based on available documentation format."
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
workflow:
|
workflow:
|
||||||
id: brownfield-service
|
id: brownfield-service
|
||||||
name: Brownfield Service/API Enhancement
|
name: Brownfield Service/API Enhancement
|
||||||
@@ -127,7 +128,7 @@ workflow:
|
|||||||
notes: |
|
notes: |
|
||||||
All stories implemented and reviewed!
|
All stories implemented and reviewed!
|
||||||
Project development phase complete.
|
Project development phase complete.
|
||||||
|
|
||||||
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
||||||
|
|
||||||
flow_diagram: |
|
flow_diagram: |
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
workflow:
|
workflow:
|
||||||
id: brownfield-ui
|
id: brownfield-ui
|
||||||
name: Brownfield UI/Frontend Enhancement
|
name: Brownfield UI/Frontend Enhancement
|
||||||
@@ -134,7 +135,7 @@ workflow:
|
|||||||
notes: |
|
notes: |
|
||||||
All stories implemented and reviewed!
|
All stories implemented and reviewed!
|
||||||
Project development phase complete.
|
Project development phase complete.
|
||||||
|
|
||||||
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
||||||
|
|
||||||
flow_diagram: |
|
flow_diagram: |
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
workflow:
|
workflow:
|
||||||
id: greenfield-fullstack
|
id: greenfield-fullstack
|
||||||
name: Greenfield Full-Stack Application Development
|
name: Greenfield Full-Stack Application Development
|
||||||
@@ -159,7 +160,7 @@ workflow:
|
|||||||
notes: |
|
notes: |
|
||||||
All stories implemented and reviewed!
|
All stories implemented and reviewed!
|
||||||
Project development phase complete.
|
Project development phase complete.
|
||||||
|
|
||||||
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
||||||
|
|
||||||
flow_diagram: |
|
flow_diagram: |
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
workflow:
|
workflow:
|
||||||
id: greenfield-service
|
id: greenfield-service
|
||||||
name: Greenfield Service/API Development
|
name: Greenfield Service/API Development
|
||||||
@@ -135,7 +136,7 @@ workflow:
|
|||||||
notes: |
|
notes: |
|
||||||
All stories implemented and reviewed!
|
All stories implemented and reviewed!
|
||||||
Service development phase complete.
|
Service development phase complete.
|
||||||
|
|
||||||
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
||||||
|
|
||||||
flow_diagram: |
|
flow_diagram: |
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
workflow:
|
workflow:
|
||||||
id: greenfield-ui
|
id: greenfield-ui
|
||||||
name: Greenfield UI/Frontend Development
|
name: Greenfield UI/Frontend Development
|
||||||
@@ -154,7 +155,7 @@ workflow:
|
|||||||
notes: |
|
notes: |
|
||||||
All stories implemented and reviewed!
|
All stories implemented and reviewed!
|
||||||
Project development phase complete.
|
Project development phase complete.
|
||||||
|
|
||||||
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
Reference: {root}/data/bmad-kb.md#IDE Development Workflow
|
||||||
|
|
||||||
flow_diagram: |
|
flow_diagram: |
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Create Document from Template (YAML Driven)
|
# Create Document from Template (YAML Driven)
|
||||||
|
|
||||||
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Checklist Validation Task
|
# Checklist Validation Task
|
||||||
|
|
||||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# BMad Document Template Specification
|
# BMad Document Template Specification
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
@@ -14,7 +16,7 @@ template:
|
|||||||
output:
|
output:
|
||||||
format: markdown
|
format: markdown
|
||||||
filename: default-path/to/{{filename}}.md
|
filename: default-path/to/{{filename}}.md
|
||||||
title: "{{variable}} Document Title"
|
title: '{{variable}} Document Title'
|
||||||
|
|
||||||
workflow:
|
workflow:
|
||||||
mode: interactive
|
mode: interactive
|
||||||
@@ -108,8 +110,8 @@ sections:
|
|||||||
Use `{{variable_name}}` in titles, templates, and content:
|
Use `{{variable_name}}` in titles, templates, and content:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
title: "Epic {{epic_number}} {{epic_title}}"
|
title: 'Epic {{epic_number}} {{epic_title}}'
|
||||||
template: "As a {{user_type}}, I want {{action}}, so that {{benefit}}."
|
template: 'As a {{user_type}}, I want {{action}}, so that {{benefit}}.'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Conditional Sections
|
### Conditional Sections
|
||||||
@@ -212,7 +214,7 @@ choices:
|
|||||||
- id: criteria
|
- id: criteria
|
||||||
title: Acceptance Criteria
|
title: Acceptance Criteria
|
||||||
type: numbered-list
|
type: numbered-list
|
||||||
item_template: "{{criterion_number}}: {{criteria}}"
|
item_template: '{{criterion_number}}: {{criteria}}'
|
||||||
repeatable: true
|
repeatable: true
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -220,7 +222,7 @@ choices:
|
|||||||
|
|
||||||
````yaml
|
````yaml
|
||||||
examples:
|
examples:
|
||||||
- "FR6: The system must authenticate users within 2 seconds"
|
- 'FR6: The system must authenticate users within 2 seconds'
|
||||||
- |
|
- |
|
||||||
```mermaid
|
```mermaid
|
||||||
sequenceDiagram
|
sequenceDiagram
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
|
||||||
# Workflow Management
|
# Workflow Management
|
||||||
|
|
||||||
Enables BMad orchestrator to manage and execute team workflows.
|
Enables BMad orchestrator to manage and execute team workflows.
|
||||||
|
|||||||
1945
dist/agents/analyst.txt
vendored
1945
dist/agents/analyst.txt
vendored
File diff suppressed because it is too large
Load Diff
1551
dist/agents/architect.txt
vendored
1551
dist/agents/architect.txt
vendored
File diff suppressed because it is too large
Load Diff
1140
dist/agents/bmad-master.txt
vendored
1140
dist/agents/bmad-master.txt
vendored
File diff suppressed because it is too large
Load Diff
48
dist/agents/bmad-orchestrator.txt
vendored
48
dist/agents/bmad-orchestrator.txt
vendored
@@ -53,7 +53,6 @@ activation-instructions:
|
|||||||
- Assess user goal against available agents and workflows in this bundle
|
- 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 clear match to an agent's expertise, suggest transformation with *agent command
|
||||||
- If project-oriented, suggest *workflow-guidance to explore options
|
- If project-oriented, suggest *workflow-guidance to explore options
|
||||||
- Load resources only when needed - never pre-load
|
|
||||||
agent:
|
agent:
|
||||||
name: BMad Orchestrator
|
name: BMad Orchestrator
|
||||||
id: bmad-orchestrator
|
id: bmad-orchestrator
|
||||||
@@ -77,21 +76,16 @@ persona:
|
|||||||
- Always remind users that commands require * prefix
|
- Always remind users that commands require * prefix
|
||||||
commands:
|
commands:
|
||||||
help: Show this guide with available agents and workflows
|
help: Show this guide with available agents and workflows
|
||||||
chat-mode: Start conversational mode for detailed assistance
|
|
||||||
kb-mode: Load full BMad knowledge base
|
|
||||||
status: Show current context, active agent, and progress
|
|
||||||
agent: Transform into a specialized agent (list if name not specified)
|
agent: Transform into a specialized agent (list if name not specified)
|
||||||
exit: Return to BMad or exit session
|
chat-mode: Start conversational mode for detailed assistance
|
||||||
task: Run a specific task (list if name not specified)
|
|
||||||
workflow: Start a specific workflow (list if name not specified)
|
|
||||||
workflow-guidance: Get personalized help selecting the right workflow
|
|
||||||
plan: Create detailed workflow plan before starting
|
|
||||||
plan-status: Show current workflow plan progress
|
|
||||||
plan-update: Update workflow plan status
|
|
||||||
checklist: Execute a checklist (list if name not specified)
|
checklist: Execute a checklist (list if name not specified)
|
||||||
yolo: Toggle skip confirmations mode
|
|
||||||
party-mode: Group chat with all agents
|
|
||||||
doc-out: Output full document
|
doc-out: Output full document
|
||||||
|
kb-mode: Load full BMad knowledge base
|
||||||
|
party-mode: Group chat with all agents
|
||||||
|
status: Show current context, active agent, and progress
|
||||||
|
task: Run a specific task (list if name not specified)
|
||||||
|
yolo: Toggle skip confirmations mode
|
||||||
|
exit: Return to BMad or exit session
|
||||||
help-display-template: |
|
help-display-template: |
|
||||||
=== BMad Orchestrator Commands ===
|
=== BMad Orchestrator Commands ===
|
||||||
All commands must start with * (asterisk)
|
All commands must start with * (asterisk)
|
||||||
@@ -160,19 +154,20 @@ workflow-guidance:
|
|||||||
- Only recommend workflows that actually exist in the current bundle
|
- Only recommend workflows that actually exist in the current bundle
|
||||||
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
||||||
dependencies:
|
dependencies:
|
||||||
|
data:
|
||||||
|
- bmad-kb.md
|
||||||
|
- elicitation-methods.md
|
||||||
tasks:
|
tasks:
|
||||||
- advanced-elicitation.md
|
- advanced-elicitation.md
|
||||||
- create-doc.md
|
- create-doc.md
|
||||||
- kb-mode-interaction.md
|
- kb-mode-interaction.md
|
||||||
data:
|
|
||||||
- bmad-kb.md
|
|
||||||
- elicitation-methods.md
|
|
||||||
utils:
|
utils:
|
||||||
- workflow-management.md
|
- workflow-management.md
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/bmad-orchestrator.md ====================
|
==================== END: .bmad-core/agents/bmad-orchestrator.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/advanced-elicitation.md ====================
|
==================== START: .bmad-core/tasks/advanced-elicitation.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Advanced Elicitation Task
|
# Advanced Elicitation Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -293,6 +288,7 @@ Choose a number (0-8) or 9 to proceed:
|
|||||||
==================== END: .bmad-core/tasks/advanced-elicitation.md ====================
|
==================== END: .bmad-core/tasks/advanced-elicitation.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/create-doc.md ====================
|
==================== START: .bmad-core/tasks/create-doc.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Create Document from Template (YAML Driven)
|
# Create Document from Template (YAML Driven)
|
||||||
|
|
||||||
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
||||||
@@ -397,6 +393,7 @@ User can type `#yolo` to toggle to YOLO mode (process all sections at once).
|
|||||||
==================== END: .bmad-core/tasks/create-doc.md ====================
|
==================== END: .bmad-core/tasks/create-doc.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/kb-mode-interaction.md ====================
|
==================== START: .bmad-core/tasks/kb-mode-interaction.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# KB Mode Interaction Task
|
# KB Mode Interaction Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -475,11 +472,12 @@ Or ask me about anything else related to BMad-Method!
|
|||||||
==================== END: .bmad-core/tasks/kb-mode-interaction.md ====================
|
==================== END: .bmad-core/tasks/kb-mode-interaction.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/data/bmad-kb.md ====================
|
==================== START: .bmad-core/data/bmad-kb.md ====================
|
||||||
# BMad Knowledge Base
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
# BMAD™ Knowledge Base
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
BMad-Method (Breakthrough Method of Agile AI-driven Development) is a framework that combines AI agents with Agile development methodologies. The v4 system introduces a modular architecture with improved dependency management, bundle optimization, and support for both web and IDE environments.
|
BMAD-METHOD™ (Breakthrough Method of Agile AI-driven Development) is a framework that combines AI agents with Agile development methodologies. The v4 system introduces a modular architecture with improved dependency management, bundle optimization, and support for both web and IDE environments.
|
||||||
|
|
||||||
### Key Features
|
### Key Features
|
||||||
|
|
||||||
@@ -578,7 +576,7 @@ npx bmad-method install
|
|||||||
- **Roo Code**: Web-based IDE with agent support
|
- **Roo Code**: Web-based IDE with agent support
|
||||||
- **GitHub Copilot**: VS Code extension with AI peer programming assistant
|
- **GitHub Copilot**: VS Code extension with AI peer programming assistant
|
||||||
|
|
||||||
**Note for VS Code Users**: BMad-Method assumes when you mention "VS Code" that you're using it with an AI-powered extension like GitHub Copilot, Cline, or Roo. Standard VS Code without AI capabilities cannot run BMad agents. The installer includes built-in support for Cline and Roo.
|
**Note for VS Code Users**: BMAD-METHOD™ assumes when you mention "VS Code" that you're using it with an AI-powered extension like GitHub Copilot, Cline, or Roo. Standard VS Code without AI capabilities cannot run BMad agents. The installer includes built-in support for Cline and Roo.
|
||||||
|
|
||||||
**Verify Installation**:
|
**Verify Installation**:
|
||||||
|
|
||||||
@@ -586,7 +584,7 @@ npx bmad-method install
|
|||||||
- IDE-specific integration files created
|
- IDE-specific integration files created
|
||||||
- All agent commands/rules/modes available
|
- All agent commands/rules/modes available
|
||||||
|
|
||||||
**Remember**: At its core, BMad-Method is about mastering and harnessing prompt engineering. Any IDE with AI agent support can use BMad - the framework provides the structured prompts and workflows that make AI development effective
|
**Remember**: At its core, BMAD-METHOD™ is about mastering and harnessing prompt engineering. Any IDE with AI agent support can use BMad - the framework provides the structured prompts and workflows that make AI development effective
|
||||||
|
|
||||||
### Environment Selection Guide
|
### Environment Selection Guide
|
||||||
|
|
||||||
@@ -775,7 +773,7 @@ You are the "Vibe CEO" - thinking like a CEO with unlimited resources and a sing
|
|||||||
|
|
||||||
- **Claude Code**: `/agent-name` (e.g., `/bmad-master`)
|
- **Claude Code**: `/agent-name` (e.g., `/bmad-master`)
|
||||||
- **Cursor**: `@agent-name` (e.g., `@bmad-master`)
|
- **Cursor**: `@agent-name` (e.g., `@bmad-master`)
|
||||||
- **Windsurf**: `@agent-name` (e.g., `@bmad-master`)
|
- **Windsurf**: `/agent-name` (e.g., `/bmad-master`)
|
||||||
- **Trae**: `@agent-name` (e.g., `@bmad-master`)
|
- **Trae**: `@agent-name` (e.g., `@bmad-master`)
|
||||||
- **Roo Code**: Select mode from mode selector (e.g., `bmad-master`)
|
- **Roo Code**: Select mode from mode selector (e.g., `bmad-master`)
|
||||||
- **GitHub Copilot**: Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select **Agent** from the chat mode selector.
|
- **GitHub Copilot**: Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select **Agent** from the chat mode selector.
|
||||||
@@ -830,7 +828,7 @@ You are the "Vibe CEO" - thinking like a CEO with unlimited resources and a sing
|
|||||||
|
|
||||||
### System Overview
|
### System Overview
|
||||||
|
|
||||||
The BMad-Method is built around a modular architecture centered on the `bmad-core` directory, which serves as the brain of the entire system. This design enables the framework to operate effectively in both IDE environments (like Cursor, VS Code) and web-based AI interfaces (like ChatGPT, Gemini).
|
The BMAD-METHOD™ is built around a modular architecture centered on the `bmad-core` directory, which serves as the brain of the entire system. This design enables the framework to operate effectively in both IDE environments (like Cursor, VS Code) and web-based AI interfaces (like ChatGPT, Gemini).
|
||||||
|
|
||||||
### Key Architectural Components
|
### Key Architectural Components
|
||||||
|
|
||||||
@@ -1185,7 +1183,7 @@ Use the `shard-doc` task or `@kayvan/markdown-tree-parser` tool for automatic sh
|
|||||||
- **Keep conversations focused** - One agent, one task per conversation
|
- **Keep conversations focused** - One agent, one task per conversation
|
||||||
- **Review everything** - Always review and approve before marking complete
|
- **Review everything** - Always review and approve before marking complete
|
||||||
|
|
||||||
## Contributing to BMad-Method
|
## Contributing to BMAD-METHOD™
|
||||||
|
|
||||||
### Quick Contribution Guidelines
|
### Quick Contribution Guidelines
|
||||||
|
|
||||||
@@ -1217,7 +1215,7 @@ For full details, see `CONTRIBUTING.md`. Key points:
|
|||||||
|
|
||||||
### What Are Expansion Packs?
|
### What Are Expansion Packs?
|
||||||
|
|
||||||
Expansion packs extend BMad-Method beyond traditional software development into ANY domain. They provide specialized agent teams, templates, and workflows while keeping the core framework lean and focused on development.
|
Expansion packs extend BMAD-METHOD™ beyond traditional software development into ANY domain. They provide specialized agent teams, templates, and workflows while keeping the core framework lean and focused on development.
|
||||||
|
|
||||||
### Why Use Expansion Packs?
|
### Why Use Expansion Packs?
|
||||||
|
|
||||||
@@ -1284,6 +1282,7 @@ Use the **expansion-creator** pack to build your own:
|
|||||||
==================== END: .bmad-core/data/bmad-kb.md ====================
|
==================== END: .bmad-core/data/bmad-kb.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/data/elicitation-methods.md ====================
|
==================== START: .bmad-core/data/elicitation-methods.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Elicitation Methods Data
|
# Elicitation Methods Data
|
||||||
|
|
||||||
## Core Reflective Methods
|
## Core Reflective Methods
|
||||||
@@ -1441,6 +1440,7 @@ Use the **expansion-creator** pack to build your own:
|
|||||||
==================== END: .bmad-core/data/elicitation-methods.md ====================
|
==================== END: .bmad-core/data/elicitation-methods.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/utils/workflow-management.md ====================
|
==================== START: .bmad-core/utils/workflow-management.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Workflow Management
|
# Workflow Management
|
||||||
|
|
||||||
Enables BMad orchestrator to manage and execute team workflows.
|
Enables BMad orchestrator to manage and execute team workflows.
|
||||||
|
|||||||
169
dist/agents/dev.txt
vendored
169
dist/agents/dev.txt
vendored
@@ -69,9 +69,6 @@ core_principles:
|
|||||||
- Numbered Options - Always use numbered lists when presenting choices to the user
|
- Numbered Options - Always use numbered lists when presenting choices to the user
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- run-tests: Execute linting and tests
|
|
||||||
- explain: teach me what and why you did whatever you just did in detail so I can learn. Explain to me as if you were training a junior engineer.
|
|
||||||
- exit: Say goodbye as the Developer, and then abandon inhabiting this persona
|
|
||||||
- develop-story:
|
- develop-story:
|
||||||
- order-of-execution: Read (first or next) task→Implement Task and its subtasks→Write tests→Execute validations→Only if ALL pass, then update the task checkbox with [x]→Update story section File List to ensure it lists and new or modified or deleted source file→repeat order-of-execution until complete
|
- order-of-execution: Read (first or next) task→Implement Task and its subtasks→Write tests→Execute validations→Only if ALL pass, then update the task checkbox with [x]→Update story section File List to ensure it lists and new or modified or deleted source file→repeat order-of-execution until complete
|
||||||
- story-file-updates-ONLY:
|
- story-file-updates-ONLY:
|
||||||
@@ -81,16 +78,174 @@ 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'
|
- 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
|
- 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'
|
- 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'
|
||||||
|
- explain: teach me what and why you did whatever you just did in detail so I can learn. Explain to me as if you were training a junior engineer.
|
||||||
|
- review-qa: run task `apply-qa-fixes.md'
|
||||||
|
- run-tests: Execute linting and tests
|
||||||
|
- exit: Say goodbye as the Developer, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- execute-checklist.md
|
|
||||||
- validate-next-story.md
|
|
||||||
checklists:
|
checklists:
|
||||||
- story-dod-checklist.md
|
- story-dod-checklist.md
|
||||||
|
tasks:
|
||||||
|
- apply-qa-fixes.md
|
||||||
|
- execute-checklist.md
|
||||||
|
- validate-next-story.md
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/dev.md ====================
|
==================== END: .bmad-core/agents/dev.md ====================
|
||||||
|
|
||||||
|
==================== START: .bmad-core/tasks/apply-qa-fixes.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
# 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
|
||||||
|
==================== END: .bmad-core/tasks/apply-qa-fixes.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Checklist Validation Task
|
# Checklist Validation Task
|
||||||
|
|
||||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||||
@@ -180,6 +335,7 @@ The LLM will:
|
|||||||
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/validate-next-story.md ====================
|
==================== START: .bmad-core/tasks/validate-next-story.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Validate Next Story Task
|
# Validate Next Story Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -317,6 +473,7 @@ Provide a structured validation report including:
|
|||||||
==================== END: .bmad-core/tasks/validate-next-story.md ====================
|
==================== END: .bmad-core/tasks/validate-next-story.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/checklists/story-dod-checklist.md ====================
|
==================== START: .bmad-core/checklists/story-dod-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Story Definition of Done (DoD) Checklist
|
# Story Definition of Done (DoD) Checklist
|
||||||
|
|
||||||
## Instructions for Developer Agent
|
## Instructions for Developer Agent
|
||||||
|
|||||||
1538
dist/agents/pm.txt
vendored
1538
dist/agents/pm.txt
vendored
File diff suppressed because it is too large
Load Diff
557
dist/agents/po.txt
vendored
557
dist/agents/po.txt
vendored
@@ -75,30 +75,105 @@ persona:
|
|||||||
- Documentation Ecosystem Integrity - Maintain consistency across all documents
|
- Documentation Ecosystem Integrity - Maintain consistency across all documents
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- execute-checklist-po: Run task execute-checklist (checklist po-master-checklist)
|
|
||||||
- shard-doc {document} {destination}: run the task shard-doc against the optionally provided document to the specified destination
|
|
||||||
- correct-course: execute the correct-course task
|
- correct-course: execute the correct-course task
|
||||||
- create-epic: Create epic for brownfield projects (task brownfield-create-epic)
|
- create-epic: Create epic for brownfield projects (task brownfield-create-epic)
|
||||||
- create-story: Create user story from requirements (task brownfield-create-story)
|
- create-story: Create user story from requirements (task brownfield-create-story)
|
||||||
- doc-out: Output full document to current destination file
|
- doc-out: Output full document to current destination file
|
||||||
|
- execute-checklist-po: Run task execute-checklist (checklist po-master-checklist)
|
||||||
|
- shard-doc {document} {destination}: run the task shard-doc against the optionally provided document to the specified destination
|
||||||
- validate-story-draft {story}: run the task validate-next-story against the provided story file
|
- validate-story-draft {story}: run the task validate-next-story against the provided story file
|
||||||
- yolo: Toggle Yolo Mode off on - on will skip doc section confirmations
|
- yolo: Toggle Yolo Mode off on - on will skip doc section confirmations
|
||||||
- exit: Exit (confirm)
|
- exit: Exit (confirm)
|
||||||
dependencies:
|
dependencies:
|
||||||
|
checklists:
|
||||||
|
- change-checklist.md
|
||||||
|
- po-master-checklist.md
|
||||||
tasks:
|
tasks:
|
||||||
|
- correct-course.md
|
||||||
- execute-checklist.md
|
- execute-checklist.md
|
||||||
- shard-doc.md
|
- shard-doc.md
|
||||||
- correct-course.md
|
|
||||||
- validate-next-story.md
|
- validate-next-story.md
|
||||||
templates:
|
templates:
|
||||||
- story-tmpl.yaml
|
- story-tmpl.yaml
|
||||||
checklists:
|
|
||||||
- po-master-checklist.md
|
|
||||||
- change-checklist.md
|
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/po.md ====================
|
==================== END: .bmad-core/agents/po.md ====================
|
||||||
|
|
||||||
|
==================== START: .bmad-core/tasks/correct-course.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
# Correct Course Task
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
- Guide a structured response to a change trigger using the `.bmad-core/checklists/change-checklist`.
|
||||||
|
- Analyze the impacts of the change on epics, project artifacts, and the MVP, guided by the checklist's structure.
|
||||||
|
- Explore potential solutions (e.g., adjust scope, rollback elements, re-scope features) as prompted by the checklist.
|
||||||
|
- Draft specific, actionable proposed updates to any affected project artifacts (e.g., epics, user stories, PRD sections, architecture document sections) based on the analysis.
|
||||||
|
- Produce a consolidated "Sprint Change Proposal" document that contains the impact analysis and the clearly drafted proposed edits for user review and approval.
|
||||||
|
- Ensure a clear handoff path if the nature of the changes necessitates fundamental replanning by other core agents (like PM or Architect).
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
### 1. Initial Setup & Mode Selection
|
||||||
|
|
||||||
|
- **Acknowledge Task & Inputs:**
|
||||||
|
- Confirm with the user that the "Correct Course Task" (Change Navigation & Integration) is being initiated.
|
||||||
|
- Verify the change trigger and ensure you have the user's initial explanation of the issue and its perceived impact.
|
||||||
|
- Confirm access to all relevant project artifacts (e.g., PRD, Epics/Stories, Architecture Documents, UI/UX Specifications) and, critically, the `.bmad-core/checklists/change-checklist`.
|
||||||
|
- **Establish Interaction Mode:**
|
||||||
|
- Ask the user their preferred interaction mode for this task:
|
||||||
|
- **"Incrementally (Default & Recommended):** Shall we work through the change-checklist section by section, discussing findings and collaboratively drafting proposed changes for each relevant part before moving to the next? This allows for detailed, step-by-step refinement."
|
||||||
|
- **"YOLO Mode (Batch Processing):** Or, would you prefer I conduct a more batched analysis based on the checklist and then present a consolidated set of findings and proposed changes for a broader review? This can be quicker for initial assessment but might require more extensive review of the combined proposals."
|
||||||
|
- Once the user chooses, confirm the selected mode and then inform the user: "We will now use the change-checklist to analyze the change and draft proposed updates. I will guide you through the checklist items based on our chosen interaction mode."
|
||||||
|
|
||||||
|
### 2. Execute Checklist Analysis (Iteratively or Batched, per Interaction Mode)
|
||||||
|
|
||||||
|
- Systematically work through Sections 1-4 of the change-checklist (typically covering Change Context, Epic/Story Impact Analysis, Artifact Conflict Resolution, and Path Evaluation/Recommendation).
|
||||||
|
- For each checklist item or logical group of items (depending on interaction mode):
|
||||||
|
- Present the relevant prompt(s) or considerations from the checklist to the user.
|
||||||
|
- Request necessary information and actively analyze the relevant project artifacts (PRD, epics, architecture documents, story history, etc.) to assess the impact.
|
||||||
|
- Discuss your findings for each item with the user.
|
||||||
|
- Record the status of each checklist item (e.g., `[x] Addressed`, `[N/A]`, `[!] Further Action Needed`) and any pertinent notes or decisions.
|
||||||
|
- Collaboratively agree on the "Recommended Path Forward" as prompted by Section 4 of the checklist.
|
||||||
|
|
||||||
|
### 3. Draft Proposed Changes (Iteratively or Batched)
|
||||||
|
|
||||||
|
- Based on the completed checklist analysis (Sections 1-4) and the agreed "Recommended Path Forward" (excluding scenarios requiring fundamental replans that would necessitate immediate handoff to PM/Architect):
|
||||||
|
- Identify the specific project artifacts that require updates (e.g., specific epics, user stories, PRD sections, architecture document components, diagrams).
|
||||||
|
- **Draft the proposed changes directly and explicitly for each identified artifact.** Examples include:
|
||||||
|
- Revising user story text, acceptance criteria, or priority.
|
||||||
|
- Adding, removing, reordering, or splitting user stories within epics.
|
||||||
|
- Proposing modified architecture diagram snippets (e.g., providing an updated Mermaid diagram block or a clear textual description of the change to an existing diagram).
|
||||||
|
- Updating technology lists, configuration details, or specific sections within the PRD or architecture documents.
|
||||||
|
- Drafting new, small supporting artifacts if necessary (e.g., a brief addendum for a specific decision).
|
||||||
|
- If in "Incremental Mode," discuss and refine these proposed edits for each artifact or small group of related artifacts with the user as they are drafted.
|
||||||
|
- If in "YOLO Mode," compile all drafted edits for presentation in the next step.
|
||||||
|
|
||||||
|
### 4. Generate "Sprint Change Proposal" with Edits
|
||||||
|
|
||||||
|
- Synthesize the complete change-checklist analysis (covering findings from Sections 1-4) and all the agreed-upon proposed edits (from Instruction 3) into a single document titled "Sprint Change Proposal." This proposal should align with the structure suggested by Section 5 of the change-checklist.
|
||||||
|
- The proposal must clearly present:
|
||||||
|
- **Analysis Summary:** A concise overview of the original issue, its analyzed impact (on epics, artifacts, MVP scope), and the rationale for the chosen path forward.
|
||||||
|
- **Specific Proposed Edits:** For each affected artifact, clearly show or describe the exact changes (e.g., "Change Story X.Y from: [old text] To: [new text]", "Add new Acceptance Criterion to Story A.B: [new AC]", "Update Section 3.2 of Architecture Document as follows: [new/modified text or diagram description]").
|
||||||
|
- Present the complete draft of the "Sprint Change Proposal" to the user for final review and feedback. Incorporate any final adjustments requested by the user.
|
||||||
|
|
||||||
|
### 5. Finalize & Determine Next Steps
|
||||||
|
|
||||||
|
- Obtain explicit user approval for the "Sprint Change Proposal," including all the specific edits documented within it.
|
||||||
|
- Provide the finalized "Sprint Change Proposal" document to the user.
|
||||||
|
- **Based on the nature of the approved changes:**
|
||||||
|
- **If the approved edits sufficiently address the change and can be implemented directly or organized by a PO/SM:** State that the "Correct Course Task" is complete regarding analysis and change proposal, and the user can now proceed with implementing or logging these changes (e.g., updating actual project documents, backlog items). Suggest handoff to a PO/SM agent for backlog organization if appropriate.
|
||||||
|
- **If the analysis and proposed path (as per checklist Section 4 and potentially Section 6) indicate that the change requires a more fundamental replan (e.g., significant scope change, major architectural rework):** Clearly state this conclusion. Advise the user that the next step involves engaging the primary PM or Architect agents, using the "Sprint Change Proposal" as critical input and context for that deeper replanning effort.
|
||||||
|
|
||||||
|
## Output Deliverables
|
||||||
|
|
||||||
|
- **Primary:** A "Sprint Change Proposal" document (in markdown format). This document will contain:
|
||||||
|
- A summary of the change-checklist analysis (issue, impact, rationale for the chosen path).
|
||||||
|
- Specific, clearly drafted proposed edits for all affected project artifacts.
|
||||||
|
- **Implicit:** An annotated change-checklist (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
|
||||||
|
==================== END: .bmad-core/tasks/correct-course.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Checklist Validation Task
|
# Checklist Validation Task
|
||||||
|
|
||||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||||
@@ -188,6 +263,7 @@ The LLM will:
|
|||||||
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/shard-doc.md ====================
|
==================== START: .bmad-core/tasks/shard-doc.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Document Sharding Task
|
# Document Sharding Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -375,80 +451,8 @@ Document sharded successfully:
|
|||||||
- Ensure the sharding is reversible (could reconstruct the original from shards)
|
- Ensure the sharding is reversible (could reconstruct the original from shards)
|
||||||
==================== END: .bmad-core/tasks/shard-doc.md ====================
|
==================== END: .bmad-core/tasks/shard-doc.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/correct-course.md ====================
|
|
||||||
# Correct Course Task
|
|
||||||
|
|
||||||
## Purpose
|
|
||||||
|
|
||||||
- Guide a structured response to a change trigger using the `.bmad-core/checklists/change-checklist`.
|
|
||||||
- Analyze the impacts of the change on epics, project artifacts, and the MVP, guided by the checklist's structure.
|
|
||||||
- Explore potential solutions (e.g., adjust scope, rollback elements, re-scope features) as prompted by the checklist.
|
|
||||||
- Draft specific, actionable proposed updates to any affected project artifacts (e.g., epics, user stories, PRD sections, architecture document sections) based on the analysis.
|
|
||||||
- Produce a consolidated "Sprint Change Proposal" document that contains the impact analysis and the clearly drafted proposed edits for user review and approval.
|
|
||||||
- Ensure a clear handoff path if the nature of the changes necessitates fundamental replanning by other core agents (like PM or Architect).
|
|
||||||
|
|
||||||
## Instructions
|
|
||||||
|
|
||||||
### 1. Initial Setup & Mode Selection
|
|
||||||
|
|
||||||
- **Acknowledge Task & Inputs:**
|
|
||||||
- Confirm with the user that the "Correct Course Task" (Change Navigation & Integration) is being initiated.
|
|
||||||
- Verify the change trigger and ensure you have the user's initial explanation of the issue and its perceived impact.
|
|
||||||
- Confirm access to all relevant project artifacts (e.g., PRD, Epics/Stories, Architecture Documents, UI/UX Specifications) and, critically, the `.bmad-core/checklists/change-checklist`.
|
|
||||||
- **Establish Interaction Mode:**
|
|
||||||
- Ask the user their preferred interaction mode for this task:
|
|
||||||
- **"Incrementally (Default & Recommended):** Shall we work through the change-checklist section by section, discussing findings and collaboratively drafting proposed changes for each relevant part before moving to the next? This allows for detailed, step-by-step refinement."
|
|
||||||
- **"YOLO Mode (Batch Processing):** Or, would you prefer I conduct a more batched analysis based on the checklist and then present a consolidated set of findings and proposed changes for a broader review? This can be quicker for initial assessment but might require more extensive review of the combined proposals."
|
|
||||||
- Once the user chooses, confirm the selected mode and then inform the user: "We will now use the change-checklist to analyze the change and draft proposed updates. I will guide you through the checklist items based on our chosen interaction mode."
|
|
||||||
|
|
||||||
### 2. Execute Checklist Analysis (Iteratively or Batched, per Interaction Mode)
|
|
||||||
|
|
||||||
- Systematically work through Sections 1-4 of the change-checklist (typically covering Change Context, Epic/Story Impact Analysis, Artifact Conflict Resolution, and Path Evaluation/Recommendation).
|
|
||||||
- For each checklist item or logical group of items (depending on interaction mode):
|
|
||||||
- Present the relevant prompt(s) or considerations from the checklist to the user.
|
|
||||||
- Request necessary information and actively analyze the relevant project artifacts (PRD, epics, architecture documents, story history, etc.) to assess the impact.
|
|
||||||
- Discuss your findings for each item with the user.
|
|
||||||
- Record the status of each checklist item (e.g., `[x] Addressed`, `[N/A]`, `[!] Further Action Needed`) and any pertinent notes or decisions.
|
|
||||||
- Collaboratively agree on the "Recommended Path Forward" as prompted by Section 4 of the checklist.
|
|
||||||
|
|
||||||
### 3. Draft Proposed Changes (Iteratively or Batched)
|
|
||||||
|
|
||||||
- Based on the completed checklist analysis (Sections 1-4) and the agreed "Recommended Path Forward" (excluding scenarios requiring fundamental replans that would necessitate immediate handoff to PM/Architect):
|
|
||||||
- Identify the specific project artifacts that require updates (e.g., specific epics, user stories, PRD sections, architecture document components, diagrams).
|
|
||||||
- **Draft the proposed changes directly and explicitly for each identified artifact.** Examples include:
|
|
||||||
- Revising user story text, acceptance criteria, or priority.
|
|
||||||
- Adding, removing, reordering, or splitting user stories within epics.
|
|
||||||
- Proposing modified architecture diagram snippets (e.g., providing an updated Mermaid diagram block or a clear textual description of the change to an existing diagram).
|
|
||||||
- Updating technology lists, configuration details, or specific sections within the PRD or architecture documents.
|
|
||||||
- Drafting new, small supporting artifacts if necessary (e.g., a brief addendum for a specific decision).
|
|
||||||
- If in "Incremental Mode," discuss and refine these proposed edits for each artifact or small group of related artifacts with the user as they are drafted.
|
|
||||||
- If in "YOLO Mode," compile all drafted edits for presentation in the next step.
|
|
||||||
|
|
||||||
### 4. Generate "Sprint Change Proposal" with Edits
|
|
||||||
|
|
||||||
- Synthesize the complete change-checklist analysis (covering findings from Sections 1-4) and all the agreed-upon proposed edits (from Instruction 3) into a single document titled "Sprint Change Proposal." This proposal should align with the structure suggested by Section 5 of the change-checklist.
|
|
||||||
- The proposal must clearly present:
|
|
||||||
- **Analysis Summary:** A concise overview of the original issue, its analyzed impact (on epics, artifacts, MVP scope), and the rationale for the chosen path forward.
|
|
||||||
- **Specific Proposed Edits:** For each affected artifact, clearly show or describe the exact changes (e.g., "Change Story X.Y from: [old text] To: [new text]", "Add new Acceptance Criterion to Story A.B: [new AC]", "Update Section 3.2 of Architecture Document as follows: [new/modified text or diagram description]").
|
|
||||||
- Present the complete draft of the "Sprint Change Proposal" to the user for final review and feedback. Incorporate any final adjustments requested by the user.
|
|
||||||
|
|
||||||
### 5. Finalize & Determine Next Steps
|
|
||||||
|
|
||||||
- Obtain explicit user approval for the "Sprint Change Proposal," including all the specific edits documented within it.
|
|
||||||
- Provide the finalized "Sprint Change Proposal" document to the user.
|
|
||||||
- **Based on the nature of the approved changes:**
|
|
||||||
- **If the approved edits sufficiently address the change and can be implemented directly or organized by a PO/SM:** State that the "Correct Course Task" is complete regarding analysis and change proposal, and the user can now proceed with implementing or logging these changes (e.g., updating actual project documents, backlog items). Suggest handoff to a PO/SM agent for backlog organization if appropriate.
|
|
||||||
- **If the analysis and proposed path (as per checklist Section 4 and potentially Section 6) indicate that the change requires a more fundamental replan (e.g., significant scope change, major architectural rework):** Clearly state this conclusion. Advise the user that the next step involves engaging the primary PM or Architect agents, using the "Sprint Change Proposal" as critical input and context for that deeper replanning effort.
|
|
||||||
|
|
||||||
## Output Deliverables
|
|
||||||
|
|
||||||
- **Primary:** A "Sprint Change Proposal" document (in markdown format). This document will contain:
|
|
||||||
- A summary of the change-checklist analysis (issue, impact, rationale for the chosen path).
|
|
||||||
- Specific, clearly drafted proposed edits for all affected project artifacts.
|
|
||||||
- **Implicit:** An annotated change-checklist (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
|
|
||||||
==================== END: .bmad-core/tasks/correct-course.md ====================
|
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/validate-next-story.md ====================
|
==================== START: .bmad-core/tasks/validate-next-story.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Validate Next Story Task
|
# Validate Next Story Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -586,6 +590,7 @@ Provide a structured validation report including:
|
|||||||
==================== END: .bmad-core/tasks/validate-next-story.md ====================
|
==================== END: .bmad-core/tasks/validate-next-story.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/templates/story-tmpl.yaml ====================
|
==================== START: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: story-template-v2
|
id: story-template-v2
|
||||||
name: Story Document
|
name: Story Document
|
||||||
@@ -600,7 +605,7 @@ workflow:
|
|||||||
elicitation: advanced-elicitation
|
elicitation: advanced-elicitation
|
||||||
|
|
||||||
agent_config:
|
agent_config:
|
||||||
editable_sections:
|
editable_sections:
|
||||||
- Status
|
- Status
|
||||||
- Story
|
- Story
|
||||||
- Acceptance Criteria
|
- Acceptance Criteria
|
||||||
@@ -617,7 +622,7 @@ sections:
|
|||||||
instruction: Select the current status of the story
|
instruction: Select the current status of the story
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent]
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
- id: story
|
- id: story
|
||||||
title: Story
|
title: Story
|
||||||
type: template-text
|
type: template-text
|
||||||
@@ -629,7 +634,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: acceptance-criteria
|
- id: acceptance-criteria
|
||||||
title: Acceptance Criteria
|
title: Acceptance Criteria
|
||||||
type: numbered-list
|
type: numbered-list
|
||||||
@@ -637,7 +642,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: tasks-subtasks
|
- id: tasks-subtasks
|
||||||
title: Tasks / Subtasks
|
title: Tasks / Subtasks
|
||||||
type: bullet-list
|
type: bullet-list
|
||||||
@@ -654,7 +659,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent]
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
- id: dev-notes
|
- id: dev-notes
|
||||||
title: Dev Notes
|
title: Dev Notes
|
||||||
instruction: |
|
instruction: |
|
||||||
@@ -678,7 +683,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: change-log
|
- id: change-log
|
||||||
title: Change Log
|
title: Change Log
|
||||||
type: table
|
type: table
|
||||||
@@ -686,7 +691,7 @@ sections:
|
|||||||
instruction: Track changes made to this story document
|
instruction: Track changes made to this story document
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent, qa-agent]
|
editors: [scrum-master, dev-agent, qa-agent]
|
||||||
|
|
||||||
- id: dev-agent-record
|
- id: dev-agent-record
|
||||||
title: Dev Agent Record
|
title: Dev Agent Record
|
||||||
instruction: This section is populated by the development agent during implementation
|
instruction: This section is populated by the development agent during implementation
|
||||||
@@ -699,25 +704,25 @@ sections:
|
|||||||
instruction: Record the specific AI agent model and version used for development
|
instruction: Record the specific AI agent model and version used for development
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: debug-log-references
|
- id: debug-log-references
|
||||||
title: Debug Log References
|
title: Debug Log References
|
||||||
instruction: Reference any debug logs or traces generated during development
|
instruction: Reference any debug logs or traces generated during development
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: completion-notes
|
- id: completion-notes
|
||||||
title: Completion Notes List
|
title: Completion Notes List
|
||||||
instruction: Notes about the completion of tasks and any issues encountered
|
instruction: Notes about the completion of tasks and any issues encountered
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: file-list
|
- id: file-list
|
||||||
title: File List
|
title: File List
|
||||||
instruction: List all files created, modified, or affected during story implementation
|
instruction: List all files created, modified, or affected during story implementation
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: qa-results
|
- id: qa-results
|
||||||
title: QA Results
|
title: QA Results
|
||||||
instruction: Results from QA Agent QA review of the completed story implementation
|
instruction: Results from QA Agent QA review of the completed story implementation
|
||||||
@@ -725,7 +730,194 @@ sections:
|
|||||||
editors: [qa-agent]
|
editors: [qa-agent]
|
||||||
==================== END: .bmad-core/templates/story-tmpl.yaml ====================
|
==================== END: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
|
|
||||||
|
==================== START: .bmad-core/checklists/change-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
# Change Navigation Checklist
|
||||||
|
|
||||||
|
**Purpose:** To systematically guide the selected Agent and user through the analysis and planning required when a significant change (pivot, tech issue, missing requirement, failed story) is identified during the BMad workflow.
|
||||||
|
|
||||||
|
**Instructions:** Review each item with the user. Mark `[x]` for completed/confirmed, `[N/A]` if not applicable, or add notes for discussion points.
|
||||||
|
|
||||||
|
[[LLM: INITIALIZATION INSTRUCTIONS - CHANGE NAVIGATION
|
||||||
|
|
||||||
|
Changes during development are inevitable, but how we handle them determines project success or failure.
|
||||||
|
|
||||||
|
Before proceeding, understand:
|
||||||
|
|
||||||
|
1. This checklist is for SIGNIFICANT changes that affect the project direction
|
||||||
|
2. Minor adjustments within a story don't require this process
|
||||||
|
3. The goal is to minimize wasted work while adapting to new realities
|
||||||
|
4. User buy-in is critical - they must understand and approve changes
|
||||||
|
|
||||||
|
Required context:
|
||||||
|
|
||||||
|
- The triggering story or issue
|
||||||
|
- Current project state (completed stories, current epic)
|
||||||
|
- Access to PRD, architecture, and other key documents
|
||||||
|
- Understanding of remaining work planned
|
||||||
|
|
||||||
|
APPROACH:
|
||||||
|
This is an interactive process with the user. Work through each section together, discussing implications and options. The user makes final decisions, but provide expert guidance on technical feasibility and impact.
|
||||||
|
|
||||||
|
REMEMBER: Changes are opportunities to improve, not failures. Handle them professionally and constructively.]]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Understand the Trigger & Context
|
||||||
|
|
||||||
|
[[LLM: Start by fully understanding what went wrong and why. Don't jump to solutions yet. Ask probing questions:
|
||||||
|
|
||||||
|
- What exactly happened that triggered this review?
|
||||||
|
- Is this a one-time issue or symptomatic of a larger problem?
|
||||||
|
- Could this have been anticipated earlier?
|
||||||
|
- What assumptions were incorrect?
|
||||||
|
|
||||||
|
Be specific and factual, not blame-oriented.]]
|
||||||
|
|
||||||
|
- [ ] **Identify Triggering Story:** Clearly identify the story (or stories) that revealed the issue.
|
||||||
|
- [ ] **Define the Issue:** Articulate the core problem precisely.
|
||||||
|
- [ ] Is it a technical limitation/dead-end?
|
||||||
|
- [ ] Is it a newly discovered requirement?
|
||||||
|
- [ ] Is it a fundamental misunderstanding of existing requirements?
|
||||||
|
- [ ] Is it a necessary pivot based on feedback or new information?
|
||||||
|
- [ ] Is it a failed/abandoned story needing a new approach?
|
||||||
|
- [ ] **Assess Initial Impact:** Describe the immediate observed consequences (e.g., blocked progress, incorrect functionality, non-viable tech).
|
||||||
|
- [ ] **Gather Evidence:** Note any specific logs, error messages, user feedback, or analysis that supports the issue definition.
|
||||||
|
|
||||||
|
## 2. Epic Impact Assessment
|
||||||
|
|
||||||
|
[[LLM: Changes ripple through the project structure. Systematically evaluate:
|
||||||
|
|
||||||
|
1. Can we salvage the current epic with modifications?
|
||||||
|
2. Do future epics still make sense given this change?
|
||||||
|
3. Are we creating or eliminating dependencies?
|
||||||
|
4. Does the epic sequence need reordering?
|
||||||
|
|
||||||
|
Think about both immediate and downstream effects.]]
|
||||||
|
|
||||||
|
- [ ] **Analyze Current Epic:**
|
||||||
|
- [ ] Can the current epic containing the trigger story still be completed?
|
||||||
|
- [ ] Does the current epic need modification (story changes, additions, removals)?
|
||||||
|
- [ ] Should the current epic be abandoned or fundamentally redefined?
|
||||||
|
- [ ] **Analyze Future Epics:**
|
||||||
|
- [ ] Review all remaining planned epics.
|
||||||
|
- [ ] Does the issue require changes to planned stories in future epics?
|
||||||
|
- [ ] Does the issue invalidate any future epics?
|
||||||
|
- [ ] Does the issue necessitate the creation of entirely new epics?
|
||||||
|
- [ ] Should the order/priority of future epics be changed?
|
||||||
|
- [ ] **Summarize Epic Impact:** Briefly document the overall effect on the project's epic structure and flow.
|
||||||
|
|
||||||
|
## 3. Artifact Conflict & Impact Analysis
|
||||||
|
|
||||||
|
[[LLM: Documentation drives development in BMad. Check each artifact:
|
||||||
|
|
||||||
|
1. Does this change invalidate documented decisions?
|
||||||
|
2. Are architectural assumptions still valid?
|
||||||
|
3. Do user flows need rethinking?
|
||||||
|
4. Are technical constraints different than documented?
|
||||||
|
|
||||||
|
Be thorough - missed conflicts cause future problems.]]
|
||||||
|
|
||||||
|
- [ ] **Review PRD:**
|
||||||
|
- [ ] Does the issue conflict with the core goals or requirements stated in the PRD?
|
||||||
|
- [ ] Does the PRD need clarification or updates based on the new understanding?
|
||||||
|
- [ ] **Review Architecture Document:**
|
||||||
|
- [ ] Does the issue conflict with the documented architecture (components, patterns, tech choices)?
|
||||||
|
- [ ] Are specific components/diagrams/sections impacted?
|
||||||
|
- [ ] Does the technology list need updating?
|
||||||
|
- [ ] Do data models or schemas need revision?
|
||||||
|
- [ ] Are external API integrations affected?
|
||||||
|
- [ ] **Review Frontend Spec (if applicable):**
|
||||||
|
- [ ] Does the issue conflict with the FE architecture, component library choice, or UI/UX design?
|
||||||
|
- [ ] Are specific FE components or user flows impacted?
|
||||||
|
- [ ] **Review Other Artifacts (if applicable):**
|
||||||
|
- [ ] Consider impact on deployment scripts, IaC, monitoring setup, etc.
|
||||||
|
- [ ] **Summarize Artifact Impact:** List all artifacts requiring updates and the nature of the changes needed.
|
||||||
|
|
||||||
|
## 4. Path Forward Evaluation
|
||||||
|
|
||||||
|
[[LLM: Present options clearly with pros/cons. For each path:
|
||||||
|
|
||||||
|
1. What's the effort required?
|
||||||
|
2. What work gets thrown away?
|
||||||
|
3. What risks are we taking?
|
||||||
|
4. How does this affect timeline?
|
||||||
|
5. Is this sustainable long-term?
|
||||||
|
|
||||||
|
Be honest about trade-offs. There's rarely a perfect solution.]]
|
||||||
|
|
||||||
|
- [ ] **Option 1: Direct Adjustment / Integration:**
|
||||||
|
- [ ] Can the issue be addressed by modifying/adding future stories within the existing plan?
|
||||||
|
- [ ] Define the scope and nature of these adjustments.
|
||||||
|
- [ ] Assess feasibility, effort, and risks of this path.
|
||||||
|
- [ ] **Option 2: Potential Rollback:**
|
||||||
|
- [ ] Would reverting completed stories significantly simplify addressing the issue?
|
||||||
|
- [ ] Identify specific stories/commits to consider for rollback.
|
||||||
|
- [ ] Assess the effort required for rollback.
|
||||||
|
- [ ] Assess the impact of rollback (lost work, data implications).
|
||||||
|
- [ ] Compare the net benefit/cost vs. Direct Adjustment.
|
||||||
|
- [ ] **Option 3: PRD MVP Review & Potential Re-scoping:**
|
||||||
|
- [ ] Is the original PRD MVP still achievable given the issue and constraints?
|
||||||
|
- [ ] Does the MVP scope need reduction (removing features/epics)?
|
||||||
|
- [ ] Do the core MVP goals need modification?
|
||||||
|
- [ ] Are alternative approaches needed to meet the original MVP intent?
|
||||||
|
- [ ] **Extreme Case:** Does the issue necessitate a fundamental replan or potentially a new PRD V2 (to be handled by PM)?
|
||||||
|
- [ ] **Select Recommended Path:** Based on the evaluation, agree on the most viable path forward.
|
||||||
|
|
||||||
|
## 5. Sprint Change Proposal Components
|
||||||
|
|
||||||
|
[[LLM: The proposal must be actionable and clear. Ensure:
|
||||||
|
|
||||||
|
1. The issue is explained in plain language
|
||||||
|
2. Impacts are quantified where possible
|
||||||
|
3. The recommended path has clear rationale
|
||||||
|
4. Next steps are specific and assigned
|
||||||
|
5. Success criteria for the change are defined
|
||||||
|
|
||||||
|
This proposal guides all subsequent work.]]
|
||||||
|
|
||||||
|
(Ensure all agreed-upon points from previous sections are captured in the proposal)
|
||||||
|
|
||||||
|
- [ ] **Identified Issue Summary:** Clear, concise problem statement.
|
||||||
|
- [ ] **Epic Impact Summary:** How epics are affected.
|
||||||
|
- [ ] **Artifact Adjustment Needs:** List of documents to change.
|
||||||
|
- [ ] **Recommended Path Forward:** Chosen solution with rationale.
|
||||||
|
- [ ] **PRD MVP Impact:** Changes to scope/goals (if any).
|
||||||
|
- [ ] **High-Level Action Plan:** Next steps for stories/updates.
|
||||||
|
- [ ] **Agent Handoff Plan:** Identify roles needed (PM, Arch, Design Arch, PO).
|
||||||
|
|
||||||
|
## 6. Final Review & Handoff
|
||||||
|
|
||||||
|
[[LLM: Changes require coordination. Before concluding:
|
||||||
|
|
||||||
|
1. Is the user fully aligned with the plan?
|
||||||
|
2. Do all stakeholders understand the impacts?
|
||||||
|
3. Are handoffs to other agents clear?
|
||||||
|
4. Is there a rollback plan if the change fails?
|
||||||
|
5. How will we validate the change worked?
|
||||||
|
|
||||||
|
Get explicit approval - implicit agreement causes problems.
|
||||||
|
|
||||||
|
FINAL REPORT:
|
||||||
|
After completing the checklist, provide a concise summary:
|
||||||
|
|
||||||
|
- What changed and why
|
||||||
|
- What we're doing about it
|
||||||
|
- Who needs to do what
|
||||||
|
- When we'll know if it worked
|
||||||
|
|
||||||
|
Keep it action-oriented and forward-looking.]]
|
||||||
|
|
||||||
|
- [ ] **Review Checklist:** Confirm all relevant items were discussed.
|
||||||
|
- [ ] **Review Sprint Change Proposal:** Ensure it accurately reflects the discussion and decisions.
|
||||||
|
- [ ] **User Approval:** Obtain explicit user approval for the proposal.
|
||||||
|
- [ ] **Confirm Next Steps:** Reiterate the handoff plan and the next actions to be taken by specific agents.
|
||||||
|
|
||||||
|
---
|
||||||
|
==================== END: .bmad-core/checklists/change-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/checklists/po-master-checklist.md ====================
|
==================== START: .bmad-core/checklists/po-master-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Product Owner (PO) Master Validation Checklist
|
# Product Owner (PO) Master Validation Checklist
|
||||||
|
|
||||||
This checklist serves as a comprehensive framework for the Product Owner to validate project plans before development execution. It adapts intelligently based on project type (greenfield vs brownfield) and includes UI/UX considerations when applicable.
|
This checklist serves as a comprehensive framework for the Product Owner to validate project plans before development execution. It adapts intelligently based on project type (greenfield vs brownfield) and includes UI/UX considerations when applicable.
|
||||||
@@ -1159,188 +1351,3 @@ After presenting the report, ask if the user wants:
|
|||||||
- **CONDITIONAL**: The plan requires specific adjustments before proceeding.
|
- **CONDITIONAL**: The plan requires specific adjustments before proceeding.
|
||||||
- **REJECTED**: The plan requires significant revision to address critical deficiencies.
|
- **REJECTED**: The plan requires significant revision to address critical deficiencies.
|
||||||
==================== END: .bmad-core/checklists/po-master-checklist.md ====================
|
==================== END: .bmad-core/checklists/po-master-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/checklists/change-checklist.md ====================
|
|
||||||
# Change Navigation Checklist
|
|
||||||
|
|
||||||
**Purpose:** To systematically guide the selected Agent and user through the analysis and planning required when a significant change (pivot, tech issue, missing requirement, failed story) is identified during the BMad workflow.
|
|
||||||
|
|
||||||
**Instructions:** Review each item with the user. Mark `[x]` for completed/confirmed, `[N/A]` if not applicable, or add notes for discussion points.
|
|
||||||
|
|
||||||
[[LLM: INITIALIZATION INSTRUCTIONS - CHANGE NAVIGATION
|
|
||||||
|
|
||||||
Changes during development are inevitable, but how we handle them determines project success or failure.
|
|
||||||
|
|
||||||
Before proceeding, understand:
|
|
||||||
|
|
||||||
1. This checklist is for SIGNIFICANT changes that affect the project direction
|
|
||||||
2. Minor adjustments within a story don't require this process
|
|
||||||
3. The goal is to minimize wasted work while adapting to new realities
|
|
||||||
4. User buy-in is critical - they must understand and approve changes
|
|
||||||
|
|
||||||
Required context:
|
|
||||||
|
|
||||||
- The triggering story or issue
|
|
||||||
- Current project state (completed stories, current epic)
|
|
||||||
- Access to PRD, architecture, and other key documents
|
|
||||||
- Understanding of remaining work planned
|
|
||||||
|
|
||||||
APPROACH:
|
|
||||||
This is an interactive process with the user. Work through each section together, discussing implications and options. The user makes final decisions, but provide expert guidance on technical feasibility and impact.
|
|
||||||
|
|
||||||
REMEMBER: Changes are opportunities to improve, not failures. Handle them professionally and constructively.]]
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. Understand the Trigger & Context
|
|
||||||
|
|
||||||
[[LLM: Start by fully understanding what went wrong and why. Don't jump to solutions yet. Ask probing questions:
|
|
||||||
|
|
||||||
- What exactly happened that triggered this review?
|
|
||||||
- Is this a one-time issue or symptomatic of a larger problem?
|
|
||||||
- Could this have been anticipated earlier?
|
|
||||||
- What assumptions were incorrect?
|
|
||||||
|
|
||||||
Be specific and factual, not blame-oriented.]]
|
|
||||||
|
|
||||||
- [ ] **Identify Triggering Story:** Clearly identify the story (or stories) that revealed the issue.
|
|
||||||
- [ ] **Define the Issue:** Articulate the core problem precisely.
|
|
||||||
- [ ] Is it a technical limitation/dead-end?
|
|
||||||
- [ ] Is it a newly discovered requirement?
|
|
||||||
- [ ] Is it a fundamental misunderstanding of existing requirements?
|
|
||||||
- [ ] Is it a necessary pivot based on feedback or new information?
|
|
||||||
- [ ] Is it a failed/abandoned story needing a new approach?
|
|
||||||
- [ ] **Assess Initial Impact:** Describe the immediate observed consequences (e.g., blocked progress, incorrect functionality, non-viable tech).
|
|
||||||
- [ ] **Gather Evidence:** Note any specific logs, error messages, user feedback, or analysis that supports the issue definition.
|
|
||||||
|
|
||||||
## 2. Epic Impact Assessment
|
|
||||||
|
|
||||||
[[LLM: Changes ripple through the project structure. Systematically evaluate:
|
|
||||||
|
|
||||||
1. Can we salvage the current epic with modifications?
|
|
||||||
2. Do future epics still make sense given this change?
|
|
||||||
3. Are we creating or eliminating dependencies?
|
|
||||||
4. Does the epic sequence need reordering?
|
|
||||||
|
|
||||||
Think about both immediate and downstream effects.]]
|
|
||||||
|
|
||||||
- [ ] **Analyze Current Epic:**
|
|
||||||
- [ ] Can the current epic containing the trigger story still be completed?
|
|
||||||
- [ ] Does the current epic need modification (story changes, additions, removals)?
|
|
||||||
- [ ] Should the current epic be abandoned or fundamentally redefined?
|
|
||||||
- [ ] **Analyze Future Epics:**
|
|
||||||
- [ ] Review all remaining planned epics.
|
|
||||||
- [ ] Does the issue require changes to planned stories in future epics?
|
|
||||||
- [ ] Does the issue invalidate any future epics?
|
|
||||||
- [ ] Does the issue necessitate the creation of entirely new epics?
|
|
||||||
- [ ] Should the order/priority of future epics be changed?
|
|
||||||
- [ ] **Summarize Epic Impact:** Briefly document the overall effect on the project's epic structure and flow.
|
|
||||||
|
|
||||||
## 3. Artifact Conflict & Impact Analysis
|
|
||||||
|
|
||||||
[[LLM: Documentation drives development in BMad. Check each artifact:
|
|
||||||
|
|
||||||
1. Does this change invalidate documented decisions?
|
|
||||||
2. Are architectural assumptions still valid?
|
|
||||||
3. Do user flows need rethinking?
|
|
||||||
4. Are technical constraints different than documented?
|
|
||||||
|
|
||||||
Be thorough - missed conflicts cause future problems.]]
|
|
||||||
|
|
||||||
- [ ] **Review PRD:**
|
|
||||||
- [ ] Does the issue conflict with the core goals or requirements stated in the PRD?
|
|
||||||
- [ ] Does the PRD need clarification or updates based on the new understanding?
|
|
||||||
- [ ] **Review Architecture Document:**
|
|
||||||
- [ ] Does the issue conflict with the documented architecture (components, patterns, tech choices)?
|
|
||||||
- [ ] Are specific components/diagrams/sections impacted?
|
|
||||||
- [ ] Does the technology list need updating?
|
|
||||||
- [ ] Do data models or schemas need revision?
|
|
||||||
- [ ] Are external API integrations affected?
|
|
||||||
- [ ] **Review Frontend Spec (if applicable):**
|
|
||||||
- [ ] Does the issue conflict with the FE architecture, component library choice, or UI/UX design?
|
|
||||||
- [ ] Are specific FE components or user flows impacted?
|
|
||||||
- [ ] **Review Other Artifacts (if applicable):**
|
|
||||||
- [ ] Consider impact on deployment scripts, IaC, monitoring setup, etc.
|
|
||||||
- [ ] **Summarize Artifact Impact:** List all artifacts requiring updates and the nature of the changes needed.
|
|
||||||
|
|
||||||
## 4. Path Forward Evaluation
|
|
||||||
|
|
||||||
[[LLM: Present options clearly with pros/cons. For each path:
|
|
||||||
|
|
||||||
1. What's the effort required?
|
|
||||||
2. What work gets thrown away?
|
|
||||||
3. What risks are we taking?
|
|
||||||
4. How does this affect timeline?
|
|
||||||
5. Is this sustainable long-term?
|
|
||||||
|
|
||||||
Be honest about trade-offs. There's rarely a perfect solution.]]
|
|
||||||
|
|
||||||
- [ ] **Option 1: Direct Adjustment / Integration:**
|
|
||||||
- [ ] Can the issue be addressed by modifying/adding future stories within the existing plan?
|
|
||||||
- [ ] Define the scope and nature of these adjustments.
|
|
||||||
- [ ] Assess feasibility, effort, and risks of this path.
|
|
||||||
- [ ] **Option 2: Potential Rollback:**
|
|
||||||
- [ ] Would reverting completed stories significantly simplify addressing the issue?
|
|
||||||
- [ ] Identify specific stories/commits to consider for rollback.
|
|
||||||
- [ ] Assess the effort required for rollback.
|
|
||||||
- [ ] Assess the impact of rollback (lost work, data implications).
|
|
||||||
- [ ] Compare the net benefit/cost vs. Direct Adjustment.
|
|
||||||
- [ ] **Option 3: PRD MVP Review & Potential Re-scoping:**
|
|
||||||
- [ ] Is the original PRD MVP still achievable given the issue and constraints?
|
|
||||||
- [ ] Does the MVP scope need reduction (removing features/epics)?
|
|
||||||
- [ ] Do the core MVP goals need modification?
|
|
||||||
- [ ] Are alternative approaches needed to meet the original MVP intent?
|
|
||||||
- [ ] **Extreme Case:** Does the issue necessitate a fundamental replan or potentially a new PRD V2 (to be handled by PM)?
|
|
||||||
- [ ] **Select Recommended Path:** Based on the evaluation, agree on the most viable path forward.
|
|
||||||
|
|
||||||
## 5. Sprint Change Proposal Components
|
|
||||||
|
|
||||||
[[LLM: The proposal must be actionable and clear. Ensure:
|
|
||||||
|
|
||||||
1. The issue is explained in plain language
|
|
||||||
2. Impacts are quantified where possible
|
|
||||||
3. The recommended path has clear rationale
|
|
||||||
4. Next steps are specific and assigned
|
|
||||||
5. Success criteria for the change are defined
|
|
||||||
|
|
||||||
This proposal guides all subsequent work.]]
|
|
||||||
|
|
||||||
(Ensure all agreed-upon points from previous sections are captured in the proposal)
|
|
||||||
|
|
||||||
- [ ] **Identified Issue Summary:** Clear, concise problem statement.
|
|
||||||
- [ ] **Epic Impact Summary:** How epics are affected.
|
|
||||||
- [ ] **Artifact Adjustment Needs:** List of documents to change.
|
|
||||||
- [ ] **Recommended Path Forward:** Chosen solution with rationale.
|
|
||||||
- [ ] **PRD MVP Impact:** Changes to scope/goals (if any).
|
|
||||||
- [ ] **High-Level Action Plan:** Next steps for stories/updates.
|
|
||||||
- [ ] **Agent Handoff Plan:** Identify roles needed (PM, Arch, Design Arch, PO).
|
|
||||||
|
|
||||||
## 6. Final Review & Handoff
|
|
||||||
|
|
||||||
[[LLM: Changes require coordination. Before concluding:
|
|
||||||
|
|
||||||
1. Is the user fully aligned with the plan?
|
|
||||||
2. Do all stakeholders understand the impacts?
|
|
||||||
3. Are handoffs to other agents clear?
|
|
||||||
4. Is there a rollback plan if the change fails?
|
|
||||||
5. How will we validate the change worked?
|
|
||||||
|
|
||||||
Get explicit approval - implicit agreement causes problems.
|
|
||||||
|
|
||||||
FINAL REPORT:
|
|
||||||
After completing the checklist, provide a concise summary:
|
|
||||||
|
|
||||||
- What changed and why
|
|
||||||
- What we're doing about it
|
|
||||||
- Who needs to do what
|
|
||||||
- When we'll know if it worked
|
|
||||||
|
|
||||||
Keep it action-oriented and forward-looking.]]
|
|
||||||
|
|
||||||
- [ ] **Review Checklist:** Confirm all relevant items were discussed.
|
|
||||||
- [ ] **Review Sprint Change Proposal:** Ensure it accurately reflects the discussion and decisions.
|
|
||||||
- [ ] **User Approval:** Obtain explicit user approval for the proposal.
|
|
||||||
- [ ] **Confirm Next Steps:** Reiterate the handoff plan and the next actions to be taken by specific agents.
|
|
||||||
|
|
||||||
---
|
|
||||||
==================== END: .bmad-core/checklists/change-checklist.md ====================
|
|
||||||
|
|||||||
3196
dist/agents/qa.txt
vendored
3196
dist/agents/qa.txt
vendored
File diff suppressed because it is too large
Load Diff
187
dist/agents/sm.txt
vendored
187
dist/agents/sm.txt
vendored
@@ -68,23 +68,98 @@ persona:
|
|||||||
- You are NOT allowed to implement stories or modify code EVER!
|
- You are NOT allowed to implement stories or modify code EVER!
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- draft: Execute task create-next-story.md
|
|
||||||
- correct-course: Execute task correct-course.md
|
- correct-course: Execute task correct-course.md
|
||||||
|
- draft: Execute task create-next-story.md
|
||||||
- story-checklist: Execute task execute-checklist.md with checklist story-draft-checklist.md
|
- story-checklist: Execute task execute-checklist.md with checklist story-draft-checklist.md
|
||||||
- exit: Say goodbye as the Scrum Master, and then abandon inhabiting this persona
|
- exit: Say goodbye as the Scrum Master, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- create-next-story.md
|
|
||||||
- execute-checklist.md
|
|
||||||
- correct-course.md
|
|
||||||
templates:
|
|
||||||
- story-tmpl.yaml
|
|
||||||
checklists:
|
checklists:
|
||||||
- story-draft-checklist.md
|
- story-draft-checklist.md
|
||||||
|
tasks:
|
||||||
|
- correct-course.md
|
||||||
|
- create-next-story.md
|
||||||
|
- execute-checklist.md
|
||||||
|
templates:
|
||||||
|
- story-tmpl.yaml
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/sm.md ====================
|
==================== END: .bmad-core/agents/sm.md ====================
|
||||||
|
|
||||||
|
==================== START: .bmad-core/tasks/correct-course.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
# Correct Course Task
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
- Guide a structured response to a change trigger using the `.bmad-core/checklists/change-checklist`.
|
||||||
|
- Analyze the impacts of the change on epics, project artifacts, and the MVP, guided by the checklist's structure.
|
||||||
|
- Explore potential solutions (e.g., adjust scope, rollback elements, re-scope features) as prompted by the checklist.
|
||||||
|
- Draft specific, actionable proposed updates to any affected project artifacts (e.g., epics, user stories, PRD sections, architecture document sections) based on the analysis.
|
||||||
|
- Produce a consolidated "Sprint Change Proposal" document that contains the impact analysis and the clearly drafted proposed edits for user review and approval.
|
||||||
|
- Ensure a clear handoff path if the nature of the changes necessitates fundamental replanning by other core agents (like PM or Architect).
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
### 1. Initial Setup & Mode Selection
|
||||||
|
|
||||||
|
- **Acknowledge Task & Inputs:**
|
||||||
|
- Confirm with the user that the "Correct Course Task" (Change Navigation & Integration) is being initiated.
|
||||||
|
- Verify the change trigger and ensure you have the user's initial explanation of the issue and its perceived impact.
|
||||||
|
- Confirm access to all relevant project artifacts (e.g., PRD, Epics/Stories, Architecture Documents, UI/UX Specifications) and, critically, the `.bmad-core/checklists/change-checklist`.
|
||||||
|
- **Establish Interaction Mode:**
|
||||||
|
- Ask the user their preferred interaction mode for this task:
|
||||||
|
- **"Incrementally (Default & Recommended):** Shall we work through the change-checklist section by section, discussing findings and collaboratively drafting proposed changes for each relevant part before moving to the next? This allows for detailed, step-by-step refinement."
|
||||||
|
- **"YOLO Mode (Batch Processing):** Or, would you prefer I conduct a more batched analysis based on the checklist and then present a consolidated set of findings and proposed changes for a broader review? This can be quicker for initial assessment but might require more extensive review of the combined proposals."
|
||||||
|
- Once the user chooses, confirm the selected mode and then inform the user: "We will now use the change-checklist to analyze the change and draft proposed updates. I will guide you through the checklist items based on our chosen interaction mode."
|
||||||
|
|
||||||
|
### 2. Execute Checklist Analysis (Iteratively or Batched, per Interaction Mode)
|
||||||
|
|
||||||
|
- Systematically work through Sections 1-4 of the change-checklist (typically covering Change Context, Epic/Story Impact Analysis, Artifact Conflict Resolution, and Path Evaluation/Recommendation).
|
||||||
|
- For each checklist item or logical group of items (depending on interaction mode):
|
||||||
|
- Present the relevant prompt(s) or considerations from the checklist to the user.
|
||||||
|
- Request necessary information and actively analyze the relevant project artifacts (PRD, epics, architecture documents, story history, etc.) to assess the impact.
|
||||||
|
- Discuss your findings for each item with the user.
|
||||||
|
- Record the status of each checklist item (e.g., `[x] Addressed`, `[N/A]`, `[!] Further Action Needed`) and any pertinent notes or decisions.
|
||||||
|
- Collaboratively agree on the "Recommended Path Forward" as prompted by Section 4 of the checklist.
|
||||||
|
|
||||||
|
### 3. Draft Proposed Changes (Iteratively or Batched)
|
||||||
|
|
||||||
|
- Based on the completed checklist analysis (Sections 1-4) and the agreed "Recommended Path Forward" (excluding scenarios requiring fundamental replans that would necessitate immediate handoff to PM/Architect):
|
||||||
|
- Identify the specific project artifacts that require updates (e.g., specific epics, user stories, PRD sections, architecture document components, diagrams).
|
||||||
|
- **Draft the proposed changes directly and explicitly for each identified artifact.** Examples include:
|
||||||
|
- Revising user story text, acceptance criteria, or priority.
|
||||||
|
- Adding, removing, reordering, or splitting user stories within epics.
|
||||||
|
- Proposing modified architecture diagram snippets (e.g., providing an updated Mermaid diagram block or a clear textual description of the change to an existing diagram).
|
||||||
|
- Updating technology lists, configuration details, or specific sections within the PRD or architecture documents.
|
||||||
|
- Drafting new, small supporting artifacts if necessary (e.g., a brief addendum for a specific decision).
|
||||||
|
- If in "Incremental Mode," discuss and refine these proposed edits for each artifact or small group of related artifacts with the user as they are drafted.
|
||||||
|
- If in "YOLO Mode," compile all drafted edits for presentation in the next step.
|
||||||
|
|
||||||
|
### 4. Generate "Sprint Change Proposal" with Edits
|
||||||
|
|
||||||
|
- Synthesize the complete change-checklist analysis (covering findings from Sections 1-4) and all the agreed-upon proposed edits (from Instruction 3) into a single document titled "Sprint Change Proposal." This proposal should align with the structure suggested by Section 5 of the change-checklist.
|
||||||
|
- The proposal must clearly present:
|
||||||
|
- **Analysis Summary:** A concise overview of the original issue, its analyzed impact (on epics, artifacts, MVP scope), and the rationale for the chosen path forward.
|
||||||
|
- **Specific Proposed Edits:** For each affected artifact, clearly show or describe the exact changes (e.g., "Change Story X.Y from: [old text] To: [new text]", "Add new Acceptance Criterion to Story A.B: [new AC]", "Update Section 3.2 of Architecture Document as follows: [new/modified text or diagram description]").
|
||||||
|
- Present the complete draft of the "Sprint Change Proposal" to the user for final review and feedback. Incorporate any final adjustments requested by the user.
|
||||||
|
|
||||||
|
### 5. Finalize & Determine Next Steps
|
||||||
|
|
||||||
|
- Obtain explicit user approval for the "Sprint Change Proposal," including all the specific edits documented within it.
|
||||||
|
- Provide the finalized "Sprint Change Proposal" document to the user.
|
||||||
|
- **Based on the nature of the approved changes:**
|
||||||
|
- **If the approved edits sufficiently address the change and can be implemented directly or organized by a PO/SM:** State that the "Correct Course Task" is complete regarding analysis and change proposal, and the user can now proceed with implementing or logging these changes (e.g., updating actual project documents, backlog items). Suggest handoff to a PO/SM agent for backlog organization if appropriate.
|
||||||
|
- **If the analysis and proposed path (as per checklist Section 4 and potentially Section 6) indicate that the change requires a more fundamental replan (e.g., significant scope change, major architectural rework):** Clearly state this conclusion. Advise the user that the next step involves engaging the primary PM or Architect agents, using the "Sprint Change Proposal" as critical input and context for that deeper replanning effort.
|
||||||
|
|
||||||
|
## Output Deliverables
|
||||||
|
|
||||||
|
- **Primary:** A "Sprint Change Proposal" document (in markdown format). This document will contain:
|
||||||
|
- A summary of the change-checklist analysis (issue, impact, rationale for the chosen path).
|
||||||
|
- Specific, clearly drafted proposed edits for all affected project artifacts.
|
||||||
|
- **Implicit:** An annotated change-checklist (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
|
||||||
|
==================== END: .bmad-core/tasks/correct-course.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/create-next-story.md ====================
|
==================== START: .bmad-core/tasks/create-next-story.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Create Next Story Task
|
# Create Next Story Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -200,6 +275,7 @@ ALWAYS cite source documents: `[Source: architecture/{filename}.md#{section}]`
|
|||||||
==================== END: .bmad-core/tasks/create-next-story.md ====================
|
==================== END: .bmad-core/tasks/create-next-story.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Checklist Validation Task
|
# Checklist Validation Task
|
||||||
|
|
||||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||||
@@ -288,80 +364,8 @@ The LLM will:
|
|||||||
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
||||||
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/correct-course.md ====================
|
|
||||||
# Correct Course Task
|
|
||||||
|
|
||||||
## Purpose
|
|
||||||
|
|
||||||
- Guide a structured response to a change trigger using the `.bmad-core/checklists/change-checklist`.
|
|
||||||
- Analyze the impacts of the change on epics, project artifacts, and the MVP, guided by the checklist's structure.
|
|
||||||
- Explore potential solutions (e.g., adjust scope, rollback elements, re-scope features) as prompted by the checklist.
|
|
||||||
- Draft specific, actionable proposed updates to any affected project artifacts (e.g., epics, user stories, PRD sections, architecture document sections) based on the analysis.
|
|
||||||
- Produce a consolidated "Sprint Change Proposal" document that contains the impact analysis and the clearly drafted proposed edits for user review and approval.
|
|
||||||
- Ensure a clear handoff path if the nature of the changes necessitates fundamental replanning by other core agents (like PM or Architect).
|
|
||||||
|
|
||||||
## Instructions
|
|
||||||
|
|
||||||
### 1. Initial Setup & Mode Selection
|
|
||||||
|
|
||||||
- **Acknowledge Task & Inputs:**
|
|
||||||
- Confirm with the user that the "Correct Course Task" (Change Navigation & Integration) is being initiated.
|
|
||||||
- Verify the change trigger and ensure you have the user's initial explanation of the issue and its perceived impact.
|
|
||||||
- Confirm access to all relevant project artifacts (e.g., PRD, Epics/Stories, Architecture Documents, UI/UX Specifications) and, critically, the `.bmad-core/checklists/change-checklist`.
|
|
||||||
- **Establish Interaction Mode:**
|
|
||||||
- Ask the user their preferred interaction mode for this task:
|
|
||||||
- **"Incrementally (Default & Recommended):** Shall we work through the change-checklist section by section, discussing findings and collaboratively drafting proposed changes for each relevant part before moving to the next? This allows for detailed, step-by-step refinement."
|
|
||||||
- **"YOLO Mode (Batch Processing):** Or, would you prefer I conduct a more batched analysis based on the checklist and then present a consolidated set of findings and proposed changes for a broader review? This can be quicker for initial assessment but might require more extensive review of the combined proposals."
|
|
||||||
- Once the user chooses, confirm the selected mode and then inform the user: "We will now use the change-checklist to analyze the change and draft proposed updates. I will guide you through the checklist items based on our chosen interaction mode."
|
|
||||||
|
|
||||||
### 2. Execute Checklist Analysis (Iteratively or Batched, per Interaction Mode)
|
|
||||||
|
|
||||||
- Systematically work through Sections 1-4 of the change-checklist (typically covering Change Context, Epic/Story Impact Analysis, Artifact Conflict Resolution, and Path Evaluation/Recommendation).
|
|
||||||
- For each checklist item or logical group of items (depending on interaction mode):
|
|
||||||
- Present the relevant prompt(s) or considerations from the checklist to the user.
|
|
||||||
- Request necessary information and actively analyze the relevant project artifacts (PRD, epics, architecture documents, story history, etc.) to assess the impact.
|
|
||||||
- Discuss your findings for each item with the user.
|
|
||||||
- Record the status of each checklist item (e.g., `[x] Addressed`, `[N/A]`, `[!] Further Action Needed`) and any pertinent notes or decisions.
|
|
||||||
- Collaboratively agree on the "Recommended Path Forward" as prompted by Section 4 of the checklist.
|
|
||||||
|
|
||||||
### 3. Draft Proposed Changes (Iteratively or Batched)
|
|
||||||
|
|
||||||
- Based on the completed checklist analysis (Sections 1-4) and the agreed "Recommended Path Forward" (excluding scenarios requiring fundamental replans that would necessitate immediate handoff to PM/Architect):
|
|
||||||
- Identify the specific project artifacts that require updates (e.g., specific epics, user stories, PRD sections, architecture document components, diagrams).
|
|
||||||
- **Draft the proposed changes directly and explicitly for each identified artifact.** Examples include:
|
|
||||||
- Revising user story text, acceptance criteria, or priority.
|
|
||||||
- Adding, removing, reordering, or splitting user stories within epics.
|
|
||||||
- Proposing modified architecture diagram snippets (e.g., providing an updated Mermaid diagram block or a clear textual description of the change to an existing diagram).
|
|
||||||
- Updating technology lists, configuration details, or specific sections within the PRD or architecture documents.
|
|
||||||
- Drafting new, small supporting artifacts if necessary (e.g., a brief addendum for a specific decision).
|
|
||||||
- If in "Incremental Mode," discuss and refine these proposed edits for each artifact or small group of related artifacts with the user as they are drafted.
|
|
||||||
- If in "YOLO Mode," compile all drafted edits for presentation in the next step.
|
|
||||||
|
|
||||||
### 4. Generate "Sprint Change Proposal" with Edits
|
|
||||||
|
|
||||||
- Synthesize the complete change-checklist analysis (covering findings from Sections 1-4) and all the agreed-upon proposed edits (from Instruction 3) into a single document titled "Sprint Change Proposal." This proposal should align with the structure suggested by Section 5 of the change-checklist.
|
|
||||||
- The proposal must clearly present:
|
|
||||||
- **Analysis Summary:** A concise overview of the original issue, its analyzed impact (on epics, artifacts, MVP scope), and the rationale for the chosen path forward.
|
|
||||||
- **Specific Proposed Edits:** For each affected artifact, clearly show or describe the exact changes (e.g., "Change Story X.Y from: [old text] To: [new text]", "Add new Acceptance Criterion to Story A.B: [new AC]", "Update Section 3.2 of Architecture Document as follows: [new/modified text or diagram description]").
|
|
||||||
- Present the complete draft of the "Sprint Change Proposal" to the user for final review and feedback. Incorporate any final adjustments requested by the user.
|
|
||||||
|
|
||||||
### 5. Finalize & Determine Next Steps
|
|
||||||
|
|
||||||
- Obtain explicit user approval for the "Sprint Change Proposal," including all the specific edits documented within it.
|
|
||||||
- Provide the finalized "Sprint Change Proposal" document to the user.
|
|
||||||
- **Based on the nature of the approved changes:**
|
|
||||||
- **If the approved edits sufficiently address the change and can be implemented directly or organized by a PO/SM:** State that the "Correct Course Task" is complete regarding analysis and change proposal, and the user can now proceed with implementing or logging these changes (e.g., updating actual project documents, backlog items). Suggest handoff to a PO/SM agent for backlog organization if appropriate.
|
|
||||||
- **If the analysis and proposed path (as per checklist Section 4 and potentially Section 6) indicate that the change requires a more fundamental replan (e.g., significant scope change, major architectural rework):** Clearly state this conclusion. Advise the user that the next step involves engaging the primary PM or Architect agents, using the "Sprint Change Proposal" as critical input and context for that deeper replanning effort.
|
|
||||||
|
|
||||||
## Output Deliverables
|
|
||||||
|
|
||||||
- **Primary:** A "Sprint Change Proposal" document (in markdown format). This document will contain:
|
|
||||||
- A summary of the change-checklist analysis (issue, impact, rationale for the chosen path).
|
|
||||||
- Specific, clearly drafted proposed edits for all affected project artifacts.
|
|
||||||
- **Implicit:** An annotated change-checklist (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
|
|
||||||
==================== END: .bmad-core/tasks/correct-course.md ====================
|
|
||||||
|
|
||||||
==================== START: .bmad-core/templates/story-tmpl.yaml ====================
|
==================== START: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: story-template-v2
|
id: story-template-v2
|
||||||
name: Story Document
|
name: Story Document
|
||||||
@@ -376,7 +380,7 @@ workflow:
|
|||||||
elicitation: advanced-elicitation
|
elicitation: advanced-elicitation
|
||||||
|
|
||||||
agent_config:
|
agent_config:
|
||||||
editable_sections:
|
editable_sections:
|
||||||
- Status
|
- Status
|
||||||
- Story
|
- Story
|
||||||
- Acceptance Criteria
|
- Acceptance Criteria
|
||||||
@@ -393,7 +397,7 @@ sections:
|
|||||||
instruction: Select the current status of the story
|
instruction: Select the current status of the story
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent]
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
- id: story
|
- id: story
|
||||||
title: Story
|
title: Story
|
||||||
type: template-text
|
type: template-text
|
||||||
@@ -405,7 +409,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: acceptance-criteria
|
- id: acceptance-criteria
|
||||||
title: Acceptance Criteria
|
title: Acceptance Criteria
|
||||||
type: numbered-list
|
type: numbered-list
|
||||||
@@ -413,7 +417,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: tasks-subtasks
|
- id: tasks-subtasks
|
||||||
title: Tasks / Subtasks
|
title: Tasks / Subtasks
|
||||||
type: bullet-list
|
type: bullet-list
|
||||||
@@ -430,7 +434,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent]
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
- id: dev-notes
|
- id: dev-notes
|
||||||
title: Dev Notes
|
title: Dev Notes
|
||||||
instruction: |
|
instruction: |
|
||||||
@@ -454,7 +458,7 @@ sections:
|
|||||||
elicit: true
|
elicit: true
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master]
|
editors: [scrum-master]
|
||||||
|
|
||||||
- id: change-log
|
- id: change-log
|
||||||
title: Change Log
|
title: Change Log
|
||||||
type: table
|
type: table
|
||||||
@@ -462,7 +466,7 @@ sections:
|
|||||||
instruction: Track changes made to this story document
|
instruction: Track changes made to this story document
|
||||||
owner: scrum-master
|
owner: scrum-master
|
||||||
editors: [scrum-master, dev-agent, qa-agent]
|
editors: [scrum-master, dev-agent, qa-agent]
|
||||||
|
|
||||||
- id: dev-agent-record
|
- id: dev-agent-record
|
||||||
title: Dev Agent Record
|
title: Dev Agent Record
|
||||||
instruction: This section is populated by the development agent during implementation
|
instruction: This section is populated by the development agent during implementation
|
||||||
@@ -475,25 +479,25 @@ sections:
|
|||||||
instruction: Record the specific AI agent model and version used for development
|
instruction: Record the specific AI agent model and version used for development
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: debug-log-references
|
- id: debug-log-references
|
||||||
title: Debug Log References
|
title: Debug Log References
|
||||||
instruction: Reference any debug logs or traces generated during development
|
instruction: Reference any debug logs or traces generated during development
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: completion-notes
|
- id: completion-notes
|
||||||
title: Completion Notes List
|
title: Completion Notes List
|
||||||
instruction: Notes about the completion of tasks and any issues encountered
|
instruction: Notes about the completion of tasks and any issues encountered
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: file-list
|
- id: file-list
|
||||||
title: File List
|
title: File List
|
||||||
instruction: List all files created, modified, or affected during story implementation
|
instruction: List all files created, modified, or affected during story implementation
|
||||||
owner: dev-agent
|
owner: dev-agent
|
||||||
editors: [dev-agent]
|
editors: [dev-agent]
|
||||||
|
|
||||||
- id: qa-results
|
- id: qa-results
|
||||||
title: QA Results
|
title: QA Results
|
||||||
instruction: Results from QA Agent QA review of the completed story implementation
|
instruction: Results from QA Agent QA review of the completed story implementation
|
||||||
@@ -502,6 +506,7 @@ sections:
|
|||||||
==================== END: .bmad-core/templates/story-tmpl.yaml ====================
|
==================== END: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/checklists/story-draft-checklist.md ====================
|
==================== START: .bmad-core/checklists/story-draft-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Story Draft Checklist
|
# Story Draft Checklist
|
||||||
|
|
||||||
The Scrum Master should use this checklist to validate that each story contains sufficient context for a developer agent to implement it successfully, while assuming the dev agent has reasonable capabilities to figure things out.
|
The Scrum Master should use this checklist to validate that each story contains sufficient context for a developer agent to implement it successfully, while assuming the dev agent has reasonable capabilities to figure things out.
|
||||||
|
|||||||
171
dist/agents/ux-expert.txt
vendored
171
dist/agents/ux-expert.txt
vendored
@@ -77,72 +77,19 @@ commands:
|
|||||||
- generate-ui-prompt: Run task generate-ai-frontend-prompt.md
|
- generate-ui-prompt: Run task generate-ai-frontend-prompt.md
|
||||||
- exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
|
- exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
|
||||||
- generate-ai-frontend-prompt.md
|
|
||||||
- create-doc.md
|
|
||||||
- execute-checklist.md
|
|
||||||
templates:
|
|
||||||
- front-end-spec-tmpl.yaml
|
|
||||||
data:
|
data:
|
||||||
- technical-preferences.md
|
- technical-preferences.md
|
||||||
|
tasks:
|
||||||
|
- create-doc.md
|
||||||
|
- execute-checklist.md
|
||||||
|
- generate-ai-frontend-prompt.md
|
||||||
|
templates:
|
||||||
|
- front-end-spec-tmpl.yaml
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/ux-expert.md ====================
|
==================== END: .bmad-core/agents/ux-expert.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/generate-ai-frontend-prompt.md ====================
|
|
||||||
# Create AI Frontend Prompt Task
|
|
||||||
|
|
||||||
## Purpose
|
|
||||||
|
|
||||||
To generate a masterful, comprehensive, and optimized prompt that can be used with any AI-driven frontend development tool (e.g., Vercel v0, Lovable.ai, or similar) to scaffold or generate significant portions of a frontend application.
|
|
||||||
|
|
||||||
## Inputs
|
|
||||||
|
|
||||||
- Completed UI/UX Specification (`front-end-spec.md`)
|
|
||||||
- Completed Frontend Architecture Document (`front-end-architecture`) or a full stack combined architecture such as `architecture.md`
|
|
||||||
- Main System Architecture Document (`architecture` - for API contracts and tech stack to give further context)
|
|
||||||
|
|
||||||
## Key Activities & Instructions
|
|
||||||
|
|
||||||
### 1. Core Prompting Principles
|
|
||||||
|
|
||||||
Before generating the prompt, you must understand these core principles for interacting with a generative AI for code.
|
|
||||||
|
|
||||||
- **Be Explicit and Detailed**: The AI cannot read your mind. Provide as much detail and context as possible. Vague requests lead to generic or incorrect outputs.
|
|
||||||
- **Iterate, Don't Expect Perfection**: Generating an entire complex application in one go is rare. The most effective method is to prompt for one component or one section at a time, then build upon the results.
|
|
||||||
- **Provide Context First**: Always start by providing the AI with the necessary context, such as the tech stack, existing code snippets, and overall project goals.
|
|
||||||
- **Mobile-First Approach**: Frame all UI generation requests with a mobile-first design mindset. Describe the mobile layout first, then provide separate instructions for how it should adapt for tablet and desktop.
|
|
||||||
|
|
||||||
### 2. The Structured Prompting Framework
|
|
||||||
|
|
||||||
To ensure the highest quality output, you MUST structure every prompt using the following four-part framework.
|
|
||||||
|
|
||||||
1. **High-Level Goal**: Start with a clear, concise summary of the overall objective. This orients the AI on the primary task.
|
|
||||||
- _Example: "Create a responsive user registration form with client-side validation and API integration."_
|
|
||||||
2. **Detailed, Step-by-Step Instructions**: Provide a granular, numbered list of actions the AI should take. Break down complex tasks into smaller, sequential steps. This is the most critical part of the prompt.
|
|
||||||
- _Example: "1. Create a new file named `RegistrationForm.js`. 2. Use React hooks for state management. 3. Add styled input fields for 'Name', 'Email', and 'Password'. 4. For the email field, ensure it is a valid email format. 5. On submission, call the API endpoint defined below."_
|
|
||||||
3. **Code Examples, Data Structures & Constraints**: Include any relevant snippets of existing code, data structures, or API contracts. This gives the AI concrete examples to work with. Crucially, you must also state what _not_ to do.
|
|
||||||
- _Example: "Use this API endpoint: `POST /api/register`. The expected JSON payload is `{ "name": "string", "email": "string", "password": "string" }`. Do NOT include a 'confirm password' field. Use Tailwind CSS for all styling."_
|
|
||||||
4. **Define a Strict Scope**: Explicitly define the boundaries of the task. Tell the AI which files it can modify and, more importantly, which files to leave untouched to prevent unintended changes across the codebase.
|
|
||||||
- _Example: "You should only create the `RegistrationForm.js` component and add it to the `pages/register.js` file. Do NOT alter the `Navbar.js` component or any other existing page or component."_
|
|
||||||
|
|
||||||
### 3. Assembling the Master Prompt
|
|
||||||
|
|
||||||
You will now synthesize the inputs and the above principles into a final, comprehensive prompt.
|
|
||||||
|
|
||||||
1. **Gather Foundational Context**:
|
|
||||||
- Start the prompt with a preamble describing the overall project purpose, the full tech stack (e.g., Next.js, TypeScript, Tailwind CSS), and the primary UI component library being used.
|
|
||||||
2. **Describe the Visuals**:
|
|
||||||
- If the user has design files (Figma, etc.), instruct them to provide links or screenshots.
|
|
||||||
- If not, describe the visual style: color palette, typography, spacing, and overall aesthetic (e.g., "minimalist", "corporate", "playful").
|
|
||||||
3. **Build the Prompt using the Structured Framework**:
|
|
||||||
- Follow the four-part framework from Section 2 to build out the core request, whether it's for a single component or a full page.
|
|
||||||
4. **Present and Refine**:
|
|
||||||
- Output the complete, generated prompt in a clear, copy-pasteable format (e.g., a large code block).
|
|
||||||
- Explain the structure of the prompt and why certain information was included, referencing the principles above.
|
|
||||||
- <important_note>Conclude by reminding the user that all AI-generated code will require careful human review, testing, and refinement to be considered production-ready.</important_note>
|
|
||||||
==================== END: .bmad-core/tasks/generate-ai-frontend-prompt.md ====================
|
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/create-doc.md ====================
|
==================== START: .bmad-core/tasks/create-doc.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Create Document from Template (YAML Driven)
|
# Create Document from Template (YAML Driven)
|
||||||
|
|
||||||
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
||||||
@@ -247,6 +194,7 @@ User can type `#yolo` to toggle to YOLO mode (process all sections at once).
|
|||||||
==================== END: .bmad-core/tasks/create-doc.md ====================
|
==================== END: .bmad-core/tasks/create-doc.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Checklist Validation Task
|
# Checklist Validation Task
|
||||||
|
|
||||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||||
@@ -335,7 +283,63 @@ The LLM will:
|
|||||||
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
||||||
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
|
==================== START: .bmad-core/tasks/generate-ai-frontend-prompt.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
|
# Create AI Frontend Prompt Task
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
To generate a masterful, comprehensive, and optimized prompt that can be used with any AI-driven frontend development tool (e.g., Vercel v0, Lovable.ai, or similar) to scaffold or generate significant portions of a frontend application.
|
||||||
|
|
||||||
|
## Inputs
|
||||||
|
|
||||||
|
- Completed UI/UX Specification (`front-end-spec.md`)
|
||||||
|
- Completed Frontend Architecture Document (`front-end-architecture`) or a full stack combined architecture such as `architecture.md`
|
||||||
|
- Main System Architecture Document (`architecture` - for API contracts and tech stack to give further context)
|
||||||
|
|
||||||
|
## Key Activities & Instructions
|
||||||
|
|
||||||
|
### 1. Core Prompting Principles
|
||||||
|
|
||||||
|
Before generating the prompt, you must understand these core principles for interacting with a generative AI for code.
|
||||||
|
|
||||||
|
- **Be Explicit and Detailed**: The AI cannot read your mind. Provide as much detail and context as possible. Vague requests lead to generic or incorrect outputs.
|
||||||
|
- **Iterate, Don't Expect Perfection**: Generating an entire complex application in one go is rare. The most effective method is to prompt for one component or one section at a time, then build upon the results.
|
||||||
|
- **Provide Context First**: Always start by providing the AI with the necessary context, such as the tech stack, existing code snippets, and overall project goals.
|
||||||
|
- **Mobile-First Approach**: Frame all UI generation requests with a mobile-first design mindset. Describe the mobile layout first, then provide separate instructions for how it should adapt for tablet and desktop.
|
||||||
|
|
||||||
|
### 2. The Structured Prompting Framework
|
||||||
|
|
||||||
|
To ensure the highest quality output, you MUST structure every prompt using the following four-part framework.
|
||||||
|
|
||||||
|
1. **High-Level Goal**: Start with a clear, concise summary of the overall objective. This orients the AI on the primary task.
|
||||||
|
- _Example: "Create a responsive user registration form with client-side validation and API integration."_
|
||||||
|
2. **Detailed, Step-by-Step Instructions**: Provide a granular, numbered list of actions the AI should take. Break down complex tasks into smaller, sequential steps. This is the most critical part of the prompt.
|
||||||
|
- _Example: "1. Create a new file named `RegistrationForm.js`. 2. Use React hooks for state management. 3. Add styled input fields for 'Name', 'Email', and 'Password'. 4. For the email field, ensure it is a valid email format. 5. On submission, call the API endpoint defined below."_
|
||||||
|
3. **Code Examples, Data Structures & Constraints**: Include any relevant snippets of existing code, data structures, or API contracts. This gives the AI concrete examples to work with. Crucially, you must also state what _not_ to do.
|
||||||
|
- _Example: "Use this API endpoint: `POST /api/register`. The expected JSON payload is `{ "name": "string", "email": "string", "password": "string" }`. Do NOT include a 'confirm password' field. Use Tailwind CSS for all styling."_
|
||||||
|
4. **Define a Strict Scope**: Explicitly define the boundaries of the task. Tell the AI which files it can modify and, more importantly, which files to leave untouched to prevent unintended changes across the codebase.
|
||||||
|
- _Example: "You should only create the `RegistrationForm.js` component and add it to the `pages/register.js` file. Do NOT alter the `Navbar.js` component or any other existing page or component."_
|
||||||
|
|
||||||
|
### 3. Assembling the Master Prompt
|
||||||
|
|
||||||
|
You will now synthesize the inputs and the above principles into a final, comprehensive prompt.
|
||||||
|
|
||||||
|
1. **Gather Foundational Context**:
|
||||||
|
- Start the prompt with a preamble describing the overall project purpose, the full tech stack (e.g., Next.js, TypeScript, Tailwind CSS), and the primary UI component library being used.
|
||||||
|
2. **Describe the Visuals**:
|
||||||
|
- If the user has design files (Figma, etc.), instruct them to provide links or screenshots.
|
||||||
|
- If not, describe the visual style: color palette, typography, spacing, and overall aesthetic (e.g., "minimalist", "corporate", "playful").
|
||||||
|
3. **Build the Prompt using the Structured Framework**:
|
||||||
|
- Follow the four-part framework from Section 2 to build out the core request, whether it's for a single component or a full page.
|
||||||
|
4. **Present and Refine**:
|
||||||
|
- Output the complete, generated prompt in a clear, copy-pasteable format (e.g., a large code block).
|
||||||
|
- Explain the structure of the prompt and why certain information was included, referencing the principles above.
|
||||||
|
- <important_note>Conclude by reminding the user that all AI-generated code will require careful human review, testing, and refinement to be considered production-ready.</important_note>
|
||||||
|
==================== END: .bmad-core/tasks/generate-ai-frontend-prompt.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/templates/front-end-spec-tmpl.yaml ====================
|
==================== START: .bmad-core/templates/front-end-spec-tmpl.yaml ====================
|
||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: frontend-spec-template-v2
|
id: frontend-spec-template-v2
|
||||||
name: UI/UX Specification
|
name: UI/UX Specification
|
||||||
@@ -354,7 +358,7 @@ sections:
|
|||||||
title: Introduction
|
title: Introduction
|
||||||
instruction: |
|
instruction: |
|
||||||
Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.
|
Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.
|
||||||
|
|
||||||
Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.
|
Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.
|
||||||
content: |
|
content: |
|
||||||
This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{project_name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
|
This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{project_name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
|
||||||
@@ -363,7 +367,7 @@ sections:
|
|||||||
title: Overall UX Goals & Principles
|
title: Overall UX Goals & Principles
|
||||||
instruction: |
|
instruction: |
|
||||||
Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
|
Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
|
||||||
|
|
||||||
1. Target User Personas - elicit details or confirm existing ones from PRD
|
1. Target User Personas - elicit details or confirm existing ones from PRD
|
||||||
2. Key Usability Goals - understand what success looks like for users
|
2. Key Usability Goals - understand what success looks like for users
|
||||||
3. Core Design Principles - establish 3-5 guiding principles
|
3. Core Design Principles - establish 3-5 guiding principles
|
||||||
@@ -404,7 +408,7 @@ sections:
|
|||||||
title: Information Architecture (IA)
|
title: Information Architecture (IA)
|
||||||
instruction: |
|
instruction: |
|
||||||
Collaborate with the user to create a comprehensive information architecture:
|
Collaborate with the user to create a comprehensive information architecture:
|
||||||
|
|
||||||
1. Build a Site Map or Screen Inventory showing all major areas
|
1. Build a Site Map or Screen Inventory showing all major areas
|
||||||
2. Define the Navigation Structure (primary, secondary, breadcrumbs)
|
2. Define the Navigation Structure (primary, secondary, breadcrumbs)
|
||||||
3. Use Mermaid diagrams for visual representation
|
3. Use Mermaid diagrams for visual representation
|
||||||
@@ -434,22 +438,22 @@ sections:
|
|||||||
title: Navigation Structure
|
title: Navigation Structure
|
||||||
template: |
|
template: |
|
||||||
**Primary Navigation:** {{primary_nav_description}}
|
**Primary Navigation:** {{primary_nav_description}}
|
||||||
|
|
||||||
**Secondary Navigation:** {{secondary_nav_description}}
|
**Secondary Navigation:** {{secondary_nav_description}}
|
||||||
|
|
||||||
**Breadcrumb Strategy:** {{breadcrumb_strategy}}
|
**Breadcrumb Strategy:** {{breadcrumb_strategy}}
|
||||||
|
|
||||||
- id: user-flows
|
- id: user-flows
|
||||||
title: User Flows
|
title: User Flows
|
||||||
instruction: |
|
instruction: |
|
||||||
For each critical user task identified in the PRD:
|
For each critical user task identified in the PRD:
|
||||||
|
|
||||||
1. Define the user's goal clearly
|
1. Define the user's goal clearly
|
||||||
2. Map out all steps including decision points
|
2. Map out all steps including decision points
|
||||||
3. Consider edge cases and error states
|
3. Consider edge cases and error states
|
||||||
4. Use Mermaid flow diagrams for clarity
|
4. Use Mermaid flow diagrams for clarity
|
||||||
5. Link to external tools (Figma/Miro) if detailed flows exist there
|
5. Link to external tools (Figma/Miro) if detailed flows exist there
|
||||||
|
|
||||||
Create subsections for each major flow.
|
Create subsections for each major flow.
|
||||||
elicit: true
|
elicit: true
|
||||||
repeatable: true
|
repeatable: true
|
||||||
@@ -458,9 +462,9 @@ sections:
|
|||||||
title: "{{flow_name}}"
|
title: "{{flow_name}}"
|
||||||
template: |
|
template: |
|
||||||
**User Goal:** {{flow_goal}}
|
**User Goal:** {{flow_goal}}
|
||||||
|
|
||||||
**Entry Points:** {{entry_points}}
|
**Entry Points:** {{entry_points}}
|
||||||
|
|
||||||
**Success Criteria:** {{success_criteria}}
|
**Success Criteria:** {{success_criteria}}
|
||||||
sections:
|
sections:
|
||||||
- id: flow-diagram
|
- id: flow-diagram
|
||||||
@@ -491,14 +495,14 @@ sections:
|
|||||||
title: "{{screen_name}}"
|
title: "{{screen_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** {{screen_purpose}}
|
**Purpose:** {{screen_purpose}}
|
||||||
|
|
||||||
**Key Elements:**
|
**Key Elements:**
|
||||||
- {{element_1}}
|
- {{element_1}}
|
||||||
- {{element_2}}
|
- {{element_2}}
|
||||||
- {{element_3}}
|
- {{element_3}}
|
||||||
|
|
||||||
**Interaction Notes:** {{interaction_notes}}
|
**Interaction Notes:** {{interaction_notes}}
|
||||||
|
|
||||||
**Design File Reference:** {{specific_frame_link}}
|
**Design File Reference:** {{specific_frame_link}}
|
||||||
|
|
||||||
- id: component-library
|
- id: component-library
|
||||||
@@ -517,11 +521,11 @@ sections:
|
|||||||
title: "{{component_name}}"
|
title: "{{component_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** {{component_purpose}}
|
**Purpose:** {{component_purpose}}
|
||||||
|
|
||||||
**Variants:** {{component_variants}}
|
**Variants:** {{component_variants}}
|
||||||
|
|
||||||
**States:** {{component_states}}
|
**States:** {{component_states}}
|
||||||
|
|
||||||
**Usage Guidelines:** {{usage_guidelines}}
|
**Usage Guidelines:** {{usage_guidelines}}
|
||||||
|
|
||||||
- id: branding-style
|
- id: branding-style
|
||||||
@@ -567,13 +571,13 @@ sections:
|
|||||||
title: Iconography
|
title: Iconography
|
||||||
template: |
|
template: |
|
||||||
**Icon Library:** {{icon_library}}
|
**Icon Library:** {{icon_library}}
|
||||||
|
|
||||||
**Usage Guidelines:** {{icon_guidelines}}
|
**Usage Guidelines:** {{icon_guidelines}}
|
||||||
- id: spacing-layout
|
- id: spacing-layout
|
||||||
title: Spacing & Layout
|
title: Spacing & Layout
|
||||||
template: |
|
template: |
|
||||||
**Grid System:** {{grid_system}}
|
**Grid System:** {{grid_system}}
|
||||||
|
|
||||||
**Spacing Scale:** {{spacing_scale}}
|
**Spacing Scale:** {{spacing_scale}}
|
||||||
|
|
||||||
- id: accessibility
|
- id: accessibility
|
||||||
@@ -591,12 +595,12 @@ sections:
|
|||||||
- Color contrast ratios: {{contrast_requirements}}
|
- Color contrast ratios: {{contrast_requirements}}
|
||||||
- Focus indicators: {{focus_requirements}}
|
- Focus indicators: {{focus_requirements}}
|
||||||
- Text sizing: {{text_requirements}}
|
- Text sizing: {{text_requirements}}
|
||||||
|
|
||||||
**Interaction:**
|
**Interaction:**
|
||||||
- Keyboard navigation: {{keyboard_requirements}}
|
- Keyboard navigation: {{keyboard_requirements}}
|
||||||
- Screen reader support: {{screen_reader_requirements}}
|
- Screen reader support: {{screen_reader_requirements}}
|
||||||
- Touch targets: {{touch_requirements}}
|
- Touch targets: {{touch_requirements}}
|
||||||
|
|
||||||
**Content:**
|
**Content:**
|
||||||
- Alternative text: {{alt_text_requirements}}
|
- Alternative text: {{alt_text_requirements}}
|
||||||
- Heading structure: {{heading_requirements}}
|
- Heading structure: {{heading_requirements}}
|
||||||
@@ -623,11 +627,11 @@ sections:
|
|||||||
title: Adaptation Patterns
|
title: Adaptation Patterns
|
||||||
template: |
|
template: |
|
||||||
**Layout Changes:** {{layout_adaptations}}
|
**Layout Changes:** {{layout_adaptations}}
|
||||||
|
|
||||||
**Navigation Changes:** {{nav_adaptations}}
|
**Navigation Changes:** {{nav_adaptations}}
|
||||||
|
|
||||||
**Content Priority:** {{content_adaptations}}
|
**Content Priority:** {{content_adaptations}}
|
||||||
|
|
||||||
**Interaction Changes:** {{interaction_adaptations}}
|
**Interaction Changes:** {{interaction_adaptations}}
|
||||||
|
|
||||||
- id: animation
|
- id: animation
|
||||||
@@ -661,7 +665,7 @@ sections:
|
|||||||
title: Next Steps
|
title: Next Steps
|
||||||
instruction: |
|
instruction: |
|
||||||
After completing the UI/UX specification:
|
After completing the UI/UX specification:
|
||||||
|
|
||||||
1. Recommend review with stakeholders
|
1. Recommend review with stakeholders
|
||||||
2. Suggest creating/updating visual designs in design tool
|
2. Suggest creating/updating visual designs in design tool
|
||||||
3. Prepare for handoff to Design Architect for frontend architecture
|
3. Prepare for handoff to Design Architect for frontend architecture
|
||||||
@@ -688,6 +692,7 @@ sections:
|
|||||||
==================== END: .bmad-core/templates/front-end-spec-tmpl.yaml ====================
|
==================== END: .bmad-core/templates/front-end-spec-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/data/technical-preferences.md ====================
|
==================== START: .bmad-core/data/technical-preferences.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# User-Defined Preferred Patterns and Preferences
|
# User-Defined Preferred Patterns and Preferences
|
||||||
|
|
||||||
None Listed
|
None Listed
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ dependencies:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/agents/game-designer.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/agents/game-designer.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/tasks/create-doc.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/tasks/create-doc.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Create Document from Template (YAML Driven)
|
# Create Document from Template (YAML Driven)
|
||||||
|
|
||||||
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
||||||
@@ -199,6 +200,7 @@ User can type `#yolo` to toggle to YOLO mode (process all sections at once).
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/create-doc.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/create-doc.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Checklist Validation Task
|
# Checklist Validation Task
|
||||||
|
|
||||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||||
@@ -288,6 +290,7 @@ The LLM will:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Game Design Brainstorming Techniques Task
|
# Game Design Brainstorming Techniques Task
|
||||||
|
|
||||||
This task provides a comprehensive toolkit of creative brainstorming techniques specifically designed for game design ideation and innovative thinking. The game designer can use these techniques to facilitate productive brainstorming sessions focused on game mechanics, player experience, and creative concepts.
|
This task provides a comprehensive toolkit of creative brainstorming techniques specifically designed for game design ideation and innovative thinking. The game designer can use these techniques to facilitate productive brainstorming sessions focused on game mechanics, player experience, and creative concepts.
|
||||||
@@ -581,6 +584,7 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/tasks/create-deep-research-prompt.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/tasks/create-deep-research-prompt.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Create Deep Research Prompt Task
|
# Create Deep Research Prompt Task
|
||||||
|
|
||||||
This task helps create comprehensive research prompts for various types of deep analysis. It can process inputs from brainstorming sessions, project briefs, market research, or specific research questions to generate targeted prompts for deeper investigation.
|
This task helps create comprehensive research prompts for various types of deep analysis. It can process inputs from brainstorming sessions, project briefs, market research, or specific research questions to generate targeted prompts for deeper investigation.
|
||||||
@@ -862,6 +866,7 @@ CRITICAL: collaborate with the user to develop specific, actionable research que
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/create-deep-research-prompt.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/create-deep-research-prompt.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Advanced Game Design Elicitation Task
|
# Advanced Game Design Elicitation Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -975,6 +980,7 @@ The questions and perspectives offered should always consider:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml ====================
|
==================== START: .bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml ====================
|
||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: game-design-doc-template-v2
|
id: game-design-doc-template-v2
|
||||||
name: Game Design Document (GDD)
|
name: Game Design Document (GDD)
|
||||||
@@ -991,7 +997,7 @@ sections:
|
|||||||
- id: initial-setup
|
- id: initial-setup
|
||||||
instruction: |
|
instruction: |
|
||||||
This template creates a comprehensive Game Design Document that will serve as the foundation for all game development work. The GDD should be detailed enough that developers can create user stories and epics from it. Focus on gameplay systems, mechanics, and technical requirements that can be broken down into implementable features.
|
This template creates a comprehensive Game Design Document that will serve as the foundation for all game development work. The GDD should be detailed enough that developers can create user stories and epics from it. Focus on gameplay systems, mechanics, and technical requirements that can be broken down into implementable features.
|
||||||
|
|
||||||
If available, review any provided documents or ask if any are optionally available: Project Brief, Market Research, Competitive Analysis
|
If available, review any provided documents or ask if any are optionally available: Project Brief, Market Research, Competitive Analysis
|
||||||
|
|
||||||
- id: executive-summary
|
- id: executive-summary
|
||||||
@@ -1036,7 +1042,7 @@ sections:
|
|||||||
instruction: Define the 30-60 second loop that players will repeat. Be specific about timing and player actions.
|
instruction: Define the 30-60 second loop that players will repeat. Be specific about timing and player actions.
|
||||||
template: |
|
template: |
|
||||||
**Primary Loop ({{duration}} seconds):**
|
**Primary Loop ({{duration}} seconds):**
|
||||||
|
|
||||||
1. {{action_1}} ({{time_1}}s)
|
1. {{action_1}} ({{time_1}}s)
|
||||||
2. {{action_2}} ({{time_2}}s)
|
2. {{action_2}} ({{time_2}}s)
|
||||||
3. {{action_3}} ({{time_3}}s)
|
3. {{action_3}} ({{time_3}}s)
|
||||||
@@ -1046,12 +1052,12 @@ sections:
|
|||||||
instruction: Clearly define success and failure states
|
instruction: Clearly define success and failure states
|
||||||
template: |
|
template: |
|
||||||
**Victory Conditions:**
|
**Victory Conditions:**
|
||||||
|
|
||||||
- {{win_condition_1}}
|
- {{win_condition_1}}
|
||||||
- {{win_condition_2}}
|
- {{win_condition_2}}
|
||||||
|
|
||||||
**Failure States:**
|
**Failure States:**
|
||||||
|
|
||||||
- {{loss_condition_1}}
|
- {{loss_condition_1}}
|
||||||
- {{loss_condition_2}}
|
- {{loss_condition_2}}
|
||||||
|
|
||||||
@@ -1067,17 +1073,17 @@ sections:
|
|||||||
title: "{{mechanic_name}}"
|
title: "{{mechanic_name}}"
|
||||||
template: |
|
template: |
|
||||||
**Description:** {{detailed_description}}
|
**Description:** {{detailed_description}}
|
||||||
|
|
||||||
**Player Input:** {{input_method}}
|
**Player Input:** {{input_method}}
|
||||||
|
|
||||||
**System Response:** {{game_response}}
|
**System Response:** {{game_response}}
|
||||||
|
|
||||||
**Implementation Notes:**
|
**Implementation Notes:**
|
||||||
|
|
||||||
- {{tech_requirement_1}}
|
- {{tech_requirement_1}}
|
||||||
- {{tech_requirement_2}}
|
- {{tech_requirement_2}}
|
||||||
- {{performance_consideration}}
|
- {{performance_consideration}}
|
||||||
|
|
||||||
**Dependencies:** {{other_mechanics_needed}}
|
**Dependencies:** {{other_mechanics_needed}}
|
||||||
- id: controls
|
- id: controls
|
||||||
title: Controls
|
title: Controls
|
||||||
@@ -1096,9 +1102,9 @@ sections:
|
|||||||
title: Player Progression
|
title: Player Progression
|
||||||
template: |
|
template: |
|
||||||
**Progression Type:** {{linear|branching|metroidvania}}
|
**Progression Type:** {{linear|branching|metroidvania}}
|
||||||
|
|
||||||
**Key Milestones:**
|
**Key Milestones:**
|
||||||
|
|
||||||
1. **{{milestone_1}}** - {{unlock_description}}
|
1. **{{milestone_1}}** - {{unlock_description}}
|
||||||
2. **{{milestone_2}}** - {{unlock_description}}
|
2. **{{milestone_2}}** - {{unlock_description}}
|
||||||
3. **{{milestone_3}}** - {{unlock_description}}
|
3. **{{milestone_3}}** - {{unlock_description}}
|
||||||
@@ -1135,9 +1141,9 @@ sections:
|
|||||||
**Duration:** {{target_time}}
|
**Duration:** {{target_time}}
|
||||||
**Key Elements:** {{required_mechanics}}
|
**Key Elements:** {{required_mechanics}}
|
||||||
**Difficulty:** {{relative_difficulty}}
|
**Difficulty:** {{relative_difficulty}}
|
||||||
|
|
||||||
**Structure Template:**
|
**Structure Template:**
|
||||||
|
|
||||||
- Introduction: {{intro_description}}
|
- Introduction: {{intro_description}}
|
||||||
- Challenge: {{main_challenge}}
|
- Challenge: {{main_challenge}}
|
||||||
- Resolution: {{completion_requirement}}
|
- Resolution: {{completion_requirement}}
|
||||||
@@ -1163,13 +1169,13 @@ sections:
|
|||||||
title: Platform Specific
|
title: Platform Specific
|
||||||
template: |
|
template: |
|
||||||
**Desktop:**
|
**Desktop:**
|
||||||
|
|
||||||
- Resolution: {{min_resolution}} - {{max_resolution}}
|
- Resolution: {{min_resolution}} - {{max_resolution}}
|
||||||
- Input: Keyboard, Mouse, Gamepad
|
- Input: Keyboard, Mouse, Gamepad
|
||||||
- Browser: Chrome 80+, Firefox 75+, Safari 13+
|
- Browser: Chrome 80+, Firefox 75+, Safari 13+
|
||||||
|
|
||||||
**Mobile:**
|
**Mobile:**
|
||||||
|
|
||||||
- Resolution: {{mobile_min}} - {{mobile_max}}
|
- Resolution: {{mobile_min}} - {{mobile_max}}
|
||||||
- Input: Touch, Tilt (optional)
|
- Input: Touch, Tilt (optional)
|
||||||
- OS: iOS 13+, Android 8+
|
- OS: iOS 13+, Android 8+
|
||||||
@@ -1178,14 +1184,14 @@ sections:
|
|||||||
instruction: Define asset specifications for the art and audio teams
|
instruction: Define asset specifications for the art and audio teams
|
||||||
template: |
|
template: |
|
||||||
**Visual Assets:**
|
**Visual Assets:**
|
||||||
|
|
||||||
- Art Style: {{style_description}}
|
- Art Style: {{style_description}}
|
||||||
- Color Palette: {{color_specification}}
|
- Color Palette: {{color_specification}}
|
||||||
- Animation: {{animation_requirements}}
|
- Animation: {{animation_requirements}}
|
||||||
- UI Resolution: {{ui_specs}}
|
- UI Resolution: {{ui_specs}}
|
||||||
|
|
||||||
**Audio Assets:**
|
**Audio Assets:**
|
||||||
|
|
||||||
- Music Style: {{music_genre}}
|
- Music Style: {{music_genre}}
|
||||||
- Sound Effects: {{sfx_requirements}}
|
- Sound Effects: {{sfx_requirements}}
|
||||||
- Voice Acting: {{voice_needs}}
|
- Voice Acting: {{voice_needs}}
|
||||||
@@ -1198,7 +1204,7 @@ sections:
|
|||||||
title: Engine Configuration
|
title: Engine Configuration
|
||||||
template: |
|
template: |
|
||||||
**Phaser 3 Setup:**
|
**Phaser 3 Setup:**
|
||||||
|
|
||||||
- TypeScript: Strict mode enabled
|
- TypeScript: Strict mode enabled
|
||||||
- Physics: {{physics_system}} (Arcade/Matter)
|
- Physics: {{physics_system}} (Arcade/Matter)
|
||||||
- Renderer: WebGL with Canvas fallback
|
- Renderer: WebGL with Canvas fallback
|
||||||
@@ -1207,7 +1213,7 @@ sections:
|
|||||||
title: Code Architecture
|
title: Code Architecture
|
||||||
template: |
|
template: |
|
||||||
**Required Systems:**
|
**Required Systems:**
|
||||||
|
|
||||||
- Scene Management
|
- Scene Management
|
||||||
- State Management
|
- State Management
|
||||||
- Asset Loading
|
- Asset Loading
|
||||||
@@ -1219,7 +1225,7 @@ sections:
|
|||||||
title: Data Management
|
title: Data Management
|
||||||
template: |
|
template: |
|
||||||
**Save Data:**
|
**Save Data:**
|
||||||
|
|
||||||
- Progress tracking
|
- Progress tracking
|
||||||
- Settings persistence
|
- Settings persistence
|
||||||
- Statistics collection
|
- Statistics collection
|
||||||
@@ -1321,6 +1327,7 @@ sections:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml ====================
|
==================== END: .bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml ====================
|
==================== START: .bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml ====================
|
||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: level-design-doc-template-v2
|
id: level-design-doc-template-v2
|
||||||
name: Level Design Document
|
name: Level Design Document
|
||||||
@@ -1337,7 +1344,7 @@ sections:
|
|||||||
- id: initial-setup
|
- id: initial-setup
|
||||||
instruction: |
|
instruction: |
|
||||||
This template creates comprehensive level design documentation that guides both content creation and technical implementation. This document should provide enough detail for developers to create level loading systems and for designers to create specific levels.
|
This template creates comprehensive level design documentation that guides both content creation and technical implementation. This document should provide enough detail for developers to create level loading systems and for designers to create specific levels.
|
||||||
|
|
||||||
If available, review: Game Design Document (GDD), Game Architecture Document. This document should align with the game mechanics and technical systems defined in those documents.
|
If available, review: Game Design Document (GDD), Game Architecture Document. This document should align with the game mechanics and technical systems defined in those documents.
|
||||||
|
|
||||||
- id: introduction
|
- id: introduction
|
||||||
@@ -1345,7 +1352,7 @@ sections:
|
|||||||
instruction: Establish the purpose and scope of level design for this game
|
instruction: Establish the purpose and scope of level design for this game
|
||||||
content: |
|
content: |
|
||||||
This document defines the level design framework for {{game_title}}, providing guidelines for creating engaging, balanced levels that support the core gameplay mechanics defined in the Game Design Document.
|
This document defines the level design framework for {{game_title}}, providing guidelines for creating engaging, balanced levels that support the core gameplay mechanics defined in the Game Design Document.
|
||||||
|
|
||||||
This framework ensures consistency across all levels while providing flexibility for creative level design within established technical and design constraints.
|
This framework ensures consistency across all levels while providing flexibility for creative level design within established technical and design constraints.
|
||||||
sections:
|
sections:
|
||||||
- id: change-log
|
- id: change-log
|
||||||
@@ -1392,29 +1399,29 @@ sections:
|
|||||||
title: "{{category_name}} Levels"
|
title: "{{category_name}} Levels"
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** {{gameplay_purpose}}
|
**Purpose:** {{gameplay_purpose}}
|
||||||
|
|
||||||
**Target Duration:** {{min_time}} - {{max_time}} minutes
|
**Target Duration:** {{min_time}} - {{max_time}} minutes
|
||||||
|
|
||||||
**Difficulty Range:** {{difficulty_scale}}
|
**Difficulty Range:** {{difficulty_scale}}
|
||||||
|
|
||||||
**Key Mechanics Featured:**
|
**Key Mechanics Featured:**
|
||||||
|
|
||||||
- {{mechanic_1}} - {{usage_description}}
|
- {{mechanic_1}} - {{usage_description}}
|
||||||
- {{mechanic_2}} - {{usage_description}}
|
- {{mechanic_2}} - {{usage_description}}
|
||||||
|
|
||||||
**Player Objectives:**
|
**Player Objectives:**
|
||||||
|
|
||||||
- Primary: {{primary_objective}}
|
- Primary: {{primary_objective}}
|
||||||
- Secondary: {{secondary_objective}}
|
- Secondary: {{secondary_objective}}
|
||||||
- Hidden: {{secret_objective}}
|
- Hidden: {{secret_objective}}
|
||||||
|
|
||||||
**Success Criteria:**
|
**Success Criteria:**
|
||||||
|
|
||||||
- {{completion_requirement_1}}
|
- {{completion_requirement_1}}
|
||||||
- {{completion_requirement_2}}
|
- {{completion_requirement_2}}
|
||||||
|
|
||||||
**Technical Requirements:**
|
**Technical Requirements:**
|
||||||
|
|
||||||
- Maximum entities: {{entity_limit}}
|
- Maximum entities: {{entity_limit}}
|
||||||
- Performance target: {{fps_target}} FPS
|
- Performance target: {{fps_target}} FPS
|
||||||
- Memory budget: {{memory_limit}}MB
|
- Memory budget: {{memory_limit}}MB
|
||||||
@@ -1429,11 +1436,11 @@ sections:
|
|||||||
instruction: Based on GDD requirements, define the overall level organization
|
instruction: Based on GDD requirements, define the overall level organization
|
||||||
template: |
|
template: |
|
||||||
**Organization Type:** {{linear|hub_world|open_world}}
|
**Organization Type:** {{linear|hub_world|open_world}}
|
||||||
|
|
||||||
**Total Level Count:** {{number}}
|
**Total Level Count:** {{number}}
|
||||||
|
|
||||||
**World Breakdown:**
|
**World Breakdown:**
|
||||||
|
|
||||||
- World 1: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
- World 1: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
||||||
- World 2: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
- World 2: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
||||||
- World 3: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
- World 3: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
||||||
@@ -1468,7 +1475,7 @@ sections:
|
|||||||
instruction: Define how players access new levels
|
instruction: Define how players access new levels
|
||||||
template: |
|
template: |
|
||||||
**Progression Gates:**
|
**Progression Gates:**
|
||||||
|
|
||||||
- Linear progression: Complete previous level
|
- Linear progression: Complete previous level
|
||||||
- Star requirements: {{star_count}} stars to unlock
|
- Star requirements: {{star_count}} stars to unlock
|
||||||
- Skill gates: Demonstrate {{skill_requirement}}
|
- Skill gates: Demonstrate {{skill_requirement}}
|
||||||
@@ -1483,17 +1490,17 @@ sections:
|
|||||||
instruction: Define all environmental components that can be used in levels
|
instruction: Define all environmental components that can be used in levels
|
||||||
template: |
|
template: |
|
||||||
**Terrain Types:**
|
**Terrain Types:**
|
||||||
|
|
||||||
- {{terrain_1}}: {{properties_and_usage}}
|
- {{terrain_1}}: {{properties_and_usage}}
|
||||||
- {{terrain_2}}: {{properties_and_usage}}
|
- {{terrain_2}}: {{properties_and_usage}}
|
||||||
|
|
||||||
**Interactive Objects:**
|
**Interactive Objects:**
|
||||||
|
|
||||||
- {{object_1}}: {{behavior_and_purpose}}
|
- {{object_1}}: {{behavior_and_purpose}}
|
||||||
- {{object_2}}: {{behavior_and_purpose}}
|
- {{object_2}}: {{behavior_and_purpose}}
|
||||||
|
|
||||||
**Hazards and Obstacles:**
|
**Hazards and Obstacles:**
|
||||||
|
|
||||||
- {{hazard_1}}: {{damage_and_behavior}}
|
- {{hazard_1}}: {{damage_and_behavior}}
|
||||||
- {{hazard_2}}: {{damage_and_behavior}}
|
- {{hazard_2}}: {{damage_and_behavior}}
|
||||||
- id: collectibles-rewards
|
- id: collectibles-rewards
|
||||||
@@ -1501,18 +1508,18 @@ sections:
|
|||||||
instruction: Define all collectible items and their placement rules
|
instruction: Define all collectible items and their placement rules
|
||||||
template: |
|
template: |
|
||||||
**Collectible Types:**
|
**Collectible Types:**
|
||||||
|
|
||||||
- {{collectible_1}}: {{value_and_purpose}}
|
- {{collectible_1}}: {{value_and_purpose}}
|
||||||
- {{collectible_2}}: {{value_and_purpose}}
|
- {{collectible_2}}: {{value_and_purpose}}
|
||||||
|
|
||||||
**Placement Guidelines:**
|
**Placement Guidelines:**
|
||||||
|
|
||||||
- Mandatory collectibles: {{placement_rules}}
|
- Mandatory collectibles: {{placement_rules}}
|
||||||
- Optional collectibles: {{placement_rules}}
|
- Optional collectibles: {{placement_rules}}
|
||||||
- Secret collectibles: {{placement_rules}}
|
- Secret collectibles: {{placement_rules}}
|
||||||
|
|
||||||
**Reward Distribution:**
|
**Reward Distribution:**
|
||||||
|
|
||||||
- Easy to find: {{percentage}}%
|
- Easy to find: {{percentage}}%
|
||||||
- Moderate challenge: {{percentage}}%
|
- Moderate challenge: {{percentage}}%
|
||||||
- High skill required: {{percentage}}%
|
- High skill required: {{percentage}}%
|
||||||
@@ -1521,18 +1528,18 @@ sections:
|
|||||||
instruction: Define how enemies should be placed and balanced in levels
|
instruction: Define how enemies should be placed and balanced in levels
|
||||||
template: |
|
template: |
|
||||||
**Enemy Categories:**
|
**Enemy Categories:**
|
||||||
|
|
||||||
- {{enemy_type_1}}: {{behavior_and_usage}}
|
- {{enemy_type_1}}: {{behavior_and_usage}}
|
||||||
- {{enemy_type_2}}: {{behavior_and_usage}}
|
- {{enemy_type_2}}: {{behavior_and_usage}}
|
||||||
|
|
||||||
**Placement Principles:**
|
**Placement Principles:**
|
||||||
|
|
||||||
- Introduction encounters: {{guideline}}
|
- Introduction encounters: {{guideline}}
|
||||||
- Standard encounters: {{guideline}}
|
- Standard encounters: {{guideline}}
|
||||||
- Challenge encounters: {{guideline}}
|
- Challenge encounters: {{guideline}}
|
||||||
|
|
||||||
**Difficulty Scaling:**
|
**Difficulty Scaling:**
|
||||||
|
|
||||||
- Enemy count progression: {{scaling_rule}}
|
- Enemy count progression: {{scaling_rule}}
|
||||||
- Enemy type introduction: {{pacing_rule}}
|
- Enemy type introduction: {{pacing_rule}}
|
||||||
- Encounter complexity: {{complexity_rule}}
|
- Encounter complexity: {{complexity_rule}}
|
||||||
@@ -1545,14 +1552,14 @@ sections:
|
|||||||
title: Level Layout Principles
|
title: Level Layout Principles
|
||||||
template: |
|
template: |
|
||||||
**Spatial Design:**
|
**Spatial Design:**
|
||||||
|
|
||||||
- Grid size: {{grid_dimensions}}
|
- Grid size: {{grid_dimensions}}
|
||||||
- Minimum path width: {{width_units}}
|
- Minimum path width: {{width_units}}
|
||||||
- Maximum vertical distance: {{height_units}}
|
- Maximum vertical distance: {{height_units}}
|
||||||
- Safe zones placement: {{safety_guidelines}}
|
- Safe zones placement: {{safety_guidelines}}
|
||||||
|
|
||||||
**Navigation Design:**
|
**Navigation Design:**
|
||||||
|
|
||||||
- Clear path indication: {{visual_cues}}
|
- Clear path indication: {{visual_cues}}
|
||||||
- Landmark placement: {{landmark_rules}}
|
- Landmark placement: {{landmark_rules}}
|
||||||
- Dead end avoidance: {{dead_end_policy}}
|
- Dead end avoidance: {{dead_end_policy}}
|
||||||
@@ -1562,13 +1569,13 @@ sections:
|
|||||||
instruction: Define how to control the rhythm and pace of gameplay within levels
|
instruction: Define how to control the rhythm and pace of gameplay within levels
|
||||||
template: |
|
template: |
|
||||||
**Action Sequences:**
|
**Action Sequences:**
|
||||||
|
|
||||||
- High intensity duration: {{max_duration}}
|
- High intensity duration: {{max_duration}}
|
||||||
- Rest period requirement: {{min_rest_time}}
|
- Rest period requirement: {{min_rest_time}}
|
||||||
- Intensity variation: {{pacing_pattern}}
|
- Intensity variation: {{pacing_pattern}}
|
||||||
|
|
||||||
**Learning Sequences:**
|
**Learning Sequences:**
|
||||||
|
|
||||||
- New mechanic introduction: {{teaching_method}}
|
- New mechanic introduction: {{teaching_method}}
|
||||||
- Practice opportunity: {{practice_duration}}
|
- Practice opportunity: {{practice_duration}}
|
||||||
- Skill application: {{application_context}}
|
- Skill application: {{application_context}}
|
||||||
@@ -1577,14 +1584,14 @@ sections:
|
|||||||
instruction: Define how to create appropriate challenges for each level type
|
instruction: Define how to create appropriate challenges for each level type
|
||||||
template: |
|
template: |
|
||||||
**Challenge Types:**
|
**Challenge Types:**
|
||||||
|
|
||||||
- Execution challenges: {{skill_requirements}}
|
- Execution challenges: {{skill_requirements}}
|
||||||
- Puzzle challenges: {{complexity_guidelines}}
|
- Puzzle challenges: {{complexity_guidelines}}
|
||||||
- Time challenges: {{time_pressure_rules}}
|
- Time challenges: {{time_pressure_rules}}
|
||||||
- Resource challenges: {{resource_management}}
|
- Resource challenges: {{resource_management}}
|
||||||
|
|
||||||
**Difficulty Calibration:**
|
**Difficulty Calibration:**
|
||||||
|
|
||||||
- Skill check frequency: {{frequency_guidelines}}
|
- Skill check frequency: {{frequency_guidelines}}
|
||||||
- Failure recovery: {{retry_mechanics}}
|
- Failure recovery: {{retry_mechanics}}
|
||||||
- Hint system integration: {{help_system}}
|
- Hint system integration: {{help_system}}
|
||||||
@@ -1598,7 +1605,7 @@ sections:
|
|||||||
instruction: Define how level data should be structured for implementation
|
instruction: Define how level data should be structured for implementation
|
||||||
template: |
|
template: |
|
||||||
**Level File Format:**
|
**Level File Format:**
|
||||||
|
|
||||||
- Data format: {{json|yaml|custom}}
|
- Data format: {{json|yaml|custom}}
|
||||||
- File naming: `level_{{world}}_{{number}}.{{extension}}`
|
- File naming: `level_{{world}}_{{number}}.{{extension}}`
|
||||||
- Data organization: {{structure_description}}
|
- Data organization: {{structure_description}}
|
||||||
@@ -1636,14 +1643,14 @@ sections:
|
|||||||
instruction: Define how level assets are organized and loaded
|
instruction: Define how level assets are organized and loaded
|
||||||
template: |
|
template: |
|
||||||
**Tilemap Requirements:**
|
**Tilemap Requirements:**
|
||||||
|
|
||||||
- Tile size: {{tile_dimensions}}px
|
- Tile size: {{tile_dimensions}}px
|
||||||
- Tileset organization: {{tileset_structure}}
|
- Tileset organization: {{tileset_structure}}
|
||||||
- Layer organization: {{layer_system}}
|
- Layer organization: {{layer_system}}
|
||||||
- Collision data: {{collision_format}}
|
- Collision data: {{collision_format}}
|
||||||
|
|
||||||
**Audio Integration:**
|
**Audio Integration:**
|
||||||
|
|
||||||
- Background music: {{music_requirements}}
|
- Background music: {{music_requirements}}
|
||||||
- Ambient sounds: {{ambient_system}}
|
- Ambient sounds: {{ambient_system}}
|
||||||
- Dynamic audio: {{dynamic_audio_rules}}
|
- Dynamic audio: {{dynamic_audio_rules}}
|
||||||
@@ -1652,19 +1659,19 @@ sections:
|
|||||||
instruction: Define performance requirements for level systems
|
instruction: Define performance requirements for level systems
|
||||||
template: |
|
template: |
|
||||||
**Entity Limits:**
|
**Entity Limits:**
|
||||||
|
|
||||||
- Maximum active entities: {{entity_limit}}
|
- Maximum active entities: {{entity_limit}}
|
||||||
- Maximum particles: {{particle_limit}}
|
- Maximum particles: {{particle_limit}}
|
||||||
- Maximum audio sources: {{audio_limit}}
|
- Maximum audio sources: {{audio_limit}}
|
||||||
|
|
||||||
**Memory Management:**
|
**Memory Management:**
|
||||||
|
|
||||||
- Texture memory budget: {{texture_memory}}MB
|
- Texture memory budget: {{texture_memory}}MB
|
||||||
- Audio memory budget: {{audio_memory}}MB
|
- Audio memory budget: {{audio_memory}}MB
|
||||||
- Level loading time: <{{load_time}}s
|
- Level loading time: <{{load_time}}s
|
||||||
|
|
||||||
**Culling and LOD:**
|
**Culling and LOD:**
|
||||||
|
|
||||||
- Off-screen culling: {{culling_distance}}
|
- Off-screen culling: {{culling_distance}}
|
||||||
- Level-of-detail rules: {{lod_system}}
|
- Level-of-detail rules: {{lod_system}}
|
||||||
- Asset streaming: {{streaming_requirements}}
|
- Asset streaming: {{streaming_requirements}}
|
||||||
@@ -1677,13 +1684,13 @@ sections:
|
|||||||
title: Automated Testing
|
title: Automated Testing
|
||||||
template: |
|
template: |
|
||||||
**Performance Testing:**
|
**Performance Testing:**
|
||||||
|
|
||||||
- Frame rate validation: Maintain {{fps_target}} FPS
|
- Frame rate validation: Maintain {{fps_target}} FPS
|
||||||
- Memory usage monitoring: Stay under {{memory_limit}}MB
|
- Memory usage monitoring: Stay under {{memory_limit}}MB
|
||||||
- Loading time verification: Complete in <{{load_time}}s
|
- Loading time verification: Complete in <{{load_time}}s
|
||||||
|
|
||||||
**Gameplay Testing:**
|
**Gameplay Testing:**
|
||||||
|
|
||||||
- Completion path validation: All objectives achievable
|
- Completion path validation: All objectives achievable
|
||||||
- Collectible accessibility: All items reachable
|
- Collectible accessibility: All items reachable
|
||||||
- Softlock prevention: No unwinnable states
|
- Softlock prevention: No unwinnable states
|
||||||
@@ -1711,14 +1718,14 @@ sections:
|
|||||||
title: Balance Validation
|
title: Balance Validation
|
||||||
template: |
|
template: |
|
||||||
**Metrics Collection:**
|
**Metrics Collection:**
|
||||||
|
|
||||||
- Completion rate: Target {{completion_percentage}}%
|
- Completion rate: Target {{completion_percentage}}%
|
||||||
- Average completion time: {{target_time}} ± {{variance}}
|
- Average completion time: {{target_time}} ± {{variance}}
|
||||||
- Death count per level: <{{max_deaths}}
|
- Death count per level: <{{max_deaths}}
|
||||||
- Collectible discovery rate: {{discovery_percentage}}%
|
- Collectible discovery rate: {{discovery_percentage}}%
|
||||||
|
|
||||||
**Iteration Guidelines:**
|
**Iteration Guidelines:**
|
||||||
|
|
||||||
- Adjustment criteria: {{criteria_for_changes}}
|
- Adjustment criteria: {{criteria_for_changes}}
|
||||||
- Testing sample size: {{minimum_testers}}
|
- Testing sample size: {{minimum_testers}}
|
||||||
- Validation period: {{testing_duration}}
|
- Validation period: {{testing_duration}}
|
||||||
@@ -1731,14 +1738,14 @@ sections:
|
|||||||
title: Design Phase
|
title: Design Phase
|
||||||
template: |
|
template: |
|
||||||
**Concept Development:**
|
**Concept Development:**
|
||||||
|
|
||||||
1. Define level purpose and goals
|
1. Define level purpose and goals
|
||||||
2. Create rough layout sketch
|
2. Create rough layout sketch
|
||||||
3. Identify key mechanics and challenges
|
3. Identify key mechanics and challenges
|
||||||
4. Estimate difficulty and duration
|
4. Estimate difficulty and duration
|
||||||
|
|
||||||
**Documentation Requirements:**
|
**Documentation Requirements:**
|
||||||
|
|
||||||
- Level design brief
|
- Level design brief
|
||||||
- Layout diagrams
|
- Layout diagrams
|
||||||
- Mechanic integration notes
|
- Mechanic integration notes
|
||||||
@@ -1747,15 +1754,15 @@ sections:
|
|||||||
title: Implementation Phase
|
title: Implementation Phase
|
||||||
template: |
|
template: |
|
||||||
**Technical Implementation:**
|
**Technical Implementation:**
|
||||||
|
|
||||||
1. Create level data file
|
1. Create level data file
|
||||||
2. Build tilemap and layout
|
2. Build tilemap and layout
|
||||||
3. Place entities and objects
|
3. Place entities and objects
|
||||||
4. Configure level logic and triggers
|
4. Configure level logic and triggers
|
||||||
5. Integrate audio and visual effects
|
5. Integrate audio and visual effects
|
||||||
|
|
||||||
**Quality Assurance:**
|
**Quality Assurance:**
|
||||||
|
|
||||||
1. Automated testing execution
|
1. Automated testing execution
|
||||||
2. Internal playtesting
|
2. Internal playtesting
|
||||||
3. Performance validation
|
3. Performance validation
|
||||||
@@ -1764,14 +1771,14 @@ sections:
|
|||||||
title: Integration Phase
|
title: Integration Phase
|
||||||
template: |
|
template: |
|
||||||
**Game Integration:**
|
**Game Integration:**
|
||||||
|
|
||||||
1. Level progression integration
|
1. Level progression integration
|
||||||
2. Save system compatibility
|
2. Save system compatibility
|
||||||
3. Analytics integration
|
3. Analytics integration
|
||||||
4. Achievement system integration
|
4. Achievement system integration
|
||||||
|
|
||||||
**Final Validation:**
|
**Final Validation:**
|
||||||
|
|
||||||
1. Full game context testing
|
1. Full game context testing
|
||||||
2. Performance regression testing
|
2. Performance regression testing
|
||||||
3. Platform compatibility verification
|
3. Platform compatibility verification
|
||||||
@@ -1808,6 +1815,7 @@ sections:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml ====================
|
==================== END: .bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml ====================
|
==================== START: .bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml ====================
|
||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: game-brief-template-v2
|
id: game-brief-template-v2
|
||||||
name: Game Brief
|
name: Game Brief
|
||||||
@@ -1824,7 +1832,7 @@ sections:
|
|||||||
- id: initial-setup
|
- id: initial-setup
|
||||||
instruction: |
|
instruction: |
|
||||||
This template creates a comprehensive game brief that serves as the foundation for all subsequent game development work. The brief should capture the essential vision, scope, and requirements needed to create a detailed Game Design Document.
|
This template creates a comprehensive game brief that serves as the foundation for all subsequent game development work. The brief should capture the essential vision, scope, and requirements needed to create a detailed Game Design Document.
|
||||||
|
|
||||||
This brief is typically created early in the ideation process, often after brainstorming sessions, to crystallize the game concept before moving into detailed design.
|
This brief is typically created early in the ideation process, often after brainstorming sessions, to crystallize the game concept before moving into detailed design.
|
||||||
|
|
||||||
- id: game-vision
|
- id: game-vision
|
||||||
@@ -1881,7 +1889,7 @@ sections:
|
|||||||
repeatable: true
|
repeatable: true
|
||||||
template: |
|
template: |
|
||||||
**Core Mechanic: {{mechanic_name}}**
|
**Core Mechanic: {{mechanic_name}}**
|
||||||
|
|
||||||
- **Description:** {{how_it_works}}
|
- **Description:** {{how_it_works}}
|
||||||
- **Player Value:** {{why_its_fun}}
|
- **Player Value:** {{why_its_fun}}
|
||||||
- **Implementation Scope:** {{complexity_estimate}}
|
- **Implementation Scope:** {{complexity_estimate}}
|
||||||
@@ -1908,12 +1916,12 @@ sections:
|
|||||||
title: Technical Constraints
|
title: Technical Constraints
|
||||||
template: |
|
template: |
|
||||||
**Platform Requirements:**
|
**Platform Requirements:**
|
||||||
|
|
||||||
- Primary: {{platform_1}} - {{requirements}}
|
- Primary: {{platform_1}} - {{requirements}}
|
||||||
- Secondary: {{platform_2}} - {{requirements}}
|
- Secondary: {{platform_2}} - {{requirements}}
|
||||||
|
|
||||||
**Technical Specifications:**
|
**Technical Specifications:**
|
||||||
|
|
||||||
- Engine: Phaser 3 + TypeScript
|
- Engine: Phaser 3 + TypeScript
|
||||||
- Performance Target: {{fps_target}} FPS on {{target_device}}
|
- Performance Target: {{fps_target}} FPS on {{target_device}}
|
||||||
- Memory Budget: <{{memory_limit}}MB
|
- Memory Budget: <{{memory_limit}}MB
|
||||||
@@ -1951,10 +1959,10 @@ sections:
|
|||||||
title: Competitive Analysis
|
title: Competitive Analysis
|
||||||
template: |
|
template: |
|
||||||
**Direct Competitors:**
|
**Direct Competitors:**
|
||||||
|
|
||||||
- {{competitor_1}}: {{strengths_and_weaknesses}}
|
- {{competitor_1}}: {{strengths_and_weaknesses}}
|
||||||
- {{competitor_2}}: {{strengths_and_weaknesses}}
|
- {{competitor_2}}: {{strengths_and_weaknesses}}
|
||||||
|
|
||||||
**Differentiation Strategy:**
|
**Differentiation Strategy:**
|
||||||
{{how_we_differ_and_why_thats_valuable}}
|
{{how_we_differ_and_why_thats_valuable}}
|
||||||
- id: market-opportunity
|
- id: market-opportunity
|
||||||
@@ -1978,16 +1986,16 @@ sections:
|
|||||||
title: Content Categories
|
title: Content Categories
|
||||||
template: |
|
template: |
|
||||||
**Core Content:**
|
**Core Content:**
|
||||||
|
|
||||||
- {{content_type_1}}: {{quantity_and_description}}
|
- {{content_type_1}}: {{quantity_and_description}}
|
||||||
- {{content_type_2}}: {{quantity_and_description}}
|
- {{content_type_2}}: {{quantity_and_description}}
|
||||||
|
|
||||||
**Optional Content:**
|
**Optional Content:**
|
||||||
|
|
||||||
- {{optional_content_type}}: {{quantity_and_description}}
|
- {{optional_content_type}}: {{quantity_and_description}}
|
||||||
|
|
||||||
**Replay Elements:**
|
**Replay Elements:**
|
||||||
|
|
||||||
- {{replayability_features}}
|
- {{replayability_features}}
|
||||||
- id: difficulty-accessibility
|
- id: difficulty-accessibility
|
||||||
title: Difficulty and Accessibility
|
title: Difficulty and Accessibility
|
||||||
@@ -2054,13 +2062,13 @@ sections:
|
|||||||
title: Player Experience Metrics
|
title: Player Experience Metrics
|
||||||
template: |
|
template: |
|
||||||
**Engagement Goals:**
|
**Engagement Goals:**
|
||||||
|
|
||||||
- Tutorial completion rate: >{{percentage}}%
|
- Tutorial completion rate: >{{percentage}}%
|
||||||
- Average session length: {{duration}} minutes
|
- Average session length: {{duration}} minutes
|
||||||
- Player retention: D1 {{d1}}%, D7 {{d7}}%, D30 {{d30}}%
|
- Player retention: D1 {{d1}}%, D7 {{d7}}%, D30 {{d30}}%
|
||||||
|
|
||||||
**Quality Benchmarks:**
|
**Quality Benchmarks:**
|
||||||
|
|
||||||
- Player satisfaction: >{{rating}}/10
|
- Player satisfaction: >{{rating}}/10
|
||||||
- Completion rate: >{{percentage}}%
|
- Completion rate: >{{percentage}}%
|
||||||
- Technical performance: {{fps_target}} FPS consistent
|
- Technical performance: {{fps_target}} FPS consistent
|
||||||
@@ -2068,13 +2076,13 @@ sections:
|
|||||||
title: Development Metrics
|
title: Development Metrics
|
||||||
template: |
|
template: |
|
||||||
**Technical Targets:**
|
**Technical Targets:**
|
||||||
|
|
||||||
- Zero critical bugs at launch
|
- Zero critical bugs at launch
|
||||||
- Performance targets met on all platforms
|
- Performance targets met on all platforms
|
||||||
- Load times under {{seconds}}s
|
- Load times under {{seconds}}s
|
||||||
|
|
||||||
**Process Goals:**
|
**Process Goals:**
|
||||||
|
|
||||||
- Development timeline adherence
|
- Development timeline adherence
|
||||||
- Feature scope completion
|
- Feature scope completion
|
||||||
- Quality assurance standards
|
- Quality assurance standards
|
||||||
@@ -2083,7 +2091,7 @@ sections:
|
|||||||
condition: has_business_goals
|
condition: has_business_goals
|
||||||
template: |
|
template: |
|
||||||
**Commercial Goals:**
|
**Commercial Goals:**
|
||||||
|
|
||||||
- {{revenue_target}} in first {{time_period}}
|
- {{revenue_target}} in first {{time_period}}
|
||||||
- {{user_acquisition_target}} players in first {{time_period}}
|
- {{user_acquisition_target}} players in first {{time_period}}
|
||||||
- {{retention_target}} monthly active users
|
- {{retention_target}} monthly active users
|
||||||
@@ -2136,12 +2144,12 @@ sections:
|
|||||||
title: Validation Plan
|
title: Validation Plan
|
||||||
template: |
|
template: |
|
||||||
**Concept Testing:**
|
**Concept Testing:**
|
||||||
|
|
||||||
- {{validation_method_1}} - {{timeline}}
|
- {{validation_method_1}} - {{timeline}}
|
||||||
- {{validation_method_2}} - {{timeline}}
|
- {{validation_method_2}} - {{timeline}}
|
||||||
|
|
||||||
**Prototype Testing:**
|
**Prototype Testing:**
|
||||||
|
|
||||||
- {{testing_approach}} - {{timeline}}
|
- {{testing_approach}} - {{timeline}}
|
||||||
- {{feedback_collection_method}} - {{timeline}}
|
- {{feedback_collection_method}} - {{timeline}}
|
||||||
|
|
||||||
@@ -2167,6 +2175,7 @@ sections:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml ====================
|
==================== END: .bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/checklists/game-design-checklist.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/checklists/game-design-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Game Design Document Quality Checklist
|
# Game Design Document Quality Checklist
|
||||||
|
|
||||||
## Document Completeness
|
## Document Completeness
|
||||||
|
|||||||
@@ -102,6 +102,7 @@ dependencies:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/agents/game-developer.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/agents/game-developer.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Checklist Validation Task
|
# Checklist Validation Task
|
||||||
|
|
||||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||||
@@ -191,6 +192,7 @@ The LLM will:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml ====================
|
==================== START: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml ====================
|
||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: game-architecture-template-v2
|
id: game-architecture-template-v2
|
||||||
name: Game Architecture Document
|
name: Game Architecture Document
|
||||||
@@ -207,7 +209,7 @@ sections:
|
|||||||
- id: initial-setup
|
- id: initial-setup
|
||||||
instruction: |
|
instruction: |
|
||||||
This template creates a comprehensive game architecture document specifically for Phaser 3 + TypeScript projects. This should provide the technical foundation for all game development stories and epics.
|
This template creates a comprehensive game architecture document specifically for Phaser 3 + TypeScript projects. This should provide the technical foundation for all game development stories and epics.
|
||||||
|
|
||||||
If available, review any provided documents: Game Design Document (GDD), Technical Preferences. This architecture should support all game mechanics defined in the GDD.
|
If available, review any provided documents: Game Design Document (GDD), Technical Preferences. This architecture should support all game mechanics defined in the GDD.
|
||||||
|
|
||||||
- id: introduction
|
- id: introduction
|
||||||
@@ -215,7 +217,7 @@ sections:
|
|||||||
instruction: Establish the document's purpose and scope for game development
|
instruction: Establish the document's purpose and scope for game development
|
||||||
content: |
|
content: |
|
||||||
This document outlines the complete technical architecture for {{game_title}}, a 2D game built with Phaser 3 and TypeScript. It serves as the technical foundation for AI-driven game development, ensuring consistency and scalability across all game systems.
|
This document outlines the complete technical architecture for {{game_title}}, a 2D game built with Phaser 3 and TypeScript. It serves as the technical foundation for AI-driven game development, ensuring consistency and scalability across all game systems.
|
||||||
|
|
||||||
This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining 60 FPS performance and cross-platform compatibility.
|
This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining 60 FPS performance and cross-platform compatibility.
|
||||||
sections:
|
sections:
|
||||||
- id: change-log
|
- id: change-log
|
||||||
@@ -234,7 +236,7 @@ sections:
|
|||||||
title: Architecture Summary
|
title: Architecture Summary
|
||||||
instruction: |
|
instruction: |
|
||||||
Provide a comprehensive overview covering:
|
Provide a comprehensive overview covering:
|
||||||
|
|
||||||
- Game engine choice and configuration
|
- Game engine choice and configuration
|
||||||
- Project structure and organization
|
- Project structure and organization
|
||||||
- Key systems and their interactions
|
- Key systems and their interactions
|
||||||
@@ -322,23 +324,23 @@ sections:
|
|||||||
title: Scene Management System
|
title: Scene Management System
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** Handle game flow and scene transitions
|
**Purpose:** Handle game flow and scene transitions
|
||||||
|
|
||||||
**Key Components:**
|
**Key Components:**
|
||||||
|
|
||||||
- Scene loading and unloading
|
- Scene loading and unloading
|
||||||
- Data passing between scenes
|
- Data passing between scenes
|
||||||
- Transition effects
|
- Transition effects
|
||||||
- Memory management
|
- Memory management
|
||||||
|
|
||||||
**Implementation Requirements:**
|
**Implementation Requirements:**
|
||||||
|
|
||||||
- Preload scene for asset loading
|
- Preload scene for asset loading
|
||||||
- Menu system with navigation
|
- Menu system with navigation
|
||||||
- Gameplay scenes with state management
|
- Gameplay scenes with state management
|
||||||
- Pause/resume functionality
|
- Pause/resume functionality
|
||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/scenes/BootScene.ts`
|
- `src/scenes/BootScene.ts`
|
||||||
- `src/scenes/PreloadScene.ts`
|
- `src/scenes/PreloadScene.ts`
|
||||||
- `src/scenes/MenuScene.ts`
|
- `src/scenes/MenuScene.ts`
|
||||||
@@ -348,23 +350,23 @@ sections:
|
|||||||
title: Game State Management
|
title: Game State Management
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** Track player progress and game status
|
**Purpose:** Track player progress and game status
|
||||||
|
|
||||||
**State Categories:**
|
**State Categories:**
|
||||||
|
|
||||||
- Player progress (levels, unlocks)
|
- Player progress (levels, unlocks)
|
||||||
- Game settings (audio, controls)
|
- Game settings (audio, controls)
|
||||||
- Session data (current level, score)
|
- Session data (current level, score)
|
||||||
- Persistent data (achievements, statistics)
|
- Persistent data (achievements, statistics)
|
||||||
|
|
||||||
**Implementation Requirements:**
|
**Implementation Requirements:**
|
||||||
|
|
||||||
- Save/load system with localStorage
|
- Save/load system with localStorage
|
||||||
- State validation and error recovery
|
- State validation and error recovery
|
||||||
- Cross-session data persistence
|
- Cross-session data persistence
|
||||||
- Settings management
|
- Settings management
|
||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/systems/GameState.ts`
|
- `src/systems/GameState.ts`
|
||||||
- `src/systems/SaveManager.ts`
|
- `src/systems/SaveManager.ts`
|
||||||
- `src/types/GameData.ts`
|
- `src/types/GameData.ts`
|
||||||
@@ -372,23 +374,23 @@ sections:
|
|||||||
title: Asset Management System
|
title: Asset Management System
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** Efficient loading and management of game assets
|
**Purpose:** Efficient loading and management of game assets
|
||||||
|
|
||||||
**Asset Categories:**
|
**Asset Categories:**
|
||||||
|
|
||||||
- Sprite sheets and animations
|
- Sprite sheets and animations
|
||||||
- Audio files and music
|
- Audio files and music
|
||||||
- Level data and configurations
|
- Level data and configurations
|
||||||
- UI assets and fonts
|
- UI assets and fonts
|
||||||
|
|
||||||
**Implementation Requirements:**
|
**Implementation Requirements:**
|
||||||
|
|
||||||
- Progressive loading strategy
|
- Progressive loading strategy
|
||||||
- Asset caching and optimization
|
- Asset caching and optimization
|
||||||
- Error handling for failed loads
|
- Error handling for failed loads
|
||||||
- Memory management for large assets
|
- Memory management for large assets
|
||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/systems/AssetManager.ts`
|
- `src/systems/AssetManager.ts`
|
||||||
- `src/config/AssetConfig.ts`
|
- `src/config/AssetConfig.ts`
|
||||||
- `src/utils/AssetLoader.ts`
|
- `src/utils/AssetLoader.ts`
|
||||||
@@ -396,23 +398,23 @@ sections:
|
|||||||
title: Input Management System
|
title: Input Management System
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** Handle all player input across platforms
|
**Purpose:** Handle all player input across platforms
|
||||||
|
|
||||||
**Input Types:**
|
**Input Types:**
|
||||||
|
|
||||||
- Keyboard controls
|
- Keyboard controls
|
||||||
- Mouse/pointer interaction
|
- Mouse/pointer interaction
|
||||||
- Touch gestures (mobile)
|
- Touch gestures (mobile)
|
||||||
- Gamepad support (optional)
|
- Gamepad support (optional)
|
||||||
|
|
||||||
**Implementation Requirements:**
|
**Implementation Requirements:**
|
||||||
|
|
||||||
- Input mapping and configuration
|
- Input mapping and configuration
|
||||||
- Touch-friendly mobile controls
|
- Touch-friendly mobile controls
|
||||||
- Input buffering for responsive gameplay
|
- Input buffering for responsive gameplay
|
||||||
- Customizable control schemes
|
- Customizable control schemes
|
||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/systems/InputManager.ts`
|
- `src/systems/InputManager.ts`
|
||||||
- `src/utils/TouchControls.ts`
|
- `src/utils/TouchControls.ts`
|
||||||
- `src/types/InputTypes.ts`
|
- `src/types/InputTypes.ts`
|
||||||
@@ -425,19 +427,19 @@ sections:
|
|||||||
title: "{{mechanic_name}} System"
|
title: "{{mechanic_name}} System"
|
||||||
template: |
|
template: |
|
||||||
**Purpose:** {{system_purpose}}
|
**Purpose:** {{system_purpose}}
|
||||||
|
|
||||||
**Core Functionality:**
|
**Core Functionality:**
|
||||||
|
|
||||||
- {{feature_1}}
|
- {{feature_1}}
|
||||||
- {{feature_2}}
|
- {{feature_2}}
|
||||||
- {{feature_3}}
|
- {{feature_3}}
|
||||||
|
|
||||||
**Dependencies:** {{required_systems}}
|
**Dependencies:** {{required_systems}}
|
||||||
|
|
||||||
**Performance Considerations:** {{optimization_notes}}
|
**Performance Considerations:** {{optimization_notes}}
|
||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/systems/{{system_name}}.ts`
|
- `src/systems/{{system_name}}.ts`
|
||||||
- `src/gameObjects/{{related_object}}.ts`
|
- `src/gameObjects/{{related_object}}.ts`
|
||||||
- `src/types/{{system_types}}.ts`
|
- `src/types/{{system_types}}.ts`
|
||||||
@@ -445,65 +447,65 @@ sections:
|
|||||||
title: Physics & Collision System
|
title: Physics & Collision System
|
||||||
template: |
|
template: |
|
||||||
**Physics Engine:** {{physics_choice}} (Arcade Physics/Matter.js)
|
**Physics Engine:** {{physics_choice}} (Arcade Physics/Matter.js)
|
||||||
|
|
||||||
**Collision Categories:**
|
**Collision Categories:**
|
||||||
|
|
||||||
- Player collision
|
- Player collision
|
||||||
- Enemy interactions
|
- Enemy interactions
|
||||||
- Environmental objects
|
- Environmental objects
|
||||||
- Collectibles and items
|
- Collectibles and items
|
||||||
|
|
||||||
**Implementation Requirements:**
|
**Implementation Requirements:**
|
||||||
|
|
||||||
- Optimized collision detection
|
- Optimized collision detection
|
||||||
- Physics body management
|
- Physics body management
|
||||||
- Collision callbacks and events
|
- Collision callbacks and events
|
||||||
- Performance monitoring
|
- Performance monitoring
|
||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/systems/PhysicsManager.ts`
|
- `src/systems/PhysicsManager.ts`
|
||||||
- `src/utils/CollisionGroups.ts`
|
- `src/utils/CollisionGroups.ts`
|
||||||
- id: audio-system
|
- id: audio-system
|
||||||
title: Audio System
|
title: Audio System
|
||||||
template: |
|
template: |
|
||||||
**Audio Requirements:**
|
**Audio Requirements:**
|
||||||
|
|
||||||
- Background music with looping
|
- Background music with looping
|
||||||
- Sound effects for actions
|
- Sound effects for actions
|
||||||
- Audio settings and volume control
|
- Audio settings and volume control
|
||||||
- Mobile audio optimization
|
- Mobile audio optimization
|
||||||
|
|
||||||
**Implementation Features:**
|
**Implementation Features:**
|
||||||
|
|
||||||
- Audio sprite management
|
- Audio sprite management
|
||||||
- Dynamic music system
|
- Dynamic music system
|
||||||
- Spatial audio (if applicable)
|
- Spatial audio (if applicable)
|
||||||
- Audio pooling for performance
|
- Audio pooling for performance
|
||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/systems/AudioManager.ts`
|
- `src/systems/AudioManager.ts`
|
||||||
- `src/config/AudioConfig.ts`
|
- `src/config/AudioConfig.ts`
|
||||||
- id: ui-system
|
- id: ui-system
|
||||||
title: UI System
|
title: UI System
|
||||||
template: |
|
template: |
|
||||||
**UI Components:**
|
**UI Components:**
|
||||||
|
|
||||||
- HUD elements (score, health, etc.)
|
- HUD elements (score, health, etc.)
|
||||||
- Menu navigation
|
- Menu navigation
|
||||||
- Modal dialogs
|
- Modal dialogs
|
||||||
- Settings screens
|
- Settings screens
|
||||||
|
|
||||||
**Implementation Requirements:**
|
**Implementation Requirements:**
|
||||||
|
|
||||||
- Responsive layout system
|
- Responsive layout system
|
||||||
- Touch-friendly interface
|
- Touch-friendly interface
|
||||||
- Keyboard navigation support
|
- Keyboard navigation support
|
||||||
- Animation and transitions
|
- Animation and transitions
|
||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/systems/UIManager.ts`
|
- `src/systems/UIManager.ts`
|
||||||
- `src/gameObjects/UI/`
|
- `src/gameObjects/UI/`
|
||||||
- `src/types/UITypes.ts`
|
- `src/types/UITypes.ts`
|
||||||
@@ -807,6 +809,7 @@ sections:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml ====================
|
==================== END: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Game Development Story Definition of Done Checklist
|
# Game Development Story Definition of Done Checklist
|
||||||
|
|
||||||
## Story Completeness
|
## Story Completeness
|
||||||
@@ -970,6 +973,7 @@ _Any specific concerns, recommendations, or clarifications needed before develop
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/data/development-guidelines.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/data/development-guidelines.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Game Development Guidelines
|
# Game Development Guidelines
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
@@ -1045,7 +1049,7 @@ interface GameState {
|
|||||||
interface GameSettings {
|
interface GameSettings {
|
||||||
musicVolume: number;
|
musicVolume: number;
|
||||||
sfxVolume: number;
|
sfxVolume: number;
|
||||||
difficulty: "easy" | "normal" | "hard";
|
difficulty: 'easy' | 'normal' | 'hard';
|
||||||
controls: ControlScheme;
|
controls: ControlScheme;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@@ -1086,12 +1090,12 @@ class GameScene extends Phaser.Scene {
|
|||||||
private inputManager!: InputManager;
|
private inputManager!: InputManager;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super({ key: "GameScene" });
|
super({ key: 'GameScene' });
|
||||||
}
|
}
|
||||||
|
|
||||||
preload(): void {
|
preload(): void {
|
||||||
// Load only scene-specific assets
|
// Load only scene-specific assets
|
||||||
this.load.image("player", "assets/player.png");
|
this.load.image('player', 'assets/player.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
create(data: SceneData): void {
|
create(data: SceneData): void {
|
||||||
@@ -1116,7 +1120,7 @@ class GameScene extends Phaser.Scene {
|
|||||||
this.inputManager.destroy();
|
this.inputManager.destroy();
|
||||||
|
|
||||||
// Remove event listeners
|
// Remove event listeners
|
||||||
this.events.off("*");
|
this.events.off('*');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@@ -1125,13 +1129,13 @@ class GameScene extends Phaser.Scene {
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Proper scene transitions with data
|
// Proper scene transitions with data
|
||||||
this.scene.start("NextScene", {
|
this.scene.start('NextScene', {
|
||||||
playerScore: this.playerScore,
|
playerScore: this.playerScore,
|
||||||
currentLevel: this.currentLevel + 1,
|
currentLevel: this.currentLevel + 1,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Scene overlays for UI
|
// Scene overlays for UI
|
||||||
this.scene.launch("PauseMenuScene");
|
this.scene.launch('PauseMenuScene');
|
||||||
this.scene.pause();
|
this.scene.pause();
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -1175,7 +1179,7 @@ class Player extends GameEntity {
|
|||||||
private health!: HealthComponent;
|
private health!: HealthComponent;
|
||||||
|
|
||||||
constructor(scene: Phaser.Scene, x: number, y: number) {
|
constructor(scene: Phaser.Scene, x: number, y: number) {
|
||||||
super(scene, x, y, "player");
|
super(scene, x, y, 'player');
|
||||||
|
|
||||||
this.movement = this.addComponent(new MovementComponent(this));
|
this.movement = this.addComponent(new MovementComponent(this));
|
||||||
this.health = this.addComponent(new HealthComponent(this, 100));
|
this.health = this.addComponent(new HealthComponent(this, 100));
|
||||||
@@ -1195,7 +1199,7 @@ class GameManager {
|
|||||||
|
|
||||||
constructor(scene: Phaser.Scene) {
|
constructor(scene: Phaser.Scene) {
|
||||||
if (GameManager.instance) {
|
if (GameManager.instance) {
|
||||||
throw new Error("GameManager already exists!");
|
throw new Error('GameManager already exists!');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scene = scene;
|
this.scene = scene;
|
||||||
@@ -1205,7 +1209,7 @@ class GameManager {
|
|||||||
|
|
||||||
static getInstance(): GameManager {
|
static getInstance(): GameManager {
|
||||||
if (!GameManager.instance) {
|
if (!GameManager.instance) {
|
||||||
throw new Error("GameManager not initialized!");
|
throw new Error('GameManager not initialized!');
|
||||||
}
|
}
|
||||||
return GameManager.instance;
|
return GameManager.instance;
|
||||||
}
|
}
|
||||||
@@ -1252,7 +1256,7 @@ class BulletPool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Pool exhausted - create new bullet
|
// Pool exhausted - create new bullet
|
||||||
console.warn("Bullet pool exhausted, creating new bullet");
|
console.warn('Bullet pool exhausted, creating new bullet');
|
||||||
return new Bullet(this.scene, 0, 0);
|
return new Bullet(this.scene, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1352,14 +1356,12 @@ class InputManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private setupKeyboard(): void {
|
private setupKeyboard(): void {
|
||||||
this.keys = this.scene.input.keyboard.addKeys(
|
this.keys = this.scene.input.keyboard.addKeys('W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT');
|
||||||
"W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT",
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private setupTouch(): void {
|
private setupTouch(): void {
|
||||||
this.scene.input.on("pointerdown", this.handlePointerDown, this);
|
this.scene.input.on('pointerdown', this.handlePointerDown, this);
|
||||||
this.scene.input.on("pointerup", this.handlePointerUp, this);
|
this.scene.input.on('pointerup', this.handlePointerUp, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
update(): void {
|
update(): void {
|
||||||
@@ -1386,9 +1388,9 @@ class InputManager {
|
|||||||
class AssetManager {
|
class AssetManager {
|
||||||
loadAssets(): Promise<void> {
|
loadAssets(): Promise<void> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.scene.load.on("filecomplete", this.handleFileComplete, this);
|
this.scene.load.on('filecomplete', this.handleFileComplete, this);
|
||||||
this.scene.load.on("loaderror", this.handleLoadError, this);
|
this.scene.load.on('loaderror', this.handleLoadError, this);
|
||||||
this.scene.load.on("complete", () => resolve());
|
this.scene.load.on('complete', () => resolve());
|
||||||
|
|
||||||
this.scene.load.start();
|
this.scene.load.start();
|
||||||
});
|
});
|
||||||
@@ -1404,8 +1406,8 @@ class AssetManager {
|
|||||||
private loadFallbackAsset(key: string): void {
|
private loadFallbackAsset(key: string): void {
|
||||||
// Load placeholder or default assets
|
// Load placeholder or default assets
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case "player":
|
case 'player':
|
||||||
this.scene.load.image("player", "assets/defaults/default-player.png");
|
this.scene.load.image('player', 'assets/defaults/default-player.png');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.warn(`No fallback for asset: ${key}`);
|
console.warn(`No fallback for asset: ${key}`);
|
||||||
@@ -1432,11 +1434,11 @@ class GameSystem {
|
|||||||
|
|
||||||
private attemptRecovery(context: string): void {
|
private attemptRecovery(context: string): void {
|
||||||
switch (context) {
|
switch (context) {
|
||||||
case "update":
|
case 'update':
|
||||||
// Reset system state
|
// Reset system state
|
||||||
this.reset();
|
this.reset();
|
||||||
break;
|
break;
|
||||||
case "render":
|
case 'render':
|
||||||
// Disable visual effects
|
// Disable visual effects
|
||||||
this.disableEffects();
|
this.disableEffects();
|
||||||
break;
|
break;
|
||||||
@@ -1456,7 +1458,7 @@ class GameSystem {
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Example test for game mechanics
|
// Example test for game mechanics
|
||||||
describe("HealthComponent", () => {
|
describe('HealthComponent', () => {
|
||||||
let healthComponent: HealthComponent;
|
let healthComponent: HealthComponent;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
@@ -1464,18 +1466,18 @@ describe("HealthComponent", () => {
|
|||||||
healthComponent = new HealthComponent(mockEntity, 100);
|
healthComponent = new HealthComponent(mockEntity, 100);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should initialize with correct health", () => {
|
test('should initialize with correct health', () => {
|
||||||
expect(healthComponent.currentHealth).toBe(100);
|
expect(healthComponent.currentHealth).toBe(100);
|
||||||
expect(healthComponent.maxHealth).toBe(100);
|
expect(healthComponent.maxHealth).toBe(100);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should handle damage correctly", () => {
|
test('should handle damage correctly', () => {
|
||||||
healthComponent.takeDamage(25);
|
healthComponent.takeDamage(25);
|
||||||
expect(healthComponent.currentHealth).toBe(75);
|
expect(healthComponent.currentHealth).toBe(75);
|
||||||
expect(healthComponent.isAlive()).toBe(true);
|
expect(healthComponent.isAlive()).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should handle death correctly", () => {
|
test('should handle death correctly', () => {
|
||||||
healthComponent.takeDamage(150);
|
healthComponent.takeDamage(150);
|
||||||
expect(healthComponent.currentHealth).toBe(0);
|
expect(healthComponent.currentHealth).toBe(0);
|
||||||
expect(healthComponent.isAlive()).toBe(false);
|
expect(healthComponent.isAlive()).toBe(false);
|
||||||
@@ -1488,7 +1490,7 @@ describe("HealthComponent", () => {
|
|||||||
**Scene Testing:**
|
**Scene Testing:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
describe("GameScene Integration", () => {
|
describe('GameScene Integration', () => {
|
||||||
let scene: GameScene;
|
let scene: GameScene;
|
||||||
let mockGame: Phaser.Game;
|
let mockGame: Phaser.Game;
|
||||||
|
|
||||||
@@ -1498,7 +1500,7 @@ describe("GameScene Integration", () => {
|
|||||||
scene = new GameScene();
|
scene = new GameScene();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should initialize all systems", () => {
|
test('should initialize all systems', () => {
|
||||||
scene.create({});
|
scene.create({});
|
||||||
|
|
||||||
expect(scene.gameManager).toBeDefined();
|
expect(scene.gameManager).toBeDefined();
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ dependencies:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/agents/game-sm.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/agents/game-sm.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/tasks/create-game-story.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/tasks/create-game-story.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Create Game Development Story Task
|
# Create Game Development Story Task
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
@@ -307,6 +308,7 @@ This task ensures game development stories are immediately actionable and enable
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/create-game-story.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/create-game-story.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Checklist Validation Task
|
# Checklist Validation Task
|
||||||
|
|
||||||
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
||||||
@@ -396,6 +398,7 @@ The LLM will:
|
|||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml ====================
|
==================== START: .bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml ====================
|
||||||
|
# <!-- Powered by BMAD™ Core -->
|
||||||
template:
|
template:
|
||||||
id: game-story-template-v2
|
id: game-story-template-v2
|
||||||
name: Game Development Story
|
name: Game Development Story
|
||||||
@@ -412,13 +415,13 @@ sections:
|
|||||||
- id: initial-setup
|
- id: initial-setup
|
||||||
instruction: |
|
instruction: |
|
||||||
This template creates detailed game development stories that are immediately actionable by game developers. Each story should focus on a single, implementable feature that contributes to the overall game functionality.
|
This template creates detailed game development stories that are immediately actionable by game developers. Each story should focus on a single, implementable feature that contributes to the overall game functionality.
|
||||||
|
|
||||||
Before starting, ensure you have access to:
|
Before starting, ensure you have access to:
|
||||||
|
|
||||||
- Game Design Document (GDD)
|
- Game Design Document (GDD)
|
||||||
- Game Architecture Document
|
- Game Architecture Document
|
||||||
- Any existing stories in this epic
|
- Any existing stories in this epic
|
||||||
|
|
||||||
The story should be specific enough that a developer can implement it without requiring additional design decisions.
|
The story should be specific enough that a developer can implement it without requiring additional design decisions.
|
||||||
|
|
||||||
- id: story-header
|
- id: story-header
|
||||||
@@ -467,12 +470,12 @@ sections:
|
|||||||
title: Files to Create/Modify
|
title: Files to Create/Modify
|
||||||
template: |
|
template: |
|
||||||
**New Files:**
|
**New Files:**
|
||||||
|
|
||||||
- `{{file_path_1}}` - {{purpose}}
|
- `{{file_path_1}}` - {{purpose}}
|
||||||
- `{{file_path_2}}` - {{purpose}}
|
- `{{file_path_2}}` - {{purpose}}
|
||||||
|
|
||||||
**Modified Files:**
|
**Modified Files:**
|
||||||
|
|
||||||
- `{{existing_file_1}}` - {{changes_needed}}
|
- `{{existing_file_1}}` - {{changes_needed}}
|
||||||
- `{{existing_file_2}}` - {{changes_needed}}
|
- `{{existing_file_2}}` - {{changes_needed}}
|
||||||
- id: class-interface-definitions
|
- id: class-interface-definitions
|
||||||
@@ -487,15 +490,15 @@ sections:
|
|||||||
{{property_2}}: {{type}};
|
{{property_2}}: {{type}};
|
||||||
{{method_1}}({{params}}): {{return_type}};
|
{{method_1}}({{params}}): {{return_type}};
|
||||||
}
|
}
|
||||||
|
|
||||||
// {{class_name}}
|
// {{class_name}}
|
||||||
class {{class_name}} extends {{phaser_class}} {
|
class {{class_name}} extends {{phaser_class}} {
|
||||||
private {{property}}: {{type}};
|
private {{property}}: {{type}};
|
||||||
|
|
||||||
constructor({{params}}) {
|
constructor({{params}}) {
|
||||||
// Implementation requirements
|
// Implementation requirements
|
||||||
}
|
}
|
||||||
|
|
||||||
public {{method}}({{params}}): {{return_type}} {
|
public {{method}}({{params}}): {{return_type}} {
|
||||||
// Method requirements
|
// Method requirements
|
||||||
}
|
}
|
||||||
@@ -505,15 +508,15 @@ sections:
|
|||||||
instruction: Specify how this feature integrates with existing systems
|
instruction: Specify how this feature integrates with existing systems
|
||||||
template: |
|
template: |
|
||||||
**Scene Integration:**
|
**Scene Integration:**
|
||||||
|
|
||||||
- {{scene_name}}: {{integration_details}}
|
- {{scene_name}}: {{integration_details}}
|
||||||
|
|
||||||
**System Dependencies:**
|
**System Dependencies:**
|
||||||
|
|
||||||
- {{system_name}}: {{dependency_description}}
|
- {{system_name}}: {{dependency_description}}
|
||||||
|
|
||||||
**Event Communication:**
|
**Event Communication:**
|
||||||
|
|
||||||
- Emits: `{{event_name}}` when {{condition}}
|
- Emits: `{{event_name}}` when {{condition}}
|
||||||
- Listens: `{{event_name}}` to {{response}}
|
- Listens: `{{event_name}}` to {{response}}
|
||||||
|
|
||||||
@@ -525,7 +528,7 @@ sections:
|
|||||||
title: Dev Agent Record
|
title: Dev Agent Record
|
||||||
template: |
|
template: |
|
||||||
**Tasks:**
|
**Tasks:**
|
||||||
|
|
||||||
- [ ] {{task_1_description}}
|
- [ ] {{task_1_description}}
|
||||||
- [ ] {{task_2_description}}
|
- [ ] {{task_2_description}}
|
||||||
- [ ] {{task_3_description}}
|
- [ ] {{task_3_description}}
|
||||||
@@ -533,18 +536,18 @@ sections:
|
|||||||
- [ ] Write unit tests for {{component}}
|
- [ ] Write unit tests for {{component}}
|
||||||
- [ ] Integration testing with {{related_system}}
|
- [ ] Integration testing with {{related_system}}
|
||||||
- [ ] Performance testing and optimization
|
- [ ] Performance testing and optimization
|
||||||
|
|
||||||
**Debug Log:**
|
**Debug Log:**
|
||||||
| Task | File | Change | Reverted? |
|
| Task | File | Change | Reverted? |
|
||||||
|------|------|--------|-----------|
|
|------|------|--------|-----------|
|
||||||
| | | | |
|
| | | | |
|
||||||
|
|
||||||
**Completion Notes:**
|
**Completion Notes:**
|
||||||
|
|
||||||
<!-- Only note deviations from requirements, keep under 50 words -->
|
<!-- Only note deviations from requirements, keep under 50 words -->
|
||||||
|
|
||||||
**Change Log:**
|
**Change Log:**
|
||||||
|
|
||||||
<!-- Only requirement changes during implementation -->
|
<!-- Only requirement changes during implementation -->
|
||||||
|
|
||||||
- id: game-design-context
|
- id: game-design-context
|
||||||
@@ -552,13 +555,13 @@ sections:
|
|||||||
instruction: Reference the specific sections of the GDD that this story implements
|
instruction: Reference the specific sections of the GDD that this story implements
|
||||||
template: |
|
template: |
|
||||||
**GDD Reference:** {{section_name}} ({{page_or_section_number}})
|
**GDD Reference:** {{section_name}} ({{page_or_section_number}})
|
||||||
|
|
||||||
**Game Mechanic:** {{mechanic_name}}
|
**Game Mechanic:** {{mechanic_name}}
|
||||||
|
|
||||||
**Player Experience Goal:** {{experience_description}}
|
**Player Experience Goal:** {{experience_description}}
|
||||||
|
|
||||||
**Balance Parameters:**
|
**Balance Parameters:**
|
||||||
|
|
||||||
- {{parameter_1}}: {{value_or_range}}
|
- {{parameter_1}}: {{value_or_range}}
|
||||||
- {{parameter_2}}: {{value_or_range}}
|
- {{parameter_2}}: {{value_or_range}}
|
||||||
|
|
||||||
@@ -570,11 +573,11 @@ sections:
|
|||||||
title: Unit Tests
|
title: Unit Tests
|
||||||
template: |
|
template: |
|
||||||
**Test Files:**
|
**Test Files:**
|
||||||
|
|
||||||
- `tests/{{component_name}}.test.ts`
|
- `tests/{{component_name}}.test.ts`
|
||||||
|
|
||||||
**Test Scenarios:**
|
**Test Scenarios:**
|
||||||
|
|
||||||
- {{test_scenario_1}}
|
- {{test_scenario_1}}
|
||||||
- {{test_scenario_2}}
|
- {{test_scenario_2}}
|
||||||
- {{edge_case_test}}
|
- {{edge_case_test}}
|
||||||
@@ -582,12 +585,12 @@ sections:
|
|||||||
title: Game Testing
|
title: Game Testing
|
||||||
template: |
|
template: |
|
||||||
**Manual Test Cases:**
|
**Manual Test Cases:**
|
||||||
|
|
||||||
1. {{test_case_1_description}}
|
1. {{test_case_1_description}}
|
||||||
|
|
||||||
- Expected: {{expected_behavior}}
|
- Expected: {{expected_behavior}}
|
||||||
- Performance: {{performance_expectation}}
|
- Performance: {{performance_expectation}}
|
||||||
|
|
||||||
2. {{test_case_2_description}}
|
2. {{test_case_2_description}}
|
||||||
- Expected: {{expected_behavior}}
|
- Expected: {{expected_behavior}}
|
||||||
- Edge Case: {{edge_case_handling}}
|
- Edge Case: {{edge_case_handling}}
|
||||||
@@ -595,7 +598,7 @@ sections:
|
|||||||
title: Performance Tests
|
title: Performance Tests
|
||||||
template: |
|
template: |
|
||||||
**Metrics to Verify:**
|
**Metrics to Verify:**
|
||||||
|
|
||||||
- Frame rate maintains {{fps_target}} FPS
|
- Frame rate maintains {{fps_target}} FPS
|
||||||
- Memory usage stays under {{memory_limit}}MB
|
- Memory usage stays under {{memory_limit}}MB
|
||||||
- {{feature_specific_performance_metric}}
|
- {{feature_specific_performance_metric}}
|
||||||
@@ -605,15 +608,15 @@ sections:
|
|||||||
instruction: List any dependencies that must be completed before this story can be implemented
|
instruction: List any dependencies that must be completed before this story can be implemented
|
||||||
template: |
|
template: |
|
||||||
**Story Dependencies:**
|
**Story Dependencies:**
|
||||||
|
|
||||||
- {{story_id}}: {{dependency_description}}
|
- {{story_id}}: {{dependency_description}}
|
||||||
|
|
||||||
**Technical Dependencies:**
|
**Technical Dependencies:**
|
||||||
|
|
||||||
- {{system_or_file}}: {{requirement}}
|
- {{system_or_file}}: {{requirement}}
|
||||||
|
|
||||||
**Asset Dependencies:**
|
**Asset Dependencies:**
|
||||||
|
|
||||||
- {{asset_type}}: {{asset_description}}
|
- {{asset_type}}: {{asset_description}}
|
||||||
- Location: `{{asset_path}}`
|
- Location: `{{asset_path}}`
|
||||||
|
|
||||||
@@ -636,22 +639,23 @@ sections:
|
|||||||
instruction: Any additional context, design decisions, or implementation notes
|
instruction: Any additional context, design decisions, or implementation notes
|
||||||
template: |
|
template: |
|
||||||
**Implementation Notes:**
|
**Implementation Notes:**
|
||||||
|
|
||||||
- {{note_1}}
|
- {{note_1}}
|
||||||
- {{note_2}}
|
- {{note_2}}
|
||||||
|
|
||||||
**Design Decisions:**
|
**Design Decisions:**
|
||||||
|
|
||||||
- {{decision_1}}: {{rationale}}
|
- {{decision_1}}: {{rationale}}
|
||||||
- {{decision_2}}: {{rationale}}
|
- {{decision_2}}: {{rationale}}
|
||||||
|
|
||||||
**Future Considerations:**
|
**Future Considerations:**
|
||||||
|
|
||||||
- {{future_enhancement_1}}
|
- {{future_enhancement_1}}
|
||||||
- {{future_optimization_1}}
|
- {{future_optimization_1}}
|
||||||
==================== END: .bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml ====================
|
==================== END: .bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
||||||
|
<!-- Powered by BMAD™ Core -->
|
||||||
# Game Development Story Definition of Done Checklist
|
# Game Development Story Definition of Done Checklist
|
||||||
|
|
||||||
## Story Completeness
|
## Story Completeness
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user