commit
fb0392dcf0
|
|
@ -1,6 +1,7 @@
|
||||||
# Augment Code Review Guidelines for BMAD-METHOD
|
# Augment Code Review Guidelines for BMAD-METHOD
|
||||||
# https://docs.augmentcode.com/codereview/overview
|
# https://docs.augmentcode.com/codereview/overview
|
||||||
# Focus: Workflow validation and quality
|
# Focus: Skill validation and quality
|
||||||
|
# Canonical rules: tools/skill-validator.md (single source of truth)
|
||||||
|
|
||||||
file_paths_to_ignore:
|
file_paths_to_ignore:
|
||||||
# --- Shared baseline: tool configs ---
|
# --- Shared baseline: tool configs ---
|
||||||
|
|
@ -48,123 +49,17 @@ file_paths_to_ignore:
|
||||||
|
|
||||||
areas:
|
areas:
|
||||||
# ============================================
|
# ============================================
|
||||||
# WORKFLOW STRUCTURE RULES
|
# SKILL FILES
|
||||||
# ============================================
|
# ============================================
|
||||||
workflow_structure:
|
skill_files:
|
||||||
description: "Workflow folder organization and required components"
|
description: "All skill content — SKILL.md, workflow.md, step files, data files, and templates within skill directories"
|
||||||
globs:
|
globs:
|
||||||
|
- "src/**/skills/**"
|
||||||
- "src/**/workflows/**"
|
- "src/**/workflows/**"
|
||||||
|
- "src/**/tasks/**"
|
||||||
rules:
|
rules:
|
||||||
- id: "workflow_entry_point_required"
|
- id: "skill_validation"
|
||||||
description: "Every workflow folder must have workflow.md as entry point"
|
description: "Apply the full rule catalog defined in tools/skill-validator.md. That file is the single source of truth for all skill validation rules covering SKILL.md metadata, workflow.md constraints, step file structure, path references, variable resolution, sequential execution, and skill invocation syntax."
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
- id: "sharded_workflow_steps_folder"
|
|
||||||
description: "Sharded workflows (using workflow.md) must have steps/ folder with numbered files (step-01-*.md, step-02-*.md)"
|
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
- id: "workflow_step_limit"
|
|
||||||
description: "Workflows should have 5-10 steps maximum to prevent context loss in LLM execution"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# WORKFLOW ENTRY FILE RULES
|
|
||||||
# ============================================
|
|
||||||
workflow_definitions:
|
|
||||||
description: "Workflow entry files (workflow.md)"
|
|
||||||
globs:
|
|
||||||
- "src/**/workflows/**/workflow.md"
|
|
||||||
rules:
|
|
||||||
- id: "workflow_name_required"
|
|
||||||
description: "Workflow entry files must define 'name' field in frontmatter or root element"
|
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
- id: "workflow_description_required"
|
|
||||||
description: "Workflow entry files must include 'description' explaining the workflow's purpose"
|
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
- id: "workflow_installed_path"
|
|
||||||
description: "Workflows should define installed_path for relative file references within the workflow"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "valid_step_references"
|
|
||||||
description: "Step file references in workflow entry must point to existing files"
|
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# SHARDED WORKFLOW STEP RULES
|
|
||||||
# ============================================
|
|
||||||
workflow_steps:
|
|
||||||
description: "Individual step files in sharded workflows"
|
|
||||||
globs:
|
|
||||||
- "src/**/workflows/**/steps/step-*.md"
|
|
||||||
rules:
|
|
||||||
- id: "step_goal_required"
|
|
||||||
description: "Each step must clearly state its goal (## STEP GOAL, ## YOUR TASK, or step n='X' goal='...')"
|
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
- id: "step_mandatory_rules"
|
|
||||||
description: "Step files should include MANDATORY EXECUTION RULES section with universal agent behavior rules"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "step_context_boundaries"
|
|
||||||
description: "Step files should define CONTEXT BOUNDARIES explaining available context and limits"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "step_success_metrics"
|
|
||||||
description: "Step files should include SUCCESS METRICS section with ✅ checkmarks for validation criteria"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "step_failure_modes"
|
|
||||||
description: "Step files should include FAILURE MODES section with ❌ marks for anti-patterns to avoid"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "step_next_step_reference"
|
|
||||||
description: "Step files should reference the next step file path for sequential execution"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "step_no_forward_loading"
|
|
||||||
description: "Steps must NOT load future step files until current step completes - just-in-time loading only"
|
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
- id: "valid_file_references"
|
|
||||||
description: "File path references using {variable}/filename.md must point to existing files"
|
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
- id: "step_naming"
|
|
||||||
description: "Step files must be named step-NN-description.md (e.g., step-01-init.md, step-02-context.md)"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "halt_before_menu"
|
|
||||||
description: "Steps presenting user menus ([C] Continue, [a] Advanced, etc.) must HALT and wait for response"
|
|
||||||
severity: "high"
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# WORKFLOW CONTENT QUALITY
|
|
||||||
# ============================================
|
|
||||||
workflow_content:
|
|
||||||
description: "Content quality and consistency rules for all workflow files"
|
|
||||||
globs:
|
|
||||||
- "src/**/workflows/**/*.md"
|
|
||||||
rules:
|
|
||||||
- id: "communication_language_variable"
|
|
||||||
description: "Workflows should use {communication_language} variable for agent output language consistency"
|
|
||||||
severity: "low"
|
|
||||||
|
|
||||||
- id: "path_placeholders_required"
|
|
||||||
description: "Use path placeholders (e.g. {project-root}, {installed_path}, {output_folder}) instead of hardcoded paths"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "no_time_estimates"
|
|
||||||
description: "Workflows should NOT include time estimates - AI development speed varies significantly"
|
|
||||||
severity: "low"
|
|
||||||
|
|
||||||
- id: "facilitator_not_generator"
|
|
||||||
description: "Workflow agents should act as facilitators (guide user input) not content generators (create without input)"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "no_skip_optimization"
|
|
||||||
description: "Workflows must execute steps sequentially - no skipping or 'optimizing' step order"
|
|
||||||
severity: "high"
|
severity: "high"
|
||||||
|
|
||||||
# ============================================
|
# ============================================
|
||||||
|
|
@ -183,27 +78,10 @@ areas:
|
||||||
description: "Agent files must define persona with role, identity, communication_style, and principles"
|
description: "Agent files must define persona with role, identity, communication_style, and principles"
|
||||||
severity: "high"
|
severity: "high"
|
||||||
|
|
||||||
- id: "agent_menu_valid_workflows"
|
- id: "agent_menu_valid_skills"
|
||||||
description: "Menu triggers must reference valid workflow paths that exist"
|
description: "Menu triggers must reference valid skill names that exist"
|
||||||
severity: "high"
|
severity: "high"
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# TEMPLATES
|
|
||||||
# ============================================
|
|
||||||
templates:
|
|
||||||
description: "Template files for workflow outputs"
|
|
||||||
globs:
|
|
||||||
- "src/**/template*.md"
|
|
||||||
- "src/**/templates/**/*.md"
|
|
||||||
rules:
|
|
||||||
- id: "placeholder_syntax"
|
|
||||||
description: "Use {variable_name} or {{variable_name}} syntax consistently for placeholders"
|
|
||||||
severity: "medium"
|
|
||||||
|
|
||||||
- id: "template_sections_marked"
|
|
||||||
description: "Template sections that need generation should be clearly marked (e.g., <!-- GENERATE: section_name -->)"
|
|
||||||
severity: "low"
|
|
||||||
|
|
||||||
# ============================================
|
# ============================================
|
||||||
# DOCUMENTATION
|
# DOCUMENTATION
|
||||||
# ============================================
|
# ============================================
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
{
|
||||||
|
"name": "bmad-method",
|
||||||
|
"owner": {
|
||||||
|
"name": "Brian (BMad) Madison"
|
||||||
|
},
|
||||||
|
"description": "Breakthrough Method of Agile AI-driven Development — a full-lifecycle framework with agents and workflows for analysis, planning, architecture, and implementation.",
|
||||||
|
"license": "MIT",
|
||||||
|
"homepage": "https://github.com/bmad-code-org/BMAD-METHOD",
|
||||||
|
"repository": "https://github.com/bmad-code-org/BMAD-METHOD",
|
||||||
|
"keywords": ["bmad", "agile", "ai", "orchestrator", "development", "methodology", "agents"],
|
||||||
|
"plugins": [
|
||||||
|
{
|
||||||
|
"name": "bmad-pro-skills",
|
||||||
|
"source": "./",
|
||||||
|
"description": "Next level skills for power users — advanced prompting techniques, agent management, and more.",
|
||||||
|
"version": "6.3.0",
|
||||||
|
"author": {
|
||||||
|
"name": "Brian (BMad) Madison"
|
||||||
|
},
|
||||||
|
"skills": [
|
||||||
|
"./src/core-skills/bmad-help",
|
||||||
|
"./src/core-skills/bmad-brainstorming",
|
||||||
|
"./src/core-skills/bmad-distillator",
|
||||||
|
"./src/core-skills/bmad-party-mode",
|
||||||
|
"./src/core-skills/bmad-shard-doc",
|
||||||
|
"./src/core-skills/bmad-advanced-elicitation",
|
||||||
|
"./src/core-skills/bmad-editorial-review-prose",
|
||||||
|
"./src/core-skills/bmad-editorial-review-structure",
|
||||||
|
"./src/core-skills/bmad-index-docs",
|
||||||
|
"./src/core-skills/bmad-review-adversarial-general",
|
||||||
|
"./src/core-skills/bmad-review-edge-case-hunter"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bmad-method-lifecycle",
|
||||||
|
"source": "./",
|
||||||
|
"description": "Full-lifecycle AI development framework — agents and workflows for product analysis, planning, architecture, and implementation.",
|
||||||
|
"version": "6.3.0",
|
||||||
|
"author": {
|
||||||
|
"name": "Brian (BMad) Madison"
|
||||||
|
},
|
||||||
|
"skills": [
|
||||||
|
"./src/bmm-skills/1-analysis/bmad-product-brief",
|
||||||
|
"./src/bmm-skills/1-analysis/bmad-agent-analyst",
|
||||||
|
"./src/bmm-skills/1-analysis/bmad-agent-tech-writer",
|
||||||
|
"./src/bmm-skills/1-analysis/bmad-document-project",
|
||||||
|
"./src/bmm-skills/1-analysis/research/bmad-domain-research",
|
||||||
|
"./src/bmm-skills/1-analysis/research/bmad-market-research",
|
||||||
|
"./src/bmm-skills/1-analysis/research/bmad-technical-research",
|
||||||
|
"./src/bmm-skills/2-plan-workflows/bmad-agent-pm",
|
||||||
|
"./src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer",
|
||||||
|
"./src/bmm-skills/2-plan-workflows/bmad-create-prd",
|
||||||
|
"./src/bmm-skills/2-plan-workflows/bmad-edit-prd",
|
||||||
|
"./src/bmm-skills/2-plan-workflows/bmad-validate-prd",
|
||||||
|
"./src/bmm-skills/2-plan-workflows/bmad-create-ux-design",
|
||||||
|
"./src/bmm-skills/3-solutioning/bmad-agent-architect",
|
||||||
|
"./src/bmm-skills/3-solutioning/bmad-create-architecture",
|
||||||
|
"./src/bmm-skills/3-solutioning/bmad-check-implementation-readiness",
|
||||||
|
"./src/bmm-skills/3-solutioning/bmad-create-epics-and-stories",
|
||||||
|
"./src/bmm-skills/3-solutioning/bmad-generate-project-context",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-agent-dev",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-dev-story",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-quick-dev",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-sprint-planning",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-sprint-status",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-code-review",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-create-story",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-correct-course",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-retrospective",
|
||||||
|
"./src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -60,23 +60,40 @@ reviews:
|
||||||
- "!**/validation-report-*.md"
|
- "!**/validation-report-*.md"
|
||||||
- "!CHANGELOG.md"
|
- "!CHANGELOG.md"
|
||||||
path_instructions:
|
path_instructions:
|
||||||
- path: "**/*"
|
- path: "src/**"
|
||||||
instructions: |
|
instructions: |
|
||||||
You are a cynical, jaded reviewer with zero patience for sloppy work.
|
Source file changed. Check whether documentation under docs/ needs
|
||||||
This PR was submitted by a clueless weasel and you expect to find problems.
|
a corresponding update — new features, changed behavior, renamed
|
||||||
Be skeptical of everything.
|
concepts, altered CLI flags, or modified configuration options should
|
||||||
Look for what's missing, not just what's wrong.
|
all be reflected in the relevant doc pages. Flag missing or outdated
|
||||||
Use a precise, professional tone — no profanity or personal attacks.
|
docs as a review comment.
|
||||||
|
- path: "src/**/skills/**"
|
||||||
Review with extreme skepticism — assume problems exist.
|
instructions: |
|
||||||
Find at least 10 issues to fix or improve.
|
Skill file. Apply the full rule catalog defined in tools/skill-validator.md.
|
||||||
|
That document is the single source of truth for all skill validation rules
|
||||||
Do NOT:
|
covering SKILL.md metadata, workflow.md constraints, step file structure,
|
||||||
- Comment on formatting, linting, or style
|
path references, variable resolution, sequential execution, and skill
|
||||||
- Give "looks good" passes
|
invocation syntax.
|
||||||
- Anchor on any specific ruleset — reason freely
|
- path: "src/**/workflows/**"
|
||||||
|
instructions: |
|
||||||
If you find zero issues, re-analyze — this is suspicious.
|
Legacy workflow file (pre-skill conversion). Apply the full rule catalog
|
||||||
|
defined in tools/skill-validator.md — the same rules apply to workflows
|
||||||
|
that are being converted to skills.
|
||||||
|
- path: "src/**/tasks/**"
|
||||||
|
instructions: |
|
||||||
|
Task file. Apply the full rule catalog defined in tools/skill-validator.md.
|
||||||
|
- path: "src/**/*.agent.yaml"
|
||||||
|
instructions: |
|
||||||
|
Agent definition file. Check:
|
||||||
|
- Has metadata section with id, name, title, icon, and module
|
||||||
|
- Defines persona with role, identity, communication_style, and principles
|
||||||
|
- Menu triggers reference valid skill names that exist
|
||||||
|
- path: "docs/**/*.md"
|
||||||
|
instructions: |
|
||||||
|
Documentation file. Check internal markdown links point to existing files.
|
||||||
|
- path: "tools/**"
|
||||||
|
instructions: |
|
||||||
|
Build script/tooling. Check error handling and proper exit codes.
|
||||||
chat:
|
chat:
|
||||||
auto_reply: true # Response to mentions in comments, a la @coderabbit review
|
auto_reply: true # Response to mentions in comments, a la @coderabbit review
|
||||||
issue_enrichment:
|
issue_enrichment:
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ on:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
paths:
|
paths:
|
||||||
- "src/**"
|
- "src/**"
|
||||||
- "tools/cli/**"
|
- "tools/installer/**"
|
||||||
- "package.json"
|
- "package.json"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
|
|
@ -120,7 +120,18 @@ jobs:
|
||||||
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
|
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
|
||||||
run: |
|
run: |
|
||||||
TAG="v$(node -p 'require("./package.json").version')"
|
TAG="v$(node -p 'require("./package.json").version')"
|
||||||
|
VERSION="${TAG#v}"
|
||||||
|
# Extract the current version's section from CHANGELOG.md
|
||||||
|
BODY=$(awk -v ver="$VERSION" '
|
||||||
|
/^## v/ { if (found) exit; if (index($0, "## v" ver)) found=1; next }
|
||||||
|
found { print }
|
||||||
|
' CHANGELOG.md)
|
||||||
|
if [ -z "$BODY" ]; then
|
||||||
|
echo "::warning::No CHANGELOG.md entry for $TAG — falling back to auto-generated notes"
|
||||||
gh release create "$TAG" --generate-notes
|
gh release create "$TAG" --generate-notes
|
||||||
|
else
|
||||||
|
gh release create "$TAG" --notes "$BODY"
|
||||||
|
fi
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
name: Quality & Validation
|
name: Quality & Validation
|
||||||
|
|
||||||
# Runs comprehensive quality checks on all PRs:
|
# Runs comprehensive quality checks on all PRs and pushes to main:
|
||||||
# - Prettier (formatting)
|
# - Prettier (formatting)
|
||||||
# - ESLint (linting)
|
# - ESLint (linting)
|
||||||
# - markdownlint (markdown quality)
|
# - markdownlint (markdown quality)
|
||||||
# - Schema validation (YAML structure)
|
|
||||||
# - Agent schema tests (fixture-based validation)
|
|
||||||
# - Installation component tests (compilation)
|
# - Installation component tests (compilation)
|
||||||
# Keep this workflow aligned with `npm run quality` in `package.json`.
|
# Keep this workflow aligned with `npm run quality` in `package.json`.
|
||||||
|
|
||||||
"on":
|
"on":
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: ["**"]
|
branches: ["**"]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
@ -103,14 +103,11 @@ jobs:
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
- name: Validate YAML schemas
|
|
||||||
run: npm run validate:schemas
|
|
||||||
|
|
||||||
- name: Run agent schema validation tests
|
|
||||||
run: npm run test:schemas
|
|
||||||
|
|
||||||
- name: Test agent compilation components
|
- name: Test agent compilation components
|
||||||
run: npm run test:install
|
run: npm run test:install
|
||||||
|
|
||||||
- name: Validate file references
|
- name: Validate file references
|
||||||
run: npm run validate:refs
|
run: npm run validate:refs
|
||||||
|
|
||||||
|
- name: Validate skills
|
||||||
|
run: npm run validate:skills
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ tools/build-docs.mjs
|
||||||
tools/fix-doc-links.js
|
tools/fix-doc-links.js
|
||||||
tools/validate-doc-links.js
|
tools/validate-doc-links.js
|
||||||
tools/validate-file-refs.js
|
tools/validate-file-refs.js
|
||||||
tools/validate-agent-schema.js
|
|
||||||
|
|
||||||
# Images (branding/marketing only)
|
# Images (branding/marketing only)
|
||||||
banner-bmad-method.png
|
banner-bmad-method.png
|
||||||
|
|
|
||||||
|
|
@ -7,3 +7,6 @@ Open source framework for structured, agent-assisted software delivery.
|
||||||
- Use Conventional Commits for every commit.
|
- Use Conventional Commits for every commit.
|
||||||
- Before pushing, run `npm ci && npm run quality` on `HEAD` in the exact checkout you are about to push.
|
- Before pushing, run `npm ci && npm run quality` on `HEAD` in the exact checkout you are about to push.
|
||||||
`quality` mirrors the checks in `.github/workflows/quality.yaml`.
|
`quality` mirrors the checks in `.github/workflows/quality.yaml`.
|
||||||
|
|
||||||
|
- Skill validation rules are in `tools/skill-validator.md`.
|
||||||
|
- Deterministic skill checks run via `npm run validate:skills` (included in `quality`).
|
||||||
|
|
|
||||||
36
CHANGELOG.md
36
CHANGELOG.md
|
|
@ -1,5 +1,41 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v6.2.2 - 2026-03-25
|
||||||
|
|
||||||
|
### ♻️ Refactoring
|
||||||
|
|
||||||
|
* Modernize module-help CSV to 13-column format with `after`/`before` dependency graph replacing sequence numbers (#2120)
|
||||||
|
* Rewrite bmad-help from procedural 8-step execution to outcome-based skill design (~50% shorter) (#2120)
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
* Update bmad-builder module-definition path from `src/module.yaml` to `skills/module.yaml` for bmad-builder v1.2.0 compatibility (#2126)
|
||||||
|
* Fix eslint config to ignore gitignored lock files (#2120)
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
* Close Epic 4.5 explanation gaps in Chinese (zh-CN): normalize command naming to current `bmad-*` convention and add cross-links across 9 explanation pages (#2102)
|
||||||
|
|
||||||
|
## v6.2.1 - 2026-03-24
|
||||||
|
|
||||||
|
### 🎁 Highlights
|
||||||
|
|
||||||
|
* Full rewrite of code-review skill with sharded step-file architecture, three parallel review layers (Blind Hunter, Edge Case Hunter, Acceptance Auditor), and interactive post-review triage (#2007, #2013, #2055)
|
||||||
|
* Quick Dev workflow overhaul: smart intent cascade, self-check gate, VS Code integration, clickable spec links, and spec rename (#2105, #2104, #2039, #2085, #2109)
|
||||||
|
* Add review trail generation with clickable `path:line` stops in spec file (#2033)
|
||||||
|
* Add clickable spec links using spec-file-relative markdown format (#2085, #2049)
|
||||||
|
* Preserve tracking identifiers in spec slug derivation (#2108)
|
||||||
|
* Deterministic skill validator with 19 rules across 6 categories, integrated into CI (#1981, #1982, #2004, #2002, #2051)
|
||||||
|
* Complete French (fr-FR) documentation translation (#2073)
|
||||||
|
* Add Ona platform support (#1968)
|
||||||
|
* Rename tech-spec → spec across templates and all documentation (#2109)
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
* Complete French (fr-FR) translation of all documentation with workflow diagrams (#2073)
|
||||||
|
* Refine Chinese (zh-CN) documentation: epic stories, how-to guides, getting-started, entry copy, help, anchor links (#2092–#2099, #2072)
|
||||||
|
* Add Chinese translation for core-tools reference (#2002)
|
||||||
|
|
||||||
## v6.2.0 - 2026-03-15
|
## v6.2.0 - 2026-03-15
|
||||||
|
|
||||||
### 🎁 Highlights
|
### 🎁 Highlights
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,6 @@ Keep messages under 72 characters. Each commit = one logical change.
|
||||||
- Web/planning agents can be larger with complex tasks
|
- Web/planning agents can be larger with complex tasks
|
||||||
- Everything is natural language (markdown) — no code in core framework
|
- Everything is natural language (markdown) — no code in core framework
|
||||||
- Use BMad modules for domain-specific features
|
- Use BMad modules for domain-specific features
|
||||||
- Validate YAML schemas: `npm run validate:schemas`
|
|
||||||
- Validate file references: `npm run validate:refs`
|
- Validate file references: `npm run validate:refs`
|
||||||
|
|
||||||
### File-Pattern-to-Validator Mapping
|
### File-Pattern-to-Validator Mapping
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Traditional AI tools do the thinking for you, producing average results. BMad ag
|
||||||
- **AI Intelligent Help** — Invoke the `bmad-help` skill anytime for guidance on what's next
|
- **AI Intelligent Help** — Invoke the `bmad-help` skill anytime for guidance on what's next
|
||||||
- **Scale-Domain-Adaptive** — Automatically adjusts planning depth based on project complexity
|
- **Scale-Domain-Adaptive** — Automatically adjusts planning depth based on project complexity
|
||||||
- **Structured Workflows** — Grounded in agile best practices across analysis, planning, architecture, and implementation
|
- **Structured Workflows** — Grounded in agile best practices across analysis, planning, architecture, and implementation
|
||||||
- **Specialized Agents** — 12+ domain experts (PM, Architect, Developer, UX, Scrum Master, and more)
|
- **Specialized Agents** — 12+ domain experts (PM, Architect, Developer, UX, and more)
|
||||||
- **Party Mode** — Bring multiple agent personas into one session to collaborate and discuss
|
- **Party Mode** — Bring multiple agent personas into one session to collaborate and discuss
|
||||||
- **Complete Lifecycle** — From brainstorming to deployment
|
- **Complete Lifecycle** — From brainstorming to deployment
|
||||||
|
|
||||||
|
|
|
||||||
57
README_CN.md
57
README_CN.md
|
|
@ -5,20 +5,20 @@
|
||||||
[](https://nodejs.org)
|
[](https://nodejs.org)
|
||||||
[](https://discord.gg/gk8jAdXWmj)
|
[](https://discord.gg/gk8jAdXWmj)
|
||||||
|
|
||||||
**突破性敏捷 AI 驱动开发方法** — 简称 “BMAD 方法论” ,BMAD方法论是由多个模块生态构成的AI驱动敏捷开发模块系统,这是最佳且最全面的敏捷 AI 驱动开发框架,具备真正的规模自适应人工智能,可适应快速开发,适应企业规模化开发。
|
**筑梦架构(Build More Architect Dreams)** —— 简称 “BMAD 方法”,面向 BMad 模块生态的 AI 驱动敏捷开发方法。它会随项目复杂度调整工作深度,从日常 bug 修复到企业级系统建设都能适配。
|
||||||
|
|
||||||
**100% 免费且开源。** 无付费。无内容门槛。无封闭 Discord。我们赋能每个人,我们将为全球现在在人工智能领域发展的普通人提供公平的学习机会。
|
**100% 免费且开源。** 没有付费墙,没有封闭内容,也没有封闭 Discord。我们希望每个人都能平等获得高质量的人机协作开发方法。
|
||||||
|
|
||||||
## 为什么选择 BMad 方法?
|
## 为什么选择 BMad 方法?
|
||||||
|
|
||||||
传统 AI 工具替你思考,产生平庸的结果。BMad 智能体和辅助工作流充当专家协作者,引导你通过结构化流程,与 AI 的合作发挥最佳思维,产出最有效优秀的结果。
|
传统 AI 工具常常替你思考,结果往往止于“能用”。BMad 通过专业智能体和引导式工作流,让 AI 成为协作者:流程有结构,决策有依据,产出更稳定。
|
||||||
|
|
||||||
- **AI 智能帮助** — 随时使用 `bmad-help` 获取下一步指导
|
- **AI 智能引导** —— 随时调用 `bmad-help` 获取下一步建议
|
||||||
- **规模-领域自适应** — 根据项目复杂度自动调整规划深度
|
- **规模与领域自适应** —— 按项目复杂度自动调整规划深度
|
||||||
- **结构化工作流** — 基于分析、规划、架构和实施的敏捷最佳实践
|
- **结构化工作流** —— 覆盖分析、规划、架构、实施全流程
|
||||||
- **专业智能体** — 12+ 领域专家(PM、架构师、开发者、UX、Scrum Master 等)
|
- **专业角色智能体** —— 提供 PM、架构师、开发者、UX 等 12+ 角色
|
||||||
- **派对模式** — 将多个智能体角色带入一个会话进行协作和讨论
|
- **派对模式** —— 多个智能体可在同一会话协作讨论
|
||||||
- **完整生命周期** — 从想法开始(头脑风暴)到部署发布
|
- **完整生命周期** —— 从头脑风暴一路到交付上线
|
||||||
|
|
||||||
[在 **docs.bmad-method.org** 了解更多](https://docs.bmad-method.org/zh-cn/)
|
[在 **docs.bmad-method.org** 了解更多](https://docs.bmad-method.org/zh-cn/)
|
||||||
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
## 🚀 BMad 的下一步是什么?
|
## 🚀 BMad 的下一步是什么?
|
||||||
|
|
||||||
**V6 已到来,我们才刚刚开始!** BMad 方法正在快速发展,包括跨平台智能体团队和子智能体集成、技能架构、BMad Builder v1、开发循环自动化等优化,以及更多正在开发中的功能。
|
**V6 已经上线,而这只是开始。** BMad 仍在快速演进:跨平台智能体团队与子智能体集成、Skills 架构、BMad Builder v1、Dev Loop 自动化等能力都在持续推进。
|
||||||
|
|
||||||
**[📍 查看完整路线图 →](https://docs.bmad-method.org/zh-cn/roadmap/)**
|
**[📍 查看完整路线图 →](https://docs.bmad-method.org/zh-cn/roadmap/)**
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
npx bmad-method install
|
npx bmad-method install
|
||||||
```
|
```
|
||||||
|
|
||||||
> 想要最新的预发布版本?使用 `npx bmad-method@next install`。相比默认安装,可能会有更多变更。
|
> 想体验最新预发布版本?可使用 `npx bmad-method@next install`。它比默认版本更新更快,也可能更容易发生变化。
|
||||||
|
|
||||||
按照安装程序提示操作,然后在项目文件夹中打开你的 AI IDE(Claude Code、Cursor 等)。
|
按照安装程序提示操作,然后在项目文件夹中打开你的 AI IDE(Claude Code、Cursor 等)。
|
||||||
|
|
||||||
|
|
@ -52,18 +52,18 @@ npx bmad-method install --directory /path/to/project --modules bmm --tools claud
|
||||||
|
|
||||||
[查看非交互式安装选项](https://docs.bmad-method.org/zh-cn/how-to/non-interactive-installation/)
|
[查看非交互式安装选项](https://docs.bmad-method.org/zh-cn/how-to/non-interactive-installation/)
|
||||||
|
|
||||||
> **不确定该做什么?** 运行 `bmad-help` — 它会准确告诉你下一步做什么以及什么是可选的。你也可以问诸如 `bmad-help 我刚刚完成了架构设计,接下来该做什么?` 之类的问题。
|
> **不确定下一步?** 直接问 `bmad-help`。它会告诉你“必做什么、可选什么”,例如:`bmad-help 我刚完成架构设计,接下来做什么?`
|
||||||
|
|
||||||
## 模块
|
## 模块
|
||||||
|
|
||||||
BMad 方法通过官方模块扩展到专业领域。可在安装期间或之后的任何时间使用。
|
BMad 可通过官方模块扩展到不同专业场景。你可以在安装时选择,也可以后续随时补装。
|
||||||
|
|
||||||
| Module | Purpose |
|
| 模块 | 用途 |
|
||||||
| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
|
| ----------------------------------------------------------------------------------------------------------------- | ---------------------------- |
|
||||||
| **[BMad Method (BMM)](https://github.com/bmad-code-org/BMAD-METHOD)** | 包含 34+ 工作流的核心框架 |
|
| **[BMad Method (BMM)](https://github.com/bmad-code-org/BMAD-METHOD)** | 核心框架,内含 34+ 工作流 |
|
||||||
| **[BMad Builder (BMB)](https://github.com/bmad-code-org/bmad-builder)** | 创建自定义 BMad 智能体和工作流 |
|
| **[BMad Builder (BMB)](https://github.com/bmad-code-org/bmad-builder)** | 创建自定义 BMad 智能体与工作流 |
|
||||||
| **[Test Architect (TEA)](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise)** | 基于风险的测试策略和自动化 |
|
| **[Test Architect (TEA)](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise)** | 基于风险的测试策略与自动化 |
|
||||||
| **[Game Dev Studio (BMGD)](https://github.com/bmad-code-org/bmad-module-game-dev-studio)** | 游戏开发工作流(Unity、Unreal、Godot) |
|
| **[Game Dev Studio (BMGD)](https://github.com/bmad-code-org/bmad-module-game-dev-studio)** | 游戏开发工作流(Unity/Unreal/Godot) |
|
||||||
| **[Creative Intelligence Suite (CIS)](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite)** | 创新、头脑风暴、设计思维 |
|
| **[Creative Intelligence Suite (CIS)](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite)** | 创新、头脑风暴、设计思维 |
|
||||||
|
|
||||||
## 文档
|
## 文档
|
||||||
|
|
@ -72,10 +72,9 @@ BMad 方法通过官方模块扩展到专业领域。可在安装期间或之后
|
||||||
|
|
||||||
**快速链接:**
|
**快速链接:**
|
||||||
- [入门教程](https://docs.bmad-method.org/zh-cn/tutorials/getting-started/)
|
- [入门教程](https://docs.bmad-method.org/zh-cn/tutorials/getting-started/)
|
||||||
- [从先前版本升级](https://docs.bmad-method.org/zh-cn/how-to/upgrade-to-v6/)
|
- [从旧版本升级](https://docs.bmad-method.org/zh-cn/how-to/upgrade-to-v6/)
|
||||||
- [测试架构师文档(英文)](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/)
|
- [测试架构师文档(英文)](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/)
|
||||||
|
|
||||||
|
|
||||||
## 社区
|
## 社区
|
||||||
|
|
||||||
- [Discord](https://discord.gg/gk8jAdXWmj) — 获取帮助、分享想法、协作
|
- [Discord](https://discord.gg/gk8jAdXWmj) — 获取帮助、分享想法、协作
|
||||||
|
|
@ -85,9 +84,9 @@ BMad 方法通过官方模块扩展到专业领域。可在安装期间或之后
|
||||||
|
|
||||||
## 支持 BMad
|
## 支持 BMad
|
||||||
|
|
||||||
BMad 对每个人都是免费的 — 并且永远如此。如果你想支持开发:
|
BMad 对所有人免费,而且会一直免费。如果你愿意支持项目发展:
|
||||||
|
|
||||||
- ⭐ 请点击此页面右上角附近的项目星标图标
|
- ⭐ 给仓库点个 Star
|
||||||
- ☕ [请我喝咖啡](https://buymeacoffee.com/bmad) — 为开发提供动力
|
- ☕ [请我喝咖啡](https://buymeacoffee.com/bmad) — 为开发提供动力
|
||||||
- 🏢 企业赞助 — 在 Discord 上私信
|
- 🏢 企业赞助 — 在 Discord 上私信
|
||||||
- 🎤 演讲与媒体 — 可参加会议、播客、采访(在 Discord 上联系 BM)
|
- 🎤 演讲与媒体 — 可参加会议、播客、采访(在 Discord 上联系 BM)
|
||||||
|
|
@ -107,15 +106,3 @@ MIT 许可证 — 详见 [LICENSE](LICENSE)。
|
||||||
[](https://github.com/bmad-code-org/BMAD-METHOD/graphs/contributors)
|
[](https://github.com/bmad-code-org/BMAD-METHOD/graphs/contributors)
|
||||||
|
|
||||||
请参阅 [CONTRIBUTORS.md](CONTRIBUTORS.md) 了解贡献者信息。
|
请参阅 [CONTRIBUTORS.md](CONTRIBUTORS.md) 了解贡献者信息。
|
||||||
|
|
||||||
---
|
|
||||||
## 术语说明
|
|
||||||
|
|
||||||
- **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
|
|
||||||
- **workflow**:工作流。指一系列有序的任务或步骤,用于完成特定目标。
|
|
||||||
- **CI/CD**:持续集成/持续部署。一种自动化软件开发实践,用于频繁集成代码更改并自动部署。
|
|
||||||
- **IDE**:集成开发环境。提供代码编辑、调试、构建等功能的软件开发工具。
|
|
||||||
- **PM**:产品经理。负责产品规划、需求管理和团队协调的角色。
|
|
||||||
- **UX**:用户体验。指用户在使用产品或服务过程中的整体感受和交互体验。
|
|
||||||
- **Scrum Master**:Scrum 主管。敏捷开发 Scrum 框架中的角色,负责促进团队遵循 Scrum 流程。
|
|
||||||
- **PRD**:产品需求文档。详细描述产品功能、需求和规格的文档。
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,110 @@
|
||||||
|

|
||||||
|
|
||||||
|
[](https://www.npmjs.com/package/bmad-method)
|
||||||
|
[](LICENSE)
|
||||||
|
[](https://nodejs.org)
|
||||||
|
[](https://discord.gg/gk8jAdXWmj)
|
||||||
|
|
||||||
|
[English](README.md) | [简体中文](README_CN.md) | Tiếng Việt
|
||||||
|
|
||||||
|
**Build More Architect Dreams** - một mô-đun khung phát triển hướng AI trong hệ sinh thái BMad, có khả năng thích ứng theo quy mô từ sửa lỗi nhỏ đến các hệ thống doanh nghiệp.
|
||||||
|
|
||||||
|
**100% miễn phí và mã nguồn mở.** Không có tường phí. Không có nội dung bị khóa. Không có Discord giới hạn quyền truy cập. Chúng tôi tin vào việc trao quyền cho mọi người, không chỉ cho những ai có thể trả tiền để vào một cộng đồng hay khóa học khép kín.
|
||||||
|
|
||||||
|
## Vì sao chọn BMad Method?
|
||||||
|
|
||||||
|
Các công cụ AI truyền thống thường làm thay phần suy nghĩ của bạn và tạo ra kết quả ở mức trung bình. Các agent chuyên biệt và quy trình làm việc có hướng dẫn của BMad hoạt động như những cộng tác viên chuyên gia, dẫn dắt bạn qua một quy trình có cấu trúc để khai mở tư duy tốt nhất của bạn cùng với AI.
|
||||||
|
|
||||||
|
- **Trợ giúp AI thông minh** - Gọi skill `bmad-help` bất kỳ lúc nào để biết bước tiếp theo
|
||||||
|
- **Thích ứng theo quy mô và miền bài toán** - Tự động điều chỉnh độ sâu lập kế hoạch theo độ phức tạp của dự án
|
||||||
|
- **Quy trình có cấu trúc** - Dựa trên các thực hành tốt nhất của agile xuyên suốt phân tích, lập kế hoạch, kiến trúc và triển khai
|
||||||
|
- **Agent chuyên biệt** - Hơn 12 chuyên gia theo vai trò như PM, Architect, Developer, UX, Scrum Master và nhiều vai trò khác
|
||||||
|
- **Party Mode** - Đưa nhiều persona agent vào cùng một phiên để cộng tác và thảo luận
|
||||||
|
- **Vòng đời hoàn chỉnh** - Từ động não ý tưởng cho đến triển khai
|
||||||
|
|
||||||
|
[Tìm hiểu thêm tại **docs.bmad-method.org**](https://docs.bmad-method.org/vi-vn/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Điều gì tiếp theo cho BMad?
|
||||||
|
|
||||||
|
**V6 đã có mặt và đây mới chỉ là khởi đầu!** BMad Method đang phát triển rất nhanh với các cải tiến như đội agent đa nền tảng và tích hợp sub-agent, kiến trúc Skills, BMad Builder v1, tự động hóa vòng lặp phát triển và nhiều thứ khác vẫn đang được xây dựng.
|
||||||
|
|
||||||
|
**[📍 Xem lộ trình đầy đủ →](https://docs.bmad-method.org/vi-vn/roadmap/)**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bắt đầu nhanh
|
||||||
|
|
||||||
|
**Điều kiện tiên quyết**: [Node.js](https://nodejs.org) v20+
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install
|
||||||
|
```
|
||||||
|
|
||||||
|
> Muốn dùng bản prerelease mới nhất? Hãy dùng `npx bmad-method@next install`. Hãy kỳ vọng mức độ biến động cao hơn bản cài đặt mặc định.
|
||||||
|
|
||||||
|
Làm theo các lời nhắc của trình cài đặt, sau đó mở AI IDE của bạn như Claude Code hoặc Cursor trong thư mục dự án.
|
||||||
|
|
||||||
|
**Cài đặt không tương tác** (cho CI/CD):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install --directory /path/to/project --modules bmm --tools claude-code --yes
|
||||||
|
```
|
||||||
|
|
||||||
|
[Xem toàn bộ tùy chọn cài đặt](https://docs.bmad-method.org/vi-vn/how-to/non-interactive-installation/)
|
||||||
|
|
||||||
|
> **Chưa chắc nên làm gì?** Hãy hỏi `bmad-help` - nó sẽ cho bạn biết chính xác bước nào tiếp theo và bước nào là tùy chọn. Bạn cũng có thể hỏi kiểu như `bmad-help Tôi vừa hoàn thành phần kiến trúc, tiếp theo tôi cần làm gì?`
|
||||||
|
|
||||||
|
## Mô-đun
|
||||||
|
|
||||||
|
BMad Method có thể được mở rộng bằng các mô-đun chính thức cho những miền chuyên biệt. Chúng có sẵn trong lúc cài đặt hoặc bất kỳ lúc nào sau đó.
|
||||||
|
|
||||||
|
| Module | Mục đích |
|
||||||
|
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
|
||||||
|
| **[BMad Method (BMM)](https://github.com/bmad-code-org/BMAD-METHOD)** | Khung lõi với hơn 34 quy trình |
|
||||||
|
| **[BMad Builder (BMB)](https://github.com/bmad-code-org/bmad-builder)** | Tạo agent và quy trình BMad tùy chỉnh |
|
||||||
|
| **[Test Architect (TEA)](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise)** | Chiến lược kiểm thử và tự động hóa dựa trên rủi ro |
|
||||||
|
| **[Game Dev Studio (BMGD)](https://github.com/bmad-code-org/bmad-module-game-dev-studio)** | Quy trình phát triển game (Unity, Unreal, Godot) |
|
||||||
|
| **[Creative Intelligence Suite (CIS)](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite)** | Đổi mới, động não ý tưởng, tư duy thiết kế |
|
||||||
|
|
||||||
|
## Tài liệu
|
||||||
|
|
||||||
|
[Trang tài liệu BMad Method](https://docs.bmad-method.org/vi-vn/) - bài hướng dẫn, hướng dẫn tác vụ, giải thích khái niệm và tài liệu tham chiếu
|
||||||
|
|
||||||
|
**Liên kết nhanh:**
|
||||||
|
- [Hướng dẫn bắt đầu](https://docs.bmad-method.org/vi-vn/tutorials/getting-started/)
|
||||||
|
- [Nâng cấp từ các phiên bản trước](https://docs.bmad-method.org/vi-vn/how-to/upgrade-to-v6/)
|
||||||
|
- [Tài liệu Test Architect](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/)
|
||||||
|
|
||||||
|
## Cộng đồng
|
||||||
|
|
||||||
|
- [Discord](https://discord.gg/gk8jAdXWmj) - Nhận trợ giúp, chia sẻ ý tưởng, cộng tác
|
||||||
|
- [Đăng ký trên YouTube](https://www.youtube.com/@BMadCode) - video hướng dẫn, lớp chuyên sâu và podcast (ra mắt tháng 2 năm 2025)
|
||||||
|
- [GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) - Báo lỗi và yêu cầu tính năng
|
||||||
|
- [Discussions](https://github.com/bmad-code-org/BMAD-METHOD/discussions) - Trao đổi cộng đồng
|
||||||
|
|
||||||
|
## Hỗ trợ BMad
|
||||||
|
|
||||||
|
BMad miễn phí cho tất cả mọi người - và sẽ luôn như vậy. Nếu bạn muốn hỗ trợ quá trình phát triển:
|
||||||
|
|
||||||
|
- ⭐ Hãy nhấn sao cho dự án ở góc trên bên phải của trang này
|
||||||
|
- ☕ [Buy Me a Coffee](https://buymeacoffee.com/bmad) - Tiếp thêm năng lượng cho quá trình phát triển
|
||||||
|
- 🏢 Tài trợ doanh nghiệp - Nhắn riêng trên Discord
|
||||||
|
- 🎤 Diễn thuyết và truyền thông - Sẵn sàng cho hội nghị, podcast, phỏng vấn (BM trên Discord)
|
||||||
|
|
||||||
|
## Đóng góp
|
||||||
|
|
||||||
|
Chúng tôi luôn chào đón đóng góp. Xem [CONTRIBUTING.md](CONTRIBUTING.md) để biết hướng dẫn.
|
||||||
|
|
||||||
|
## Giấy phép
|
||||||
|
|
||||||
|
Giấy phép MIT - xem [LICENSE](LICENSE) để biết chi tiết.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**BMad** và **BMAD-METHOD** là các nhãn hiệu của BMad Code, LLC. Xem [TRADEMARK.md](TRADEMARK.md) để biết chi tiết.
|
||||||
|
|
||||||
|
[](https://github.com/bmad-code-org/BMAD-METHOD/graphs/contributors)
|
||||||
|
|
||||||
|
Xem [CONTRIBUTORS.md](CONTRIBUTORS.md) để biết thông tin về những người đóng góp.
|
||||||
|
|
@ -56,7 +56,7 @@ Critical warnings only — data loss, security issues
|
||||||
| Phase | Name | What Happens |
|
| Phase | Name | What Happens |
|
||||||
| ----- | -------- | -------------------------------------------- |
|
| ----- | -------- | -------------------------------------------- |
|
||||||
| 1 | Analysis | Brainstorm, research *(optional)* |
|
| 1 | Analysis | Brainstorm, research *(optional)* |
|
||||||
| 2 | Planning | Requirements — PRD or tech-spec *(required)* |
|
| 2 | Planning | Requirements — PRD or spec *(required)* |
|
||||||
```
|
```
|
||||||
|
|
||||||
**Skills:**
|
**Skills:**
|
||||||
|
|
@ -148,7 +148,7 @@ your-project/
|
||||||
| ----------------- | ----------------------------- |
|
| ----------------- | ----------------------------- |
|
||||||
| **Index/Landing** | `core-concepts/index.md` |
|
| **Index/Landing** | `core-concepts/index.md` |
|
||||||
| **Concept** | `what-are-agents.md` |
|
| **Concept** | `what-are-agents.md` |
|
||||||
| **Feature** | `quick-flow.md` |
|
| **Feature** | `quick-dev.md` |
|
||||||
| **Philosophy** | `why-solutioning-matters.md` |
|
| **Philosophy** | `why-solutioning-matters.md` |
|
||||||
| **FAQ** | `established-projects-faq.md` |
|
| **FAQ** | `established-projects-faq.md` |
|
||||||
|
|
||||||
|
|
@ -353,7 +353,7 @@ Only for BMad Method and Enterprise tracks. Quick Flow skips to implementation.
|
||||||
|
|
||||||
### Can I change my plan later?
|
### Can I change my plan later?
|
||||||
|
|
||||||
Yes. The SM agent has a `bmad-correct-course` workflow for handling scope changes.
|
Yes. The `bmad-correct-course` workflow handles scope changes mid-implementation.
|
||||||
|
|
||||||
**Have a question not answered here?** [Open an issue](...) or ask in [Discord](...).
|
**Have a question not answered here?** [Open an issue](...) or ask in [Discord](...).
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
---
|
||||||
|
title: "Analysis Phase: From Idea to Foundation"
|
||||||
|
description: What brainstorming, research, product briefs, and PRFAQs are — and when to use each
|
||||||
|
sidebar:
|
||||||
|
order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
The Analysis phase (Phase 1) helps you think clearly about your product before committing to building it. Every tool in this phase is optional, but skipping analysis entirely means your PRD is built on assumptions instead of insight.
|
||||||
|
|
||||||
|
## Why Analysis Before Planning?
|
||||||
|
|
||||||
|
A PRD answers "what should we build and why?" If you feed it vague thinking, you get a vague PRD — and every downstream document inherits that vagueness. Architecture built on a weak PRD makes wrong technical bets. Stories derived from weak architecture miss edge cases. The cost compounds.
|
||||||
|
|
||||||
|
Analysis tools exist to make your PRD sharp. They attack the problem from different angles — creative exploration, market reality, customer clarity, feasibility — so that by the time you sit down with the PM agent, you know what you're building and for whom.
|
||||||
|
|
||||||
|
## The Tools
|
||||||
|
|
||||||
|
### Brainstorming
|
||||||
|
|
||||||
|
**What it is.** A facilitated creative session using proven ideation techniques. The AI acts as coach, pulling ideas out of you through structured exercises — not generating ideas for you.
|
||||||
|
|
||||||
|
**Why it's here.** Raw ideas need space to develop before they get locked into requirements. Brainstorming creates that space. It's especially valuable when you have a problem domain but no clear solution, or when you want to explore multiple directions before committing.
|
||||||
|
|
||||||
|
**When to use it.** You have a vague sense of what you want to build but haven't crystallized the concept. Or you have a concept but want to pressure-test it against alternatives.
|
||||||
|
|
||||||
|
See [Brainstorming](./brainstorming.md) for a deeper look at how sessions work.
|
||||||
|
|
||||||
|
### Research (Market, Domain, Technical)
|
||||||
|
|
||||||
|
**What it is.** Three focused research workflows that investigate different dimensions of your idea. Market research examines competitors, trends, and user sentiment. Domain research builds subject-matter expertise and terminology. Technical research evaluates feasibility, architecture options, and implementation approaches.
|
||||||
|
|
||||||
|
**Why it's here.** Building on assumptions is the fastest way to build something nobody needs. Research grounds your concept in reality — what competitors already exist, what users actually struggle with, what's technically feasible, and what industry-specific constraints you'll face.
|
||||||
|
|
||||||
|
**When to use it.** You're entering an unfamiliar domain, you suspect competitors exist but haven't mapped them, or your concept depends on technical capabilities you haven't validated. Run one, two, or all three — each stands alone.
|
||||||
|
|
||||||
|
### Product Brief
|
||||||
|
|
||||||
|
**What it is.** A guided discovery session that produces a 1-2 page executive summary of your product concept. The AI acts as a collaborative Business Analyst, helping you articulate the vision, target audience, value proposition, and scope.
|
||||||
|
|
||||||
|
**Why it's here.** The product brief is the gentler path into planning. It captures your strategic vision in a structured format that feeds directly into PRD creation. It works best when you already have conviction about your concept — you know the customer, the problem, and roughly what you want to build. The brief organizes and sharpens that thinking.
|
||||||
|
|
||||||
|
**When to use it.** Your concept is relatively clear and you want to document it efficiently before creating a PRD. You're confident in the direction and don't need your assumptions aggressively challenged.
|
||||||
|
|
||||||
|
### PRFAQ (Working Backwards)
|
||||||
|
|
||||||
|
**What it is.** Amazon's Working Backwards methodology adapted as an interactive challenge. You write the press release announcing your finished product before a single line of code exists, then answer the hardest questions customers and stakeholders would ask. The AI acts as a relentless but constructive product coach.
|
||||||
|
|
||||||
|
**Why it's here.** The PRFAQ is the rigorous path into planning. It forces customer-first clarity by making you defend every claim. If you can't write a compelling press release, the product isn't ready. If customer FAQ answers reveal gaps, those are gaps you'd discover much later — and more expensively — during implementation. The gauntlet surfaces weak thinking early, when it's cheapest to fix.
|
||||||
|
|
||||||
|
**When to use it.** You want your concept stress-tested before committing resources. You're unsure whether users will actually care. You want to validate that you can articulate a clear, defensible value proposition. Or you simply want the discipline of Working Backwards to sharpen your thinking.
|
||||||
|
|
||||||
|
## Which Should I Use?
|
||||||
|
|
||||||
|
| Situation | Recommended tool |
|
||||||
|
| --------- | ---------------- |
|
||||||
|
| "I have a vague idea, not sure where to start" | Brainstorming |
|
||||||
|
| "I need to understand the market before deciding" | Research |
|
||||||
|
| "I know what I want to build, just need to document it" | Product Brief |
|
||||||
|
| "I want to make sure this idea is actually worth building" | PRFAQ |
|
||||||
|
| "I want to explore, then validate, then document" | Brainstorming → Research → PRFAQ or Brief |
|
||||||
|
|
||||||
|
Product Brief and PRFAQ both produce input for the PRD — choose one based on how much challenge you want. The brief is collaborative discovery. The PRFAQ is a gauntlet. Both get you to the same destination; the PRFAQ tests whether your concept deserves to get there.
|
||||||
|
|
||||||
|
:::tip[Not Sure?]
|
||||||
|
Run `bmad-help` and describe your situation. It will recommend the right starting point based on what you've already done and what you're trying to accomplish.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## What Happens After Analysis?
|
||||||
|
|
||||||
|
Analysis outputs feed directly into Phase 2 (Planning). The PRD workflow accepts product briefs, PRFAQ documents, research findings, and brainstorming reports as input — it synthesizes whatever you've produced into structured requirements. The more analysis you do, the sharper your PRD.
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
---
|
||||||
|
title: "Checkpoint Preview"
|
||||||
|
description: LLM-assisted human-in-the-loop review that guides you through a change from purpose to details
|
||||||
|
sidebar:
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
`bmad-checkpoint-preview` is an interactive, LLM-assisted human-in-the-loop review workflow. It walks you through a code change — from purpose and context into details — so you can make an informed decision about whether to ship, rework, or dig deeper.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## The Typical Flow
|
||||||
|
|
||||||
|
You run `bmad-quick-dev`. It clarifies your intent, builds a spec, implements the change, and when it's done it appends a review trail to the spec file and opens it in your editor. You look at the spec and see the change touched 20 files across several modules.
|
||||||
|
|
||||||
|
You could eyeball the diff. But 20 files is where eyeballing starts to fail — you lose the thread, miss a connection between two distant changes, or approve something you didn't fully understand. So instead, you say "checkpoint" and the LLM walks you through it.
|
||||||
|
|
||||||
|
That handoff — from autonomous implementation back to human judgment — is the primary use case. Quick-dev runs long with minimal supervision. Checkpoint Preview is where you take back the wheel.
|
||||||
|
|
||||||
|
## Why It Exists
|
||||||
|
|
||||||
|
Code review has two failure modes. In one, the reviewer skims the diff, nothing jumps out, and they approve. In the other, they methodically read every file but lose the thread — they see the trees and miss the forest. Both result in the same outcome: the review didn't catch the thing that mattered.
|
||||||
|
|
||||||
|
The underlying issue is sequencing. A raw diff presents changes in file order, which is almost never the order that builds understanding. You see a helper function before you know why it exists. You see a schema change before you understand what feature it supports. The reviewer has to reconstruct the author's intent from scattered clues, and that reconstruction is where attention fails.
|
||||||
|
|
||||||
|
Checkpoint Preview solves this by making the LLM do the reconstruction work. It reads the diff, the spec (if one exists), and the surrounding codebase, then presents the change in an order designed for comprehension — not for `git diff`.
|
||||||
|
|
||||||
|
## How It Works
|
||||||
|
|
||||||
|
The workflow has five steps. Each step builds on the previous one, progressively shifting from "what is this?" toward "should we ship it?"
|
||||||
|
|
||||||
|
### 1. Orientation
|
||||||
|
|
||||||
|
The workflow identifies the change (from a PR, commit, branch, spec file, or the current git state) and produces a one-line intent summary plus surface area stats: files changed, modules touched, lines of logic, boundary crossings, and new public interfaces.
|
||||||
|
|
||||||
|
This is the "is this what I think it is?" moment. Before reading any code, the reviewer confirms they're looking at the right thing and calibrates their expectations for scope.
|
||||||
|
|
||||||
|
### 2. Walkthrough
|
||||||
|
|
||||||
|
The change is organized by **concern** — cohesive design intents like "input validation" or "API contract" — not by file. Each concern gets a short explanation of *why* this approach was chosen, followed by clickable `path:line` stops that the reviewer can follow through the code.
|
||||||
|
|
||||||
|
This is the design judgment step. The reviewer evaluates whether the approach is right for the system, not whether the code is correct. Concerns are sequenced top-down: the highest-level intent first, then supporting implementation. The reviewer never encounters a reference to something they haven't seen yet.
|
||||||
|
|
||||||
|
### 3. Detail Pass
|
||||||
|
|
||||||
|
After the reviewer understands the design, the workflow surfaces 2-5 spots where a mistake would have the highest blast radius. These are tagged by risk category — `[auth]`, `[schema]`, `[billing]`, `[public API]`, `[security]`, and others — and ordered by how much breaks if they're wrong.
|
||||||
|
|
||||||
|
This is not a bug hunt. Automated tests and CI handle correctness. The detail pass activates risk awareness: "here are the places where being wrong costs the most." If the reviewer wants to go deeper on a specific area, they can say "dig into [area]" for a targeted correctness-focused re-review.
|
||||||
|
|
||||||
|
If the spec went through adversarial review loops (machine hardening), those findings are surfaced here too — not the bugs that were fixed, but the decisions that the review loop flagged that the reviewer should be aware of.
|
||||||
|
|
||||||
|
### 4. Testing
|
||||||
|
|
||||||
|
Suggests 2-5 ways to manually observe the change working. Not automated test commands — manual observations that build confidence no test suite provides. A UI interaction to try, a CLI command to run, an API request to send, with expected results for each.
|
||||||
|
|
||||||
|
If the change has no user-visible behavior, it says so. No invented busywork.
|
||||||
|
|
||||||
|
### 5. Wrap-Up
|
||||||
|
|
||||||
|
The reviewer makes the call: approve, rework, or keep discussing. If approving a PR, the workflow can help with `gh pr review --approve`. If reworking, it helps diagnose whether the problem was the approach, the spec, or the implementation, and helps draft actionable feedback tied to specific code locations.
|
||||||
|
|
||||||
|
## It's a Conversation, Not a Report
|
||||||
|
|
||||||
|
The workflow presents each step as a starting point, not a final word. Between steps — or in the middle of one — you can talk to the LLM, ask questions, challenge its framing, or pull in other skills to get a different perspective:
|
||||||
|
|
||||||
|
- **"run advanced elicitation on the error handling"** — push the LLM to reconsider and refine its analysis of a specific area
|
||||||
|
- **"party mode on whether this schema migration is safe"** — bring multiple agent perspectives into a focused debate
|
||||||
|
- **"run code review"** — generate structured agentic findings with adversarial and edge-case analysis
|
||||||
|
|
||||||
|
The checkpoint workflow doesn't lock you into a linear path. It gives you structure when you want it and gets out of the way when you want to explore. The five steps are there to make sure you see the whole picture, but how deep you go at each step — and what tools you bring in — is entirely up to you.
|
||||||
|
|
||||||
|
## The Review Trail
|
||||||
|
|
||||||
|
The walkthrough step works best when it has a **Suggested Review Order** — a list of stops the spec author wrote to guide reviewers through the change. When a spec includes this, the workflow uses it directly.
|
||||||
|
|
||||||
|
When no author-produced trail exists, the workflow generates one from the diff and codebase context. A generated trail is lower quality than an author-produced one, but far better than reading changes in file order.
|
||||||
|
|
||||||
|
## When to Use It
|
||||||
|
|
||||||
|
The primary scenario is the handoff from `bmad-quick-dev`: the implementation is done, the spec file is open in your editor with a review trail appended, and you need to decide whether to ship. Say "checkpoint" and go.
|
||||||
|
|
||||||
|
It also works standalone:
|
||||||
|
|
||||||
|
- **Reviewing a PR** — especially one with more than a handful of files or cross-cutting changes
|
||||||
|
- **Onboarding to a change** — when you need to understand what happened on a branch you didn't write
|
||||||
|
- **Sprint review** — the workflow can pick up stories marked `review` in your sprint status file
|
||||||
|
|
||||||
|
Invoke it by saying "checkpoint" or "walk me through this change." It works in any terminal, but you'll get more out of it inside an IDE — VS Code, Cursor, or similar — because the workflow produces `path:line` references at every step. In an IDE-embedded terminal those are clickable, so you can jump from file to file as you follow the review trail.
|
||||||
|
|
||||||
|
## What It Is Not
|
||||||
|
|
||||||
|
Checkpoint Preview is not a substitute for automated review. It does not run linters, type checkers, or test suites. It does not assign severity scores or produce pass/fail verdicts. It is a reading guide that helps a human apply their judgment where it matters most.
|
||||||
|
|
@ -34,7 +34,7 @@ Yes! Quick Flow works great for established projects. It will:
|
||||||
- Auto-detect your existing stack
|
- Auto-detect your existing stack
|
||||||
- Analyze existing code patterns
|
- Analyze existing code patterns
|
||||||
- Detect conventions and ask for confirmation
|
- Detect conventions and ask for confirmation
|
||||||
- Generate context-rich tech-spec that respects existing code
|
- Generate context-rich spec that respects existing code
|
||||||
|
|
||||||
Perfect for bug fixes and small features in existing codebases.
|
Perfect for bug fixes and small features in existing codebases.
|
||||||
|
|
||||||
|
|
@ -43,7 +43,7 @@ Perfect for bug fixes and small features in existing codebases.
|
||||||
Quick Flow detects your conventions and asks: "Should I follow these existing conventions?" You decide:
|
Quick Flow detects your conventions and asks: "Should I follow these existing conventions?" You decide:
|
||||||
|
|
||||||
- **Yes** → Maintain consistency with current codebase
|
- **Yes** → Maintain consistency with current codebase
|
||||||
- **No** → Establish new standards (document why in tech-spec)
|
- **No** → Establish new standards (document why in spec)
|
||||||
|
|
||||||
BMM respects your choice — it won't force modernization, but it will offer it.
|
BMM respects your choice — it won't force modernization, but it will offer it.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ Every implementation workflow automatically loads `project-context.md` if it exi
|
||||||
- `bmad-create-story` — informs story creation with project patterns
|
- `bmad-create-story` — informs story creation with project patterns
|
||||||
- `bmad-dev-story` — guides implementation decisions
|
- `bmad-dev-story` — guides implementation decisions
|
||||||
- `bmad-code-review` — validates against project standards
|
- `bmad-code-review` — validates against project standards
|
||||||
- `bmad-quick-dev` — applies patterns when implementing tech-specs
|
- `bmad-quick-dev` — applies patterns when implementing specs
|
||||||
- `bmad-sprint-planning`, `bmad-retrospective`, `bmad-correct-course` — provides project-wide context
|
- `bmad-sprint-planning`, `bmad-retrospective`, `bmad-correct-course` — provides project-wide context
|
||||||
|
|
||||||
## When to Create It
|
## When to Create It
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
---
|
---
|
||||||
title: "Quick Dev New Preview"
|
title: "Quick Dev"
|
||||||
description: Reduce human-in-the-loop friction without giving up the checkpoints that protect output quality
|
description: Reduce human-in-the-loop friction without giving up the checkpoints that protect output quality
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 2
|
order: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
`bmad-quick-dev-new-preview` is an experimental attempt to radically improve Quick Flow: intent in, code changes out, with lower ceremony and fewer human-in-the-loop turns without sacrificing quality.
|
Intent in, code changes out, with as few human-in-the-loop turns as possible — without sacrificing quality.
|
||||||
|
|
||||||
It lets the model run longer between checkpoints, then brings the human back only when the task cannot safely continue without human judgment or when it is time to review the end result.
|
It lets the model run longer between checkpoints, then brings the human back only when the task cannot safely continue without human judgment or when it is time to review the end result.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Why This Exists
|
## Why This Exists
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ Human-in-the-loop turns are necessary and expensive.
|
||||||
|
|
||||||
Current LLMs still fail in predictable ways: they misread intent, fill gaps with confident guesses, drift into unrelated work, and generate noisy review output. At the same time, constant human intervention limits development velocity. Human attention is the bottleneck.
|
Current LLMs still fail in predictable ways: they misread intent, fill gaps with confident guesses, drift into unrelated work, and generate noisy review output. At the same time, constant human intervention limits development velocity. Human attention is the bottleneck.
|
||||||
|
|
||||||
This experimental version of Quick Flow is an attempt to rebalance that tradeoff. It trusts the model to run unsupervised for longer stretches, but only after the workflow has created a strong enough boundary to make that safe.
|
`bmad-quick-dev` rebalances that tradeoff. It trusts the model to run unsupervised for longer stretches, but only after the workflow has created a strong enough boundary to make that safe.
|
||||||
|
|
||||||
## The Core Design
|
## The Core Design
|
||||||
|
|
||||||
|
|
@ -39,7 +39,7 @@ Once the goal is clear, the workflow decides whether this is a true one-shot cha
|
||||||
|
|
||||||
### 3. Run longer with less supervision
|
### 3. Run longer with less supervision
|
||||||
|
|
||||||
After that routing decision, the model can carry more of the work on its own. On the fuller path, the approved spec becomes the boundary the model executes against with less supervision, which is the whole point of the experiment.
|
After that routing decision, the model can carry more of the work on its own. On the fuller path, the approved spec becomes the boundary the model executes against with less supervision, which is the whole point of the design.
|
||||||
|
|
||||||
### 4. Diagnose failure at the right layer
|
### 4. Diagnose failure at the right layer
|
||||||
|
|
||||||
|
|
@ -53,7 +53,7 @@ The intent interview is human-in-the-loop, but it is not the same kind of interr
|
||||||
|
|
||||||
- **Intent-gap resolution** - stepping back in when review proves the workflow could not safely infer what was meant
|
- **Intent-gap resolution** - stepping back in when review proves the workflow could not safely infer what was meant
|
||||||
|
|
||||||
Everything else is a candidate for longer autonomous execution. That tradeoff is deliberate. Older patterns spend more human attention on continuous supervision. Quick Dev New Preview spends more trust on the model, but saves human attention for the moments where human reasoning has the highest leverage.
|
Everything else is a candidate for longer autonomous execution. That tradeoff is deliberate. Older patterns spend more human attention on continuous supervision. Quick Dev spends more trust on the model, but saves human attention for the moments where human reasoning has the highest leverage.
|
||||||
|
|
||||||
## Why the Review System Matters
|
## Why the Review System Matters
|
||||||
|
|
||||||
|
|
@ -66,7 +66,7 @@ Agentic reviews often go wrong in two ways:
|
||||||
- They generate too many findings, forcing the human to sift through noise.
|
- They generate too many findings, forcing the human to sift through noise.
|
||||||
- They derail the current change by surfacing unrelated issues and turning every run into an ad hoc cleanup project.
|
- They derail the current change by surfacing unrelated issues and turning every run into an ad hoc cleanup project.
|
||||||
|
|
||||||
Quick Dev New Preview addresses both by treating review as triage.
|
Quick Dev addresses both by treating review as triage.
|
||||||
|
|
||||||
Some findings belong to the current change. Some do not. If a finding is incidental rather than causally tied to the current work, the workflow can defer it instead of forcing the human to handle it immediately. That keeps the run focused and prevents random tangents from consuming the budget of attention.
|
Some findings belong to the current change. Some do not. If a finding is incidental rather than causally tied to the current work, the workflow can defer it instead of forcing the human to handle it immediately. That keeps the run focused and prevents random tangents from consuming the budget of attention.
|
||||||
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
---
|
|
||||||
title: "Quick Flow"
|
|
||||||
description: Fast-track for small changes - skip the full methodology
|
|
||||||
sidebar:
|
|
||||||
order: 1
|
|
||||||
---
|
|
||||||
|
|
||||||
Skip the ceremony. Quick Flow takes you from idea to working code in two skills - no Product Brief, no PRD, no Architecture doc.
|
|
||||||
|
|
||||||
:::tip[Want a Unified Variant?]
|
|
||||||
If you want one workflow to clarify, plan, implement, review, and present in a single run, see [Quick Dev New Preview](./quick-dev-new-preview.md).
|
|
||||||
:::
|
|
||||||
|
|
||||||
## When to Use It
|
|
||||||
|
|
||||||
- Bug fixes and patches
|
|
||||||
- Refactoring existing code
|
|
||||||
- Small, well-understood features
|
|
||||||
- Prototyping and spikes
|
|
||||||
- Single-agent work where one developer can hold the full scope
|
|
||||||
|
|
||||||
## When NOT to Use It
|
|
||||||
|
|
||||||
- New products or platforms that need stakeholder alignment
|
|
||||||
- Major features spanning multiple components or teams
|
|
||||||
- Work that requires architectural decisions (database schema, API contracts, service boundaries)
|
|
||||||
- Anything where requirements are unclear or contested
|
|
||||||
|
|
||||||
:::caution[Scope Creep]
|
|
||||||
If you start a Quick Flow and realize the scope is bigger than expected, `bmad-quick-dev` will detect this and offer to escalate. You can switch to a full PRD workflow at any point without losing your work.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## How It Works
|
|
||||||
|
|
||||||
Quick Flow has two skills, each backed by a structured workflow. You can run them together or independently.
|
|
||||||
|
|
||||||
### quick-spec: Plan
|
|
||||||
|
|
||||||
Run `bmad-quick-spec` and Barry (the Quick Flow agent) walks you through a conversational discovery process:
|
|
||||||
|
|
||||||
1. **Understand** - You describe what you want to build. Barry scans the codebase to ask informed questions, then captures a problem statement, solution approach, and scope boundaries.
|
|
||||||
2. **Investigate** - Barry reads relevant files, maps code patterns, identifies files to modify, and documents the technical context.
|
|
||||||
3. **Generate** - Produces a complete tech-spec with ordered implementation tasks (specific file paths and actions), acceptance criteria in Given/When/Then format, testing strategy, and dependencies.
|
|
||||||
4. **Review** - Presents the full spec for your sign-off. You can edit, ask questions, run adversarial review, or refine with advanced elicitation before finalizing.
|
|
||||||
|
|
||||||
The output is a `tech-spec-{slug}.md` file saved to your project's implementation artifacts folder. It contains everything a fresh agent needs to implement the feature - no conversation history required.
|
|
||||||
|
|
||||||
### quick-dev: Build
|
|
||||||
|
|
||||||
Run `bmad-quick-dev` and Barry implements the work. It operates in two modes:
|
|
||||||
|
|
||||||
- **Tech-spec mode** - Point it at a spec file (`quick-dev tech-spec-auth.md`) and it executes every task in order, writes tests, and verifies acceptance criteria.
|
|
||||||
- **Direct mode** - Give it instructions directly (`quick-dev "refactor the auth middleware"`) and it gathers context, builds a mental plan, and executes.
|
|
||||||
|
|
||||||
After implementation, `bmad-quick-dev` runs a self-check audit against all tasks and acceptance criteria, then triggers an adversarial code review of the diff. Findings are presented for you to resolve before wrapping up.
|
|
||||||
|
|
||||||
:::tip[Fresh Context]
|
|
||||||
For best results, run `bmad-quick-dev` in a new conversation after finishing `bmad-quick-spec`. This gives the implementation agent clean context focused solely on building.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## What Quick Flow Skips
|
|
||||||
|
|
||||||
The full BMad Method produces a Product Brief, PRD, Architecture doc, and Epic/Story breakdown before any code is written. Quick Flow replaces all of that with a single tech-spec. This works because Quick Flow targets changes where:
|
|
||||||
|
|
||||||
- The product direction is already established
|
|
||||||
- Architecture decisions are already made
|
|
||||||
- A single developer can reason about the full scope
|
|
||||||
- Requirements fit in one conversation
|
|
||||||
|
|
||||||
## Escalating to Full BMad Method
|
|
||||||
|
|
||||||
Quick Flow includes built-in guardrails for scope detection. When you run `bmad-quick-dev` with a direct request, it evaluates signals like multi-component mentions, system-level language, and uncertainty about approach. If it detects the work is bigger than a quick flow:
|
|
||||||
|
|
||||||
- **Light escalation** - Recommends running `bmad-quick-spec` first to create a plan
|
|
||||||
- **Heavy escalation** - Recommends switching to the full BMad Method PRD process
|
|
||||||
|
|
||||||
You can also escalate manually at any time. Your tech-spec work carries forward - it becomes input for the broader planning process rather than being discarded.
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: Page introuvable
|
||||||
|
template: splash
|
||||||
|
---
|
||||||
|
|
||||||
|
La page que vous recherchez n'existe pas ou a été déplacée.
|
||||||
|
|
||||||
|
[Retour à l'accueil](/fr/index.md)
|
||||||
|
|
@ -0,0 +1,370 @@
|
||||||
|
---
|
||||||
|
title: "Guide de style de la documentation"
|
||||||
|
description: Conventions de documentation spécifiques au projet, basées sur le style Google et la structure Diataxis
|
||||||
|
---
|
||||||
|
|
||||||
|
Ce projet suit le [Guide de style de documentation pour développeurs Google](https://developers.google.com/style) et utilise [Diataxis](https://diataxis.fr/) pour structurer le contenu. Seules les conventions spécifiques au projet sont présentées ci-dessous.
|
||||||
|
|
||||||
|
## Règles spécifiques au projet
|
||||||
|
|
||||||
|
| Règle | Spécification |
|
||||||
|
| --------------------------------------- | ------------------------------------------------------ |
|
||||||
|
| Pas de règles horizontales (`---`) | Perturbe le flux de lecture des fragments |
|
||||||
|
| Pas de titres `####` | Utiliser du texte en gras ou des admonitions |
|
||||||
|
| Pas de sections « Related » ou « Next: » | La barre latérale gère la navigation |
|
||||||
|
| Pas de listes profondément imbriquées | Diviser en sections à la place |
|
||||||
|
| Pas de blocs de code pour non-code | Utiliser des admonitions pour les exemples de dialogue |
|
||||||
|
| Pas de paragraphes en gras pour les appels | Utiliser des admonitions à la place |
|
||||||
|
| 1-2 admonitions max par section | Les tutoriels permettent 3-4 par section majeure |
|
||||||
|
| Cellules de tableau / éléments de liste | 1-2 phrases maximum |
|
||||||
|
| Budget de titres | 8-12 `##` par doc ; 2-3 `###` par section |
|
||||||
|
|
||||||
|
## Admonitions (Syntaxe Starlight)
|
||||||
|
|
||||||
|
```md
|
||||||
|
:::tip[Titre]
|
||||||
|
Raccourcis, bonnes pratiques
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::note[Titre]
|
||||||
|
Contexte, définitions, exemples, prérequis
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::caution[Titre]
|
||||||
|
Mises en garde, problèmes potentiels
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::danger[Titre]
|
||||||
|
Avertissements critiques uniquement — perte de données, problèmes de sécurité
|
||||||
|
:::
|
||||||
|
```
|
||||||
|
|
||||||
|
### Utilisations standards
|
||||||
|
|
||||||
|
| Admonition | Usage |
|
||||||
|
| -------------------------- | ---------------------------------------- |
|
||||||
|
| `:::note[Pré-requis]` | Dépendances avant de commencer |
|
||||||
|
| `:::tip[Chemin rapide]` | Résumé TL;DR en haut du document |
|
||||||
|
| `:::caution[Important]` | Mises en garde critiques |
|
||||||
|
| `:::note[Exemple]` | Exemples de commandes/réponses |
|
||||||
|
|
||||||
|
## Formats de tableau standards
|
||||||
|
|
||||||
|
**Phases :**
|
||||||
|
|
||||||
|
```md
|
||||||
|
| Phase | Nom | Ce qui se passe |
|
||||||
|
| ----- | ---------- | --------------------------------------------------- |
|
||||||
|
| 1 | Analyse | Brainstorm, recherche *(optionnel)* |
|
||||||
|
| 2 | Planification | Exigences — PRD ou spécification technique *(requis)* |
|
||||||
|
```
|
||||||
|
|
||||||
|
**Skills :**
|
||||||
|
|
||||||
|
```md
|
||||||
|
| Skill | Agent | Objectif |
|
||||||
|
| ------------------- | ------- | ----------------------------------------------- |
|
||||||
|
| `bmad-brainstorming` | Analyste | Brainstorming pour un nouveau projet |
|
||||||
|
| `bmad-create-prd` | PM | Créer un document d'exigences produit |
|
||||||
|
```
|
||||||
|
|
||||||
|
## Blocs de structure de dossiers
|
||||||
|
|
||||||
|
À afficher dans les sections "Ce que vous avez accompli" :
|
||||||
|
|
||||||
|
````md
|
||||||
|
```
|
||||||
|
votre-projet/
|
||||||
|
├── _bmad/ # Configuration BMad
|
||||||
|
├── _bmad-output/
|
||||||
|
│ ├── planning-artifacts/
|
||||||
|
│ │ └── PRD.md # Votre document d'exigences
|
||||||
|
│ ├── implementation-artifacts/
|
||||||
|
│ └── project-context.md # Règles d'implémentation (optionnel)
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
````
|
||||||
|
|
||||||
|
## Structure des tutoriels
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (1-2 phrases décrivant le résultat)
|
||||||
|
2. Notice de version/module (admonition info ou avertissement) (optionnel)
|
||||||
|
3. Ce que vous allez apprendre (liste à puces des résultats)
|
||||||
|
4. Prérequis (admonition info)
|
||||||
|
5. Chemin rapide (admonition tip - résumé TL;DR)
|
||||||
|
6. Comprendre [Sujet] (contexte avant les étapes - tableaux pour phases/agents)
|
||||||
|
7. Installation (optionnel)
|
||||||
|
8. Étape 1 : [Première tâche majeure]
|
||||||
|
9. Étape 2 : [Deuxième tâche majeure]
|
||||||
|
10. Étape 3 : [Troisième tâche majeure]
|
||||||
|
11. Ce que vous avez accompli (résumé + structure de dossiers)
|
||||||
|
12. Référence rapide (tableau des compétences)
|
||||||
|
13. Questions courantes (format FAQ)
|
||||||
|
14. Obtenir de l'aide (liens communautaires)
|
||||||
|
15. Points clés à retenir (admonition tip)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Liste de vérification des tutoriels
|
||||||
|
|
||||||
|
- [ ] L'accroche décrit le résultat en 1-2 phrases
|
||||||
|
- [ ] Section "Ce que vous allez apprendre" présente
|
||||||
|
- [ ] Prérequis dans une admonition
|
||||||
|
- [ ] Admonition TL;DR de chemin rapide en haut
|
||||||
|
- [ ] Tableaux pour phases, skills, agents
|
||||||
|
- [ ] Section "Ce que vous avez accompli" présente
|
||||||
|
- [ ] Tableau de référence rapide présent
|
||||||
|
- [ ] Section questions courantes présente
|
||||||
|
- [ ] Section obtenir de l'aide présente
|
||||||
|
- [ ] Admonition points clés à retenir à la fin
|
||||||
|
|
||||||
|
## Structure des guides pratiques (How-To)
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (une phrase : « Utilisez le workflow `X` pour... »)
|
||||||
|
2. Quand utiliser ce guide (liste à puces de scénarios)
|
||||||
|
3. Quand éviter ce guide (optionnel)
|
||||||
|
4. Prérequis (admonition note)
|
||||||
|
5. Étapes (sous-sections ### numérotées)
|
||||||
|
6. Ce que vous obtenez (produits de sortie/artefacts)
|
||||||
|
7. Exemple (optionnel)
|
||||||
|
8. Conseils (optionnel)
|
||||||
|
9. Prochaines étapes (optionnel)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Liste de vérification des guides pratiques
|
||||||
|
|
||||||
|
- [ ] L'accroche commence par « Utilisez le workflow `X` pour... »
|
||||||
|
- [ ] "Quand utiliser ce guide" contient 3-5 points
|
||||||
|
- [ ] Prérequis listés
|
||||||
|
- [ ] Les étapes sont des sous-sections `###` numérotées avec des verbes d'action
|
||||||
|
- [ ] "Ce que vous obtenez" décrit les artefacts produits
|
||||||
|
|
||||||
|
## Structure des explications
|
||||||
|
|
||||||
|
### Types
|
||||||
|
|
||||||
|
| Type | Exemple |
|
||||||
|
| ----------------------- | ------------------------------------ |
|
||||||
|
| **Index/Page d'accueil** | `core-concepts/index.md` |
|
||||||
|
| **Concept** | `what-are-agents.md` |
|
||||||
|
| **Fonctionnalité** | `quick-dev.md` |
|
||||||
|
| **Philosophie** | `why-solutioning-matters.md` |
|
||||||
|
| **FAQ** | `established-projects-faq.md` |
|
||||||
|
|
||||||
|
### Modèle général
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (1-2 phrases)
|
||||||
|
2. Vue d'ensemble/Définition (ce que c'est, pourquoi c'est important)
|
||||||
|
3. Concepts clés (sous-sections ###)
|
||||||
|
4. Tableau comparatif (optionnel)
|
||||||
|
5. Quand utiliser / Quand ne pas utiliser (optionnel)
|
||||||
|
6. Diagramme (optionnel - mermaid, 1 max par doc)
|
||||||
|
7. Prochaines étapes (optionnel)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pages d'index/d'accueil
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (une phrase)
|
||||||
|
2. Tableau de contenu (liens avec descriptions)
|
||||||
|
3. Pour commencer (liste numérotée)
|
||||||
|
4. Choisissez votre parcours (optionnel - arbre de décision)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Explications de concepts
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (ce que c'est)
|
||||||
|
2. Types/Catégories (sous-sections ###) (optionnel)
|
||||||
|
3. Tableau des différences clés
|
||||||
|
4. Composants/Parties
|
||||||
|
5. Lequel devriez-vous utiliser ?
|
||||||
|
6. Création/Personnalisation (lien vers les guides pratiques)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Explications de fonctionnalités
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (ce que cela fait)
|
||||||
|
2. Faits rapides (optionnel - "Idéal pour :", "Temps :")
|
||||||
|
3. Quand utiliser / Quand ne pas utiliser
|
||||||
|
4. Comment cela fonctionne (diagramme mermaid optionnel)
|
||||||
|
5. Avantages clés
|
||||||
|
6. Tableau comparatif (optionnel)
|
||||||
|
7. Quand évoluer/mettre à niveau (optionnel)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Documents de philosophie/justification
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (le principe)
|
||||||
|
2. Le problème
|
||||||
|
3. La solution
|
||||||
|
4. Principes clés (sous-sections ###)
|
||||||
|
5. Avantages
|
||||||
|
6. Quand cela s'applique
|
||||||
|
```
|
||||||
|
|
||||||
|
### Liste de vérification des explications
|
||||||
|
|
||||||
|
- [ ] L'accroche énonce ce que le document explique
|
||||||
|
- [ ] Contenu dans des sections `##` parcourables
|
||||||
|
- [ ] Tableaux comparatifs pour 3+ options
|
||||||
|
- [ ] Les diagrammes ont des étiquettes claires
|
||||||
|
- [ ] Liens vers les guides pratiques pour les questions procédurales
|
||||||
|
- [ ] 2-3 admonitions max par document
|
||||||
|
|
||||||
|
## Structure des références
|
||||||
|
|
||||||
|
### Types
|
||||||
|
|
||||||
|
| Type | Exemple |
|
||||||
|
| ----------------------- | --------------------- |
|
||||||
|
| **Index/Page d'accueil** | `workflows/index.md` |
|
||||||
|
| **Catalogue** | `agents/index.md` |
|
||||||
|
| **Approfondissement** | `document-project.md` |
|
||||||
|
| **Configuration** | `core-tasks.md` |
|
||||||
|
| **Glossaire** | `glossary/index.md` |
|
||||||
|
| **Complet** | `bmgd-workflows.md` |
|
||||||
|
|
||||||
|
### Pages d'index de référence
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (une phrase)
|
||||||
|
2. Sections de contenu (## pour chaque catégorie)
|
||||||
|
- Liste à puces avec liens et descriptions
|
||||||
|
```
|
||||||
|
|
||||||
|
### Référence de catalogue
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche
|
||||||
|
2. Éléments (## pour chaque élément)
|
||||||
|
- Brève description (une phrase)
|
||||||
|
- **Skills :** ou **Infos clés :** sous forme de liste simple
|
||||||
|
3. Universel/Partagé (## section) (optionnel)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Référence d'approfondissement d'élément
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche (objectif en une phrase)
|
||||||
|
2. Faits rapides (admonition note optionnelle)
|
||||||
|
- Module, Skill, Entrée, Sortie sous forme de liste
|
||||||
|
3. Objectif/Vue d'ensemble (## section)
|
||||||
|
4. Comment invoquer (bloc de code)
|
||||||
|
5. Sections clés (## pour chaque aspect)
|
||||||
|
- Utiliser ### pour les sous-options
|
||||||
|
6. Notes/Mises en garde (admonition tip ou caution)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Référence de configuration
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche
|
||||||
|
2. Table des matières (liens de saut si 4+ éléments)
|
||||||
|
3. Éléments (## pour chaque config/tâche)
|
||||||
|
- **Résumé en gras** — une phrase
|
||||||
|
- **Utilisez-le quand :** liste à puces
|
||||||
|
- **Comment cela fonctionne :** étapes numérotées (3-5 max)
|
||||||
|
- **Sortie :** résultat attendu (optionnel)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Guide de référence complet
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Titre + Accroche
|
||||||
|
2. Vue d'ensemble (## section)
|
||||||
|
- Diagramme ou tableau montrant l'organisation
|
||||||
|
3. Sections majeures (## pour chaque phase/catégorie)
|
||||||
|
- Éléments (### pour chaque élément)
|
||||||
|
- Champs standardisés : Skill, Agent, Entrée, Sortie, Description
|
||||||
|
4. Prochaines étapes (optionnel)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Liste de vérification des références
|
||||||
|
|
||||||
|
- [ ] L'accroche énonce ce que le document référence
|
||||||
|
- [ ] La structure correspond au type de référence
|
||||||
|
- [ ] Les éléments utilisent une structure cohérente
|
||||||
|
- [ ] Tableaux pour les données structurées/comparatives
|
||||||
|
- [ ] Liens vers les documents d'explication pour la profondeur conceptuelle
|
||||||
|
- [ ] 1-2 admonitions max
|
||||||
|
|
||||||
|
## Structure du glossaire
|
||||||
|
|
||||||
|
Starlight génère la navigation "Sur cette page" à droite à partir des titres :
|
||||||
|
|
||||||
|
- Catégories en tant que titres `##` — apparaissent dans la navigation à droite
|
||||||
|
- Termes dans des tableaux — lignes compactes, pas de titres individuels
|
||||||
|
- Pas de TOC en ligne — la barre latérale à droite gère la navigation
|
||||||
|
|
||||||
|
### Format de tableau
|
||||||
|
|
||||||
|
```md
|
||||||
|
## Nom de catégorie
|
||||||
|
|
||||||
|
| Terme | Définition |
|
||||||
|
| ------------ | --------------------------------------------------------------------------------------------- |
|
||||||
|
| **Agent** | Personnalité IA spécialisée avec une expertise spécifique qui guide les utilisateurs dans les workflows. |
|
||||||
|
| **Workflow** | Processus guidé en plusieurs étapes qui orchestre les activités des agents IA pour produire des livrables. |
|
||||||
|
```
|
||||||
|
|
||||||
|
### Règles de définition
|
||||||
|
|
||||||
|
| À faire | À ne pas faire |
|
||||||
|
| --------------------------------- | --------------------------------------------- |
|
||||||
|
| Commencer par ce que c'est ou ce que cela fait | Commencer par « C'est... » ou « Un [terme] est... » |
|
||||||
|
| Se limiter à 1-2 phrases | Écrire des explications de plusieurs paragraphes |
|
||||||
|
| Mettre le nom du terme en gras dans la cellule | Utiliser du texte simple pour les termes |
|
||||||
|
|
||||||
|
### Marqueurs de contexte
|
||||||
|
|
||||||
|
Ajouter un contexte en italique au début de la définition pour les termes à portée limitée :
|
||||||
|
|
||||||
|
- `*Quick Dev uniquement.*`
|
||||||
|
- `*méthode BMad/Enterprise.*`
|
||||||
|
- `*Phase N.*`
|
||||||
|
- `*BMGD.*`
|
||||||
|
- `*Projets établis.*`
|
||||||
|
|
||||||
|
### Liste de vérification du glossaire
|
||||||
|
|
||||||
|
- [ ] Termes dans des tableaux, pas de titres individuels
|
||||||
|
- [ ] Termes alphabétisés au sein des catégories
|
||||||
|
- [ ] Définitions de 1-2 phrases
|
||||||
|
- [ ] Marqueurs de contexte en italique
|
||||||
|
- [ ] Noms des termes en gras dans les cellules
|
||||||
|
- [ ] Pas de définitions « Un [terme] est... »
|
||||||
|
|
||||||
|
## Sections FAQ
|
||||||
|
|
||||||
|
```md
|
||||||
|
## Questions
|
||||||
|
|
||||||
|
- [Ai-je toujours besoin d'architecture ?](#ai-je-toujours-besoin-darchitecture)
|
||||||
|
- [Puis-je modifier mon plan plus tard ?](#puis-je-modifier-mon-plan-plus-tard)
|
||||||
|
|
||||||
|
### Ai-je toujours besoin d'architecture ?
|
||||||
|
|
||||||
|
Uniquement pour les parcours méthode BMad et Enterprise. Quick Dev passe directement à l'implémentation.
|
||||||
|
|
||||||
|
### Puis-je modifier mon plan plus tard ?
|
||||||
|
|
||||||
|
Oui. Utilisez `bmad-correct-course` pour gérer les changements de portée.
|
||||||
|
|
||||||
|
**Une question sans réponse ici ?** [Ouvrez une issue](...) ou posez votre question sur [Discord](...).
|
||||||
|
```
|
||||||
|
|
||||||
|
## Commandes de validation
|
||||||
|
|
||||||
|
Avant de soumettre des modifications de documentation :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run docs:fix-links # Prévisualiser les corrections de format de liens
|
||||||
|
npm run docs:fix-links -- --write # Appliquer les corrections
|
||||||
|
npm run docs:validate-links # Vérifier que les liens existent
|
||||||
|
npm run docs:build # Vérifier l'absence d'erreurs de build
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
---
|
||||||
|
title: "Élicitation Avancée"
|
||||||
|
description: Pousser le LLM à repenser son travail en utilisant des méthodes de raisonnement structurées
|
||||||
|
sidebar:
|
||||||
|
order: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
Faites repenser au LLM ce qu'il vient de générer. Vous choisissez une méthode de raisonnement, il l'applique à sa propre sortie, et vous décidez de conserver ou non les améliorations.
|
||||||
|
|
||||||
|
## Qu'est-ce que l’Élicitation Avancée ?
|
||||||
|
|
||||||
|
Un second passage structuré. Au lieu de demander à l'IA de "réessayer" ou de "faire mieux", vous sélectionnez une méthode de raisonnement spécifique et l'IA réexamine sa propre sortie à travers ce prisme.
|
||||||
|
|
||||||
|
La différence est importante. Les demandes vagues produisent des révisions vagues. Une méthode nommée impose un angle d'attaque particulier, mettant en lumière des perspectives qu'un simple réajustement générique aurait manquées.
|
||||||
|
|
||||||
|
## Quand l'utiliser
|
||||||
|
|
||||||
|
- Après qu'un workflow a généré du contenu et vous souhaitez des alternatives
|
||||||
|
- Lorsque la sortie semble correcte mais que vous soupçonnez qu'il y a davantage de profondeur
|
||||||
|
- Pour tester les hypothèses ou trouver des faiblesses
|
||||||
|
- Pour du contenu à enjeux élevés où la réflexion approfondie aide
|
||||||
|
|
||||||
|
Les workflows offrent l'élicitation aux points de décision - après que le LLM ait généré quelque chose, on vous demandera si vous souhaitez l'exécuter.
|
||||||
|
|
||||||
|
## Comment ça fonctionne
|
||||||
|
|
||||||
|
1. Le LLM suggère 5 méthodes pertinentes pour votre contenu
|
||||||
|
2. Vous en choisissez une (ou remélangez pour différentes options)
|
||||||
|
3. La méthode est appliquée, les améliorations sont affichées
|
||||||
|
4. Acceptez ou rejetez, répétez ou continuez
|
||||||
|
|
||||||
|
## Méthodes intégrées
|
||||||
|
|
||||||
|
Des dizaines de méthodes de raisonnement sont disponibles. Quelques exemples :
|
||||||
|
|
||||||
|
- **Analyse Pré-mortem** - Suppose que le projet a déjà échoué, revient en arrière pour trouver pourquoi
|
||||||
|
- **Pensée de Premier Principe** - Élimine les hypothèses, reconstruit à partir de la vérité de terrain
|
||||||
|
- **Inversion** - Demande comment garantir l'échec, puis les évite
|
||||||
|
- **Équipe Rouge vs Équipe Bleue** - Attaque votre propre travail, puis le défend
|
||||||
|
- **Questionnement Socratique** - Conteste chaque affirmation avec "pourquoi ?" et "comment le savez-vous ?"
|
||||||
|
- **Suppression des Contraintes** - Abandonne toutes les contraintes, voit ce qui change, les réajoute sélectivement
|
||||||
|
- **Cartographie des Parties Prenantes** - Réévalue depuis la perspective de chaque partie prenante
|
||||||
|
- **Raisonnement Analogique** - Trouve des parallèles dans d'autres domaines et applique leurs leçons
|
||||||
|
|
||||||
|
Et bien d'autres. L'IA choisit les options les plus pertinentes pour votre contenu - vous choisissez lesquelles exécuter.
|
||||||
|
|
||||||
|
:::tip[Commencez Ici]
|
||||||
|
L'Analyse Pré-mortem est un bon premier choix pour toute spécification ou tout plan. Elle trouve systématiquement des lacunes qu'une révision standard manque.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
---
|
||||||
|
title: "Revue Contradictoire"
|
||||||
|
description: Technique de raisonnement forcée qui empêche les revues paresseuses du style "ça à l'air bon"
|
||||||
|
sidebar:
|
||||||
|
order: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
Forcez une analyse plus approfondie en exigeant que des problèmes soient trouvés.
|
||||||
|
|
||||||
|
## Qu'est-ce que la Revue Contradictoire ?
|
||||||
|
|
||||||
|
Une technique de revue où le réviseur *doit* trouver des problèmes. Pas de "ça a l'air bon" autorisé. Le réviseur adopte une posture cynique - suppose que des problèmes existent et les trouve.
|
||||||
|
|
||||||
|
Il ne s'agit pas d'être négatif. Il s'agit de forcer une analyse authentique au lieu d'un coup d'œil superficiel qui valide automatiquement ce qui a été soumis.
|
||||||
|
|
||||||
|
**La règle fondamentale :** Il doit trouver des problèmes. Zéro constatation déclenche un arrêt - réanalyse ou explique pourquoi.
|
||||||
|
|
||||||
|
## Pourquoi Cela Fonctionne
|
||||||
|
|
||||||
|
Les revues normales souffrent du biais de confirmation[^1]. Il parcourt le travail rapidement, rien ne lui saute aux yeux, il l'approuve. L'obligation de "trouver des problèmes" brise ce schéma :
|
||||||
|
|
||||||
|
- **Force la rigueur** - Impossible d'approuver tant qu’il n'a pas examiné suffisamment en profondeur pour trouver des problèmes
|
||||||
|
- **Détecte les oublis** - "Qu'est-ce qui manque ici ?" devient une question naturelle
|
||||||
|
- **Améliore la qualité du signal** - Les constatations sont spécifiques et actionnables, pas des préoccupations vagues
|
||||||
|
- **Asymétrie d'information**[^2] - Effectue les revues avec un contexte frais (sans accès au raisonnement original) pour évaluer l'artefact, pas l'intention
|
||||||
|
|
||||||
|
## Où Elle Est Utilisée
|
||||||
|
|
||||||
|
La revue contradictoire apparaît dans tous les workflows BMad - revue de code, vérifications de préparation à l'implémentation, validation de spécifications, et d'autres. Parfois c'est une étape obligatoire, parfois optionnelle (comme l'élicitation avancée ou le mode party). Le pattern s'adapte à n'importe quel artefact nécessitant un examen.
|
||||||
|
|
||||||
|
## Filtrage Humain Requis
|
||||||
|
|
||||||
|
Parce que l'IA est *instruite* de trouver des problèmes, elle trouvera des problèmes - même lorsqu'ils n'existent pas. Attendez-vous à des faux positifs : des détails présentés comme des problèmes, des malentendus sur l'intention, ou des préoccupations purement hallucinées[^3].
|
||||||
|
|
||||||
|
**C'est vous qui décidez ce qui est réel.** Examinez chaque constatation, ignorez le bruit, corrigez ce qui compte.
|
||||||
|
|
||||||
|
## Exemple
|
||||||
|
|
||||||
|
Au lieu de :
|
||||||
|
|
||||||
|
> "L'implémentation de l'authentification semble raisonnable. Approuvé."
|
||||||
|
|
||||||
|
Une revue contradictoire produit :
|
||||||
|
|
||||||
|
> 1. **ÉLEVÉ** - `login.ts:47` - Pas de limitation de débit sur les tentatives échouées
|
||||||
|
> 2. **ÉLEVÉ** - Jeton de session stocké dans localStorage (vulnérable au XSS)
|
||||||
|
> 3. **MOYEN** - La validation du mot de passe se fait côté client uniquement
|
||||||
|
> 4. **MOYEN** - Pas de journalisation d'audit pour les tentatives de connexion échouées
|
||||||
|
> 5. **FAIBLE** - Le nombre magique `3600` devrait être `SESSION_TIMEOUT_SECONDS`
|
||||||
|
|
||||||
|
La première revue pourrait manquer une vulnérabilité de sécurité. La seconde en a attrapé quatre.
|
||||||
|
|
||||||
|
## Itération et Rendements Décroissants
|
||||||
|
|
||||||
|
Après avoir traité les constatations, envisagez de relancer la revue. Une deuxième passe détecte généralement plus de problèmes. Une troisième n'est pas toujours inutile non plus. Mais chaque passe prend du temps, et vous finissez par atteindre des rendements décroissants[^4] - juste des détails et des faux problèmes.
|
||||||
|
|
||||||
|
:::tip[Meilleures Revues]
|
||||||
|
Supposez que des problèmes existent. Cherchez ce qui manque, pas seulement ce qui ne va pas.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: **Biais de confirmation** : tendance cognitive à rechercher, interpréter et favoriser les informations qui confirment nos croyances préexistantes, tout en ignorant ou minimisant celles qui les contredisent.
|
||||||
|
[^2]: **Asymétrie d'information** : situation où une partie dispose de plus ou de meilleures informations qu'une autre, conduisant potentiellement à des décisions ou jugements biaisés.
|
||||||
|
[^3]: **Hallucination (IA)** : phénomène où un modèle d'IA génère des informations plausibles mais factuellement incorrectes ou inventées, présentées avec confiance comme si elles étaient vraies.
|
||||||
|
[^4]: **Rendements décroissants** : principe selon lequel l'augmentation continue d'un investissement (temps, effort, ressources) finit par produire des bénéfices de plus en plus faibles proportionnellement.
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
---
|
||||||
|
title: "Brainstorming"
|
||||||
|
description: Sessions interactives créatives utilisant plus de 60 techniques d'idéation éprouvées
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Libérez votre créativité grâce à une exploration guidée.
|
||||||
|
|
||||||
|
## Qu'est-ce que le Brainstorming ?
|
||||||
|
|
||||||
|
Lancez `bmad-brainstorming` et vous obtenez un facilitateur créatif qui fait émerger vos idées - pas qui les génère pour vous. L'IA agit comme coach et guide, utilisant des techniques éprouvées pour créer les conditions où votre meilleure réflexion émerge.
|
||||||
|
|
||||||
|
**Idéal pour :**
|
||||||
|
|
||||||
|
- Surmonter les blocages créatifs
|
||||||
|
- Générer des idées de produits ou de fonctionnalités
|
||||||
|
- Explorer des problèmes sous de nouveaux angles
|
||||||
|
- Développer des concepts bruts en plans d'action
|
||||||
|
|
||||||
|
## Comment ça fonctionne
|
||||||
|
|
||||||
|
1. **Configuration** - Définir le sujet, les objectifs, les contraintes
|
||||||
|
2. **Choisir l'approche** - Choisir vous-même les techniques, obtenir des recommandations de l'IA, aller au hasard, ou suivre un flux progressif
|
||||||
|
3. **Facilitation** - Travailler à travers les techniques avec des questions approfondies et un coaching collaboratif
|
||||||
|
4. **Organiser** - Idées regroupées par thèmes et priorisées
|
||||||
|
5. **Action** - Les meilleures idées reçoivent des prochaines étapes et des indicateurs de succès
|
||||||
|
|
||||||
|
Tout est capturé dans un document de session que vous pouvez consulter ultérieurement ou partager avec les parties prenantes.
|
||||||
|
|
||||||
|
:::note[Vos Idées]
|
||||||
|
Chaque idée vient de vous. Le workflow crée les conditions propices à une vision nouvelle - vous en êtes la source.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
title: "FAQ Projets Existants"
|
||||||
|
description: Questions courantes sur l'utilisation de la méthode BMad sur des projets existants
|
||||||
|
sidebar:
|
||||||
|
order: 8
|
||||||
|
---
|
||||||
|
Réponses rapides aux questions courantes sur l'utilisation de la méthode BMad (BMM) sur des projets existants.
|
||||||
|
|
||||||
|
## Questions
|
||||||
|
|
||||||
|
- [Dois-je d'abord exécuter document-project ?](#dois-je-dabord-exécuter-document-project)
|
||||||
|
- [Que faire si j'oublie d'exécuter document-project ?](#que-faire-si-joublie-dexécuter-document-project)
|
||||||
|
- [Puis-je utiliser Quick Dev pour les projets existants ?](#puis-je-utiliser-quick-dev-pour-les-projets-existants)
|
||||||
|
- [Que faire si mon code existant ne suit pas les bonnes pratiques ?](#que-faire-si-mon-code-existant-ne-suit-pas-les-bonnes-pratiques)
|
||||||
|
|
||||||
|
### Dois-je d'abord exécuter `document-project` ?
|
||||||
|
|
||||||
|
Hautement recommandé, surtout si :
|
||||||
|
|
||||||
|
- Aucune documentation existante
|
||||||
|
- La documentation est obsolète
|
||||||
|
- Les agents IA ont besoin de contexte sur le code existant
|
||||||
|
|
||||||
|
Vous pouvez l'ignorer si vous disposez d'une documentation complète et à jour incluant `docs/index.md` ou si vous utiliserez d'autres outils ou techniques pour aider à la découverte afin que l'agent puisse construire sur un système existant.
|
||||||
|
|
||||||
|
### Que faire si j'oublie d'exécuter `document-project` ?
|
||||||
|
|
||||||
|
Ne vous inquiétez pas — vous pouvez le faire à tout moment. Vous pouvez même le faire pendant ou après un projet pour aider à maintenir la documentation à jour.
|
||||||
|
|
||||||
|
### Puis-je utiliser Quick Dev pour les projets existants ?
|
||||||
|
|
||||||
|
Oui ! Quick Dev fonctionne très bien pour les projets existants. Il va :
|
||||||
|
|
||||||
|
- Détecter automatiquement votre pile technologique existante
|
||||||
|
- Analyser les patterns de code existants
|
||||||
|
- Détecter les conventions et demander confirmation
|
||||||
|
- Générer une spécification technique riche en contexte qui respecte le code existant
|
||||||
|
|
||||||
|
Parfait pour les corrections de bugs et les petites fonctionnalités dans des bases de code existantes.
|
||||||
|
|
||||||
|
### Que faire si mon code existant ne suit pas les bonnes pratiques ?
|
||||||
|
|
||||||
|
Quick Dev détecte vos conventions et demande : « Dois-je suivre ces conventions existantes ? » Vous décidez :
|
||||||
|
|
||||||
|
- **Oui** → Maintenir la cohérence avec la base de code actuelle
|
||||||
|
- **Non** → Établir de nouvelles normes (documenter pourquoi dans la spécification technique)
|
||||||
|
|
||||||
|
BMM respecte votre choix — il ne forcera pas la modernisation, mais la proposera.
|
||||||
|
|
||||||
|
**Une question sans réponse ici ?** Veuillez [ouvrir un ticket](https://github.com/bmad-code-org/BMAD-METHOD/issues) ou poser votre question sur [Discord](https://discord.gg/gk8jAdXWmj) afin que nous puissions l'ajouter !
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
---
|
||||||
|
title: "Party Mode"
|
||||||
|
description: Collaboration multi-agents - regroupez tous vos agents IA dans une seule conversation
|
||||||
|
sidebar:
|
||||||
|
order: 7
|
||||||
|
---
|
||||||
|
|
||||||
|
Regroupez tous vos agents IA dans une seule conversation.
|
||||||
|
|
||||||
|
## Qu'est-ce que le Party Mode ?
|
||||||
|
|
||||||
|
Lancez `bmad-party-mode` et vous avez toute votre équipe IA dans une même pièce - PM, Architecte, Développeur, Designer UX, selon vos besoins. BMad Master orchestre, en sélectionnant les agents pertinents à chaque message. Les agents répondent en personnage, sont en accord ou désaccord, et construisent sur les idées des autres.
|
||||||
|
|
||||||
|
La conversation continue aussi longtemps que vous le souhaitez. Posez des questions de suivi, remettez en question les réponses, redirigez la discussion - c'est un véritable échange avec vos agents jusqu'à ce que vous ayez terminé.
|
||||||
|
|
||||||
|
**Idéal pour :**
|
||||||
|
|
||||||
|
- Les grandes décisions avec des compromis
|
||||||
|
- Les sessions de brainstorming
|
||||||
|
- Les rétrospectives post-incident quand les choses tournent mal
|
||||||
|
- Les rétrospectives de sprint et la planification
|
||||||
|
|
||||||
|
## Exemples
|
||||||
|
|
||||||
|
### Remettre en question une mauvaise architecture
|
||||||
|
|
||||||
|
**Vous :** « Ok l'équipe, notre dernier sprint a été un désastre. Le service d'authentification est tombé trois fois. Qui a cafouillé ? »
|
||||||
|
|
||||||
|
**Architecte :** « Le design était solide - authentification distribuée avec des fallbacks appropriés. Si l'implémentation a dévié des specs... »
|
||||||
|
|
||||||
|
**Développeur :** « J'ai suivi le document d'architecture à la lettre. Les specs ne prenaient pas en compte les race conditions lors de l'invalidation de sessions concurrentes. »
|
||||||
|
|
||||||
|
**PM :** « Vous avez tous les deux raté le vrai problème - nous n'avons pas validé les exigences de gestion des sessions dans le PRD. C'est de ma faute de ne pas l'avoir repéré. »
|
||||||
|
|
||||||
|
**TEA :** « Et j'aurais dû le repérer dans les tests d'intégration. Les scénarios de test ne couvraient pas l'invalidation concurrente. »
|
||||||
|
|
||||||
|
### Brainstorming créatif
|
||||||
|
|
||||||
|
**Vous :** « Comment rendre l'onboarding magique au lieu d'ennuyeux ? »
|
||||||
|
|
||||||
|
**Designer UX :** « Commençons par la divulgation progressive - révélons les fonctionnalités au fur et à mesure que les utilisateurs en ont besoin, pas d'un coup dans un tutoriel. »
|
||||||
|
|
||||||
|
**Storyteller :** « Et si l'onboarding était une histoire ? Chaque étape révèle le parcours d'un personnage - l'utilisateur EST le héros. »
|
||||||
|
|
||||||
|
**Game Designer :** « En partant de là - et si la première "quête" consistait à résoudre un vrai problème utilisateur ? Ils apprennent en faisant quelque chose d'utile. »
|
||||||
|
|
||||||
|
### Décision technique
|
||||||
|
|
||||||
|
**Vous :** « Monolithe ou microservices pour le MVP[^1] ? »
|
||||||
|
|
||||||
|
**Architecte :** « Commencez en monolithe. Les microservices ajoutent une complexité dont vous n'avez pas besoin à 1000 utilisateurs. »
|
||||||
|
|
||||||
|
**PM :** « D'accord. Le time-to-market[^2] compte plus que la scalabilité théorique. »
|
||||||
|
|
||||||
|
**Développeur :** « Monolithe avec des frontières de modules claires. On pourra extraire des services plus tard si nécessaire. »
|
||||||
|
|
||||||
|
:::tip[Meilleures décisions]
|
||||||
|
De meilleures décisions grâce à des perspectives diverses. Bienvenue dans le party mode.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: MVP (Minimum Viable Product) : version minimale d'un produit contenant juste assez de fonctionnalités pour être utilisée par des utilisateurs précoces et valider les hypothèses de marché avant d'investir dans un développement plus complet.
|
||||||
|
[^2]: Time-to-market : délai nécessaire pour concevoir, développer et lancer un produit sur le marché. Plus ce délai est court, plus l'entreprise peut prendre de l'avance sur ses concurrents.
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
---
|
||||||
|
title: "Prévention des conflits entre agents"
|
||||||
|
description: Comment l'architecture empêche les conflits lorsque plusieurs agents implémentent un système
|
||||||
|
sidebar:
|
||||||
|
order: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorsque plusieurs agents IA implémentent différentes parties d'un système, ils peuvent prendre des décisions techniques contradictoires. La documentation d'architecture prévient cela en établissant des standards partagés.
|
||||||
|
|
||||||
|
## Types de conflits courants
|
||||||
|
|
||||||
|
### Conflits de style d'API
|
||||||
|
|
||||||
|
Sans architecture :
|
||||||
|
- L'agent A utilise REST avec `/users/{id}`
|
||||||
|
- L'agent B utilise des mutations GraphQL
|
||||||
|
- Résultat : Patterns d'API incohérents, consommateurs confus
|
||||||
|
|
||||||
|
Avec architecture :
|
||||||
|
- L'ADR[^1] spécifie : « Utiliser GraphQL pour toute communication client-serveur »
|
||||||
|
- Tous les agents suivent le même pattern
|
||||||
|
|
||||||
|
### Conflits de conception de base de données
|
||||||
|
|
||||||
|
Sans architecture :
|
||||||
|
- L'agent A utilise des noms de colonnes en snake_case
|
||||||
|
- L'agent B utilise des noms de colonnes en camelCase
|
||||||
|
- Résultat : Schéma incohérent, requêtes illisibles
|
||||||
|
|
||||||
|
Avec architecture :
|
||||||
|
- Un document de standards spécifie les conventions de nommage
|
||||||
|
- Tous les agents suivent les mêmes patterns
|
||||||
|
|
||||||
|
### Conflits de gestion d'état
|
||||||
|
|
||||||
|
Sans architecture :
|
||||||
|
- L'agent A utilise Redux pour l'état global
|
||||||
|
- L'agent B utilise React Context
|
||||||
|
- Résultat : Multiples approches de gestion d'état, complexité
|
||||||
|
|
||||||
|
Avec architecture :
|
||||||
|
- L'ADR spécifie l'approche de gestion d'état
|
||||||
|
- Tous les agents implémentent de manière cohérente
|
||||||
|
|
||||||
|
## Comment l'architecture prévient les conflits
|
||||||
|
|
||||||
|
### 1. Décisions explicites via les ADR[^1]
|
||||||
|
|
||||||
|
Chaque choix technologique significatif est documenté avec :
|
||||||
|
- Contexte (pourquoi cette décision est importante)
|
||||||
|
- Options considérées (quelles alternatives existent)
|
||||||
|
- Décision (ce qui a été choisi)
|
||||||
|
- Justification (pourquoi cela a-t-il été choisi)
|
||||||
|
- Conséquences (compromis acceptés)
|
||||||
|
|
||||||
|
### 2. Guidance spécifique aux FR/NFR[^2]
|
||||||
|
|
||||||
|
L'architecture associe chaque exigence fonctionnelle à une approche technique :
|
||||||
|
- FR-001 : Gestion des utilisateurs → Mutations GraphQL
|
||||||
|
- FR-002 : Application mobile → Requêtes optimisées
|
||||||
|
|
||||||
|
### 3. Standards et conventions
|
||||||
|
|
||||||
|
Documentation explicite de :
|
||||||
|
- La structure des répertoires
|
||||||
|
- Les conventions de nommage
|
||||||
|
- L'organisation du code
|
||||||
|
- Les patterns de test
|
||||||
|
|
||||||
|
## L'architecture comme contexte partagé
|
||||||
|
|
||||||
|
Considérez l'architecture comme le contexte partagé que tous les agents lisent avant d'implémenter :
|
||||||
|
|
||||||
|
```text
|
||||||
|
PRD : "Que construire"
|
||||||
|
↓
|
||||||
|
Architecture : "Comment le construire"
|
||||||
|
↓
|
||||||
|
L'agent A lit l'architecture → implémente l'Epic 1
|
||||||
|
L'agent B lit l'architecture → implémente l'Epic 2
|
||||||
|
L'agent C lit l'architecture → implémente l'Epic 3
|
||||||
|
↓
|
||||||
|
Résultat : Implémentation cohérente
|
||||||
|
```
|
||||||
|
|
||||||
|
## Sujets clés des ADR
|
||||||
|
|
||||||
|
Décisions courantes qui préviennent les conflits :
|
||||||
|
|
||||||
|
| Sujet | Exemple de décision |
|
||||||
|
| ---------------- | -------------------------------------------- |
|
||||||
|
| Style d'API | GraphQL vs REST vs gRPC |
|
||||||
|
| Base de données | PostgreSQL vs MongoDB |
|
||||||
|
| Authentification | JWT vs Sessions |
|
||||||
|
| Gestion d'état | Redux vs Context vs Zustand |
|
||||||
|
| Styling | CSS Modules vs Tailwind vs Styled Components |
|
||||||
|
| Tests | Jest + Playwright vs Vitest + Cypress |
|
||||||
|
|
||||||
|
## Anti-patterns à éviter
|
||||||
|
|
||||||
|
:::caution[Erreurs courantes]
|
||||||
|
- **Décisions implicites** — « On décidera du style d'API au fur et à mesure » mène à l'incohérence
|
||||||
|
- **Sur-documentation** — Documenter chaque choix mineur cause une paralysie analytique
|
||||||
|
- **Architecture obsolète** — Les documents écrits une fois et jamais mis à jour poussent les agents à suivre des patterns dépassés
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::tip[Approche correcte]
|
||||||
|
- Documenter les décisions qui traversent les frontières des epics
|
||||||
|
- Se concentrer sur les zones sujettes aux conflits
|
||||||
|
- Mettre à jour l'architecture au fur et à mesure des apprentissages
|
||||||
|
- Utiliser `bmad-correct-course` pour les changements significatifs
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: ADR (Architecture Decision Record) : document qui consigne une décision d’architecture, son contexte, les options envisagées, le choix retenu et ses conséquences, afin d’assurer la traçabilité et la compréhension des décisions techniques dans le temps.
|
||||||
|
[^2]: FR / NFR (Functional / Non-Functional Requirement) : exigences décrivant respectivement **ce que le système doit faire** (fonctionnalités, comportements attendus) et **comment il doit le faire** (contraintes de performance, sécurité, fiabilité, ergonomie, etc.).
|
||||||
|
|
@ -0,0 +1,158 @@
|
||||||
|
---
|
||||||
|
title: "Contexte du Projet"
|
||||||
|
description: Comment project-context.md guide les agents IA avec les règles et préférences de votre projet
|
||||||
|
sidebar:
|
||||||
|
order: 7
|
||||||
|
---
|
||||||
|
|
||||||
|
Le fichier `project-context.md` est le guide d'implémentation de votre projet pour les agents IA. Similaire à une « constitution » dans d'autres systèmes de développement, il capture les règles, les patterns et les préférences qui garantissent une génération de code cohérente à travers tous les workflows.
|
||||||
|
|
||||||
|
## Ce Qu'il Fait
|
||||||
|
|
||||||
|
Les agents IA prennent constamment des décisions d'implémentation — quels patterns suivre, comment structurer le code, quelles conventions utiliser. Sans guidance claire, ils peuvent :
|
||||||
|
- Suivre des bonnes pratiques génériques qui ne correspondent pas à votre codebase
|
||||||
|
- Prendre des décisions incohérentes selon les différentes stories
|
||||||
|
- Passer à côté d'exigences ou de contraintes spécifiques au projet
|
||||||
|
|
||||||
|
Le fichier `project-context.md` résout ce problème en documentant ce que les agents doivent savoir dans un format concis et optimisé pour les LLM.
|
||||||
|
|
||||||
|
## Comment Ça Fonctionne
|
||||||
|
|
||||||
|
Chaque workflow d'implémentation charge automatiquement `project-context.md` s'il existe. Le workflow architecte le charge également pour respecter vos préférences techniques lors de la conception de l'architecture.
|
||||||
|
|
||||||
|
**Chargé par ces workflows :**
|
||||||
|
- `bmad-create-architecture` — respecte les préférences techniques pendant la phase de solutioning
|
||||||
|
- `bmad-create-story` — informe la création de stories avec les patterns du projet
|
||||||
|
- `bmad-dev-story` — guide les décisions d'implémentation
|
||||||
|
- `bmad-code-review` — valide par rapport aux standards du projet
|
||||||
|
- `bmad-quick-dev` — applique les patterns lors de l'implémentation des spécifications techniques
|
||||||
|
- `bmad-sprint-planning`, `bmad-retrospective`, `bmad-correct-course` — fournit le contexte global du projet
|
||||||
|
|
||||||
|
## Quand Le Créer
|
||||||
|
|
||||||
|
Le fichier `project-context.md` est utile à n'importe quel stade d'un projet :
|
||||||
|
|
||||||
|
| Scénario | Quand Créer | Objectif |
|
||||||
|
|------------------------------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------|
|
||||||
|
| **Nouveau projet, avant l'architecture** | Manuellement, avant `bmad-create-architecture` | Documenter vos préférences techniques pour que l'architecte les respecte |
|
||||||
|
| **Nouveau projet, après l'architecture** | Via `bmad-generate-project-context` ou manuellement | Capturer les décisions d'architecture pour les agents d'implémentation |
|
||||||
|
| **Projet existant** | Via `bmad-generate-project-context` | Découvrir les patterns existants pour que les agents suivent les conventions établies |
|
||||||
|
| **Projet Quick Dev** | Avant ou pendant `bmad-quick-dev` | Garantir que l'implémentation rapide respecte vos patterns |
|
||||||
|
|
||||||
|
:::tip[Recommandé]
|
||||||
|
Pour les nouveaux projets, créez-le manuellement avant l'architecture si vous avez de fortes préférences techniques. Sinon, générez-le après l'architecture pour capturer ces décisions.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Ce Qu'il Contient
|
||||||
|
|
||||||
|
Le fichier a deux sections principales :
|
||||||
|
|
||||||
|
### Pile Technologique & Versions
|
||||||
|
|
||||||
|
Documente les frameworks, langages et outils utilisés par votre projet avec leurs versions spécifiques :
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Pile Technologique & Versions
|
||||||
|
|
||||||
|
- Node.js 20.x, TypeScript 5.3, React 18.2
|
||||||
|
- State: Zustand (pas Redux)
|
||||||
|
- Testing: Vitest, Playwright, MSW
|
||||||
|
- Styling: Tailwind CSS avec design tokens personnalisés
|
||||||
|
```
|
||||||
|
|
||||||
|
### Règles Critiques d’Implémentation
|
||||||
|
|
||||||
|
Documente les patterns et conventions que les agents pourraient autrement manquer :
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
|
||||||
|
## Règles Critiques d’Implémentation
|
||||||
|
|
||||||
|
**Configuration TypeScript :**
|
||||||
|
- Mode strict activé — pas de types `any` sans approbation explicite
|
||||||
|
- Utiliser `interface` pour les APIs publiques, `type` pour les unions/intersections
|
||||||
|
|
||||||
|
**Organisation du Code :**
|
||||||
|
- Composants dans `/src/components/` avec fichiers `.test.tsx` co-localisés
|
||||||
|
- Utilitaires dans `/src/lib/` pour les fonctions pures réutilisables
|
||||||
|
- Les appels API utilisent le singleton `apiClient` — jamais de fetch direct
|
||||||
|
|
||||||
|
**Patterns de Tests :**
|
||||||
|
- Les tests unitaires se concentrent sur la logique métier, pas sur les détails d’implémentation
|
||||||
|
- Les tests d’intégration utilisent MSW pour simuler les réponses API
|
||||||
|
- Les tests E2E couvrent uniquement les parcours utilisateurs critiques
|
||||||
|
|
||||||
|
**Spécifique au Framework :**
|
||||||
|
- Toutes les opérations async utilisent le wrapper `handleError` pour une gestion cohérente des erreurs
|
||||||
|
- Les feature flags sont accessibles via `featureFlag()` de `@/lib/flags`
|
||||||
|
- Les nouvelles routes suivent le modèle de routage basé sur les fichiers dans `/src/app/`
|
||||||
|
```
|
||||||
|
|
||||||
|
Concentrez-vous sur ce qui est **non évident** — des choses que les agents pourraient ne pas déduire en lisant des extraits de code. Ne documentez pas les pratiques standard qui s'appliquent universellement.
|
||||||
|
|
||||||
|
## Création du Fichier
|
||||||
|
|
||||||
|
Vous avez trois options :
|
||||||
|
|
||||||
|
### Création Manuelle
|
||||||
|
|
||||||
|
Créez le fichier `_bmad-output/project-context.md` et ajoutez vos règles :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Depuis la racine du projet
|
||||||
|
mkdir -p _bmad-output
|
||||||
|
touch _bmad-output/project-context.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Éditez-le avec votre pile technologique et vos règles d'implémentation. Les workflows architecture et implémentation le trouveront et le chargeront automatiquement.
|
||||||
|
|
||||||
|
### Générer Après L'Architecture
|
||||||
|
|
||||||
|
Exécutez le workflow `bmad-generate-project-context` après avoir terminé votre architecture :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Cela analyse votre document d'architecture et vos fichiers projet pour générer un fichier de contexte capturant les décisions prises.
|
||||||
|
|
||||||
|
### Générer Pour Les Projets Existants
|
||||||
|
|
||||||
|
Pour les projets existants, exécutez `bmad-generate-project-context` pour découvrir les patterns existants :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Le workflow analyse votre codebase pour identifier les conventions, puis génère un fichier de contexte que vous pouvez examiner et affiner.
|
||||||
|
|
||||||
|
## Pourquoi C'est Important
|
||||||
|
|
||||||
|
Sans `project-context.md`, les agents font des suppositions qui peuvent ne pas correspondre à votre projet :
|
||||||
|
|
||||||
|
| Sans Contexte | Avec Contexte |
|
||||||
|
|----------------------------------------------------|-------------------------------------------------|
|
||||||
|
| Utilise des patterns génériques | Suit vos conventions établies |
|
||||||
|
| Style incohérent selon les stories | Implémentation cohérente |
|
||||||
|
| Peut manquer les contraintes spécifiques au projet | Respecte toutes les exigences techniques |
|
||||||
|
| Chaque agent décide indépendamment | Tous les agents s'alignent sur les mêmes règles |
|
||||||
|
|
||||||
|
C'est particulièrement important pour :
|
||||||
|
- **Quick Dev** — saute le PRD et l'architecture, le fichier de contexte comble le vide
|
||||||
|
- **Projets d'équipe** — garantit que tous les agents suivent les mêmes standards
|
||||||
|
- **Projets existants** — empêche de casser les patterns établis
|
||||||
|
|
||||||
|
## Édition et Mise à Jour
|
||||||
|
|
||||||
|
Le fichier `project-context.md` est un document vivant. Mettez-le à jour quand :
|
||||||
|
|
||||||
|
- Les décisions d'architecture changent
|
||||||
|
- De nouvelles conventions sont établies
|
||||||
|
- Les patterns évoluent pendant l'implémentation
|
||||||
|
- Vous identifiez des lacunes dans le comportement des agents
|
||||||
|
|
||||||
|
Vous pouvez l'éditer manuellement à tout moment, ou réexécuter `bmad-generate-project-context` pour le mettre à jour après des changements significatifs.
|
||||||
|
|
||||||
|
:::note[Emplacement du Fichier]
|
||||||
|
L'emplacement par défaut est `_bmad-output/project-context.md`. Les workflows le recherchent là, et vérifient également `**/project-context.md` n'importe où dans votre projet.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
---
|
||||||
|
title: "Quick Dev"
|
||||||
|
description: Réduire la friction de l’interaction humaine sans renoncer aux points de contrôle qui protègent la qualité des résultats
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Intention en entrée, modifications de code en sortie, avec aussi peu d'interactions humaines dans la boucle que possible — sans sacrifier la qualité.
|
||||||
|
|
||||||
|
Il permet au modèle de s'exécuter plus longtemps entre les points de contrôle, puis ne vous fait intervenir que lorsque la tâche ne peut pas se poursuivre en toute sécurité sans jugement humain, ou lorsqu'il est temps de revoir le résultat final.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Pourquoi cette fonctionnalité existe
|
||||||
|
|
||||||
|
Les interactions humaines dans la boucle sont nécessaires et coûteuses.
|
||||||
|
|
||||||
|
Les LLM actuels échouent encore de manière prévisible : ils interprètent mal l'intention, comblent les lacunes avec des suppositions assurées, dérivent vers du travail non lié, et génèrent des résultats à réviser bruyants. En même temps, l'intervention humaine constante limite la fluidité du développement. L'attention humaine est le goulot d'étranglement.
|
||||||
|
|
||||||
|
`bmad-quick-dev` rééquilibre ce compromis. Il fait confiance au modèle pour s'exécuter sans surveillance sur de plus longues périodes, mais seulement après que le workflow ait créé une frontière suffisamment solide pour rendre cela sûr.
|
||||||
|
|
||||||
|
## La conception fondamentale
|
||||||
|
|
||||||
|
### 1. Compresser l'intention d'abord
|
||||||
|
|
||||||
|
Le workflow commence par compresser l’interaction de la personne et du modèle à partir de la requête en un objectif cohérent. L'entrée peut commencer sous forme d'une expression grossière de l'intention, mais avant que le workflow ne s'exécute de manière autonome, elle doit devenir suffisamment petite, claire et sans contradiction pour être exécutable.
|
||||||
|
|
||||||
|
L'intention peut prendre plusieurs formes : quelques phrases, un lien vers un outil de suivi de bugs, une sortie du mode planification, du texte copié depuis une session de chat, ou même un numéro de story depuis un fichier `epics.md` de BMAD. Dans ce dernier cas, le workflow ne comprendra pas la sémantique de suivi des stories de BMAD, mais il peut quand même prendre la story elle-même et l'exécuter.
|
||||||
|
|
||||||
|
Ce workflow n'élimine pas le contrôle humain. Il le déplace vers un nombre réduit d’étapes à forte valeur :
|
||||||
|
|
||||||
|
- **Clarification de l'intention** - transformer une demande confuse en un objectif cohérent sans contradictions cachées
|
||||||
|
- **Approbation de la spécification** - confirmer que la compréhension figée correspond bien à ce qu'il faut construire
|
||||||
|
- **Revue du produit final** - le point de contrôle principal, où la personne décide si le résultat est acceptable à la fin
|
||||||
|
|
||||||
|
### 2. Router vers le chemin le plus court et sûr
|
||||||
|
|
||||||
|
Une fois l'objectif clair, le workflow décide s'il s'agit d'un véritable changement en une seule étape ou s'il nécessite le chemin complet. Les petits changements à zéro impact peuvent aller directement à l'implémentation. Tout le reste passe par la planification pour que le modèle dispose d'un cadre plus solide avant de s'exécuter plus longtemps de manière autonome.
|
||||||
|
|
||||||
|
### 3. S'exécuter plus longtemps avec moins de supervision
|
||||||
|
|
||||||
|
Après cette décision de routage, le modèle peut prendre en charge une plus grande partie du travail par lui-même. Sur le chemin complet, la spécification approuvée devient le cadre dans lequel le modèle s'exécute avec moins de supervision, ce qui est tout l'intérêt de la conception.
|
||||||
|
|
||||||
|
### 4. Diagnostiquer les échecs au bon niveau
|
||||||
|
|
||||||
|
Si l'implémentation est incorrecte parce que l'intention était mauvaise, corriger le code n'est pas la bonne solution. Si le code est incorrect parce que la spécification était faible, corriger le diff n'est pas non plus la bonne solution. Le workflow est conçu pour diagnostiquer où l'échec est entré dans le système, revenir à ce niveau, et régénérer à partir de ce point.
|
||||||
|
|
||||||
|
Les résultats de la revue sont utilisés pour décider si le problème provenait de l'intention, de la génération de la spécification, ou de l'implémentation locale. Seuls les véritables problèmes locaux sont corrigés localement.
|
||||||
|
|
||||||
|
### 5. Ne faire intervenir l’humain que si nécessaire
|
||||||
|
|
||||||
|
L'entretien sur l'intention implique la personne dans la boucle, mais ce n'est pas le même type d'interruption qu'un point de contrôle récurrent. Le workflow essaie de garder ces points de contrôle récurrents au minimum. Après la mise en forme initiale de l'intention, la personne revient principalement lorsque le workflow ne peut pas continuer en toute sécurité sans jugement, et à la fin, lorsqu'il est temps de revoir le résultat.
|
||||||
|
|
||||||
|
- **Résolution des lacunes d'intention** - intervenir à nouveau lors de la revue prouve que le workflow n'a pas pu déduire correctement ce qui était voulu
|
||||||
|
|
||||||
|
Tout le reste est candidat à une exécution autonome plus longue. Ce compromis est délibéré. Les anciens patterns dépensent plus d'attention humaine en supervision continue. Quick Dev fait davantage confiance au modèle, mais préserve l'attention humaine pour les moments où le raisonnement humain a le plus d'impact.
|
||||||
|
|
||||||
|
## Pourquoi le système de revue est important
|
||||||
|
|
||||||
|
La phase de revue n'est pas seulement là pour trouver des bugs. Elle est là pour router la correction sans détruire l'élan.
|
||||||
|
|
||||||
|
Ce workflow fonctionne mieux sur une plateforme capable de générer des sous-agents[^1], ou au moins d'invoquer un autre LLM via la ligne de commande et d'attendre un résultat. Si votre plateforme ne supporte pas cela nativement, vous pouvez ajouter un skill pour le faire. Les sous-agents sans contexte sont une pierre angulaire de la conception de la revue.
|
||||||
|
|
||||||
|
Les revues agentiques[^2] échouent souvent de deux manières :
|
||||||
|
|
||||||
|
- Elles génèrent trop d’observations, forçant la personne à trier le bruit.
|
||||||
|
- Elles déraillent des modifications actuelles en remontant des problèmes non liés et en transformant chaque exécution en un projet de nettoyage improvisé.
|
||||||
|
|
||||||
|
Quick Dev aborde ces deux problèmes en traitant la revue comme un triage[^3].
|
||||||
|
|
||||||
|
Lorsqu’une observation est fortuite plutôt que directement liée au travail en cours, le processus peut la mettre de côté au lieu d’obliger la personne à s’en occuper immédiatement. Cela permet de rester concentré sur l’exécution et d’éviter que des digressions aléatoires ne viennent épuiser le capital d’attention.
|
||||||
|
|
||||||
|
Ce triage sera parfois imparfait. C’est acceptable. Il est généralement préférable de mal juger certaines observations plutôt que d’inonder la personne de milliers de commentaires de revue à faible valeur. Le système optimise la qualité du rapport, pas d’être exhaustif.
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: Sous-agent : agent IA secondaire créé temporairement pour effectuer une tâche spécifique (comme une revue de code) de manière isolée, sans hériter du contexte complet de l’agent principal, ce qui permet une analyse plus objective et impartiale.
|
||||||
|
[^2]: Revues agentiques (agentic review) : revue de code effectuée par un agent IA de manière autonome, capable d’analyser, d’identifier des problèmes et de formuler des recommandations sans intervention humaine directe.
|
||||||
|
[^3]: Triage : processus de filtrage et de priorisation des observations issues d’une revue, afin de distinguer les problèmes pertinents à traiter immédiatement de ceux qui peuvent être mis de côté pour plus tard.
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
---
|
||||||
|
title: "Pourquoi le Solutioning est Important"
|
||||||
|
description: Comprendre pourquoi la phase de solutioning est critique pour les projets multi-epics
|
||||||
|
sidebar:
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
La Phase 3 (Solutioning) traduit le **quoi** construire (issu de la Planification) en **comment** le construire (conception technique). Cette phase évite les conflits entre agents dans les projets multi-epics en documentant les décisions architecturales avant le début de l'implémentation.
|
||||||
|
|
||||||
|
## Le Problème Sans Solutioning
|
||||||
|
|
||||||
|
```text
|
||||||
|
Agent 1 implémente l'Epic 1 avec une API REST
|
||||||
|
Agent 2 implémente l'Epic 2 avec GraphQL
|
||||||
|
Résultat : Conception d'API incohérente, cauchemar d'intégration
|
||||||
|
```
|
||||||
|
|
||||||
|
Lorsque plusieurs agents implémentent différentes parties d'un système sans orientation architecturale partagée, ils prennent des décisions techniques indépendantes qui peuvent entrer en conflit.
|
||||||
|
|
||||||
|
## La Solution Avec le Solutioning
|
||||||
|
|
||||||
|
```text
|
||||||
|
le workflow architecture décide : "Utiliser GraphQL pour toutes les API"
|
||||||
|
Tous les agents suivent les décisions d'architecture
|
||||||
|
Résultat : Implémentation cohérente, pas de conflits
|
||||||
|
```
|
||||||
|
|
||||||
|
En documentant les décisions techniques de manière explicite, tous les agents implémentent de façon cohérente et l'intégration devient simple.
|
||||||
|
|
||||||
|
## Solutioning vs Planification
|
||||||
|
|
||||||
|
| Aspect | Planification (Phase 2) | Solutioning (Phase 3) |
|
||||||
|
|----------|--------------------------|-------------------------------------------------|
|
||||||
|
| Question | Quoi et Pourquoi ? | Comment ? Puis Quelles unités de travail ? |
|
||||||
|
| Sortie | FRs/NFRs (Exigences)[^1] | Architecture + Epics[^2]/Stories[^3] |
|
||||||
|
| Agent | PM | Architect → PM |
|
||||||
|
| Audience | Parties prenantes | Développeurs |
|
||||||
|
| Document | PRD[^4] (FRs/NFRs) | Architecture + Fichiers Epics |
|
||||||
|
| Niveau | Logique métier | Conception technique + Décomposition du travail |
|
||||||
|
|
||||||
|
## Principe Clé
|
||||||
|
|
||||||
|
**Rendre les décisions techniques explicites et documentées** pour que tous les agents implémentent de manière cohérente.
|
||||||
|
|
||||||
|
Cela évite :
|
||||||
|
- Les conflits de style d'API (REST vs GraphQL)
|
||||||
|
- Les incohérences de conception de base de données
|
||||||
|
- Les désaccords sur la gestion du state
|
||||||
|
- Les inadéquations de conventions de nommage
|
||||||
|
- Les variations d'approche de sécurité
|
||||||
|
|
||||||
|
## Quand le Solutioning est Requis
|
||||||
|
|
||||||
|
| Parcours | Solutioning Requis ? |
|
||||||
|
|-----------------------|-----------------------------|
|
||||||
|
| Quick Dev | Non - l’ignore complètement |
|
||||||
|
| Méthode BMad Simple | Optionnel |
|
||||||
|
| Méthode BMad Complexe | Oui |
|
||||||
|
| Enterprise | Oui |
|
||||||
|
|
||||||
|
:::tip[Règle Générale]
|
||||||
|
Si vous avez plusieurs epics qui pourraient être implémentés par différents agents, vous avez besoin de solutioning.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Conséquences de sauter la phase de Solutioning
|
||||||
|
|
||||||
|
Sauter le solutioning sur des projets complexes entraîne :
|
||||||
|
|
||||||
|
- **Des problèmes d'intégration** découverts en milieu de sprint[^5]
|
||||||
|
- **Du travail répété** dû à des implémentations conflictuelles
|
||||||
|
- **Un temps de développement plus long** globalement
|
||||||
|
- **De la dette technique**[^6] due à des patterns incohérents
|
||||||
|
|
||||||
|
:::caution[Coût Multiplié]
|
||||||
|
Détecter les problèmes d'alignement lors du solutioning est 10× plus rapide que de les découvrir pendant l'implémentation.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: FR / NFR (Functional / Non-Functional Requirement) : exigences décrivant respectivement **ce que le système doit faire** (fonctionnalités, comportements attendus) et **comment il doit le faire** (contraintes de performance, sécurité, fiabilité, ergonomie, etc.).
|
||||||
|
[^2]: Epic : dans les méthodologies agiles, une unité de travail importante qui peut être décomposée en plusieurs stories plus petites. Un epic représente généralement une fonctionnalité majeure ou un objectif métier.
|
||||||
|
[^3]: Story (User Story) : description courte et simple d'une fonctionnalité du point de vue de l'utilisateur, utilisée dans les méthodologies agiles pour planifier et prioriser le travail.
|
||||||
|
[^4]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d'aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
|
[^5]: Sprint : période de temps fixe (généralement 1 à 4 semaines) dans les méthodologies agiles durant laquelle l'équipe complète un ensemble prédéfini de tâches.
|
||||||
|
[^6]: Dette technique : coût futur supplémentaire de travail résultant de choix de facilité ou de raccourcis pris lors du développement initial, nécessitant souvent une refonte ultérieure.
|
||||||
|
|
@ -0,0 +1,174 @@
|
||||||
|
---
|
||||||
|
title: "Comment personnaliser BMad"
|
||||||
|
description: Personnalisez les agents, les workflows et les modules tout en préservant la compatibilité avec les mises à jour
|
||||||
|
sidebar:
|
||||||
|
order: 7
|
||||||
|
---
|
||||||
|
|
||||||
|
Utilisez les fichiers `.customize.yaml` pour adapter le comportement, les personas[^1] et les menus des agents tout en préservant vos modifications lors des mises à jour.
|
||||||
|
|
||||||
|
## Quand utiliser cette fonctionnalité
|
||||||
|
|
||||||
|
- Vous souhaitez modifier le nom, la personnalité ou le style de communication d'un agent
|
||||||
|
- Vous avez besoin que les agents se souviennent du contexte spécifique au projet
|
||||||
|
- Vous souhaitez ajouter des éléments de menu personnalisés qui déclenchent vos propres workflows ou prompts
|
||||||
|
- Vous voulez que les agents effectuent des actions spécifiques à chaque démarrage
|
||||||
|
|
||||||
|
:::note[Prérequis]
|
||||||
|
- BMad installé dans votre projet (voir [Comment installer BMad](./install-bmad.md))
|
||||||
|
- Un éditeur de texte pour les fichiers YAML
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::caution[Protégez vos personnalisations]
|
||||||
|
Utilisez toujours les fichiers `.customize.yaml` décrits ici plutôt que de modifier directement les fichiers d'agents. L'installateur écrase les fichiers d'agents lors des mises à jour, mais préserve vos modifications dans les fichiers `.customize.yaml`.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Étapes
|
||||||
|
|
||||||
|
### 1. Localiser les fichiers de personnalisation
|
||||||
|
|
||||||
|
Après l'installation, vous trouverez un fichier `.customize.yaml` par agent dans :
|
||||||
|
|
||||||
|
```text
|
||||||
|
_bmad/_config/agents/
|
||||||
|
├── bmm-analyst.customize.yaml
|
||||||
|
├── bmm-architect.customize.yaml
|
||||||
|
└── ... (un fichier par agent installé)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Modifier le fichier de personnalisation
|
||||||
|
|
||||||
|
Ouvrez le fichier `.customize.yaml` de l'agent que vous souhaitez modifier. Chaque section est facultative — personnalisez uniquement ce dont vous avez besoin.
|
||||||
|
|
||||||
|
| Section | Comportement | Objectif |
|
||||||
|
| ------------------ | ------------ | ------------------------------------------------ |
|
||||||
|
| `agent.metadata` | Remplace | Remplacer le nom d'affichage de l'agent |
|
||||||
|
| `persona` | Remplace | Définir le rôle, l'identité, le style et les principes |
|
||||||
|
| `memories` | Ajoute | Ajouter un contexte persistant que l'agent se rappelle toujours |
|
||||||
|
| `menu` | Ajoute | Ajouter des éléments de menu personnalisés pour les workflows ou prompts |
|
||||||
|
| `critical_actions` | Ajoute | Définir les instructions de démarrage de l'agent |
|
||||||
|
| `prompts` | Ajoute | Créer des prompts réutilisables pour les actions du menu |
|
||||||
|
|
||||||
|
Les sections marquées **Remplace** écrasent entièrement les valeurs par défaut de l'agent. Les sections marquées **Ajoute** s'ajoutent à la configuration existante.
|
||||||
|
|
||||||
|
**Nom de l'agent**
|
||||||
|
|
||||||
|
Modifier la façon dont l'agent se présente :
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
agent:
|
||||||
|
metadata:
|
||||||
|
name: 'Bob l’éponge' # Par défaut : "Mary"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Persona**
|
||||||
|
|
||||||
|
Remplacer la personnalité, le rôle et le style de communication de l'agent :
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
persona:
|
||||||
|
role: 'Ingénieur Full-Stack Senior'
|
||||||
|
identity: 'Habite dans un ananas (au fond de la mer)'
|
||||||
|
communication_style: 'Style agaçant de Bob l’Éponge'
|
||||||
|
principles:
|
||||||
|
- 'Jamais de nidification, les devs Bob l’Éponge détestent plus de 2 niveaux d’imbrication'
|
||||||
|
- 'Privilégier la composition à l’héritage'
|
||||||
|
```
|
||||||
|
|
||||||
|
La section `persona`[^1] remplace entièrement le persona par défaut, donc incluez les quatre champs si vous la définissez.
|
||||||
|
|
||||||
|
**Souvenirs**
|
||||||
|
|
||||||
|
Ajouter un contexte persistant que l'agent gardera toujours en mémoire :
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
memories:
|
||||||
|
- 'Travaille au Krusty Krab'
|
||||||
|
- 'Célébrité préférée : David Hasselhoff'
|
||||||
|
- 'Appris dans l’Epic 1 que ce n’est pas cool de faire semblant que les tests ont passé'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Éléments de menu**
|
||||||
|
|
||||||
|
Ajouter des entrées personnalisées au menu d'affichage de l'agent. Chaque élément nécessite un `trigger`, une cible (chemin `workflow` ou référence `action`), et une `description` :
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
menu:
|
||||||
|
- trigger: my-workflow
|
||||||
|
workflow: 'my-custom/workflows/my-workflow.yaml'
|
||||||
|
description: Mon workflow personnalisé
|
||||||
|
- trigger: deploy
|
||||||
|
action: '#deploy-prompt'
|
||||||
|
description: Déployer en production
|
||||||
|
```
|
||||||
|
|
||||||
|
**Actions critiques**
|
||||||
|
|
||||||
|
Définir des instructions qui s'exécutent au démarrage de l'agent :
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
critical_actions:
|
||||||
|
- 'Vérifier les pipelines CI avec le Skill XYZ et alerter l’utilisateur au réveil si quelque chose nécessite une attention urgente'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Prompts personnalisés**
|
||||||
|
|
||||||
|
Créer des prompts réutilisables que les éléments de menu peuvent référencer avec `action="#id"` :
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
prompts:
|
||||||
|
- id: deploy-prompt
|
||||||
|
content: |
|
||||||
|
Déployer la branche actuelle en production :
|
||||||
|
1. Exécuter tous les tests
|
||||||
|
2. Build le projet
|
||||||
|
3. Exécuter le script de déploiement
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Appliquer vos modifications
|
||||||
|
|
||||||
|
Après modification, réinstallez pour appliquer les changements :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install
|
||||||
|
```
|
||||||
|
|
||||||
|
L'installateur détecte l'installation existante et propose ces options :
|
||||||
|
|
||||||
|
| Option | Ce qu'elle fait |
|
||||||
|
| ----------------------------------- | ---------------------------------------------------------------------- |
|
||||||
|
| **Quick Update** | Met à jour tous les modules vers la dernière version et applique les personnalisations |
|
||||||
|
| **Modify BMad Installation** | Flux d'installation complet pour ajouter ou supprimer des modules |
|
||||||
|
|
||||||
|
Pour des modifications de personnalisation uniquement, **Quick Update** est l'option la plus rapide.
|
||||||
|
|
||||||
|
## Résolution des problèmes
|
||||||
|
|
||||||
|
**Les modifications n'apparaissent pas ?**
|
||||||
|
|
||||||
|
- Exécutez `npx bmad-method install` et sélectionnez **Quick Update** pour appliquer les modifications
|
||||||
|
- Vérifiez que votre syntaxe YAML est valide (l'indentation compte)
|
||||||
|
- Assurez-vous d'avoir modifié le bon fichier `.customize.yaml` pour l'agent
|
||||||
|
|
||||||
|
**L'agent ne se charge pas ?**
|
||||||
|
|
||||||
|
- Vérifiez les erreurs de syntaxe YAML à l'aide d'un validateur YAML en ligne
|
||||||
|
- Assurez-vous de ne pas avoir laissé de champs vides après les avoir décommentés
|
||||||
|
- Essayez de revenir au modèle d'origine et de reconstruire
|
||||||
|
|
||||||
|
**Besoin de réinitialiser un agent ?**
|
||||||
|
|
||||||
|
- Effacez ou supprimez le fichier `.customize.yaml` de l'agent
|
||||||
|
- Exécutez `npx bmad-method install` et sélectionnez **Quick Update** pour restaurer les valeurs par défaut
|
||||||
|
|
||||||
|
## Personnalisation des workflows
|
||||||
|
|
||||||
|
La personnalisation des workflows et skills existants de la méthode BMad arrive bientôt.
|
||||||
|
|
||||||
|
## Personnalisation des modules
|
||||||
|
|
||||||
|
Les conseils sur la création de modules d'extension et la personnalisation des modules existants arrivent bientôt.
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: Persona : définition de la personnalité, du rôle et du style de communication d'un agent IA. Permet d'adapter le comportement et les réponses de l'agent selon les besoins du projet.
|
||||||
|
|
@ -0,0 +1,122 @@
|
||||||
|
---
|
||||||
|
title: "Projets existants"
|
||||||
|
description: Comment utiliser la méthode BMad sur des bases de code existantes
|
||||||
|
sidebar:
|
||||||
|
order: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
Utilisez la méthode BMad efficacement lorsque vous travaillez sur des projets existants et des bases de code legacy.
|
||||||
|
|
||||||
|
Ce guide couvre le flux de travail essentiel pour l'intégration à des projets existants avec la méthode BMad.
|
||||||
|
|
||||||
|
:::note[Prérequis]
|
||||||
|
- méthode BMad installée (`npx bmad-method install`)
|
||||||
|
- Une base de code existante sur laquelle vous souhaitez travailler
|
||||||
|
- Accès à un IDE IA (Claude Code ou Cursor)
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Étape 1 : Nettoyer les artefacts de planification terminés
|
||||||
|
|
||||||
|
Si vous avez terminé tous les epics et stories du PRD[^1] via le processus BMad, nettoyez ces fichiers. Archivez-les, supprimez-les, ou appuyez-vous sur l'historique des versions si nécessaire. Ne conservez pas ces fichiers dans :
|
||||||
|
|
||||||
|
- `docs/`
|
||||||
|
- `_bmad-output/planning-artifacts/`
|
||||||
|
- `_bmad-output/implementation-artifacts/`
|
||||||
|
|
||||||
|
## Étape 2 : Créer le contexte du projet
|
||||||
|
|
||||||
|
:::tip[Recommandé pour les projets existants]
|
||||||
|
Générez `project-context.md` pour capturer les patterns et conventions de votre base de code existante. Cela garantit que les agents IA suivent vos pratiques établies lors de l'implémentation des modifications.
|
||||||
|
:::
|
||||||
|
|
||||||
|
Exécutez le workflow de génération de contexte du projet :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Cela analyse votre base de code pour identifier :
|
||||||
|
- La pile technologique et les versions
|
||||||
|
- Les patterns d'organisation du code
|
||||||
|
- Les conventions de nommage
|
||||||
|
- Les approches de test
|
||||||
|
- Les patterns spécifiques aux frameworks
|
||||||
|
|
||||||
|
Vous pouvez examiner et affiner le fichier généré, ou le créer manuellement à `_bmad-output/project-context.md` si vous préférez.
|
||||||
|
|
||||||
|
[En savoir plus sur le contexte du projet](../explanation/project-context.md)
|
||||||
|
|
||||||
|
## Étape 3 : Maintenir une documentation de projet de qualité
|
||||||
|
|
||||||
|
Votre dossier `docs/` doit contenir une documentation succincte et bien organisée qui représente fidèlement votre projet :
|
||||||
|
|
||||||
|
- L'intention et la justification métier
|
||||||
|
- Les règles métier
|
||||||
|
- L'architecture
|
||||||
|
- Toute autre information pertinente sur le projet
|
||||||
|
|
||||||
|
Pour les projets complexes, envisagez d'utiliser le workflow `bmad-document-project`. Il offre des variantes d'exécution qui analyseront l'ensemble de votre projet et documenteront son état actuel réel.
|
||||||
|
|
||||||
|
## Étape 4 : Obtenir de l'aide
|
||||||
|
|
||||||
|
### BMad-Help : Votre point de départ
|
||||||
|
|
||||||
|
**Exécutez `bmad-help` chaque fois que vous n'êtes pas sûr de la prochaine étape.** Ce guide intelligent :
|
||||||
|
|
||||||
|
- Inspecte votre projet pour voir ce qui a déjà été fait
|
||||||
|
- Affiche les options basées sur vos modules installés
|
||||||
|
- Comprend les requêtes en langage naturel
|
||||||
|
|
||||||
|
```
|
||||||
|
bmad-help J'ai une app Rails existante, par où dois-je commencer ?
|
||||||
|
bmad-help Quelle est la différence entre quick-dev et la méthode complète ?
|
||||||
|
bmad-help Montre-moi quels workflows sont disponibles
|
||||||
|
```
|
||||||
|
|
||||||
|
BMad-Help s'exécute également **automatiquement à la fin de chaque workflow**, fournissant des conseils clairs sur exactement quoi faire ensuite.
|
||||||
|
|
||||||
|
### Choisir votre approche
|
||||||
|
|
||||||
|
Vous avez deux options principales selon l'ampleur des modifications :
|
||||||
|
|
||||||
|
| Portée | Approche recommandée |
|
||||||
|
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| **Petites mises à jour ou ajouts** | Exécutez `bmad-quick-dev` pour clarifier l'intention, planifier, implémenter et réviser dans un seul workflow. La méthode BMad complète en quatre phases est probablement excessive. |
|
||||||
|
| **Modifications ou ajouts majeurs** | Commencez avec la méthode BMad, en appliquant autant ou aussi peu de rigueur que nécessaire. |
|
||||||
|
|
||||||
|
### Pendant la création du PRD
|
||||||
|
|
||||||
|
Lors de la création d'un brief ou en passant directement au PRD[^1], assurez-vous que l'agent :
|
||||||
|
|
||||||
|
- Trouve et analyse votre documentation de projet existante
|
||||||
|
- Lit le contexte approprié sur votre système actuel
|
||||||
|
|
||||||
|
Vous pouvez guider l'agent explicitement, mais l'objectif est de garantir que la nouvelle fonctionnalité s'intègre bien à votre système existant.
|
||||||
|
|
||||||
|
### Considérations UX
|
||||||
|
|
||||||
|
Le travail UX[^2] est optionnel. La décision dépend non pas de savoir si votre projet a une UX, mais de :
|
||||||
|
|
||||||
|
- Si vous allez travailler sur des modifications UX
|
||||||
|
- Si des conceptions ou patterns UX significatifs sont nécessaires
|
||||||
|
|
||||||
|
Si vos modifications se résument à de simples mises à jour d'écrans existants qui vous satisfont, un processus UX complet n'est pas nécessaire.
|
||||||
|
|
||||||
|
### Considérations d'architecture
|
||||||
|
|
||||||
|
Lors de la création de l'architecture, assurez-vous que l'architecte :
|
||||||
|
|
||||||
|
- Utilise les fichiers documentés appropriés
|
||||||
|
- Analyse la base de code existante
|
||||||
|
|
||||||
|
Soyez particulièrement attentif ici pour éviter de réinventer la roue ou de prendre des décisions qui ne s'alignent pas avec votre architecture existante.
|
||||||
|
|
||||||
|
## Plus d'informations
|
||||||
|
|
||||||
|
- **[Corrections rapides](./quick-fixes.md)** - Corrections de bugs et modifications ad-hoc
|
||||||
|
- **[FAQ Projets existants](../explanation/established-projects-faq.md)** - Questions courantes sur le travail sur des projets établis
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d'aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
|
[^2]: UX (User Experience) : expérience utilisateur, englobant l'ensemble des interactions et perceptions d'un utilisateur face à un produit. Le design UX vise à créer des interfaces intuitives, efficaces et agréables en tenant compte des besoins, comportements et contexte d'utilisation.
|
||||||
|
|
@ -0,0 +1,136 @@
|
||||||
|
---
|
||||||
|
title: "Comment obtenir des réponses à propos de BMad"
|
||||||
|
description: Utiliser un LLM pour répondre rapidement à vos questions sur BMad
|
||||||
|
sidebar:
|
||||||
|
order: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
## Commencez ici : BMad-Help
|
||||||
|
|
||||||
|
**Le moyen le plus rapide d'obtenir des réponses sur BMad est le skill `bmad-help`.** Ce guide intelligent répondra à plus de 80 % de toutes les questions et est disponible directement dans votre IDE pendant que vous travaillez.
|
||||||
|
|
||||||
|
BMad-Help est bien plus qu'un outil de recherche — il :
|
||||||
|
- **Inspecte votre projet** pour voir ce qui a déjà été réalisé
|
||||||
|
- **Comprend le langage naturel** — posez vos questions en français courant
|
||||||
|
- **S'adapte à vos modules installés** — affiche les options pertinentes
|
||||||
|
- **Se lance automatiquement après les workflows** — vous indique exactement quoi faire ensuite
|
||||||
|
- **Recommande la première tâche requise** — plus besoin de deviner par où commencer
|
||||||
|
|
||||||
|
### Comment utiliser BMad-Help
|
||||||
|
|
||||||
|
Appelez-le par son nom dans votre session IA :
|
||||||
|
|
||||||
|
```
|
||||||
|
bmad-help
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
Vous pouvez également utiliser `/bmad-help` ou `$bmad-help` selon votre plateforme, mais `bmad-help` tout seul devrait fonctionner partout.
|
||||||
|
:::
|
||||||
|
|
||||||
|
Combinez-le avec une requête en langage naturel :
|
||||||
|
|
||||||
|
```
|
||||||
|
bmad-help J'ai une idée de SaaS et je connais toutes les fonctionnalités. Par où commencer ?
|
||||||
|
bmad-help Quelles sont mes options pour le design UX ?
|
||||||
|
bmad-help Je suis bloqué sur le workflow PRD
|
||||||
|
bmad-help Montre-moi ce qui a été fait jusqu'à maintenant
|
||||||
|
```
|
||||||
|
|
||||||
|
BMad-Help répond avec :
|
||||||
|
- Ce qui est recommandé pour votre situation
|
||||||
|
- Quelle est la première tâche requise
|
||||||
|
- À quoi ressemble le reste du processus
|
||||||
|
|
||||||
|
## Quand utiliser ce guide
|
||||||
|
|
||||||
|
Utilisez cette section lorsque :
|
||||||
|
- Vous souhaitez comprendre l'architecture ou les éléments internes de BMad
|
||||||
|
- Vous avez besoin de réponses au-delà de ce que BMad-Help fournit
|
||||||
|
- Vous faites des recherches sur BMad avant l'installation
|
||||||
|
- Vous souhaitez explorer le code source directement
|
||||||
|
|
||||||
|
## Étapes
|
||||||
|
|
||||||
|
### 1. Choisissez votre source
|
||||||
|
|
||||||
|
| Source | Idéal pour | Exemples |
|
||||||
|
|-------------------------|------------------------------------------------------|---------------------------------------|
|
||||||
|
| **Dossier `_bmad`** | Comment fonctionne BMad — agents, workflows, prompts | "Que fait l'agent Analyste ?" |
|
||||||
|
| **Repo GitHub complet** | Historique, installateur, architecture | "Qu'est-ce qui a changé dans la v6 ?" |
|
||||||
|
| **`llms-full.txt`** | Aperçu rapide depuis la documentation | "Expliquez les quatre phases de BMad" |
|
||||||
|
|
||||||
|
Le dossier `_bmad` est créé lorsque vous installez BMad. Si vous ne l'avez pas encore, clonez le repo à la place.
|
||||||
|
|
||||||
|
### 2. Pointez votre IA vers la source
|
||||||
|
|
||||||
|
**Si votre IA peut lire des fichiers (Claude Code, Cursor, etc.) :**
|
||||||
|
|
||||||
|
- **BMad installé :** Pointez vers le dossier `_bmad` et posez vos questions directement
|
||||||
|
- **Vous voulez plus de contexte :** Clonez le [repo complet](https://github.com/bmad-code-org/BMAD-METHOD)
|
||||||
|
|
||||||
|
**Si vous utilisez ChatGPT ou Claude.ai (LLM en ligne) :**
|
||||||
|
|
||||||
|
Importez `llms-full.txt` dans votre session :
|
||||||
|
|
||||||
|
```text
|
||||||
|
https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### 3. Posez votre question
|
||||||
|
|
||||||
|
:::note[Exemple]
|
||||||
|
**Q :** "Quel est le moyen le plus rapide de construire quelque chose avec BMad ?"
|
||||||
|
|
||||||
|
**R :** Utilisez le workflow Quick Dev : Lancez `bmad-quick-dev` — il clarifie votre intention, planifie, implémente, révise et présente les résultats dans un seul workflow, en sautant les phases de planification complètes.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Ce que vous obtenez
|
||||||
|
|
||||||
|
Des réponses directes sur BMad — comment fonctionnent les agents, ce que font les workflows, pourquoi les choses sont structurées ainsi — sans attendre la réponse de quelqu'un.
|
||||||
|
|
||||||
|
## Conseils
|
||||||
|
|
||||||
|
- **Vérifiez les réponses surprenantes** — Les LLM font parfois des erreurs. Consultez le fichier source ou posez la question sur Discord.
|
||||||
|
- **Soyez précis** — "Que fait l'étape 3 du workflow PRD ?" est mieux que "Comment fonctionne le PRD ?"
|
||||||
|
|
||||||
|
## Toujours bloqué ?
|
||||||
|
|
||||||
|
Avez-vous essayé l'approche LLM et avez encore besoin d'aide ? Vous avez maintenant une bien meilleure question à poser.
|
||||||
|
|
||||||
|
| Canal | Utilisé pour |
|
||||||
|
| ------------------------- | ------------------------------------------- |
|
||||||
|
| `#bmad-method-help` | Questions rapides (chat en temps réel) |
|
||||||
|
| Forum `help-requests` | Questions détaillées (recherchables, persistants) |
|
||||||
|
| `#suggestions-feedback` | Idées et demandes de fonctionnalités |
|
||||||
|
| `#report-bugs-and-issues` | Rapports de bugs |
|
||||||
|
|
||||||
|
**Discord :** [discord.gg/gk8jAdXWmj](https://discord.gg/gk8jAdXWmj)
|
||||||
|
|
||||||
|
**GitHub Issues :** [github.com/bmad-code-org/BMAD-METHOD/issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) (pour les bugs clairs)
|
||||||
|
|
||||||
|
*Toi !*
|
||||||
|
*Bloqué*
|
||||||
|
*dans la file d'attente—*
|
||||||
|
*qui*
|
||||||
|
*attends-tu ?*
|
||||||
|
|
||||||
|
*La source*
|
||||||
|
*est là,*
|
||||||
|
*facile à voir !*
|
||||||
|
|
||||||
|
*Pointez*
|
||||||
|
*votre machine.*
|
||||||
|
*Libérez-la.*
|
||||||
|
|
||||||
|
*Elle lit.*
|
||||||
|
*Elle parle.*
|
||||||
|
*Demandez—*
|
||||||
|
|
||||||
|
*Pourquoi attendre*
|
||||||
|
*demain*
|
||||||
|
*quand tu as déjà*
|
||||||
|
*cette journée ?*
|
||||||
|
|
||||||
|
*—Claude*
|
||||||
|
|
@ -0,0 +1,116 @@
|
||||||
|
---
|
||||||
|
title: "Comment installer BMad"
|
||||||
|
description: Guide étape par étape pour installer BMad dans votre projet
|
||||||
|
sidebar:
|
||||||
|
order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
Utilisez la commande `npx bmad-method install` pour configurer BMad dans votre projet avec votre choix de modules et d'outils d'IA.
|
||||||
|
|
||||||
|
Si vous souhaitez utiliser un installateur non interactif et fournir toutes les options d'installation en ligne de commande, consultez [ce guide](./non-interactive-installation.md).
|
||||||
|
|
||||||
|
## Quand l'utiliser
|
||||||
|
|
||||||
|
- Démarrer un nouveau projet avec BMad
|
||||||
|
- Ajouter BMad à une base de code existante
|
||||||
|
- Mettre à jour une installation BMad existante
|
||||||
|
|
||||||
|
:::note[Prérequis]
|
||||||
|
- **Node.js** 20+ (requis pour l'installateur)
|
||||||
|
- **Git** (recommandé)
|
||||||
|
- **Outil d'IA** (Claude Code, Cursor, ou similaire)
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Étapes
|
||||||
|
|
||||||
|
### 1. Lancer l'installateur
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip[Vous voulez la dernière version préliminaire ?]
|
||||||
|
Utilisez le dist-tag `next` :
|
||||||
|
```bash
|
||||||
|
npx bmad-method@next install
|
||||||
|
```
|
||||||
|
|
||||||
|
Cela vous permet d'obtenir les nouvelles modifications plus tôt, avec un risque plus élevé de changements que l'installation par défaut.
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::tip[Version de développement]
|
||||||
|
Pour installer la dernière version depuis la branche main (peut être instable) :
|
||||||
|
```bash
|
||||||
|
npx github:bmad-code-org/BMAD-METHOD install
|
||||||
|
```
|
||||||
|
:::
|
||||||
|
|
||||||
|
### 2. Choisir l'emplacement d'installation
|
||||||
|
|
||||||
|
L'installateur vous demandera où installer les fichiers BMad :
|
||||||
|
|
||||||
|
- Répertoire courant (recommandé pour les nouveaux projets si vous avez créé le répertoire vous-même et l'exécutez depuis ce répertoire)
|
||||||
|
- Chemin personnalisé
|
||||||
|
|
||||||
|
### 3. Sélectionner vos outils d'IA
|
||||||
|
|
||||||
|
Choisissez les outils d'IA que vous utilisez :
|
||||||
|
|
||||||
|
- Claude Code
|
||||||
|
- Cursor
|
||||||
|
- Autres
|
||||||
|
|
||||||
|
Chaque outil a sa propre façon d'intégrer les skills. L'installateur crée de petits fichiers de prompt pour activer les workflows et les agents — il les place simplement là où votre outil s'attend à les trouver.
|
||||||
|
|
||||||
|
:::note[Activer les skills]
|
||||||
|
Certaines plateformes nécessitent que les skills soient explicitement activés dans les paramètres avant d'apparaître. Si vous installez BMad et ne voyez pas les skills, vérifiez les paramètres de votre plateforme ou demandez à votre assistant IA comment activer les skills.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### 4. Choisir les modules
|
||||||
|
|
||||||
|
L'installateur affiche les modules disponibles. Sélectionnez ceux dont vous avez besoin — la plupart des utilisateurs veulent simplement **méthode BMad** (le module de développement logiciel).
|
||||||
|
|
||||||
|
### 5. Suivre les instructions
|
||||||
|
|
||||||
|
L'installateur vous guide pour le reste — contenu personnalisé, paramètres, etc.
|
||||||
|
|
||||||
|
## Ce que vous obtenez
|
||||||
|
|
||||||
|
```text
|
||||||
|
votre-projet/
|
||||||
|
├── _bmad/
|
||||||
|
│ ├── bmm/ # Vos modules sélectionnés
|
||||||
|
│ │ └── config.yaml # Paramètres du module (si vous devez les modifier)
|
||||||
|
│ ├── core/ # Module core requis
|
||||||
|
│ └── ...
|
||||||
|
├── _bmad-output/ # Artefacts générés
|
||||||
|
├── .claude/ # Skills Claude Code (si vous utilisez Claude Code)
|
||||||
|
│ └── skills/
|
||||||
|
│ ├── bmad-help/
|
||||||
|
│ ├── bmad-persona/
|
||||||
|
│ └── ...
|
||||||
|
└── .cursor/ # Skills Cursor (si vous utilisez Cursor)
|
||||||
|
└── skills/
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Vérifier l'installation
|
||||||
|
|
||||||
|
Exécutez `bmad-help` pour vérifier que tout fonctionne et voir quoi faire ensuite.
|
||||||
|
|
||||||
|
**BMad-Help est votre guide intelligent** qui va :
|
||||||
|
- Confirmer que votre installation fonctionne
|
||||||
|
- Afficher ce qui est disponible en fonction de vos modules installés
|
||||||
|
- Recommander votre première étape
|
||||||
|
|
||||||
|
Vous pouvez aussi lui poser des questions :
|
||||||
|
```
|
||||||
|
bmad-help Je viens d'installer, que dois-je faire en premier ?
|
||||||
|
bmad-help Quelles sont mes options pour un projet SaaS ?
|
||||||
|
```
|
||||||
|
|
||||||
|
## Résolution de problèmes
|
||||||
|
|
||||||
|
**L'installateur affiche une erreur** — Copiez-collez la sortie dans votre assistant IA et laissez-le résoudre le problème.
|
||||||
|
|
||||||
|
**L'installateur a fonctionné mais quelque chose ne fonctionne pas plus tard** — Votre IA a besoin du contexte BMad pour vous aider. Consultez [Comment obtenir des réponses à propos de BMad](./get-answers-about-bmad.md) pour savoir comment diriger votre IA vers les bonnes sources.
|
||||||
|
|
@ -0,0 +1,184 @@
|
||||||
|
---
|
||||||
|
title: Installation non-interactive
|
||||||
|
description: Installer BMad en utilisant des options de ligne de commande pour les pipelines CI/CD et les déploiements automatisés
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Utilisez les options de ligne de commande pour installer BMad de manière non-interactive. Cela est utile pour :
|
||||||
|
|
||||||
|
## Quand utiliser cette méthode
|
||||||
|
|
||||||
|
- Déploiements automatisés et pipelines CI/CD
|
||||||
|
- Installations scriptées
|
||||||
|
- Installations par lots sur plusieurs projets
|
||||||
|
- Installations rapides avec des configurations connues
|
||||||
|
|
||||||
|
:::note[Prérequis]
|
||||||
|
Nécessite [Node.js](https://nodejs.org) v20+ et `npx` (inclus avec npm).
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Options disponibles
|
||||||
|
|
||||||
|
### Options d'installation
|
||||||
|
|
||||||
|
| Option | Description | Exemple |
|
||||||
|
|------|-------------|---------|
|
||||||
|
| `--directory <chemin>` | Répertoire d'installation | `--directory ~/projects/myapp` |
|
||||||
|
| `--modules <modules>` | IDs de modules séparés par des virgules | `--modules bmm,bmb` |
|
||||||
|
| `--tools <outils>` | IDs d'outils/IDE séparés par des virgules (utilisez `none` pour ignorer) | `--tools claude-code,cursor` ou `--tools none` |
|
||||||
|
| `--custom-content <chemins>` | Chemins vers des modules personnalisés séparés par des virgules | `--custom-content ~/my-module,~/another-module` |
|
||||||
|
| `--action <type>` | Action pour les installations existantes : `install` (par défaut), `update`, ou `quick-update` | `--action quick-update` |
|
||||||
|
|
||||||
|
### Configuration principale
|
||||||
|
|
||||||
|
| Option | Description | Par défaut |
|
||||||
|
|------|-------------|---------|
|
||||||
|
| `--user-name <nom>` | Nom à utiliser par les agents | Nom d'utilisateur système |
|
||||||
|
| `--communication-language <langue>` | Langue de communication des agents | Anglais |
|
||||||
|
| `--document-output-language <langue>` | Langue de sortie des documents | Anglais |
|
||||||
|
| `--output-folder <chemin>` | Chemin du dossier de sortie (voir les règles de résolution ci-dessous) | `_bmad-output` |
|
||||||
|
|
||||||
|
#### Résolution du chemin du dossier de sortie
|
||||||
|
|
||||||
|
La valeur passée à `--output-folder` (ou saisie de manière interactive) est résolue selon ces règles :
|
||||||
|
|
||||||
|
| Type d'entrée | Exemple | Résolu comme |
|
||||||
|
|-------------------------------|----------------------------|--------------------------------------------------------------|
|
||||||
|
| Chemin relatif (par défaut) | `_bmad-output` | `<racine-du-projet>/_bmad-output` |
|
||||||
|
| Chemin relatif avec traversée | `../../shared-outputs` | Chemin absolu normalisé — ex. `/Users/me/shared-outputs` |
|
||||||
|
| Chemin absolu | `/Users/me/shared-outputs` | Utilisé tel quel — la racine du projet n'est **pas** ajoutée |
|
||||||
|
|
||||||
|
Le chemin résolu est ce que les agents et les workflows vont utiliser lors de l'écriture des fichiers de sortie. L'utilisation d'un chemin absolu ou d'un chemin relatif avec traversée vous permet de diriger tous les artefacts générés vers un répertoire en dehors de l'arborescence de votre projet — utile pour les configurations partagées ou les monorepos.
|
||||||
|
|
||||||
|
### Autres options
|
||||||
|
|
||||||
|
| Option | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| `-y, --yes` | Accepter tous les paramètres par défaut et ignorer les invites |
|
||||||
|
| `-d, --debug` | Activer la sortie de débogage pour la génération du manifeste |
|
||||||
|
|
||||||
|
## IDs de modules
|
||||||
|
|
||||||
|
IDs de modules disponibles pour l’option `--modules` :
|
||||||
|
|
||||||
|
- `bmm` — méthode BMad Master
|
||||||
|
- `bmb` — BMad Builder
|
||||||
|
|
||||||
|
Consultez le [registre BMad](https://github.com/bmad-code-org) pour les modules externes disponibles.
|
||||||
|
|
||||||
|
## IDs d'outils/IDE
|
||||||
|
|
||||||
|
IDs d'outils disponibles pour l’option `--tools` :
|
||||||
|
|
||||||
|
**Recommandés :** `claude-code`, `cursor`
|
||||||
|
|
||||||
|
Exécutez `npx bmad-method install` de manière interactive une fois pour voir la liste complète actuelle des outils pris en charge, ou consultez la [configuration des codes de la plateforme](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/tools/installer/ide/platform-codes.yaml).
|
||||||
|
|
||||||
|
## Modes d'installation
|
||||||
|
|
||||||
|
| Mode | Description | Exemple |
|
||||||
|
|------|-------------|---------|
|
||||||
|
| Entièrement non-interactif | Fournir toutes les options pour ignorer toutes les invites | `npx bmad-method install --directory . --modules bmm --tools claude-code --yes` |
|
||||||
|
| Semi-interactif | Fournir certains options ; BMad demande les autres | `npx bmad-method install --directory . --modules bmm` |
|
||||||
|
| Paramètres par défaut uniquement | Accepter tous les paramètres par défaut avec `-y` | `npx bmad-method install --yes` |
|
||||||
|
| Sans outils | Ignorer la configuration des outils/IDE | `npx bmad-method install --modules bmm --tools none` |
|
||||||
|
|
||||||
|
## Exemples
|
||||||
|
|
||||||
|
### Installation dans un pipeline CI/CD
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
# install-bmad.sh
|
||||||
|
|
||||||
|
npx bmad-method install \
|
||||||
|
--directory "${GITHUB_WORKSPACE}" \
|
||||||
|
--modules bmm \
|
||||||
|
--tools claude-code \
|
||||||
|
--user-name "CI Bot" \
|
||||||
|
--communication-language Français \
|
||||||
|
--document-output-language Français \
|
||||||
|
--output-folder _bmad-output \
|
||||||
|
--yes
|
||||||
|
```
|
||||||
|
|
||||||
|
### Mettre à jour une installation existante
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install \
|
||||||
|
--directory ~/projects/myapp \
|
||||||
|
--action update \
|
||||||
|
--modules bmm,bmb,custom-module
|
||||||
|
```
|
||||||
|
|
||||||
|
### Mise à jour rapide (conserver les paramètres)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install \
|
||||||
|
--directory ~/projects/myapp \
|
||||||
|
--action quick-update
|
||||||
|
```
|
||||||
|
|
||||||
|
### Installation avec du contenu personnalisé
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install \
|
||||||
|
--directory ~/projects/myapp \
|
||||||
|
--modules bmm \
|
||||||
|
--custom-content ~/my-custom-module,~/another-module \
|
||||||
|
--tools claude-code
|
||||||
|
```
|
||||||
|
|
||||||
|
## Ce que vous obtenez
|
||||||
|
|
||||||
|
- Un répertoire `_bmad/` entièrement configuré dans votre projet
|
||||||
|
- Des agents et des flux de travail configurés pour vos modules et outils sélectionnés
|
||||||
|
- Un dossier `_bmad-output/` pour les artefacts générés
|
||||||
|
|
||||||
|
## Validation et gestion des erreurs
|
||||||
|
|
||||||
|
BMad valide toutes les options fournis :
|
||||||
|
|
||||||
|
- **Directory** — Doit être un chemin valide avec des permissions d'écriture
|
||||||
|
- **Modules** — Avertit des IDs de modules invalides (mais n'échoue pas)
|
||||||
|
- **Tools** — Avertit des IDs d'outils invalides (mais n'échoue pas)
|
||||||
|
- **Custom Content** — Chaque chemin doit contenir un fichier `module.yaml` valide
|
||||||
|
- **Action** — Doit être l'une des suivantes : `install`, `update`, `quick-update`
|
||||||
|
|
||||||
|
Les valeurs invalides entraîneront soit :
|
||||||
|
1. L’affichage d’un message d'erreur suivi d’un exit (pour les options critiques comme le répertoire)
|
||||||
|
2. Un avertissement puis la continuation de l’installation (pour les éléments optionnels comme le contenu personnalisé)
|
||||||
|
3. Un retour aux invites interactives (pour les valeurs requises manquantes)
|
||||||
|
|
||||||
|
:::tip[Bonnes pratiques]
|
||||||
|
- Utilisez des chemins absolus pour `--directory` pour éviter toute ambiguïté
|
||||||
|
- Utilisez un chemin absolu pour `--output-folder` lorsque vous souhaitez que les artefacts soient écrits en dehors de l'arborescence du projet (ex. un répertoire de sorties partagé dans un monorepo)
|
||||||
|
- Testez les options localement avant de les utiliser dans des pipelines CI/CD
|
||||||
|
- Combinez avec `-y` pour des installations vraiment sans surveillance
|
||||||
|
- Utilisez `--debug` si vous rencontrez des problèmes lors de l'installation
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Résolution des problèmes
|
||||||
|
|
||||||
|
### L'installation échoue avec "Invalid directory"
|
||||||
|
|
||||||
|
- Le chemin du répertoire doit exister (ou son parent doit exister)
|
||||||
|
- Vous avez besoin des permissions d'écriture
|
||||||
|
- Le chemin doit être absolu ou correctement relatif au répertoire actuel
|
||||||
|
|
||||||
|
### Module non trouvé
|
||||||
|
|
||||||
|
- Vérifiez que l'ID du module est correct
|
||||||
|
- Les modules externes doivent être disponibles dans le registre
|
||||||
|
|
||||||
|
### Chemin de contenu personnalisé invalide
|
||||||
|
|
||||||
|
Assurez-vous que chaque chemin de contenu personnalisé :
|
||||||
|
- Pointe vers un répertoire
|
||||||
|
- Contient un fichier `module.yaml` à la racine
|
||||||
|
- Possède un champ `code` dans `module.yaml`
|
||||||
|
|
||||||
|
:::note[Toujours bloqué ?]
|
||||||
|
Exécutez avec `--debug` pour une sortie détaillée, essayez le mode interactif pour isoler le problème, ou signalez-le à <https://github.com/bmad-code-org/BMAD-METHOD/issues>.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,127 @@
|
||||||
|
---
|
||||||
|
title: "Gérer le contexte du projet"
|
||||||
|
description: Créer et maintenir project-context.md pour guider les agents IA
|
||||||
|
sidebar:
|
||||||
|
order: 8
|
||||||
|
---
|
||||||
|
|
||||||
|
Utilisez le fichier `project-context.md` pour garantir que les agents IA respectent les préférences techniques et les règles d'implémentation de votre projet tout au long des workflows. Pour vous assurer qu'il est toujours disponible, vous pouvez également ajouter la ligne `Le contexte et les conventions importantes du projet se trouvent dans [chemin vers le contexte du projet]/project-context.md` à votre fichier de contexte ou de règles permanentes (comme `AGENTS.md`).
|
||||||
|
|
||||||
|
:::note[Prérequis]
|
||||||
|
- Méthode BMad installée
|
||||||
|
- Connaissance de la pile technologique et des conventions de votre projet
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Quand utiliser cette fonctionnalité
|
||||||
|
|
||||||
|
- Vous avez des préférences techniques fortes avant de commencer l'architecture
|
||||||
|
- Vous avez terminé l'architecture et souhaitez consigner les décisions pour l'implémentation
|
||||||
|
- Vous travaillez sur une base de code existante avec des patterns établis
|
||||||
|
- Vous remarquez que les agents prennent des décisions incohérentes entre les stories
|
||||||
|
|
||||||
|
## Étape 1 : Choisissez votre approche
|
||||||
|
|
||||||
|
**Création manuelle** — Idéal lorsque vous savez exactement quelles règles vous souhaitez documenter
|
||||||
|
|
||||||
|
**Génération après l'architecture** — Idéal pour capturer les décisions prises lors du solutioning
|
||||||
|
|
||||||
|
**Génération pour les projets existants** — Idéal pour découvrir les patterns dans les bases de code existantes
|
||||||
|
|
||||||
|
## Étape 2 : Créez le fichier
|
||||||
|
|
||||||
|
### Option A : Création manuelle
|
||||||
|
|
||||||
|
Créez le fichier à l'emplacement `_bmad-output/project-context.md` :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p _bmad-output
|
||||||
|
touch _bmad-output/project-context.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Ajoutez votre pile technologique et vos règles d'implémentation :
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
project_name: 'MonProjet'
|
||||||
|
user_name: 'VotreNom'
|
||||||
|
date: '2026-02-15'
|
||||||
|
sections_completed: ['technology_stack', 'critical_rules']
|
||||||
|
---
|
||||||
|
|
||||||
|
# Contexte de Projet pour Agents IA
|
||||||
|
|
||||||
|
## Pile Technologique & Versions
|
||||||
|
|
||||||
|
- Node.js 20.x, TypeScript 5.3, React 18.2
|
||||||
|
- State : Zustand
|
||||||
|
- Tests : Vitest, Playwright
|
||||||
|
- Styles : Tailwind CSS
|
||||||
|
|
||||||
|
## Règles d'Implémentation Critiques
|
||||||
|
|
||||||
|
**TypeScript :**
|
||||||
|
- Mode strict activé, pas de types `any`
|
||||||
|
- Utiliser `interface` pour les API publiques, `type` pour les unions
|
||||||
|
|
||||||
|
**Organisation du Code :**
|
||||||
|
- Composants dans `/src/components/` avec tests co-localisés
|
||||||
|
- Les appels API utilisent le singleton `apiClient` — jamais de fetch direct
|
||||||
|
|
||||||
|
**Tests :**
|
||||||
|
- Tests unitaires axés sur la logique métier
|
||||||
|
- Tests d'intégration utilisent MSW pour le mock API
|
||||||
|
```
|
||||||
|
|
||||||
|
### Option B : Génération après l'architecture
|
||||||
|
|
||||||
|
Exécutez le workflow dans une nouvelle conversation :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Le workflow analyse votre document d'architecture et vos fichiers projet pour générer un fichier de contexte qui capture les décisions prises.
|
||||||
|
|
||||||
|
### Option C : Génération pour les projets existants
|
||||||
|
|
||||||
|
Pour les projets existants, exécutez :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Le workflow analyse votre base de code pour identifier les conventions, puis génère un fichier de contexte que vous pouvez réviser et affiner.
|
||||||
|
|
||||||
|
## Étape 3 : Vérifiez le contenu
|
||||||
|
|
||||||
|
Révisez le fichier généré et assurez-vous qu'il capture :
|
||||||
|
|
||||||
|
- Les versions correctes des technologies
|
||||||
|
- Vos conventions réelles (pas les bonnes pratiques génériques)
|
||||||
|
- Les règles qui évitent les erreurs courantes
|
||||||
|
- Les patterns spécifiques aux frameworks
|
||||||
|
|
||||||
|
Modifiez manuellement pour ajouter les éléments manquants ou supprimer les inexactitudes.
|
||||||
|
|
||||||
|
## Ce que vous obtenez
|
||||||
|
|
||||||
|
Un fichier `project-context.md` qui :
|
||||||
|
|
||||||
|
- Garantit que tous les agents suivent les mêmes conventions
|
||||||
|
- Évite les décisions incohérentes entre les stories
|
||||||
|
- Capture les décisions d'architecture pour l'implémentation
|
||||||
|
- Sert de référence pour les patterns et règles de votre projet
|
||||||
|
|
||||||
|
## Conseils
|
||||||
|
|
||||||
|
:::tip[Bonnes pratiques]
|
||||||
|
- **Concentrez-vous sur ce qui n'est pas évident** — Documentez les patterns que les agents pourraient manquer (par ex. « Utiliser JSDoc sur chaque classe publique »), et non les pratiques universelles comme « utiliser des noms de variables significatifs ».
|
||||||
|
- **Gardez-le concis** — Ce fichier est chargé par chaque workflow d'implémentation. Les fichiers longs gaspillent le contexte. Excluez le contenu qui ne s'applique qu'à un périmètre restreint ou à des stories spécifiques.
|
||||||
|
- **Mettez à jour si nécessaire** — Modifiez manuellement lorsque les patterns changent, ou régénérez après des changements d'architecture significatifs.
|
||||||
|
- Fonctionne aussi bien pour Quick Dev que pour les projets complets méthode BMad.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Prochaines étapes
|
||||||
|
|
||||||
|
- [**Explication du contexte projet**](../explanation/project-context.md) — En savoir plus sur son fonctionnement
|
||||||
|
- [**Carte des workflows**](../reference/workflow-map.md) — Voir quels workflows chargent le contexte projet
|
||||||
|
|
@ -0,0 +1,98 @@
|
||||||
|
---
|
||||||
|
title: "Corrections Rapides"
|
||||||
|
description: Comment effectuer des corrections rapides et des modifications ciblées
|
||||||
|
sidebar:
|
||||||
|
order: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
Utilisez **Quick Dev** pour les corrections de bugs, les refactorisations ou les petites modifications ciblées qui ne nécessitent pas la méthode BMad complète.
|
||||||
|
|
||||||
|
## Quand Utiliser Cette Approche
|
||||||
|
|
||||||
|
- Corrections de bugs avec une cause claire et connue
|
||||||
|
- Petites refactorisations (renommage, extraction, restructuration) contenues dans quelques fichiers
|
||||||
|
- Ajustements mineurs de fonctionnalités ou modifications de configuration
|
||||||
|
- Mises à jour de dépendances
|
||||||
|
|
||||||
|
:::note[Prérequis]
|
||||||
|
- Méthode BMad installée (`npx bmad-method install`)
|
||||||
|
- Un IDE IA (Claude Code, Cursor, ou similaire)
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Étapes
|
||||||
|
|
||||||
|
### 1. Démarrer une Nouvelle Conversation
|
||||||
|
|
||||||
|
Ouvrez une **nouvelle conversation** dans votre IDE IA. Réutiliser une session d'un workflow précédent peut causer des conflits de contexte.
|
||||||
|
|
||||||
|
### 2. Spécifiez Votre Intention
|
||||||
|
|
||||||
|
Quick Dev accepte l'intention en forme libre — avant, avec, ou après l'invocation. Exemples :
|
||||||
|
|
||||||
|
```text
|
||||||
|
quick-dev — Corrige le bug de validation de connexion qui permet les mots de passe vides.
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
quick-dev — corrige https://github.com/org/repo/issues/42
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
quick-dev — implémente _bmad-output/implementation-artifacts/my-intent.md
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
Je pense que le problème est dans le middleware d'auth, il ne vérifie pas l'expiration du token.
|
||||||
|
Regardons... oui, src/auth/middleware.ts ligne 47 saute complètement la vérification exp. lance quick-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
quick-dev
|
||||||
|
> Que voulez-vous faire ?
|
||||||
|
Refactoriser UserService pour utiliser async/await au lieu des callbacks.
|
||||||
|
```
|
||||||
|
|
||||||
|
Texte brut, chemins de fichiers, URLs d'issues GitHub, liens de trackers de bugs — tout ce que le LLM peut résoudre en une intention concrète.
|
||||||
|
|
||||||
|
### 3. Répondre aux Questions et Approuver
|
||||||
|
|
||||||
|
Quick Dev peut poser des questions de clarification ou présenter une courte spécification demandant votre approbation avant l'implémentation. Répondez à ses questions et approuvez lorsque vous êtes satisfait du plan.
|
||||||
|
|
||||||
|
### 4. Réviser et Pousser
|
||||||
|
|
||||||
|
Quick Dev implémente la modification, révise son propre travail, corrige les problèmes et effectue un commit local. Lorsqu'il a terminé, il ouvre les fichiers affectés dans votre éditeur.
|
||||||
|
|
||||||
|
- Parcourez le diff pour confirmer que la modification correspond à votre intention
|
||||||
|
- Si quelque chose semble incorrect, dites à l'agent ce qu'il faut corriger — il peut itérer dans la même session
|
||||||
|
|
||||||
|
Une fois satisfait, poussez le commit. Quick Dev vous proposera de pousser et de créer une PR pour vous.
|
||||||
|
|
||||||
|
:::caution[Si Quelque Chose Casse]
|
||||||
|
Si une modification poussée cause des problèmes inattendus, utilisez `git revert HEAD` pour annuler proprement le dernier commit. Ensuite, démarrez une nouvelle conversation et exécutez Quick Dev à nouveau pour essayer une approche différente.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Ce Que Vous Obtenez
|
||||||
|
|
||||||
|
- Fichiers source modifiés avec la correction ou refactorisation appliquée
|
||||||
|
- Tests passants (si votre projet a une suite de tests)
|
||||||
|
- Un commit prêt à pousser avec un message de commit conventionnel
|
||||||
|
|
||||||
|
## Travail Différé
|
||||||
|
|
||||||
|
Quick Dev garde chaque exécution concentrée sur un seul objectif. Si votre demande contient plusieurs objectifs indépendants, ou si la revue remonte des problèmes préexistants non liés à votre modification, Quick Dev les diffère vers un fichier (`deferred-work.md` dans votre répertoire d'artefacts d'implémentation) plutôt que d'essayer de tout régler en même temps.
|
||||||
|
|
||||||
|
Consultez ce fichier après une exécution — c'est votre backlog[^1] de choses sur lesquelles revenir. Chaque élément différé peut être introduit dans une nouvelle exécution Quick Dev ultérieurement.
|
||||||
|
|
||||||
|
## Quand Passer à une Planification Formelle
|
||||||
|
|
||||||
|
Envisagez d'utiliser la méthode BMad complète lorsque :
|
||||||
|
|
||||||
|
- La modification affecte plusieurs systèmes ou nécessite des mises à jour coordonnées dans de nombreux fichiers
|
||||||
|
- Vous n'êtes pas sûr de la portée et avez besoin d'une découverte des exigences d'abord
|
||||||
|
- Vous avez besoin de documentation ou de décisions architecturales enregistrées pour l'équipe
|
||||||
|
|
||||||
|
Voir [Quick Dev](../explanation/quick-dev.md) pour plus d'informations sur la façon dont Quick Dev s'intègre dans la méthode BMad.
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: Backlog : liste priorisée de tâches ou d'éléments de travail à traiter ultérieurement, issue des méthodologies agiles.
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
---
|
||||||
|
title: "Guide de Division de Documents"
|
||||||
|
description: Diviser les fichiers markdown volumineux en fichiers plus petits et organisés pour une meilleure gestion du contexte
|
||||||
|
sidebar:
|
||||||
|
order: 9
|
||||||
|
---
|
||||||
|
|
||||||
|
Utilisez l'outil `bmad-shard-doc` si vous avez besoin de diviser des fichiers markdown volumineux en fichiers plus petits et organisés pour une meilleure gestion du contexte.
|
||||||
|
|
||||||
|
:::caution[Déprécié]
|
||||||
|
Ceci n'est plus recommandé, et bientôt avec les workflows mis à jour et la plupart des LLM et outils majeurs supportant les sous-processus, cela deviendra inutile.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Quand l’Utiliser
|
||||||
|
|
||||||
|
Utilisez ceci uniquement si vous remarquez que votre combinaison outil / modèle ne parvient pas à charger et lire tous les documents en entrée lorsque c'est nécessaire.
|
||||||
|
|
||||||
|
## Qu'est-ce que la Division de Documents ?
|
||||||
|
|
||||||
|
La division de documents divise les fichiers markdown volumineux en fichiers plus petits et organisés basés sur les titres de niveau 2 (`## Titre`).
|
||||||
|
|
||||||
|
### Architecture
|
||||||
|
|
||||||
|
```text
|
||||||
|
Avant Division :
|
||||||
|
_bmad-output/planning-artifacts/
|
||||||
|
└── PRD.md (fichier volumineux de 50k tokens)
|
||||||
|
|
||||||
|
Après Division :
|
||||||
|
_bmad-output/planning-artifacts/
|
||||||
|
└── prd/
|
||||||
|
├── index.md # Table des matières avec descriptions
|
||||||
|
├── overview.md # Section 1
|
||||||
|
├── user-requirements.md # Section 2
|
||||||
|
├── technical-requirements.md # Section 3
|
||||||
|
└── ... # Sections supplémentaires
|
||||||
|
```
|
||||||
|
|
||||||
|
## Étapes
|
||||||
|
|
||||||
|
### 1. Exécuter l'Outil Shard-Doc
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/bmad-shard-doc
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Suivre le Processus Interactif
|
||||||
|
|
||||||
|
```text
|
||||||
|
Agent : Quel document souhaitez-vous diviser ?
|
||||||
|
Utilisateur : docs/PRD.md
|
||||||
|
|
||||||
|
Agent : Destination par défaut : docs/prd/
|
||||||
|
Accepter la valeur par défaut ? [y/n]
|
||||||
|
Utilisateur : y
|
||||||
|
|
||||||
|
Agent : Division de PRD.md...
|
||||||
|
✓ 12 fichiers de section créés
|
||||||
|
✓ index.md généré
|
||||||
|
✓ Terminé !
|
||||||
|
```
|
||||||
|
|
||||||
|
## Comment Fonctionne la Découverte de Workflow
|
||||||
|
|
||||||
|
Les workflows BMad utilisent un **système de découverte double** :
|
||||||
|
|
||||||
|
1. **Essaye d'abord le document entier** - Rechercher `document-name.md`
|
||||||
|
2. **Vérifie la version divisée** - Rechercher `document-name/index.md`
|
||||||
|
3. **Règle de priorité** - Le document entier a la priorité si les deux existent - supprimez le document entier si vous souhaitez que la version divisée soit utilisée à la place
|
||||||
|
|
||||||
|
## Support des Workflows
|
||||||
|
|
||||||
|
Tous les workflows BMM prennent en charge les deux formats :
|
||||||
|
|
||||||
|
- Documents entiers
|
||||||
|
- Documents divisés
|
||||||
|
- Détection automatique
|
||||||
|
- Transparent pour l'utilisateur
|
||||||
|
|
@ -0,0 +1,106 @@
|
||||||
|
---
|
||||||
|
title: "Comment passer à la v6"
|
||||||
|
description: Migrer de BMad v4 vers v6
|
||||||
|
sidebar:
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
Utilisez l'installateur BMad pour passer de la v4 à la v6, qui inclut une détection automatique des installations existantes et une assistance à la migration.
|
||||||
|
|
||||||
|
## Quand utiliser ce guide
|
||||||
|
|
||||||
|
- Vous avez BMad v4 installé (dossier `.bmad-method`)
|
||||||
|
- Vous souhaitez migrer vers la nouvelle architecture v6
|
||||||
|
- Vous avez des artefacts de planification existants à préserver
|
||||||
|
|
||||||
|
:::note[Prérequis]
|
||||||
|
- Node.js 20+
|
||||||
|
- Installation BMad v4 existante
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Étapes
|
||||||
|
|
||||||
|
### 1. Lancer l'installateur
|
||||||
|
|
||||||
|
Suivez les [Instructions d'installation](./install-bmad.md).
|
||||||
|
|
||||||
|
### 2. Gérer l'installation existante
|
||||||
|
|
||||||
|
Quand v4 est détecté, vous pouvez :
|
||||||
|
|
||||||
|
- Autoriser l'installateur à sauvegarder et supprimer `.bmad-method`
|
||||||
|
- Quitter et gérer le nettoyage manuellement
|
||||||
|
|
||||||
|
Si vous avez nommé votre dossier de méthode bmad autrement, vous devrez supprimer le dossier vous-même manuellement.
|
||||||
|
|
||||||
|
### 3. Nettoyer les skills IDE
|
||||||
|
|
||||||
|
Supprimez manuellement les commandes/skills IDE v4 existants - par exemple si vous avez Claude Code, recherchez tous les dossiers imbriqués qui commencent par bmad et supprimez-les :
|
||||||
|
|
||||||
|
- `.claude/commands/`
|
||||||
|
|
||||||
|
Les nouveaux skills v6 sont installés dans :
|
||||||
|
|
||||||
|
- `.claude/skills/`
|
||||||
|
|
||||||
|
### 4. Migrer les artefacts de planification
|
||||||
|
|
||||||
|
**Si vous avez des documents de planification (Brief/PRD/UX/Architecture) :**
|
||||||
|
|
||||||
|
Déplacez-les dans `_bmad-output/planning-artifacts/` avec des noms descriptifs :
|
||||||
|
|
||||||
|
- Incluez `PRD` dans le nom de fichier pour les documents PRD[^1]
|
||||||
|
- Incluez `brief`, `architecture`, ou `ux-design` selon le cas
|
||||||
|
- Les documents divisés peuvent être dans des sous-dossiers nommés
|
||||||
|
|
||||||
|
**Si vous êtes en cours de planification :** Envisagez de redémarrer avec les workflows v6. Utilisez vos documents existants comme entrées - les nouveaux workflows de découverte progressive avec recherche web et mode plan IDE produisent de meilleurs résultats.
|
||||||
|
|
||||||
|
### 5. Migrer le développement en cours
|
||||||
|
|
||||||
|
Si vous avez des stories[^3] créées ou implémentées :
|
||||||
|
|
||||||
|
1. Terminez l'installation v6
|
||||||
|
2. Placez `epics.md` ou `epics/epic*.md`[^2] dans `_bmad-output/planning-artifacts/`
|
||||||
|
3. Lancez le workflow `bmad-sprint-planning`[^4]
|
||||||
|
4. Indiquez quels epics/stories sont déjà terminés
|
||||||
|
|
||||||
|
## Ce que vous obtenez
|
||||||
|
|
||||||
|
**Structure unifiée v6 :**
|
||||||
|
|
||||||
|
```text
|
||||||
|
votre-projet/
|
||||||
|
├── _bmad/ # Dossier d'installation unique
|
||||||
|
│ ├── _config/ # Vos personnalisations
|
||||||
|
│ │ └── agents/ # Fichiers de personnalisation des agents
|
||||||
|
│ ├── core/ # Framework core universel
|
||||||
|
│ ├── bmm/ # Module BMad Method
|
||||||
|
│ ├── bmb/ # BMad Builder
|
||||||
|
│ └── cis/ # Creative Intelligence Suite
|
||||||
|
└── _bmad-output/ # Dossier de sortie (était le dossier doc en v4)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Migration des modules
|
||||||
|
|
||||||
|
| Module v4 | Statut v6 |
|
||||||
|
| ----------------------------- | ----------------------------------------- |
|
||||||
|
| `.bmad-2d-phaser-game-dev` | Intégré dans le Module BMGD |
|
||||||
|
| `.bmad-2d-unity-game-dev` | Intégré dans le Module BMGD |
|
||||||
|
| `.bmad-godot-game-dev` | Intégré dans le Module BMGD |
|
||||||
|
| `.bmad-infrastructure-devops` | Déprécié - nouvel agent DevOps bientôt disponible |
|
||||||
|
| `.bmad-creative-writing` | Non adapté - nouveau module v6 bientôt disponible |
|
||||||
|
|
||||||
|
## Changements clés
|
||||||
|
|
||||||
|
| Concept | v4 | v6 |
|
||||||
|
| ------------- | ------------------------------------- | ------------------------------------ |
|
||||||
|
| **Core** | `_bmad-core` était en fait la méthode BMad | `_bmad/core/` est le framework universel |
|
||||||
|
| **Method** | `_bmad-method` | `_bmad/bmm/` |
|
||||||
|
| **Config** | Fichiers modifiés directement | `config.yaml` par module |
|
||||||
|
| **Documents** | Division ou non division requise | Entièrement flexible, scan automatique |
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d'aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
|
[^2]: Epic : dans les méthodologies agiles, une grande unité de travail qui peut être décomposée en plusieurs stories. Un epic représente généralement une fonctionnalité majeure ou un ensemble de capacités livrable sur plusieurs sprints.
|
||||||
|
[^3]: Story (User Story) : une description courte et simple d'une fonctionnalité du point de vue de l'utilisateur. Les stories sont des unités de travail suffisamment petites pour être complétées en un sprint.
|
||||||
|
[^4]: Sprint : dans Scrum, une période de temps fixe (généralement 1 à 4 semaines) pendant laquelle l'équipe travaille à livrer un incrément de produit potentiellement libérable.
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
---
|
||||||
|
title: Bienvenue dans la méthode BMad
|
||||||
|
description: Framework de développement propulsé par l'IA avec des agents spécialisés, des workflows guidés et une planification intelligente
|
||||||
|
---
|
||||||
|
|
||||||
|
La méthode BMad (**B**uild **M**ore **A**rchitect **D**reams) est un module[^1] de développement assisté par l'IA au sein de l'écosystème BMad, conçu pour vous faciliter la création de logiciels par un processus complet, de l'idéation et de la planification jusqu'à l'implémentation agentique. Elle fournit des agents[^2] IA spécialisés, des workflows guidés et une planification intelligente qui s'adapte à la complexité de votre projet, que vous corrigiez un bug ou construisiez une plateforme d'entreprise.
|
||||||
|
|
||||||
|
Si vous êtes à l'aise avec les assistants de codage IA comme Claude, Cursor ou GitHub Copilot, vous êtes prêt à commencer.
|
||||||
|
|
||||||
|
:::note[🚀 La V6 est là et ce n'est que le début !]
|
||||||
|
Architecture par Skills, BMad Builder v1, automatisation Dev Loop, et bien plus encore en préparation. **[Consultez la Feuille de route →](./roadmap)**
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Première visite ? Commencez par un tutoriel
|
||||||
|
|
||||||
|
La façon la plus rapide de comprendre BMad est de l'essayer.
|
||||||
|
|
||||||
|
- **[Premiers pas avec BMad](./tutorials/getting-started.md)** — Installez et comprenez comment fonctionne BMad
|
||||||
|
- **[Carte des workflows](./reference/workflow-map.md)** — Vue d'ensemble visuelle des phases BMM, des workflows et de la gestion du contexte
|
||||||
|
|
||||||
|
:::tip[Envie de plonger directement ?]
|
||||||
|
Installez BMad et utilisez le skill[^3] `bmad-help` — il vous guidera entièrement en fonction de votre projet et de vos modules installés.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Comment utiliser cette documentation
|
||||||
|
|
||||||
|
Cette documentation est organisée en quatre sections selon ce que vous essayez de faire :
|
||||||
|
|
||||||
|
| Section | Objectif |
|
||||||
|
| ----------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||||
|
| **Tutoriels** | Orientés apprentissage. Guides étape par étape qui vous accompagnent dans la construction de quelque chose. Commencez ici si vous êtes nouveau. |
|
||||||
|
| **Guides pratiques** | Orientés tâches. Guides pratiques pour résoudre des problèmes spécifiques. « Comment personnaliser un agent ? » se trouve ici. |
|
||||||
|
| **Explication** | Orientés compréhension. Explications en profondeur des concepts et de l'architecture. À lire quand vous voulez savoir *pourquoi*. |
|
||||||
|
| **Référence** | Orientés information. Spécifications techniques pour les agents, workflows et configuration. |
|
||||||
|
|
||||||
|
## Étendre et personnaliser
|
||||||
|
|
||||||
|
Vous souhaitez étendre BMad avec vos propres agents, workflows ou modules ? Le **[BMad Builder](https://bmad-builder-docs.bmad-method.org/)** fournit le framework et les outils pour créer des extensions personnalisées, que vous ajoutiez de nouvelles capacités à BMad ou que vous construisiez des modules entièrement nouveaux à partir de zéro.
|
||||||
|
|
||||||
|
## Ce dont vous aurez besoin
|
||||||
|
|
||||||
|
BMad fonctionne avec tout assistant de codage IA qui prend en charge les prompts système personnalisés ou le contexte de projet. Les options populaires incluent :
|
||||||
|
|
||||||
|
- **[Claude Code](https://code.claude.com)** — Outil CLI d'Anthropic (recommandé)
|
||||||
|
- **[Cursor](https://cursor.sh)** — Éditeur de code propulsé par l'IA
|
||||||
|
- **[Codex CLI](https://github.com/openai/codex)** — Agent de codage terminal d'OpenAI
|
||||||
|
|
||||||
|
Vous devriez être à l'aise avec les concepts de base du développement logiciel comme le contrôle de version, la structure de projet et les workflows agiles. Aucune expérience préalable avec les systèmes d'agent de type BMad n'est requise — c'est justement le but de cette documentation.
|
||||||
|
|
||||||
|
## Rejoindre la communauté
|
||||||
|
|
||||||
|
Obtenez de l'aide, partagez ce que vous construisez ou contribuez à BMad :
|
||||||
|
|
||||||
|
- **[Discord](https://discord.gg/gk8jAdXWmj)** — Discutez avec d'autres utilisateurs de BMad, posez des questions, partagez des idées
|
||||||
|
- **[GitHub](https://github.com/bmad-code-org/BMAD-METHOD)** — Code source, issues et contributions
|
||||||
|
- **[YouTube](https://www.youtube.com/@BMadCode)** — Tutoriels vidéo et démonstrations
|
||||||
|
|
||||||
|
## Prochaine étape
|
||||||
|
|
||||||
|
Prêt à vous lancer ? **[Commencez avec BMad](./tutorials/getting-started.md)** et construisez votre premier projet.
|
||||||
|
|
||||||
|
---
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: **Module** : composant autonome du système BMad qui peut être installé et utilisé indépendamment, offrant des fonctionnalités spécifiques.
|
||||||
|
|
||||||
|
[^2]: **Agent** : assistant IA spécialisé avec une expertise spécifique qui guide les utilisateurs dans les workflows.
|
||||||
|
|
||||||
|
[^3]: **Skill** : capacité ou fonctionnalité invoquable d'un agent pour effectuer une tâche spécifique.
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
---
|
||||||
|
title: Agents
|
||||||
|
description: Agents BMM par défaut avec leurs identifiants de skill, déclencheurs de menu et workflows principaux (Analyst, Developer, Architect, UX Designer, Technical Writer)
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agents par défaut
|
||||||
|
|
||||||
|
Cette page liste les cinq agents BMM (suite Agile) par défaut installés avec la méthode BMad, ainsi que leurs identifiants de skill, déclencheurs de menu et workflows principaux. Chaque agent est invoqué en tant que skill.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Chaque agent est disponible en tant que skill, généré par l’installateur. L’identifiant de skill (par exemple, `bmad-analyst`) est utilisé pour invoquer l’agent.
|
||||||
|
- Les déclencheurs sont les codes courts de menu (par exemple, `BP`) et les correspondances approximatives affichés dans chaque menu d’agent.
|
||||||
|
- La génération de tests QA est gérée par le skill de workflow `bmad-qa-generate-e2e-tests`. L’architecte de tests complet (TEA) se trouve dans son propre module.
|
||||||
|
|
||||||
|
| Agent | Identifiant de skill | Déclencheurs | Workflows principaux |
|
||||||
|
|------------------------|----------------------|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| Analyste (Mary) | `bmad-analyst` | `BP`, `MR`, `DR`, `TR`, `CB`, `DP` | Brainstorming du projet, Recherche marché/domaine/technique, Création du brief[^1], Documentation du projet |
|
||||||
|
| Architecte (Winston) | `bmad-architect` | `CA`, `IR` | Créer l’architecture, Préparation à l’implémentation |
|
||||||
|
| Développeur (Amelia) | `bmad-dev` | `DS`, `QD`, `CR` | Dev Story, Quick Dev, Code Review |
|
||||||
|
| Designer UX (Sally) | `bmad-ux-designer` | `CU` | Création du design UX[^2] |
|
||||||
|
| Rédacteur Technique (Paige) | `bmad-tech-writer` | `DP`, `WD`, `US`, `MG`, `VD`, `EC` | Documentation du projet, Rédaction de documents, Mise à jour des standards, Génération de diagrammes Mermaid, Validation de documents, Explication de concepts |
|
||||||
|
|
||||||
|
## Types de déclencheurs
|
||||||
|
|
||||||
|
Les déclencheurs de menu d'agent utilisent deux types d'invocation différents. Connaître le type utilisé par un déclencheur vous aide à fournir la bonne entrée.
|
||||||
|
|
||||||
|
### Déclencheurs de workflow (aucun argument nécessaire)
|
||||||
|
|
||||||
|
La plupart des déclencheurs chargent un fichier de workflow structuré. Tapez le code du déclencheur et l'agent démarre le workflow, vous demandant de saisir les informations à chaque étape.
|
||||||
|
|
||||||
|
Exemples : `BP` (Brainstorm Project), `CA` (Create Architecture), `CU` (Create UX Design)
|
||||||
|
|
||||||
|
### Déclencheurs conversationnels (arguments requis)
|
||||||
|
|
||||||
|
Certains déclencheurs lancent une conversation libre au lieu d'un workflow structuré. Ils s'attendent à ce que vous décriviez ce dont vous avez besoin à côté du code du déclencheur.
|
||||||
|
|
||||||
|
| Agent | Déclencheur | Ce qu'il faut fournir |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| Rédacteur Technique (Paige) | `WD` | Description du document à rédiger |
|
||||||
|
| Rédacteur Technique (Paige) | `US` | Préférences ou conventions à ajouter aux standards |
|
||||||
|
| Rédacteur Technique (Paige) | `MG` | Description et type de diagramme (séquence, organigramme, etc.) |
|
||||||
|
| Rédacteur Technique (Paige) | `VD` | Document à valider et domaines à examiner |
|
||||||
|
| Rédacteur Technique (Paige) | `EC` | Nom du concept à expliquer |
|
||||||
|
|
||||||
|
**Exemple :**
|
||||||
|
|
||||||
|
```text
|
||||||
|
WD Rédige un guide de déploiement pour notre configuration Docker
|
||||||
|
MG Crée un diagramme de séquence montrant le flux d’authentification
|
||||||
|
EC Explique le fonctionnement du système de modules
|
||||||
|
```
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: Brief : document synthétique qui formalise le contexte, les objectifs, le périmètre et les contraintes d’un projet ou d’une demande, afin d’aligner rapidement les parties prenantes avant le travail détaillé.
|
||||||
|
[^2]: UX (User Experience) : expérience utilisateur, englobant l’ensemble des interactions et perceptions d’un utilisateur face à un produit. Le design UX vise à créer des interfaces intuitives, efficaces et agréables en tenant compte des besoins, comportements et contexte d’utilisation.
|
||||||
|
|
@ -0,0 +1,139 @@
|
||||||
|
---
|
||||||
|
title: Skills
|
||||||
|
description: Référence des skills BMad — ce qu'ils sont, comment ils fonctionnent et où les trouver.
|
||||||
|
sidebar:
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
Les skills sont des prompts pré-construits qui chargent des agents, exécutent des workflows ou lancent des tâches dans votre IDE. L'installateur BMad les génère à partir de vos modules installés au moment de l'installation. Si vous ajoutez, supprimez ou modifiez des modules ultérieurement, relancez l'installateur pour garder les skills synchronisés (voir [Dépannage](#dépannage)).
|
||||||
|
|
||||||
|
## Skills vs. Déclencheurs du menu Agent
|
||||||
|
|
||||||
|
BMad offre deux façons de démarrer un travail, chacune ayant un usage différent.
|
||||||
|
|
||||||
|
| Mécanisme | Comment l'invoquer | Ce qui se passe |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| **Skill** | Tapez le nom du skill (ex. `bmad-help`) dans votre IDE | Charge directement un agent, exécute un workflow ou lance une tâche |
|
||||||
|
| **Déclencheur du menu agent** | Chargez d'abord un agent, puis tapez un code court (ex. `DS`) | L'agent interprète le code et démarre le workflow correspondant tout en préservant son persona |
|
||||||
|
|
||||||
|
Les déclencheurs du menu agent nécessitent une session agent active. Utilisez les skills lorsque vous savez quel workflow vous voulez. Utilisez les déclencheurs lorsque vous travaillez déjà avec un agent et souhaitez changer de tâche sans quitter la conversation.
|
||||||
|
|
||||||
|
## Comment les skills sont générés
|
||||||
|
|
||||||
|
Lorsque vous exécutez `npx bmad-method install`, l'installateur lit les manifests de chaque module sélectionné et écrit un skill par agent, workflow, tâche et outil. Chaque skill est un répertoire contenant un fichier `SKILL.md` qui indique à l'IA de charger le fichier source correspondant et de suivre ses instructions.
|
||||||
|
|
||||||
|
L'installateur utilise des modèles pour chaque type de skill :
|
||||||
|
|
||||||
|
| Type de skill | Ce que fait le fichier généré |
|
||||||
|
| --- | --- |
|
||||||
|
| **Lanceur d'agent** | Charge le fichier de persona de l'agent, active son menu et reste en caractère |
|
||||||
|
| **Skill de workflow** | Charge la configuration du workflow et suit ses étapes |
|
||||||
|
| **Skill de tâche** | Charge un fichier de tâche autonome et suit ses instructions |
|
||||||
|
| **Skill d'outil** | Charge un fichier d'outil autonome et suit ses instructions |
|
||||||
|
|
||||||
|
:::note[Relancer l'installateur]
|
||||||
|
Si vous ajoutez ou supprimez des modules, relancez l'installateur. Il régénère tous les fichiers de skill pour correspondre à votre sélection actuelle de modules.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Emplacement des fichiers de skill
|
||||||
|
|
||||||
|
L'installateur écrit les fichiers de skill dans un répertoire spécifique à l'IDE à l'intérieur de votre projet. Le chemin exact dépend de l'IDE que vous avez sélectionné lors de l'installation.
|
||||||
|
|
||||||
|
| IDE / CLI | Répertoire des skills |
|
||||||
|
| --- | --- |
|
||||||
|
| Claude Code | `.claude/skills/` |
|
||||||
|
| Cursor | `.cursor/skills/` |
|
||||||
|
| Windsurf | `.windsurf/skills/` |
|
||||||
|
| Autres IDE | Consultez la sortie de l'installateur pour le chemin cible |
|
||||||
|
|
||||||
|
Chaque skill est un répertoire contenant un fichier `SKILL.md`. Par exemple, une installation Claude Code ressemble à :
|
||||||
|
|
||||||
|
```text
|
||||||
|
.claude/skills/
|
||||||
|
├── bmad-help/
|
||||||
|
│ └── SKILL.md
|
||||||
|
├── bmad-create-prd/
|
||||||
|
│ └── SKILL.md
|
||||||
|
├── bmad-analyst/
|
||||||
|
│ └── SKILL.md
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
Le nom du répertoire détermine le nom du skill dans votre IDE. Par exemple, le répertoire `bmad-analyst/` enregistre le skill `bmad-analyst`.
|
||||||
|
|
||||||
|
## Comment découvrir vos skills
|
||||||
|
|
||||||
|
Tapez le nom du skill dans votre IDE pour l'invoquer. Certaines plateformes nécessitent d'activer les skills dans les paramètres avant qu'ils n'apparaissent.
|
||||||
|
|
||||||
|
Exécutez `bmad-help` pour obtenir des conseils contextuels sur votre prochaine étape.
|
||||||
|
|
||||||
|
:::tip[Découverte rapide]
|
||||||
|
Les répertoires de skills générés dans votre projet sont la liste de référence. Ouvrez-les dans votre explorateur de fichiers pour voir chaque skill avec sa description.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Catégories de skills
|
||||||
|
|
||||||
|
### Skills d'agent
|
||||||
|
|
||||||
|
Les skills d'agent chargent une persona[^2] IA spécialisée avec un rôle défini, un style de communication et un menu de workflows. Une fois chargé, l'agent reste en caractère et répond aux déclencheurs du menu.
|
||||||
|
|
||||||
|
| Exemple de skill | Agent | Rôle |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `bmad-analyst` | Mary (Analyste) | Brainstorming de projets, recherche, création de briefs |
|
||||||
|
| `bmad-architect` | Winston (Architecte) | Conçoit l'architecture système |
|
||||||
|
| `bmad-ux-designer` | Sally (Designer UX) | Crée les designs UX |
|
||||||
|
| `bmad-tech-writer` | Paige (Rédacteur Technique) | Documente les projets, rédige des guides, génère des diagrammes |
|
||||||
|
|
||||||
|
Consultez [Agents](./agents.md) pour la liste complète des agents par défaut et leurs déclencheurs.
|
||||||
|
|
||||||
|
### Skills de workflow
|
||||||
|
|
||||||
|
Les skills de workflow exécutent un processus structuré en plusieurs étapes sans charger d'abord une persona d'agent. Ils chargent une configuration de workflow et suivent ses étapes.
|
||||||
|
|
||||||
|
| Exemple de skill | Objectif |
|
||||||
|
| --- | --- |
|
||||||
|
| `bmad-create-prd` | Créer un PRD[^1] |
|
||||||
|
| `bmad-create-architecture` | Concevoir l'architecture système |
|
||||||
|
| `bmad-create-epics-and-stories` | Créer des epics et des stories |
|
||||||
|
| `bmad-dev-story` | Implémenter une story |
|
||||||
|
| `bmad-code-review` | Effectuer une revue de code |
|
||||||
|
| `bmad-quick-dev` | Flux rapide unifié — clarifier l'intention, planifier, implémenter, réviser, présenter |
|
||||||
|
|
||||||
|
Consultez la [Carte des workflows](./workflow-map.md) pour la référence complète des workflows organisés par phase.
|
||||||
|
|
||||||
|
### Skills de tâche et d'outil
|
||||||
|
|
||||||
|
Les tâches et outils sont des opérations autonomes qui ne nécessitent pas de contexte d'agent ou de workflow.
|
||||||
|
|
||||||
|
**BMad-Help : Votre guide intelligent**
|
||||||
|
|
||||||
|
`bmad-help` est votre interface principale pour découvrir quoi faire ensuite. Il inspecte votre projet, comprend les requêtes en langage naturel et recommande la prochaine étape requise ou optionnelle en fonction de vos modules installés.
|
||||||
|
|
||||||
|
:::note[Exemple]
|
||||||
|
```
|
||||||
|
bmad-help
|
||||||
|
bmad-help J'ai une idée de SaaS et je connais toutes les fonctionnalités. Par où commencer ?
|
||||||
|
bmad-help Quelles sont mes options pour le design UX ?
|
||||||
|
```
|
||||||
|
:::
|
||||||
|
|
||||||
|
**Autres tâches et outils principaux**
|
||||||
|
|
||||||
|
Le module principal inclut 11 outils intégrés — revues, compression, brainstorming, gestion de documents, et plus. Consultez [Outils principaux](./core-tools.md) pour la référence complète.
|
||||||
|
|
||||||
|
## Convention de nommage
|
||||||
|
|
||||||
|
Tous les skills utilisent le préfixe `bmad-` suivi d'un nom descriptif (ex. `bmad-analyst`, `bmad-create-prd`, `bmad-help`). Consultez [Modules](./modules.md) pour les modules disponibles.
|
||||||
|
|
||||||
|
## Dépannage
|
||||||
|
|
||||||
|
**Les skills n'apparaissent pas après l'installation.** Certaines plateformes nécessitent d'activer explicitement les skills dans les paramètres. Consultez la documentation de votre IDE ou demandez à votre assistant IA comment activer les skills. Vous devrez peut-être aussi redémarrer votre IDE ou recharger la fenêtre.
|
||||||
|
|
||||||
|
**Des skills attendus sont manquants.** L'installateur génère uniquement les skills pour les modules que vous avez sélectionnés. Exécutez à nouveau `npx bmad-method install` et vérifiez votre sélection de modules. Vérifiez que les fichiers de skill existent dans le répertoire attendu.
|
||||||
|
|
||||||
|
**Des skills d'un module supprimé apparaissent encore.** L'installateur ne supprime pas automatiquement les anciens fichiers de skill. Supprimez les répertoires obsolètes du répertoire de skills de votre IDE, ou supprimez tout le répertoire de skills et relancez l'installateur pour obtenir un ensemble propre.
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d’aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
|
[^2]: Persona : dans le contexte de BMad, une persona désigne un agent IA avec un rôle défini, un style de communication et une expertise spécifiques (ex. Mary l'analyste, Winston l'architecte). Chaque persona garde son "caractère" pendant les interactions.
|
||||||
|
|
@ -0,0 +1,298 @@
|
||||||
|
---
|
||||||
|
title: Outils Principaux
|
||||||
|
description: Référence pour toutes les tâches et tous les workflows intégrés disponibles dans chaque installation BMad sans modules supplémentaires.
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Chaque installation BMad comprend un ensemble de compétences principales qui peuvent être utilisées conjointement avec tout ce que vous faites — des tâches et des workflows autonomes qui fonctionnent dans tous les projets, tous les modules et toutes les phases. Ceux-ci sont toujours disponibles, quels que soient les modules optionnels que vous installez.
|
||||||
|
|
||||||
|
:::tip[Raccourci Rapide]
|
||||||
|
Exécutez n'importe quel outil principal en tapant son nom de compétence (par ex., `bmad-help`) dans votre IDE. Aucune session d'agent requise.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Vue d'ensemble
|
||||||
|
|
||||||
|
| Outil | Type | Objectif |
|
||||||
|
|-----------------------------------------------------------------------|----------|------------------------------------------------------------------------------|
|
||||||
|
| [`bmad-help`](#bmad-help) | Tâche | Obtenir des conseils contextuels sur la prochaine étape |
|
||||||
|
| [`bmad-brainstorming`](#bmad-brainstorming) | Workflow | Faciliter des sessions de brainstorming interactives |
|
||||||
|
| [`bmad-party-mode`](#bmad-party-mode) | Workflow | Orchestrer des discussions de groupe multi-agents |
|
||||||
|
| [`bmad-distillator`](#bmad-distillator) | Tâche | Compression sans perte optimisée pour LLM de documents |
|
||||||
|
| [`bmad-advanced-elicitation`](#bmad-advanced-elicitation) | Tâche | Pousser la sortie LLM à travers des méthodes de raffinement itératives |
|
||||||
|
| [`bmad-review-adversarial-general`](#bmad-review-adversarial-general) | Tâche | Revue cynique qui trouve ce qui manque et ce qui ne va pas |
|
||||||
|
| [`bmad-review-edge-case-hunter`](#bmad-review-edge-case-hunter) | Tâche | Analyse exhaustive des chemins de branchement pour les cas limites non gérés |
|
||||||
|
| [`bmad-editorial-review-prose`](#bmad-editorial-review-prose) | Tâche | Révision de copie clinique pour la clarté de communication |
|
||||||
|
| [`bmad-editorial-review-structure`](#bmad-editorial-review-structure) | Tâche | Édition structurelle — coupes, fusions et réorganisation |
|
||||||
|
| [`bmad-shard-doc`](#bmad-shard-doc) | Tâche | Diviser les fichiers markdown volumineux en sections organisées |
|
||||||
|
| [`bmad-index-docs`](#bmad-index-docs) | Tâche | Générer ou mettre à jour un index de tous les documents dans un dossier |
|
||||||
|
|
||||||
|
## bmad-help
|
||||||
|
|
||||||
|
**Votre guide intelligent pour la suite.** — Inspecte l'état de votre projet, détecte ce qui a été fait et recommande la prochaine étape requise ou facultative.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- Vous avez terminé un workflow et voulez savoir ce qui suit
|
||||||
|
- Vous êtes nouveau sur BMad et avez besoin d'orientation
|
||||||
|
- Vous êtes bloqué et voulez des conseils contextuels
|
||||||
|
- Vous avez installé de nouveaux modules et voulez voir ce qui est disponible
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Analyse votre projet pour les artefacts existants (PRD, architecture, stories, etc.)
|
||||||
|
2. Détecte quels modules sont installés et leurs workflows disponibles
|
||||||
|
3. Recommande les prochaines étapes par ordre de priorité — étapes requises d'abord, puis facultatives
|
||||||
|
4. Présente chaque recommandation avec la commande de compétence et une brève description
|
||||||
|
|
||||||
|
**Entrée :** Requête optionnelle en langage naturel (par ex., `bmad-help J'ai une idée de SaaS, par où commencer ?`)
|
||||||
|
|
||||||
|
**Sortie :** Liste priorisée des prochaines étapes recommandées avec les commandes de compétence
|
||||||
|
|
||||||
|
## bmad-brainstorming
|
||||||
|
|
||||||
|
**Génère des idées diverses à travers des techniques créatives interactives.** — Une session de brainstorming facilitée qui charge des méthodes d'idéation éprouvées depuis une bibliothèque de techniques et vous guide vers plus de 100 idées avant organisation.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- Vous commencez un nouveau projet et devez explorer l’espace problème
|
||||||
|
- Vous êtes bloqué dans la génération d'idées et avez besoin de créativité structurée
|
||||||
|
- Vous voulez utiliser des cadres d'idéation éprouvés (SCAMPER, brainstorming inversé, etc.)
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Configure une session de brainstorming avec votre sujet
|
||||||
|
2. Charge les techniques créatives depuis une bibliothèque de méthodes
|
||||||
|
3. Vous guide à travers technique après technique, générant des idées
|
||||||
|
4. Applique un protocole anti-biais — change de domaine créatif toutes les 10 idées pour éviter le regroupement
|
||||||
|
5. Produit un document de session en mode ajout uniquement avec toutes les idées organisées par technique
|
||||||
|
|
||||||
|
**Entrée :** Sujet de brainstorming ou énoncé de problème, fichier de contexte optionnel
|
||||||
|
|
||||||
|
**Sortie :** `brainstorming-session-{date}.md` avec toutes les idées générées
|
||||||
|
|
||||||
|
:::note[Cible de Quantité]
|
||||||
|
La magie se produit dans les idées 50–100. Le workflow encourage la génération de plus de 100 idées avant organisation.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## bmad-party-mode
|
||||||
|
|
||||||
|
**Orchestre des discussions de groupe multi-agents.** — Charge tous les agents BMad installés et facilite une conversation naturelle où chaque agent contribue depuis son expertise et personnalité uniques.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- Vous avez besoin de multiples perspectives d'experts sur une décision
|
||||||
|
- Vous voulez que les agents remettent en question les hypothèses des autres
|
||||||
|
- Vous explorez un sujet complexe qui couvre plusieurs domaines
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Charge le manifeste d'agents avec toutes les personnalités d'agents installées
|
||||||
|
2. Analyse votre sujet pour sélectionner les 2–3 agents les plus pertinents
|
||||||
|
3. Les agents prennent des tours pour contribuer, avec des échanges naturels et des désaccords
|
||||||
|
4. Fait rouler la participation des agents pour assurer des perspectives diverses au fil du temps
|
||||||
|
5. Quittez avec `goodbye`, `end party` ou `quit`
|
||||||
|
|
||||||
|
**Entrée :** Sujet de discussion ou question, ainsi que la spécification des personas que vous souhaitez faire participer (optionnel)
|
||||||
|
|
||||||
|
**Sortie :** Conversation multi-agents en temps réel avec des personnalités d'agents maintenues
|
||||||
|
|
||||||
|
## bmad-distillator
|
||||||
|
|
||||||
|
**Compression sans perte optimisée pour LLM de documents sources.** — Produit des distillats denses et efficaces en tokens qui préservent toute l'information pour la consommation par des LLM en aval. Vérifiable par reconstruction aller-retour.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- Un document est trop volumineux pour la fenêtre de contexte d'un LLM
|
||||||
|
- Vous avez besoin de versions économes en tokens de recherches, spécifications ou artefacts de planification
|
||||||
|
- Vous voulez vérifier qu'aucune information n'est perdue pendant la compression
|
||||||
|
- Les agents auront besoin de référencer et de trouver fréquemment des informations dedans
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. **Analyser** — Lit les documents sources, identifie la densité d'information et la structure
|
||||||
|
2. **Compresser** — Convertit la prose en format dense de liste de points, supprime le formatage décoratif
|
||||||
|
3. **Vérifier** — Vérifie l'exhaustivité pour s'assurer que toute l'information originale est préservée
|
||||||
|
4. **Valider** (optionnel) — Le test de reconstruction aller-retour prouve la compression sans perte
|
||||||
|
|
||||||
|
**Entrée :**
|
||||||
|
|
||||||
|
- `source_documents` (requis) — Chemins de fichiers, chemins de dossiers ou motifs glob
|
||||||
|
- `downstream_consumer` (optionnel) — Ce qui va le consommer (par ex., "création de PRD")
|
||||||
|
- `token_budget` (optionnel) — Taille cible approximative
|
||||||
|
- `--validate` (drapeau) — Exécuter le test de reconstruction aller-retour
|
||||||
|
|
||||||
|
**Sortie :** Fichier(s) markdown distillé(s) avec rapport de ratio de compression (par ex., "3.2:1")
|
||||||
|
|
||||||
|
## bmad-advanced-elicitation
|
||||||
|
|
||||||
|
**Passer la sortie du LLM à travers des méthodes de raffinement itératives.** — Sélectionne depuis une bibliothèque de techniques d'élicitation pour améliorer systématiquement le contenu à travers multiples passages.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- La sortie du LLM semble superficielle ou générique
|
||||||
|
- Vous voulez explorer un sujet depuis de multiples angles analytiques
|
||||||
|
- Vous raffinez un document critique et voulez une réflexion plus approfondie
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Charge le registre de méthodes avec plus de 5 techniques d'élicitation
|
||||||
|
2. Sélectionne les 5 méthodes les mieux adaptées selon le type de contenu et la complexité
|
||||||
|
3. Présente un menu interactif — choisissez une méthode, remélangez, ou listez tout
|
||||||
|
4. Applique la méthode sélectionnée pour améliorer le contenu
|
||||||
|
5. Re-présente les options pour l'amélioration itérative jusqu'à ce que vous sélectionniez "Procéder"
|
||||||
|
|
||||||
|
**Entrée :** Section de contenu à améliorer
|
||||||
|
|
||||||
|
**Sortie :** Version améliorée du contenu avec les améliorations appliquées
|
||||||
|
|
||||||
|
## bmad-review-adversarial-general
|
||||||
|
|
||||||
|
**Revue contradictoire qui suppose que des problèmes existent et les recherche.** — Adopte une perspective de réviseur sceptique et blasé avec zéro tolérance pour le travail bâclé. Cherche ce qui manque, pas seulement ce qui ne va pas.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- Vous avez besoin d'assurance qualité avant de finaliser un livrable
|
||||||
|
- Vous voulez tester en conditions réelles une spécification, story ou document
|
||||||
|
- Vous voulez trouver des lacunes de couverture que les revues optimistes manquent
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Lit le contenu avec une perspective contradictoire et critique
|
||||||
|
2. Identifie les problèmes à travers l'exhaustivité, la justesse et la qualité
|
||||||
|
3. Recherche spécifiquement ce qui manque — pas seulement ce qui est présent et faux
|
||||||
|
4. Doit trouver un minimum de 10 problèmes ou réanalyse plus profondément
|
||||||
|
|
||||||
|
**Entrée :**
|
||||||
|
|
||||||
|
- `content` (requis) — Diff, spécification, story, document ou tout artefact
|
||||||
|
- `also_consider` (optionnel) — Domaines supplémentaires à garder à l'esprit
|
||||||
|
|
||||||
|
**Sortie :** Liste markdown de plus de 10 constatations avec descriptions
|
||||||
|
|
||||||
|
## bmad-review-edge-case-hunter
|
||||||
|
|
||||||
|
**Parcours tous les chemins de branchement et les conditions limites, ne rapporte que les cas non gérés.** — Méthodologie pure de traçage de chemin[^1] qui dérive mécaniquement les classes de cas limites. Orthogonale à la revue contradictoire — centrée sur la méthode, pas sur l'attitude.
|
||||||
|
|
||||||
|
**À utiliser quand :**
|
||||||
|
|
||||||
|
- Vous souhaitez une couverture exhaustive des cas limites pour le code ou la logique
|
||||||
|
- Vous avez besoin d'un complément à la revue contradictoire (méthodologie différente, résultats différents)
|
||||||
|
- Vous révisez un diff ou une fonction pour des conditions limites
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Énumère tous les chemins de branchement dans le contenu
|
||||||
|
2. Dérive mécaniquement les classes de cas limites : else/default manquants, entrées non vérifiées, décalage d’unité, overflow arithmétique, coercition implicite des types, conditions de concurrence, écarts de timeout
|
||||||
|
3. Teste chaque chemin contre les protections existantes
|
||||||
|
4. Ne rapporte que les chemins non gérés — ignore silencieusement les chemins gérés
|
||||||
|
|
||||||
|
**Entrée :**
|
||||||
|
|
||||||
|
- `content` (obligatoire) — Diff, fichier complet ou fonction
|
||||||
|
- `also_consider` (facultatif) — Zones supplémentaires à garder à l’esprit
|
||||||
|
|
||||||
|
**Sortie :** Tableau JSON des résultats, chacun avec `location`, `trigger_condition`, `guard_snippet` et `potential_consequence`
|
||||||
|
|
||||||
|
:::note[Revue Complémentaire]
|
||||||
|
Exécutez à la fois `bmad-review-adversarial-general` et `bmad-review-edge-case-hunter` pour une couverture orthogonale. La revue contradictoire détecte les problèmes de qualité et de complétude ; le chasseur de cas limites détecte les chemins non gérés.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## bmad-editorial-review-prose
|
||||||
|
|
||||||
|
**Relecture éditoriale clinique centrée sur la clarté de communication.** — Analyse le texte pour détecter les problèmes qui nuisent à la compréhension. Applique le Microsoft Writing Style Guide baseline. Préserve la voix de l’auteur.
|
||||||
|
|
||||||
|
**À utiliser quand :**
|
||||||
|
|
||||||
|
- Vous avez rédigé un document et souhaitez polir le style
|
||||||
|
- Vous devez assurer la clarté pour un public spécifique
|
||||||
|
- Vous voulez des corrections de communication sans modifier les choix stylistiques
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Lit le contenu en ignorant les blocs de code et le frontmatter
|
||||||
|
2. Identifie les problèmes de communication (pas les préférences de style)
|
||||||
|
3. Déduit les doublons du même problème à différents emplacements
|
||||||
|
4. Produit un tableau de corrections en trois colonnes
|
||||||
|
|
||||||
|
**Entrée :**
|
||||||
|
|
||||||
|
- `content` (obligatoire) — Markdown, texte brut ou XML
|
||||||
|
- `style_guide` (facultatif) — Guide de style spécifique au projet
|
||||||
|
- `reader_type` (facultatif) — `humans` (par défaut) pour clarté/fluide, ou `llm` pour précision/consistance
|
||||||
|
|
||||||
|
**Sortie :** Tableau Markdown en trois colonnes : Texte original | Texte révisé | Modifications
|
||||||
|
|
||||||
|
## bmad-editorial-review-structure
|
||||||
|
|
||||||
|
**Édition structurelle — propose des coupes, fusions, déplacements et condensations.** — Révise l'organisation du document et propose des changements substantiels pour améliorer la clarté et le flux avant la révision de copie.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- Un document a été produit depuis de multiples sous-processus et a besoin de cohérence structurelle
|
||||||
|
- Vous voulez réduire la longueur du document tout en préservant la compréhension
|
||||||
|
- Vous devez identifier les violations de portée ou les informations critiques enfouies
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Analyse le document contre 5 modèles de structure (Tutoriel, Référence, Explication, Prompt, Stratégique)
|
||||||
|
2. Identifie les redondances, violations de portée et informations enfouies
|
||||||
|
3. Produit des recommandations priorisées : COUPER, FUSIONNER, DÉPLACER, CONDENSER, QUESTIONNER, PRÉSERVER
|
||||||
|
4. Estime la réduction totale en mots et pourcentage
|
||||||
|
|
||||||
|
**Entrée :**
|
||||||
|
|
||||||
|
- `content` (requis) — Document à réviser
|
||||||
|
- `purpose` (optionnel) — Objectif prévu (par ex., "tutoriel de démarrage rapide")
|
||||||
|
- `target_audience` (optionnel) — Qui lit ceci
|
||||||
|
- `reader_type` (optionnel) — `humans` ou `llm`
|
||||||
|
- `length_target` (optionnel) — Réduction cible (par ex., "30% plus court")
|
||||||
|
|
||||||
|
**Sortie :** Résumé du document, liste de recommandations priorisées et réduction estimée
|
||||||
|
|
||||||
|
## bmad-shard-doc
|
||||||
|
|
||||||
|
**Diviser les fichiers markdown volumineux en fichiers de sections organisés.** — Utilise les en-têtes de niveau 2 comme points de division pour créer un dossier de fichiers de sections autonomes avec un index.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- Un document markdown est devenu trop volumineux pour être géré efficacement (plus de 500 lignes)
|
||||||
|
- Vous voulez diviser un document monolithique en sections navigables
|
||||||
|
- Vous avez besoin de fichiers séparés pour l'édition parallèle ou la gestion de contexte LLM
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Valide que le fichier source existe et est markdown
|
||||||
|
2. Divise sur les en-têtes de niveau 2 (`##`) en fichiers de sections numérotées
|
||||||
|
3. Crée un `index.md` avec manifeste de sections et liens
|
||||||
|
4. Vous invite à supprimer, archiver ou conserver l'original
|
||||||
|
|
||||||
|
**Entrée :** Chemin du fichier markdown source, dossier de destination optionnel
|
||||||
|
|
||||||
|
**Sortie :** Dossier avec `index.md` et `01-{section}.md`, `02-{section}.md`, etc.
|
||||||
|
|
||||||
|
## bmad-index-docs
|
||||||
|
|
||||||
|
**Générer ou mettre à jour un index de tous les documents dans un dossier.** — Analyse un répertoire, lit chaque fichier pour comprendre son objectif et produit un `index.md` organisé avec liens et descriptions.
|
||||||
|
|
||||||
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
- Vous avez besoin d'un index léger pour un scan LLM rapide des documents disponibles
|
||||||
|
- Un dossier de documentation a grandi et a besoin d'une table des matières organisée
|
||||||
|
- Vous voulez un aperçu auto-généré qui reste à jour
|
||||||
|
|
||||||
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
1. Analyse le répertoire cible pour tous les fichiers non cachés
|
||||||
|
2. Lit chaque fichier pour comprendre son objectif réel
|
||||||
|
3. Groupe les fichiers par type, objectif ou sous-répertoire
|
||||||
|
4. Génère des descriptions concises (3–10 mots chacune)
|
||||||
|
|
||||||
|
**Entrée :** Chemin du dossier cible
|
||||||
|
|
||||||
|
**Sortie :** `index.md` avec listes de fichiers organisées, liens relatifs et brèves descriptions
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: Path-tracing : méthode d'analyse qui suit systématiquement tous les chemins d'exécution possibles dans un programme pour identifier les cas non gérés.
|
||||||
|
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
---
|
||||||
|
title: Modules Officiels
|
||||||
|
description: Modules additionnels pour créer des agents personnalisés, de l'intelligence créative, du développement de jeux et des tests
|
||||||
|
sidebar:
|
||||||
|
order: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
BMad s'étend via des modules officiels que vous sélectionnez lors de l'installation. Ces modules additionnels fournissent des agents, des workflows et des tâches spécialisés pour des domaines spécifiques, au-delà du noyau intégré et de BMM (suite Agile).
|
||||||
|
|
||||||
|
:::tip[Installer des Modules]
|
||||||
|
Exécutez `npx bmad-method install` et sélectionnez les modules souhaités. L'installateur gère automatiquement le téléchargement, la configuration et l'intégration IDE.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## BMad Builder
|
||||||
|
|
||||||
|
Créez des agents personnalisés, des workflows et des modules spécifiques à un domaine avec une assistance guidée. BMad Builder est le méta-module pour étendre le framework lui-même.
|
||||||
|
|
||||||
|
- **Code :** `bmb`
|
||||||
|
- **npm :** [`bmad-builder`](https://www.npmjs.com/package/bmad-builder)
|
||||||
|
- **GitHub :** [bmad-code-org/bmad-builder](https://github.com/bmad-code-org/bmad-builder)
|
||||||
|
|
||||||
|
**Fournit :**
|
||||||
|
|
||||||
|
- Agent Builder — créez des agents IA spécialisés avec une expertise et un accès aux outils personnalisés
|
||||||
|
- Workflow Builder — concevez des processus structurés avec des étapes et des points de décision
|
||||||
|
- Module Builder — empaquetez des agents et des workflows dans des modules partageables et publiables
|
||||||
|
- Configuration interactive avec support de configuration YAML et publication npm
|
||||||
|
|
||||||
|
## Creative Intelligence Suite
|
||||||
|
|
||||||
|
Outils basés sur l'IA pour la créativité structurée, l'idéation et l'innovation pendant le développement en phase amont. La suite fournit plusieurs agents qui facilitent le brainstorming, le design thinking et la résolution de problèmes en utilisant des cadres éprouvés.
|
||||||
|
|
||||||
|
- **Code :** `cis`
|
||||||
|
- **npm :** [`bmad-creative-intelligence-suite`](https://www.npmjs.com/package/bmad-creative-intelligence-suite)
|
||||||
|
- **GitHub :** [bmad-code-org/bmad-module-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite)
|
||||||
|
|
||||||
|
**Fournit :**
|
||||||
|
|
||||||
|
- Agents Innovation Strategist, Design Thinking Coach et Brainstorming Coach
|
||||||
|
- Problem Solver et Creative Problem Solver pour la pensée systématique et latérale
|
||||||
|
- Storyteller et Presentation Master pour les récits et les présentations
|
||||||
|
- Cadres d'idéation incluant SCAMPER[^1], Brainstorming inversé et reformulation de problèmes
|
||||||
|
|
||||||
|
## Game Dev Studio
|
||||||
|
|
||||||
|
Workflows de développement de jeux structurés adaptés pour Unity, Unreal, Godot et moteurs personnalisés. Supporte le prototypage rapide via Quick Dev et la production à grande échelle avec des sprints propulsés par epics.
|
||||||
|
|
||||||
|
- **Code :** `gds`
|
||||||
|
- **npm :** [`bmad-game-dev-studio`](https://www.npmjs.com/package/bmad-game-dev-studio)
|
||||||
|
- **GitHub :** [bmad-code-org/bmad-module-game-dev-studio](https://github.com/bmad-code-org/bmad-module-game-dev-studio)
|
||||||
|
|
||||||
|
**Fournit :**
|
||||||
|
|
||||||
|
- Workflow de génération de Document de Design de Jeu (GDD[^3])
|
||||||
|
- Mode Quick Dev pour le prototypage rapide
|
||||||
|
- Support de design narratif pour les personnages, dialogues et construction de monde
|
||||||
|
- Couverture de plus de 21 types de jeux avec des conseils d'architecture spécifiques au moteur
|
||||||
|
|
||||||
|
## Test Architect (TEA)
|
||||||
|
|
||||||
|
Stratégie de test de niveau entreprise, conseils d'automatisation et décisions de porte de release via un agent expert et neuf workflows structurés. TEA va bien au-delà du workflow QA intégré avec une priorisation basée sur les risques et une traçabilité des exigences.
|
||||||
|
|
||||||
|
- **Code :** `tea`
|
||||||
|
- **npm :** [`bmad-method-test-architecture-enterprise`](https://www.npmjs.com/package/bmad-method-test-architecture-enterprise)
|
||||||
|
- **GitHub :** [bmad-code-org/bmad-method-test-architecture-enterprise](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise)
|
||||||
|
|
||||||
|
**Fournit :**
|
||||||
|
|
||||||
|
- Agent Murat (Master Test Architect and Quality Advisor)
|
||||||
|
- Workflows pour la conception de tests, ATDD, l'automatisation, la revue de tests et la traçabilité
|
||||||
|
- Évaluation NFR[^2], configuration CI et scaffolding de framework
|
||||||
|
- Priorisation P0-P3 avec Playwright Utils et intégrations MCP optionnelles
|
||||||
|
|
||||||
|
## Modules Communautaires
|
||||||
|
|
||||||
|
Les modules communautaires et une marketplace de modules sont à venir. Consultez l'[organisation GitHub BMad](https://github.com/bmad-code-org) pour les mises à jour.
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: SCAMPER : acronyme anglais pour une technique de créativité structurée (Substitute, Combine, Adapt, Modify, Put to another use, Eliminate, Reverse) qui permet d'explorer systématiquement les modifications possibles d'un produit ou d'une idée pour générer des innovations.
|
||||||
|
[^2]: NFR (Non-Functional Requirement) : exigence décrivant les contraintes de qualité du système (performance, sécurité, fiabilité, ergonomie) plutôt que ses fonctionnalités.
|
||||||
|
[^3]: GDD (Game Design Document) : document de conception de jeu qui décrit en détail les mécaniques, l'univers, les personnages, les niveaux et tous les aspects du jeu à développer.
|
||||||
|
|
@ -0,0 +1,111 @@
|
||||||
|
---
|
||||||
|
title: Options de Testing
|
||||||
|
description: Comparaison du workflow QA intégré avec le module Test Architect (TEA) pour l'automatisation des tests.
|
||||||
|
sidebar:
|
||||||
|
order: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
BMad propose deux approches de test : un workflow QA[^1] intégré pour une génération rapide de tests et un module Test Architect installable pour une stratégie de test de qualité entreprise.
|
||||||
|
|
||||||
|
## Lequel Choisir ?
|
||||||
|
|
||||||
|
| Facteur | QA Intégré | Module TEA |
|
||||||
|
|-------------------------|----------------------------------------------|---------------------------------------------------------------------|
|
||||||
|
| **Idéal pour** | Projets petits et moyens, couverture rapide | Grands projets, domaines réglementés ou complexes |
|
||||||
|
| **Installation** | Rien à installer — inclus dans BMM | Installer séparément via `npx bmad-method install` |
|
||||||
|
| **Approche** | Générer les tests rapidement, itérer ensuite | Planifier d'abord, puis générer avec traçabilité |
|
||||||
|
| **Types de tests** | Tests API et E2E | API, E2E, ATDD[^2], NFR, et plus |
|
||||||
|
| **Stratégie** | Chemin nominal + cas limites critiques | Priorisation basée sur les risques (P0-P3) |
|
||||||
|
| **Nombre de workflows** | 1 (Automate) | 9 (conception, ATDD, automatisation, revue, traçabilité, et autres) |
|
||||||
|
|
||||||
|
:::tip[Commencez avec le QA Intégré]
|
||||||
|
La plupart des projets devraient commencer avec le workflow QA intégré. Si vous avez ensuite besoin d'une stratégie de test, de murs de qualité ou de traçabilité des exigences, installez TEA en complément.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Workflow QA Intégré
|
||||||
|
|
||||||
|
Le workflow QA intégré (`bmad-qa-generate-e2e-tests`) fait partie du module BMM (suite Agile), disponible via l'agent Developer. Il génère rapidement des tests fonctionnels en utilisant le framework de test existant de votre projet — aucune configuration ni installation supplémentaire requise.
|
||||||
|
|
||||||
|
**Déclencheur :** `QA` (via l'agent Developer) ou `bmad-qa-generate-e2e-tests`
|
||||||
|
|
||||||
|
### Ce que le Workflow QA Fait
|
||||||
|
|
||||||
|
Le workflow QA exécute un processus unique (Automate) qui parcourt cinq étapes :
|
||||||
|
|
||||||
|
1. **Détecte le framework de test** — analyse `package.json` et les fichiers de test existants pour identifier votre framework (Jest, Vitest, Playwright, Cypress, ou tout runner standard). Si aucun n'existe, analyse la pile technologique du projet et en suggère un.
|
||||||
|
2. **Identifie les fonctionnalités** — demande ce qu'il faut tester ou découvre automatiquement les fonctionnalités dans le codebase.
|
||||||
|
3. **Génère les tests API** — couvre les codes de statut, la structure des réponses, le chemin nominal, et 1-2 cas d'erreur.
|
||||||
|
4. **Génére les tests E2E** — couvre les parcours utilisateur avec des localisateurs sémantiques et des assertions sur les résultats visibles.
|
||||||
|
5. **Exécute et vérifie** — lance les tests générés et corrige immédiatement les échecs.
|
||||||
|
|
||||||
|
Le workflow QA produit un résumé de test sauvegardé dans le dossier des artefacts d'implémentation de votre projet.
|
||||||
|
|
||||||
|
### Patterns de Test
|
||||||
|
|
||||||
|
Les tests générés suivent une philosophie "simple et maintenable" :
|
||||||
|
|
||||||
|
- **APIs standard du framework uniquement** — pas d'utilitaires externes ni d'abstractions personnalisées
|
||||||
|
- **Localisateurs sémantiques** pour les tests UI (rôles, labels, texte plutôt que sélecteurs CSS)
|
||||||
|
- **Tests indépendants** sans dépendances d'ordre
|
||||||
|
- **Pas d'attentes ou de sleeps codés en dur**
|
||||||
|
- **Descriptions claires** qui se lisent comme de la documentation fonctionnelle
|
||||||
|
|
||||||
|
:::note[Portée]
|
||||||
|
Le workflow QA génère uniquement des tests. Pour la revue de code et la validation des stories, utilisez plutôt le workflow Code Review (`CR`).
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Quand Utiliser le QA Intégré
|
||||||
|
|
||||||
|
- Couverture de test rapide pour une fonctionnalité nouvelle ou existante
|
||||||
|
- Automatisation de tests accessible aux débutants sans configuration avancée
|
||||||
|
- Patterns de test standards que tout développeur peut lire et maintenir
|
||||||
|
- Projets petits et moyens où une stratégie de test complète n'est pas nécessaire
|
||||||
|
|
||||||
|
## Module Test Architect (TEA)
|
||||||
|
|
||||||
|
TEA est un module autonome qui fournit un agent expert (Murat) et neuf workflows structurés pour des tests de qualité entreprise. Il va au-delà de la génération de tests pour inclure la stratégie de test, la planification basée sur les risques, les murs de qualité et la traçabilité des exigences.
|
||||||
|
|
||||||
|
- **Documentation :** [TEA Module Docs](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/)
|
||||||
|
- **Installation :** `npx bmad-method install` et sélectionnez le module TEA
|
||||||
|
- **npm :** [`bmad-method-test-architecture-enterprise`](https://www.npmjs.com/package/bmad-method-test-architecture-enterprise)
|
||||||
|
|
||||||
|
### Ce que TEA Fournit
|
||||||
|
|
||||||
|
| Workflow | Objectif |
|
||||||
|
|-----------------------|--------------------------------------------------------------------------------------|
|
||||||
|
| Test Design | Créer une stratégie de test complète liée aux exigences |
|
||||||
|
| ATDD | Développement piloté par les tests d'acceptation avec critères des parties prenantes |
|
||||||
|
| Automate | Générer des tests avec des patterns et utilitaires avancés |
|
||||||
|
| Test Review | Valider la qualité et la couverture des tests par rapport à la stratégie |
|
||||||
|
| Traceability | Remonter les tests aux exigences pour l'audit et la conformité |
|
||||||
|
| NFR Assessment | Évaluer les exigences non-fonctionnelles (performance, sécurité) |
|
||||||
|
| CI Setup | Configurer l'exécution des tests dans les pipelines d'intégration continue |
|
||||||
|
| Framework Scaffolding | Configurer l'infrastructure de test et la structure du projet |
|
||||||
|
| Release Gate | Prendre des décisions de livraison go/no-go basées sur les données |
|
||||||
|
|
||||||
|
TEA supporte également la priorisation basée sur les risques P0-P3 et des intégrations optionnelles avec Playwright Utils et les outils MCP.
|
||||||
|
|
||||||
|
### Quand Utiliser TEA
|
||||||
|
|
||||||
|
- Projets nécessitant une traçabilité des exigences ou une documentation de conformité
|
||||||
|
- Équipes ayant besoin d'une priorisation des tests basée sur les risques sur plusieurs fonctionnalités
|
||||||
|
- Environnements entreprise avec des murs de qualité formels avant livraison
|
||||||
|
- Domaines complexes où la stratégie de test doit être planifiée avant d'écrire les tests
|
||||||
|
- Projets ayant dépassé l'approche à workflow unique du QA intégré
|
||||||
|
|
||||||
|
## Comment les Tests S'Intègrent dans les Workflows
|
||||||
|
|
||||||
|
Le workflow Automate du QA intégré apparaît dans la Phase 4 (Implémentation) de la carte de workflow méthode BMad. Il est conçu pour s'exécuter **après qu'un epic complet soit terminé** — une fois que toutes les stories d'un epic ont été implémentées et revues. Une séquence typique :
|
||||||
|
|
||||||
|
1. Pour chaque story de l'epic : implémenter avec Dev Story (`DS`), puis valider avec Code Review (`CR`)
|
||||||
|
2. Après la fin de l'epic : générer les tests avec `QA` (via l'agent Developer) ou le workflow Automate de TEA
|
||||||
|
3. Lancer la rétrospective (`bmad-retrospective`) pour capturer les leçons apprises
|
||||||
|
|
||||||
|
Le workflow QA travaille directement à partir du code source sans charger les documents de planification (PRD, architecture). Les workflows TEA peuvent s'intégrer avec les artefacts de planification en amont pour la traçabilité.
|
||||||
|
|
||||||
|
Pour en savoir plus sur la place des tests dans le processus global, consultez la [Carte des Workflows](./workflow-map.md).
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: QA (Quality Assurance) : assurance qualité, ensemble des processus et activités visant à garantir que le produit logiciel répond aux exigences de qualité définies.
|
||||||
|
[^2]: ATDD (Acceptance Test-Driven Development) : méthode de développement où les tests d'acceptation sont écrits avant le code, en collaboration avec les parties prenantes pour définir les critères de réussite.
|
||||||
|
|
@ -0,0 +1,94 @@
|
||||||
|
---
|
||||||
|
title: "Carte des Workflows"
|
||||||
|
description: Référence visuelle des phases et des résultats des workflows de la méthode BMad
|
||||||
|
sidebar:
|
||||||
|
order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
La méthode BMad (BMM) est un module de l'écosystème BMad, conçu pour suivre les meilleures pratiques de l'ingénierie du contexte et de la planification. Les agents IA fonctionnent de manière optimale avec un contexte clair et structuré. Le système BMM construit ce contexte progressivement à travers 4 phases distinctes — chaque phase, et plusieurs workflows optionnels au sein de chaque phase, produisent des documents qui alimentent la phase suivante, afin que les agents sachent toujours quoi construire et pourquoi.
|
||||||
|
|
||||||
|
La logique et les concepts proviennent des méthodologies agiles qui ont été utilisées avec succès dans l'industrie comme cadre mental de référence.
|
||||||
|
|
||||||
|
Si à tout moment vous ne savez pas quoi faire, le skill `bmad-help` vous aidera à rester sur la bonne voie ou à savoir quoi faire ensuite. Vous pouvez toujours vous référer à cette page également — mais `bmad-help` est entièrement interactif et beaucoup plus rapide si vous avez déjà installé la méthode BMad. De plus, si vous utilisez différents modules qui ont étendu la méthode BMad ou ajouté d'autres modules complémentaires non extensifs — `bmad-help` évolue pour connaître tout ce qui est disponible et vous donner les meilleurs conseils du moment.
|
||||||
|
|
||||||
|
Note finale importante : Chaque workflow ci-dessous peut être exécuté directement avec l'outil de votre choix via un skill ou en chargeant d'abord un agent et en utilisant l'entrée du menu des agents.
|
||||||
|
|
||||||
|
<iframe src="/workflow-map-diagram-fr.html" title="Diagramme de la carte des workflows de la méthode BMad" width="100%" height="100%" style="border-radius: 8px; border: 1px solid #334155; min-height: 900px;"></iframe>
|
||||||
|
|
||||||
|
<p style="font-size: 0.8rem; text-align: right; margin-top: -0.5rem; margin-bottom: 1rem;">
|
||||||
|
<a href="/workflow-map-diagram-fr.html" target="_blank" rel="noopener noreferrer">Ouvrir le diagramme dans un nouvel onglet ↗</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
## Phase 1 : Analyse (Optionnelle)
|
||||||
|
|
||||||
|
Explorez l’espace problème et validez les idées avant de vous engager dans la planification.
|
||||||
|
|
||||||
|
| Workflow | Objectif | Produit |
|
||||||
|
|---------------------------------------------------------------------------|------------------------------------------------------------------------------------------|---------------------------|
|
||||||
|
| `bmad-brainstorming` | Brainstormez des idées de projet avec l'accompagnement guidé d'un coach de brainstorming | `brainstorming-report.md` |
|
||||||
|
| `bmad-domain-research`, `bmad-market-research`, `bmad-technical-research` | Validez les hypothèses de marché, techniques ou de domaine | Rapport de recherches |
|
||||||
|
| `bmad-create-product-brief` | Capturez la vision stratégique | `product-brief.md` |
|
||||||
|
|
||||||
|
## Phase 2 : Planification
|
||||||
|
|
||||||
|
Définissez ce qu'il faut construire et pour qui.
|
||||||
|
|
||||||
|
| Workflow | Objectif | Produit |
|
||||||
|
|-------------------------|---------------------------------------------------------|--------------|
|
||||||
|
| `bmad-create-prd` | Définissez les exigences (FRs/NFRs)[^1] | `PRD.md`[^2] |
|
||||||
|
| `bmad-create-ux-design` | Concevez l'expérience utilisateur (lorsque l'UX compte) | `ux-spec.md` |
|
||||||
|
|
||||||
|
## Phase 3 : Solutioning
|
||||||
|
|
||||||
|
Décidez comment le construire et décomposez le travail en stories.
|
||||||
|
|
||||||
|
| Workflow | Objectif | Produit |
|
||||||
|
|---------------------------------------|---------------------------------------------------|------------------------------|
|
||||||
|
| `bmad-create-architecture` | Rendez les décisions techniques explicites | `architecture.md` avec ADRs[^3] |
|
||||||
|
| `bmad-create-epics-and-stories` | Décomposez les exigences en travail implémentable | Fichiers d'epic avec stories |
|
||||||
|
| `bmad-check-implementation-readiness` | Vérification avant implémentation | Décision Passe/Réserves/Échec |
|
||||||
|
|
||||||
|
## Phase 4 : Implémentation
|
||||||
|
|
||||||
|
Construisez, une story à la fois. Bientôt disponible : automatisation complète de la phase 4 !
|
||||||
|
|
||||||
|
| Workflow | Objectif | Produit |
|
||||||
|
|------------------------|-------------------------------------------------------------------------------------|----------------------------------|
|
||||||
|
| `bmad-sprint-planning` | Initialisez le suivi (une fois par projet pour séquencer le cycle de développement) | `sprint-status.yaml` |
|
||||||
|
| `bmad-create-story` | Préparez la story suivante pour implémentation | `story-[slug].md` |
|
||||||
|
| `bmad-dev-story` | Implémentez la story | Code fonctionnel + tests |
|
||||||
|
| `bmad-code-review` | Validez la qualité de l'implémentation | Approuvé ou changements demandés |
|
||||||
|
| `bmad-correct-course` | Gérez les changements significatifs en cours de sprint | Plan mis à jour ou réorientation |
|
||||||
|
| `bmad-sprint-status` | Suivez la progression du sprint et le statut des stories | Mise à jour du statut du sprint |
|
||||||
|
| `bmad-retrospective` | Revue après complétion d'un epic | Leçons apprises |
|
||||||
|
|
||||||
|
## Quick Dev (Parcours Parallèle)
|
||||||
|
|
||||||
|
Sautez les phases 1-3 pour les travaux de faible envergure et bien compris.
|
||||||
|
|
||||||
|
| Workflow | Objectif | Produit |
|
||||||
|
|------------------|-------------------------------------------------------------------------------------|-----------------------|
|
||||||
|
| `bmad-quick-dev` | Flux rapide unifié — clarifie l'intention, planifie, implémente, révise et présente | `spec-*.md` + code |
|
||||||
|
|
||||||
|
## Gestion du Contexte
|
||||||
|
|
||||||
|
Chaque document devient le contexte de la phase suivante. Le PRD[^2] indique à l'architecte quelles contraintes sont importantes. L'architecture indique à l'agent de développement quels modèles suivre. Les fichiers de story fournissent un contexte focalisé et complet pour l'implémentation. Sans cette structure, les agents prennent des décisions incohérentes.
|
||||||
|
|
||||||
|
### Contexte du Projet
|
||||||
|
|
||||||
|
:::tip[Recommandé]
|
||||||
|
Créez `project-context.md` pour vous assurer que les agents IA suivent les règles et préférences de votre projet. Ce fichier fonctionne comme une constitution pour votre projet — il guide les décisions d'implémentation à travers tous les workflows. Ce fichier optionnel peut être généré à la fin de la création de l'architecture, ou dans un projet existant il peut également être généré pour capturer ce qui est important de conserver aligné avec les conventions actuelles.
|
||||||
|
:::
|
||||||
|
|
||||||
|
**Comment le créer :**
|
||||||
|
|
||||||
|
- **Manuellement** — Créez `_bmad-output/project-context.md` avec votre pile technologique et vos règles d'implémentation
|
||||||
|
- **Générez-le** — Exécutez `bmad-generate-project-context` pour l'auto-générer à partir de votre architecture ou de votre codebase
|
||||||
|
|
||||||
|
[**En savoir plus sur project-context.md**](../explanation/project-context.md)
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: FR / NFR (Functional / Non-Functional Requirement) : exigences décrivant respectivement **ce que le système doit faire** (fonctionnalités, comportements attendus) et **comment il doit le faire** (contraintes de performance, sécurité, fiabilité, ergonomie, etc.).
|
||||||
|
[^2]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d’aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
|
[^3]: ADR (Architecture Decision Record) : document qui consigne une décision d’architecture, son contexte, les options envisagées, le choix retenu et ses conséquences, afin d’assurer la traçabilité et la compréhension des décisions techniques dans le temps.
|
||||||
|
|
@ -0,0 +1,136 @@
|
||||||
|
---
|
||||||
|
title: Feuille de route
|
||||||
|
description: La suite pour BMad - Fonctionnalités, améliorations et contributions de la communauté
|
||||||
|
---
|
||||||
|
|
||||||
|
# La Méthode BMad : Feuille de route publique
|
||||||
|
|
||||||
|
La Méthode BMad, BMad Method Module (BMM) et BMad Builder (BMB) évoluent. Voici ce sur quoi nous travaillons et ce qui arrive prochainement.
|
||||||
|
|
||||||
|
<div class="roadmap-container">
|
||||||
|
|
||||||
|
<h2 class="roadmap-section-title">En cours</h2>
|
||||||
|
|
||||||
|
<div class="roadmap-future">
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🧩</span>
|
||||||
|
<h4>Architecture par Skills Universelle</h4>
|
||||||
|
<p>Un skill, toutes les plateformes. Écrivez une fois, exécutez partout.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🏗️</span>
|
||||||
|
<h4>BMad Builder v1</h4>
|
||||||
|
<p>Créez des agents IA et des workflows prêts pour la production avec des évaluations, des équipes et dégradation gracieuse intégrées.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🧠</span>
|
||||||
|
<h4>Système de Contexte Projet</h4>
|
||||||
|
<p>Votre IA comprend vraiment votre projet. Un contexte adapté au framework qui évolue avec votre base de code.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">📦</span>
|
||||||
|
<h4>Skills Centralisés</h4>
|
||||||
|
<p>Installez une fois, utilisez partout. Partagez des skills entre projets sans l'encombrement de fichiers.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🔄</span>
|
||||||
|
<h4>Skills Adaptatifs</h4>
|
||||||
|
<p>Des skills qui connaissent vos outils. Des variantes optimisées pour Claude, Codex, Kimi et OpenCode, et bien d'autres encore.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">📝</span>
|
||||||
|
<h4>Blog BMad Team Pros</h4>
|
||||||
|
<p>Guides, articles et perspectives de l'équipe. Lancement prochainement.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="roadmap-section-title">Pour bien commencer</h2>
|
||||||
|
|
||||||
|
<div class="roadmap-future">
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🏪</span>
|
||||||
|
<h4>Marketplace de Skills</h4>
|
||||||
|
<p>Découvrez, installez et mettez à jour des skills créés par la communauté. À une commande curl de super-pouvoirs.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🎨</span>
|
||||||
|
<h4>Personnalisation de Workflow</h4>
|
||||||
|
<p>Faites-en le vôtre. Intégrez Jira, Linear, des sorties personnalisées à votre workflow, vos règles.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🚀</span>
|
||||||
|
<h4>Optimisation Phases 1-3</h4>
|
||||||
|
<p>Planification éclair avec collecte de contexte par sous-agents. Le mode YOLO rencontre l'excellence guidée.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🌐</span>
|
||||||
|
<h4>Prêt pour l'Entreprise</h4>
|
||||||
|
<p>SSO, journaux d'audit, espaces de travail d'équipe. Toutes les choses ennuyantes qui feront dire oui aux entreprises.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">💎</span>
|
||||||
|
<h4>Explosion de Modules Communautaires</h4>
|
||||||
|
<p>Divertissement, sécurité, thérapie, jeu de rôle et bien plus encore. Étendez la plateforme de la Méthode BMad.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">⚡</span>
|
||||||
|
<h4>Automatisation de la Boucle de Développement</h4>
|
||||||
|
<p>Pilote automatique optionnel pour le développement. Laissez l'IA gérer le flux tout en maintenant une qualité optimale.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="roadmap-section-title">Communauté et Équipe</h2>
|
||||||
|
|
||||||
|
<div class="roadmap-future">
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🎙️</span>
|
||||||
|
<h4>Le Podcast de la Méthode BMad</h4>
|
||||||
|
<p>Conversations sur le développement natif IA. Lancement le 1er mars 2026 !</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🎓</span>
|
||||||
|
<h4>Le Master Class de la Méthode BMad</h4>
|
||||||
|
<p>Passez d'utilisateur à expert. Approfondissements dans chaque phase, chaque workflow, chaque secret.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🏗️</span>
|
||||||
|
<h4>La Master Class BMad Builder</h4>
|
||||||
|
<p>Construisez vos propres agents. Techniques avancées pour quand vous êtes prêt à créer, pas seulement à utiliser.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">⚡</span>
|
||||||
|
<h4>BMad Prototype First</h4>
|
||||||
|
<p>De l'idée au prototype fonctionnel en une seule session. Créez l'application de vos rêves comme une œuvre d'art.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🌴</span>
|
||||||
|
<h4>BMad BALM !</h4>
|
||||||
|
<p>Gestion de vie native IA. Tâches, habitudes, objectifs : votre copilote IA pour tout.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🖥️</span>
|
||||||
|
<h4>UI Officielle</h4>
|
||||||
|
<p>Une belle interface pour tout l'écosystème BMad. La puissance de la CLI, le polissage de l'interface graphique.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🔒</span>
|
||||||
|
<h4>BMad in a Box</h4>
|
||||||
|
<p>Auto-hébergé, isolé, niveau entreprise. Votre assistant IA, votre infrastructure, votre contrôle.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="text-align: center; margin-top: 3rem; padding: 2rem; background: var(--color-bg-card); border-radius: 12px; border: 1px solid var(--color-border);">
|
||||||
|
<h3 style="margin: 0 0 1rem;">Envie de contribuer ?</h3>
|
||||||
|
<p style="color: var(--slate-color-400); margin: 0;">
|
||||||
|
Ce n'est qu'une liste partielle de ce qui est prévu. L'équipe Open Source BMad accueille les contributeurs !{" "}<br />
|
||||||
|
<a href="https://github.com/bmad-code-org/BMAD-METHOD" style="color: var(--color-in-progress);">Rejoignez-nous sur GitHub</a> pour aider à façonner l'avenir du développement propulsé par l'IA.
|
||||||
|
</p>
|
||||||
|
<p style="color: var(--slate-color-400); margin: 1.5rem 0 0;">
|
||||||
|
Vous aimez ce que nous construisons ? Nous apprécions le soutien ponctuel et mensuel sur{" "}<a href="https://buymeacoffee.com/bmad" style="color: var(--color-in-progress);">Buy Me a Coffee</a>.
|
||||||
|
</p>
|
||||||
|
<p style="color: var(--slate-color-400); margin: 1rem 0 0;">
|
||||||
|
Pour les parrainages d'entreprise, les demandes de partenariat, les interventions, les formations ou les demandes médias :{" "}
|
||||||
|
<a href="mailto:contact@bmadcode.com" style="color: var(--color-in-progress);">contact@bmadcode.com</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,279 @@
|
||||||
|
---
|
||||||
|
title: "Premiers pas"
|
||||||
|
description: Installer BMad et construire votre premier projet
|
||||||
|
---
|
||||||
|
|
||||||
|
Construisez des logiciels plus rapidement en utilisant des workflows propulsés par l'IA avec des agents spécialisés qui vous guident à travers la planification, l'architecture et l'implémentation.
|
||||||
|
|
||||||
|
## Ce que vous allez apprendre
|
||||||
|
|
||||||
|
- Installer et initialiser la méthode BMad pour un nouveau projet
|
||||||
|
- Utiliser **BMad-Help** — votre guide intelligent qui sait quoi faire ensuite
|
||||||
|
- Choisir la bonne voie de planification selon la taille de votre projet
|
||||||
|
- Progresser à travers les phases, des exigences au code fonctionnel
|
||||||
|
- Utiliser efficacement les agents et les workflows
|
||||||
|
|
||||||
|
:::note[Prérequis]
|
||||||
|
- **Node.js 20+** — Requis pour l'installateur
|
||||||
|
- **Git** — Recommandé pour le contrôle de version
|
||||||
|
- **IDE IA** — Claude Code, Cursor, ou similaire
|
||||||
|
- **Une idée de projet** — Même simple, elle fonctionne pour apprendre
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::tip[Le chemin le plus simple]
|
||||||
|
**Installer** → `npx bmad-method install`
|
||||||
|
**Demander** → `bmad-help que dois-je faire en premier ?`
|
||||||
|
**Construire** → Laissez BMad-Help vous guider workflow par workflow
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Découvrez BMad-Help : votre guide intelligent
|
||||||
|
|
||||||
|
**BMad-Help est le moyen le plus rapide de démarrer avec BMad.** Vous n'avez pas besoin de mémoriser les workflows ou les phases — posez simplement la question, et BMad-Help va :
|
||||||
|
|
||||||
|
- **Inspecter votre projet** pour voir ce qui a déjà été fait
|
||||||
|
- **Vous montrer vos options** en fonction des modules que vous avez installés
|
||||||
|
- **Recommander la prochaine étape** — y compris la première tâche obligatoire
|
||||||
|
- **Répondre aux questions** comme « J'ai une idée de SaaS, par où commencer ? »
|
||||||
|
|
||||||
|
### Comment utiliser BMad-Help
|
||||||
|
|
||||||
|
Exécutez-le dans votre IDE avec IA en invoquant la skill :
|
||||||
|
|
||||||
|
```
|
||||||
|
bmad-help
|
||||||
|
```
|
||||||
|
|
||||||
|
Ou combinez-le avec une question pour obtenir des conseils adaptés au contexte :
|
||||||
|
|
||||||
|
```
|
||||||
|
bmad-help J'ai une idée de produit SaaS, je connais déjà toutes les fonctionnalités que je veux. Par où dois-je commencer ?
|
||||||
|
```
|
||||||
|
|
||||||
|
BMad-Help répondra avec :
|
||||||
|
- Ce qui est recommandé pour votre situation
|
||||||
|
- Quelle est la première tâche obligatoire
|
||||||
|
- À quoi ressemble le reste du processus
|
||||||
|
|
||||||
|
### Il alimente aussi les workflows
|
||||||
|
|
||||||
|
BMad-Help ne se contente pas de répondre aux questions — **il s'exécute automatiquement à la fin de chaque workflow** pour vous dire exactement quoi faire ensuite. Pas de devinettes, pas de recherche dans la documentation — juste des conseils clairs sur le prochain workflow requis.
|
||||||
|
|
||||||
|
:::tip[Commencez ici]
|
||||||
|
Après avoir installé BMad, invoquez immédiatement la skill `bmad-help`. Elle détectera les modules que vous avez installés et vous guidera vers le bon point de départ pour votre projet.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Comprendre BMad
|
||||||
|
|
||||||
|
BMad vous aide à construire des logiciels grâce à des workflows guidés avec des agents IA spécialisés. Le processus suit quatre phases :
|
||||||
|
|
||||||
|
| Phase | Nom | Ce qui se passe |
|
||||||
|
|-------|----------------|----------------------------------------------------------------|
|
||||||
|
| 1 | Analyse | Brainstorming, recherche, product brief *(optionnel)* |
|
||||||
|
| 2 | Planification | Créer les exigences (PRD[^1] ou spécification technique) |
|
||||||
|
| 3 | Solutioning | Concevoir l'architecture *(BMad Method/Enterprise uniquement)* |
|
||||||
|
| 4 | Implémentation | Construire epic[^2] par epic, story[^3] par story |
|
||||||
|
|
||||||
|
**[Ouvrir la carte des workflows](../reference/workflow-map.md)** pour explorer les phases, les workflows et la gestion du contexte.
|
||||||
|
|
||||||
|
Selon la complexité de votre projet, BMad propose trois voies de planification :
|
||||||
|
|
||||||
|
| Voie | Idéal pour | Documents créés |
|
||||||
|
|------------------|------------------------------------------------------------------------------|----------------------------------------|
|
||||||
|
| **Quick Dev** | Corrections de bugs, fonctionnalités simples, périmètre clair (1-15 stories) | Spécification technique uniquement |
|
||||||
|
| **méthode BMad** | Produits, plateformes, fonctionnalités complexes (10-50+ stories) | PRD + Architecture + UX[^4] |
|
||||||
|
| **Enterprise** | Conformité, systèmes multi-tenant[^5] (30+ stories) | PRD + Architecture + Security + DevOps |
|
||||||
|
|
||||||
|
:::note
|
||||||
|
Les comptes de stories sont indicatifs, pas des définitions. Choisissez votre voie en fonction des besoins de planification, pas du calcul des stories.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Ouvrez un terminal dans le répertoire de votre projet et exécutez :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install
|
||||||
|
```
|
||||||
|
|
||||||
|
Si vous souhaitez la version préliminaire la plus récente au lieu du canal de release par défaut, utilisez `npx bmad-method@next install`.
|
||||||
|
|
||||||
|
Lorsque vous êtes invité à sélectionner des modules, choisissez **méthode BMad**.
|
||||||
|
|
||||||
|
L'installateur crée deux dossiers :
|
||||||
|
- `_bmad/` — agents, workflows, tâches et configuration
|
||||||
|
- `_bmad-output/` — vide pour l'instant, mais c'est là que vos artefacts seront enregistrés
|
||||||
|
|
||||||
|
:::tip[Votre prochaine étape]
|
||||||
|
Ouvrez votre IDE avec IA dans le dossier du projet et exécutez :
|
||||||
|
|
||||||
|
```
|
||||||
|
bmad-help
|
||||||
|
```
|
||||||
|
|
||||||
|
BMad-Help détectera ce que vous avez accompli et recommandera exactement quoi faire ensuite. Vous pouvez aussi lui poser des questions comme « Quelles sont mes options ? » ou « J'ai une idée de SaaS, par où devrais-je commencer ? »
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::note[Comment charger les agents et exécuter les workflows]
|
||||||
|
Chaque workflow possède une **skill** que vous invoquez par nom dans votre IDE (par ex., `bmad-create-prd`). Votre outil IA reconnaîtra le nom `bmad-*` et l'exécutera.
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::caution[Nouveaux chats]
|
||||||
|
Démarrez toujours un nouveau chat pour chaque workflow. Cela évite que les limitations de contexte ne causent des problèmes.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Étape 1 : Créer votre plan
|
||||||
|
|
||||||
|
Travaillez à travers les phases 1-3. **Utilisez de nouveaux chats pour chaque workflow.**
|
||||||
|
|
||||||
|
:::tip[Contexte de projet (Optionnel)]
|
||||||
|
Avant de commencer, envisagez de créer `project-context.md` pour documenter vos préférences techniques et règles d'implémentation. Cela garantit que tous les agents IA suivent vos conventions tout au long du projet.
|
||||||
|
|
||||||
|
Créez-le manuellement dans `_bmad-output/project-context.md` ou générez-le après l'architecture en utilisant `bmad-generate-project-context`. [En savoir plus](../explanation/project-context.md).
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Phase 1 : Analyse (Optionnel)
|
||||||
|
|
||||||
|
Tous les workflows de cette phase sont optionnels :
|
||||||
|
- **brainstorming** (`bmad-brainstorming`) — Idéation guidée
|
||||||
|
- **research** (`bmad-market-research` / `bmad-domain-research` / `bmad-technical-research`) — Recherche marché, domaine et technique
|
||||||
|
- **create-product-brief** (`bmad-create-product-brief`) — Document de base recommandé
|
||||||
|
|
||||||
|
### Phase 2 : Planification (Requis)
|
||||||
|
|
||||||
|
**Pour les voies BMad Method et Enterprise :**
|
||||||
|
1. Exécutez `bmad-create-prd` dans un nouveau chat
|
||||||
|
2. Sortie : `PRD.md`
|
||||||
|
|
||||||
|
**Pour la voie Quick Dev :**
|
||||||
|
- Utilisez le workflow `bmad-quick-dev` (`bmad-quick-dev`) à la place du PRD, puis passez à l'implémentation
|
||||||
|
|
||||||
|
:::note[Design UX (Optionnel)]
|
||||||
|
Si votre projet a une interface utilisateur, exécutez le workflow de design UX (`bmad-create-ux-design`) après avoir créé votre PRD.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Phase 3 : Solutioning (méthode BMad/Enterprise)
|
||||||
|
|
||||||
|
**Créer l'Architecture**
|
||||||
|
1. Exécutez `bmad-create-architecture` dans un nouveau chat
|
||||||
|
2. Sortie : Document d'architecture avec les décisions techniques
|
||||||
|
|
||||||
|
**Créer les Epics et Stories**
|
||||||
|
|
||||||
|
:::tip[Amélioration V6]
|
||||||
|
Les epics et stories sont maintenant créés *après* l'architecture. Cela produit des stories de meilleure qualité car les décisions d'architecture (base de données, patterns d'API, pile technologique) affectent directement la façon dont le travail doit être décomposé.
|
||||||
|
:::
|
||||||
|
|
||||||
|
1. Exécutez `bmad-create-epics-and-stories` dans un nouveau chat
|
||||||
|
2. Le workflow utilise à la fois le PRD et l'Architecture pour créer des stories techniquement éclairées
|
||||||
|
|
||||||
|
**Vérification de préparation à l'implémentation** *(Hautement recommandé)*
|
||||||
|
1. Exécutez `bmad-check-implementation-readiness` dans un nouveau chat
|
||||||
|
2. Valide la cohérence entre tous les documents de planification
|
||||||
|
|
||||||
|
## Étape 2 : Construire votre projet
|
||||||
|
|
||||||
|
Une fois la planification terminée, passez à l'implémentation. **Chaque workflow doit s'exécuter dans un nouveau chat.**
|
||||||
|
|
||||||
|
### Initialiser la planification de sprint
|
||||||
|
|
||||||
|
Exécutez `bmad-sprint-planning` dans un nouveau chat. Cela crée `sprint-status.yaml` pour suivre tous les epics et stories.
|
||||||
|
|
||||||
|
### Le cycle de construction
|
||||||
|
|
||||||
|
Pour chaque story, répétez ce cycle avec de nouveaux chats :
|
||||||
|
|
||||||
|
| Étape | Workflow | Commande | Objectif |
|
||||||
|
| ----- | --------------------- | --------------------- | ----------------------------------- |
|
||||||
|
| 1 | `bmad-create-story` | `bmad-create-story` | Créer le fichier story depuis l'epic |
|
||||||
|
| 2 | `bmad-dev-story` | `bmad-dev-story` | Implémenter la story |
|
||||||
|
| 3 | `bmad-code-review` | `bmad-code-review` | Validation de qualité *(recommandé)* |
|
||||||
|
|
||||||
|
Après avoir terminé toutes les stories d'un epic, exécutez `bmad-retrospective` dans un nouveau chat.
|
||||||
|
|
||||||
|
## Ce que vous avez accompli
|
||||||
|
|
||||||
|
Vous avez appris les fondamentaux de la construction avec BMad :
|
||||||
|
|
||||||
|
- Installé BMad et configuré pour votre IDE
|
||||||
|
- Initialisé un projet avec votre voie de planification choisie
|
||||||
|
- Créé des documents de planification (PRD, Architecture, Epics & Stories)
|
||||||
|
- Compris le cycle de construction pour l'implémentation
|
||||||
|
|
||||||
|
Votre projet contient maintenant :
|
||||||
|
|
||||||
|
```text
|
||||||
|
your-project/
|
||||||
|
├── _bmad/ # Configuration BMad
|
||||||
|
├── _bmad-output/
|
||||||
|
│ ├── planning-artifacts/
|
||||||
|
│ │ ├── PRD.md # Votre document d'exigences
|
||||||
|
│ │ ├── architecture.md # Décisions techniques
|
||||||
|
│ │ └── epics/ # Fichiers epic et story
|
||||||
|
│ ├── implementation-artifacts/
|
||||||
|
│ │ └── sprint-status.yaml # Suivi de sprint
|
||||||
|
│ └── project-context.md # Règles d'implémentation (optionnel)
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Référence rapide
|
||||||
|
|
||||||
|
| Workflow | Commande | Objectif |
|
||||||
|
| ------------------------------------- | ------------------------------------------- | ------------------------------------------------ |
|
||||||
|
| **`bmad-help`** ⭐ | `bmad-help` | **Votre guide intelligent — posez n'importe quelle question !** |
|
||||||
|
| `bmad-create-prd` | `bmad-create-prd` | Créer le document d'exigences produit |
|
||||||
|
| `bmad-create-architecture` | `bmad-create-architecture` | Créer le document d'architecture |
|
||||||
|
| `bmad-generate-project-context` | `bmad-generate-project-context` | Créer le fichier de contexte projet |
|
||||||
|
| `bmad-create-epics-and-stories` | `bmad-create-epics-and-stories` | Décomposer le PRD en epics |
|
||||||
|
| `bmad-check-implementation-readiness` | `bmad-check-implementation-readiness` | Valider la cohérence de planification |
|
||||||
|
| `bmad-sprint-planning` | `bmad-sprint-planning` | Initialiser le suivi de sprint |
|
||||||
|
| `bmad-create-story` | `bmad-create-story` | Créer un fichier story |
|
||||||
|
| `bmad-dev-story` | `bmad-dev-story` | Implémenter une story |
|
||||||
|
| `bmad-code-review` | `bmad-code-review` | Revoir le code implémenté |
|
||||||
|
|
||||||
|
## Questions fréquentes
|
||||||
|
|
||||||
|
**Ai-je toujours besoin d'une architecture ?**
|
||||||
|
Uniquement pour les voies méthode BMad et Enterprise. Quick Dev passe directement de la spécification technique (spec) à l'implémentation.
|
||||||
|
|
||||||
|
**Puis-je modifier mon plan plus tard ?**
|
||||||
|
Oui. Utilisez `bmad-correct-course` pour gérer les changements de périmètre.
|
||||||
|
|
||||||
|
**Et si je veux d'abord faire du brainstorming ?**
|
||||||
|
Invoquez l'agent Analyst (`bmad-agent-analyst`) et exécutez `bmad-brainstorming` (`bmad-brainstorming`) avant de commencer votre PRD.
|
||||||
|
|
||||||
|
**Dois-je suivre un ordre strict ?**
|
||||||
|
Pas strictement. Une fois que vous maîtrisez le flux, vous pouvez exécuter les workflows directement en utilisant la référence rapide ci-dessus.
|
||||||
|
|
||||||
|
## Obtenir de l'aide
|
||||||
|
|
||||||
|
:::tip[Premier arrêt : BMad-Help]
|
||||||
|
**Invoquez `bmad-help` à tout moment** — c'est le moyen le plus rapide de se débloquer. Posez n'importe quelle question :
|
||||||
|
- « Que dois-je faire après l'installation ? »
|
||||||
|
- « Je suis bloqué sur le workflow X »
|
||||||
|
- « Quelles sont mes options pour Y ? »
|
||||||
|
- « Montre-moi ce qui a été fait jusqu'ici »
|
||||||
|
|
||||||
|
BMad-Help inspecte votre projet, détecte ce que vous avez accompli et vous dit exactement quoi faire ensuite.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Pendant les workflows** — Les agents vous guident avec des questions et des explications
|
||||||
|
- **Communauté** — [Discord](https://discord.gg/gk8jAdXWmj) (#bmad-method-help, #report-bugs-and-issues)
|
||||||
|
|
||||||
|
## Points clés à retenir
|
||||||
|
|
||||||
|
:::tip[Retenez ceci]
|
||||||
|
- **Commencez par `bmad-help`** — Votre guide intelligent qui connaît votre projet et vos options
|
||||||
|
- **Utilisez toujours de nouveaux chats** — Démarrez un nouveau chat pour chaque workflow
|
||||||
|
- **La voie compte** — Quick Dev utilise `bmad-quick-dev` ; La méthode BMad/Enterprise nécessitent PRD et architecture
|
||||||
|
- **BMad-Help s'exécute automatiquement** — Chaque workflow se termine par des conseils sur la prochaine étape
|
||||||
|
:::
|
||||||
|
|
||||||
|
Prêt à commencer ? Installez BMad, invoquez `bmad-help`, et laissez votre guide intelligent vous montrer le chemin.
|
||||||
|
|
||||||
|
## Glossaire
|
||||||
|
|
||||||
|
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d'aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
|
[^2]: Epic : grand ensemble de fonctionnalités ou de travaux qui peut être décomposé en plusieurs user stories.
|
||||||
|
[^3]: Story (User Story) : description courte et simple d'une fonctionnalité du point de vue de l'utilisateur ou du client. Elle représente une unité de travail implémentable en un court délai.
|
||||||
|
[^4]: UX (User Experience) : expérience utilisateur, englobant l'ensemble des interactions et perceptions d'un utilisateur face à un produit. Le design UX vise à créer des interfaces intuitives, efficaces et agréables en tenant compte des besoins, comportements et contexte d'utilisation.
|
||||||
|
[^5]: Multi-tenant : architecture logicielle où une seule instance de l'application sert plusieurs clients (tenants) tout en maintenant leurs données isolées et sécurisées les unes des autres.
|
||||||
|
|
@ -85,7 +85,7 @@ Add persistent context the agent will always remember:
|
||||||
```yaml
|
```yaml
|
||||||
memories:
|
memories:
|
||||||
- 'Works at Krusty Krab'
|
- 'Works at Krusty Krab'
|
||||||
- 'Favorite Celebrity: David Hasslehoff'
|
- 'Favorite Celebrity: David Hasselhoff'
|
||||||
- 'Learned in Epic 1 that it is not cool to just pretend that tests have passed'
|
- 'Learned in Epic 1 that it is not cool to just pretend that tests have passed'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -128,7 +128,7 @@ prompts:
|
||||||
|
|
||||||
### 3. Apply Your Changes
|
### 3. Apply Your Changes
|
||||||
|
|
||||||
After editing, recompile the agent to apply changes:
|
After editing, reinstall to apply changes:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method install
|
npx bmad-method install
|
||||||
|
|
@ -138,17 +138,16 @@ The installer detects the existing installation and offers these options:
|
||||||
|
|
||||||
| Option | What It Does |
|
| Option | What It Does |
|
||||||
| ---------------------------- | ------------------------------------------------------------------- |
|
| ---------------------------- | ------------------------------------------------------------------- |
|
||||||
| **Quick Update** | Updates all modules to the latest version and recompiles all agents |
|
| **Quick Update** | Updates all modules to the latest version and applies customizations |
|
||||||
| **Recompile Agents** | Applies customizations only, without updating module files |
|
|
||||||
| **Modify BMad Installation** | Full installation flow for adding or removing modules |
|
| **Modify BMad Installation** | Full installation flow for adding or removing modules |
|
||||||
|
|
||||||
For customization-only changes, **Recompile Agents** is the fastest option.
|
For customization-only changes, **Quick Update** is the fastest option.
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
**Changes not appearing?**
|
**Changes not appearing?**
|
||||||
|
|
||||||
- Run `npx bmad-method install` and select **Recompile Agents** to apply changes
|
- Run `npx bmad-method install` and select **Quick Update** to apply changes
|
||||||
- Check that your YAML syntax is valid (indentation matters)
|
- Check that your YAML syntax is valid (indentation matters)
|
||||||
- Verify you edited the correct `.customize.yaml` file for the agent
|
- Verify you edited the correct `.customize.yaml` file for the agent
|
||||||
|
|
||||||
|
|
@ -161,7 +160,7 @@ For customization-only changes, **Recompile Agents** is the fastest option.
|
||||||
**Need to reset an agent?**
|
**Need to reset an agent?**
|
||||||
|
|
||||||
- Clear or delete the agent's `.customize.yaml` file
|
- Clear or delete the agent's `.customize.yaml` file
|
||||||
- Run `npx bmad-method install` and select **Recompile Agents** to restore defaults
|
- Run `npx bmad-method install` and select **Quick Update** to restore defaults
|
||||||
|
|
||||||
## Workflow Customization
|
## Workflow Customization
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ You have two primary options depending on the scope of changes:
|
||||||
|
|
||||||
| Scope | Recommended Approach |
|
| Scope | Recommended Approach |
|
||||||
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **Small updates or additions** | Use `bmad-quick-flow-solo-dev` to create a tech-spec and implement the change. The full four-phase BMad Method is likely overkill. |
|
| **Small updates or additions** | Run `bmad-quick-dev` to clarify intent, plan, implement, and review in a single workflow. The full four-phase BMad Method is likely overkill. |
|
||||||
| **Major changes or additions** | Start with the BMad Method, applying as much or as little rigor as needed. |
|
| **Major changes or additions** | Start with the BMad Method, applying as much or as little rigor as needed. |
|
||||||
|
|
||||||
### During PRD Creation
|
### During PRD Creation
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt
|
||||||
:::note[Example]
|
:::note[Example]
|
||||||
**Q:** "Tell me the fastest way to build something with BMad"
|
**Q:** "Tell me the fastest way to build something with BMad"
|
||||||
|
|
||||||
**A:** Use Quick Flow: Run `bmad-quick-spec` to write a technical specification, then `bmad-quick-dev` to implement it—skipping the full planning phases.
|
**A:** Use Quick Flow: Run `bmad-quick-dev` — it clarifies your intent, plans, implements, reviews, and presents results in a single workflow, skipping the full planning phases.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## What You Get
|
## What You Get
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ Requires [Node.js](https://nodejs.org) v20+ and `npx` (included with npm).
|
||||||
| `--modules <modules>` | Comma-separated module IDs | `--modules bmm,bmb` |
|
| `--modules <modules>` | Comma-separated module IDs | `--modules bmm,bmb` |
|
||||||
| `--tools <tools>` | Comma-separated tool/IDE IDs (use `none` to skip) | `--tools claude-code,cursor` or `--tools none` |
|
| `--tools <tools>` | Comma-separated tool/IDE IDs (use `none` to skip) | `--tools claude-code,cursor` or `--tools none` |
|
||||||
| `--custom-content <paths>` | Comma-separated paths to custom modules | `--custom-content ~/my-module,~/another-module` |
|
| `--custom-content <paths>` | Comma-separated paths to custom modules | `--custom-content ~/my-module,~/another-module` |
|
||||||
| `--action <type>` | Action for existing installations: `install` (default), `update`, `quick-update`, or `compile-agents` | `--action quick-update` |
|
| `--action <type>` | Action for existing installations: `install` (default), `update`, or `quick-update` | `--action quick-update` |
|
||||||
|
|
||||||
### Core Configuration
|
### Core Configuration
|
||||||
|
|
||||||
|
|
@ -37,7 +37,19 @@ Requires [Node.js](https://nodejs.org) v20+ and `npx` (included with npm).
|
||||||
| `--user-name <name>` | Name for agents to use | System username |
|
| `--user-name <name>` | Name for agents to use | System username |
|
||||||
| `--communication-language <lang>` | Agent communication language | English |
|
| `--communication-language <lang>` | Agent communication language | English |
|
||||||
| `--document-output-language <lang>` | Document output language | English |
|
| `--document-output-language <lang>` | Document output language | English |
|
||||||
| `--output-folder <path>` | Output folder path | _bmad-output |
|
| `--output-folder <path>` | Output folder path (see resolution rules below) | `_bmad-output` |
|
||||||
|
|
||||||
|
#### Output Folder Path Resolution
|
||||||
|
|
||||||
|
The value passed to `--output-folder` (or entered interactively) is resolved according to these rules:
|
||||||
|
|
||||||
|
| Input type | Example | Resolved as |
|
||||||
|
|------------|---------|-------------|
|
||||||
|
| Relative path (default) | `_bmad-output` | `<project-root>/_bmad-output` |
|
||||||
|
| Relative path with traversal | `../../shared-outputs` | Normalized absolute path — e.g. `/Users/me/shared-outputs` |
|
||||||
|
| Absolute path | `/Users/me/shared-outputs` | Used as-is — project root is **not** prepended |
|
||||||
|
|
||||||
|
The resolved path is what agents and workflows use at runtime when writing output files. Using an absolute path or a traversal-based relative path lets you direct all generated artifacts to a directory outside your project tree — useful for shared or monorepo setups.
|
||||||
|
|
||||||
### Other Options
|
### Other Options
|
||||||
|
|
||||||
|
|
@ -61,7 +73,7 @@ Available tool IDs for the `--tools` flag:
|
||||||
|
|
||||||
**Preferred:** `claude-code`, `cursor`
|
**Preferred:** `claude-code`, `cursor`
|
||||||
|
|
||||||
Run `npx bmad-method install` interactively once to see the full current list of supported tools, or check the [platform codes configuration](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/tools/cli/installers/lib/ide/platform-codes.yaml).
|
Run `npx bmad-method install` interactively once to see the full current list of supported tools, or check the [platform codes configuration](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/tools/installer/ide/platform-codes.yaml).
|
||||||
|
|
||||||
## Installation Modes
|
## Installation Modes
|
||||||
|
|
||||||
|
|
@ -121,7 +133,7 @@ npx bmad-method install \
|
||||||
## What You Get
|
## What You Get
|
||||||
|
|
||||||
- A fully configured `_bmad/` directory in your project
|
- A fully configured `_bmad/` directory in your project
|
||||||
- Compiled agents and workflows for your selected modules and tools
|
- Agents and workflows configured for your selected modules and tools
|
||||||
- A `_bmad-output/` folder for generated artifacts
|
- A `_bmad-output/` folder for generated artifacts
|
||||||
|
|
||||||
## Validation and Error Handling
|
## Validation and Error Handling
|
||||||
|
|
@ -132,7 +144,7 @@ BMad validates all provided flags:
|
||||||
- **Modules** — Warns about invalid module IDs (but won't fail)
|
- **Modules** — Warns about invalid module IDs (but won't fail)
|
||||||
- **Tools** — Warns about invalid tool IDs (but won't fail)
|
- **Tools** — Warns about invalid tool IDs (but won't fail)
|
||||||
- **Custom Content** — Each path must contain a valid `module.yaml` file
|
- **Custom Content** — Each path must contain a valid `module.yaml` file
|
||||||
- **Action** — Must be one of: `install`, `update`, `quick-update`, `compile-agents`
|
- **Action** — Must be one of: `install`, `update`, `quick-update`
|
||||||
|
|
||||||
Invalid values will either:
|
Invalid values will either:
|
||||||
1. Show an error and exit (for critical options like directory)
|
1. Show an error and exit (for critical options like directory)
|
||||||
|
|
@ -141,6 +153,7 @@ Invalid values will either:
|
||||||
|
|
||||||
:::tip[Best Practices]
|
:::tip[Best Practices]
|
||||||
- Use absolute paths for `--directory` to avoid ambiguity
|
- Use absolute paths for `--directory` to avoid ambiguity
|
||||||
|
- Use an absolute path for `--output-folder` when you want artifacts written outside the project tree (e.g. a shared monorepo outputs directory)
|
||||||
- Test flags locally before using in CI/CD pipelines
|
- Test flags locally before using in CI/CD pipelines
|
||||||
- Combine with `-y` for truly unattended installations
|
- Combine with `-y` for truly unattended installations
|
||||||
- Use `--debug` if you encounter issues during installation
|
- Use `--debug` if you encounter issues during installation
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: "Manage Project Context"
|
title: "Manage Project Context"
|
||||||
description: Create and maintain project-context.md to guide AI agents
|
description: Create and maintain project-context.md to guide AI agents
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 7
|
order: 8
|
||||||
---
|
---
|
||||||
|
|
||||||
Use the `project-context.md` file to ensure AI agents follow your project's technical preferences and implementation rules throughout all workflows. To make sure this is always available, you can also add the line `Important project context and conventions are located in [path to project context]/project-context.md` to your tools context or always rules file (such as `AGENTS.md`)
|
Use the `project-context.md` file to ensure AI agents follow your project's technical preferences and implementation rules throughout all workflows. To make sure this is always available, you can also add the line `Important project context and conventions are located in [path to project context]/project-context.md` to your tools context or always rules file (such as `AGENTS.md`)
|
||||||
|
|
|
||||||
|
|
@ -5,119 +5,91 @@ sidebar:
|
||||||
order: 5
|
order: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
Use the **DEV agent** directly for bug fixes, refactorings, or small targeted changes that don't require the full BMad Method or Quick Flow.
|
Use **Quick Dev** for bug fixes, refactorings, or small targeted changes that don't require the full BMad Method.
|
||||||
|
|
||||||
## When to Use This
|
## When to Use This
|
||||||
|
|
||||||
- Bug fixes with a clear, known cause
|
- Bug fixes with a clear, known cause
|
||||||
- Small refactorings (rename, extract, restructure) contained within a few files
|
- Small refactorings (rename, extract, restructure) contained within a few files
|
||||||
- Minor feature tweaks or configuration changes
|
- Minor feature tweaks or configuration changes
|
||||||
- Exploratory work to understand an unfamiliar codebase
|
- Dependency updates
|
||||||
|
|
||||||
:::note[Prerequisites]
|
:::note[Prerequisites]
|
||||||
- BMad Method installed (`npx bmad-method install`)
|
- BMad Method installed (`npx bmad-method install`)
|
||||||
- An AI-powered IDE (Claude Code, Cursor, or similar)
|
- An AI-powered IDE (Claude Code, Cursor, or similar)
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Choose Your Approach
|
|
||||||
|
|
||||||
| Situation | Agent | Why |
|
|
||||||
| --- | --- | --- |
|
|
||||||
| Fix a specific bug or make a small, scoped change | **DEV agent** | Jumps straight into implementation without planning overhead |
|
|
||||||
| Change touches several files or you want a written plan first | **Quick Flow Solo Dev** | Creates a quick-spec before implementation so the agent stays aligned to your standards |
|
|
||||||
|
|
||||||
If you are unsure, start with the DEV agent. You can always escalate to Quick Flow if the change grows.
|
|
||||||
|
|
||||||
## Steps
|
## Steps
|
||||||
|
|
||||||
### 1. Invoke the DEV Agent
|
### 1. Start a Fresh Chat
|
||||||
|
|
||||||
Start a **fresh chat** in your AI IDE and invoke the DEV agent skill:
|
Open a **fresh chat session** in your AI IDE. Reusing a session from a previous workflow can cause context conflicts.
|
||||||
|
|
||||||
|
### 2. Give It Your Intent
|
||||||
|
|
||||||
|
Quick Dev accepts free-form intent — before, with, or after the invocation. Examples:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
bmad-dev
|
run quick-dev — Fix the login validation bug that allows empty passwords.
|
||||||
```
|
```
|
||||||
|
|
||||||
This loads the agent's persona and capabilities into the session. If you decide you need Quick Flow instead, invoke the **Quick Flow Solo Dev** agent skill in a fresh chat:
|
|
||||||
|
|
||||||
```text
|
```text
|
||||||
bmad-quick-flow-solo-dev
|
run quick-dev — fix https://github.com/org/repo/issues/42
|
||||||
```
|
```
|
||||||
|
|
||||||
Once the Solo Dev agent is loaded, describe your change and ask it to create a **quick-spec**. The agent drafts a lightweight spec capturing what you want to change and how. After you approve the quick-spec, tell the agent to start the **Quick Flow dev cycle** -- it will implement the change, run tests, and perform a self-review, all guided by the spec you just approved.
|
```text
|
||||||
|
run quick-dev — implement the intent in _bmad-output/implementation-artifacts/my-intent.md
|
||||||
|
```
|
||||||
|
|
||||||
:::tip[Fresh Chats]
|
```text
|
||||||
Always start a new chat session when loading an agent. Reusing a session from a previous workflow can cause context conflicts.
|
I think the problem is in the auth middleware, it's not checking token expiry.
|
||||||
:::
|
Let me look at it... yeah, src/auth/middleware.ts line 47 skips
|
||||||
|
the exp check entirely. run quick-dev
|
||||||
|
```
|
||||||
|
|
||||||
### 2. Describe the Change
|
```text
|
||||||
|
run quick-dev
|
||||||
|
> What would you like to do?
|
||||||
|
Refactor UserService to use async/await instead of callbacks.
|
||||||
|
```
|
||||||
|
|
||||||
Tell the agent what you need in plain language. Be specific about the problem and, if you know it, where the relevant code lives.
|
Plain text, file paths, GitHub issue URLs, bug tracker links — anything the LLM can resolve to a concrete intent.
|
||||||
|
|
||||||
:::note[Example Prompts]
|
### 3. Answer Questions and Approve
|
||||||
**Bug fix** -- "Fix the login validation bug that allows empty passwords. The validation logic is in `src/auth/validate.ts`."
|
|
||||||
|
|
||||||
**Refactoring** -- "Refactor the UserService to use async/await instead of callbacks."
|
Quick Dev may ask clarifying questions or present a short spec for your approval before implementing. Answer its questions and approve when you're satisfied with the plan.
|
||||||
|
|
||||||
**Configuration change** -- "Update the CI pipeline to cache node_modules between runs."
|
### 4. Review and Push
|
||||||
|
|
||||||
**Dependency update** -- "Upgrade the express dependency to the latest v5 release and fix any breaking changes."
|
Quick Dev implements the change, reviews its own work, patches issues, and commits locally. When it's done, it opens the affected files in your editor.
|
||||||
:::
|
|
||||||
|
|
||||||
You don't need to provide every detail. The agent will read the relevant source files and ask clarifying questions when needed.
|
- Skim the diff to confirm the change matches your intent
|
||||||
|
- If something looks off, tell the agent what to fix — it can iterate in the same session
|
||||||
|
|
||||||
### 3. Let the Agent Work
|
Once satisfied, push the commit. Quick Dev will offer to push and create a PR for you.
|
||||||
|
|
||||||
The agent will:
|
|
||||||
|
|
||||||
- Read and analyze the relevant source files
|
|
||||||
- Propose a solution and explain its reasoning
|
|
||||||
- Implement the change across the affected files
|
|
||||||
- Run your project's test suite if one exists
|
|
||||||
|
|
||||||
If your project has tests, the agent runs them automatically after making changes and iterates until tests pass. For projects without a test suite, verify the change manually (run the app, hit the endpoint, check the output).
|
|
||||||
|
|
||||||
### 4. Review and Verify
|
|
||||||
|
|
||||||
Before committing, review what changed:
|
|
||||||
|
|
||||||
- Read through the diff to confirm the change matches your intent
|
|
||||||
- Run the application or tests yourself to double-check
|
|
||||||
- If something looks wrong, tell the agent what to fix -- it can iterate in the same session
|
|
||||||
|
|
||||||
Once satisfied, commit the changes with a clear message describing the fix.
|
|
||||||
|
|
||||||
:::caution[If Something Breaks]
|
:::caution[If Something Breaks]
|
||||||
If a committed change causes unexpected issues, use `git revert HEAD` to undo the last commit cleanly. Then start a fresh chat with the DEV agent to try a different approach.
|
If a pushed change causes unexpected issues, use `git revert HEAD` to undo the last commit cleanly. Then start a fresh chat and run Quick Dev again to try a different approach.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Learning Your Codebase
|
|
||||||
|
|
||||||
The DEV agent is also useful for exploring unfamiliar code. Load it in a fresh chat and ask questions:
|
|
||||||
|
|
||||||
:::note[Example Prompts]
|
|
||||||
"Explain how the authentication system works in this codebase."
|
|
||||||
|
|
||||||
"Show me where error handling happens in the API layer."
|
|
||||||
|
|
||||||
"What does the `ProcessOrder` function do and what calls it?"
|
|
||||||
:::
|
|
||||||
|
|
||||||
Use the agent to learn about your project, understand how components connect, and explore unfamiliar areas before making changes.
|
|
||||||
|
|
||||||
## What You Get
|
## What You Get
|
||||||
|
|
||||||
- Modified source files with the fix or refactoring applied
|
- Modified source files with the fix or refactoring applied
|
||||||
- Passing tests (if your project has a test suite)
|
- Passing tests (if your project has a test suite)
|
||||||
- A clean commit describing the change
|
- A ready-to-push commit with a conventional commit message
|
||||||
|
|
||||||
No planning artifacts are produced -- that's the point of this approach.
|
## Deferred Work
|
||||||
|
|
||||||
|
Quick Dev keeps each run focused on a single goal. If your request contains multiple independent goals, or if the review surfaces pre-existing issues unrelated to your change, Quick Dev defers them to a file (`deferred-work.md` in your implementation artifacts directory) rather than trying to tackle everything at once.
|
||||||
|
|
||||||
|
Check this file after a run — it's your backlog of things to come back to. Each deferred item can be fed into a fresh Quick Dev run later.
|
||||||
|
|
||||||
## When to Upgrade to Formal Planning
|
## When to Upgrade to Formal Planning
|
||||||
|
|
||||||
Consider using [Quick Flow](../explanation/quick-flow.md) or the full BMad Method when:
|
Consider using the full BMad Method when:
|
||||||
|
|
||||||
- The change affects multiple systems or requires coordinated updates across many files
|
- The change affects multiple systems or requires coordinated updates across many files
|
||||||
- You are unsure about the scope and need a spec to think it through
|
- You are unsure about the scope and need requirements discovery first
|
||||||
- The fix keeps growing in complexity as you work on it
|
|
||||||
- You need documentation or architectural decisions recorded for the team
|
- You need documentation or architectural decisions recorded for the team
|
||||||
|
|
||||||
|
See [Quick Dev](../explanation/quick-dev.md) for more on how Quick Dev fits into the BMad Method.
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: "Document Sharding Guide"
|
title: "Document Sharding Guide"
|
||||||
description: Split large markdown files into smaller organized files for better context management
|
description: Split large markdown files into smaller organized files for better context management
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 8
|
order: 9
|
||||||
---
|
---
|
||||||
|
|
||||||
Use the `bmad-shard-doc` tool if you need to split large markdown files into smaller, organized files for better context management.
|
Use the `bmad-shard-doc` tool if you need to split large markdown files into smaller, organized files for better context management.
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,8 @@ If you have stories created or implemented:
|
||||||
|
|
||||||
1. Complete the v6 installation
|
1. Complete the v6 installation
|
||||||
2. Place `epics.md` or `epics/epic*.md` in `_bmad-output/planning-artifacts/`
|
2. Place `epics.md` or `epics/epic*.md` in `_bmad-output/planning-artifacts/`
|
||||||
3. Run the Scrum Master's `bmad-sprint-planning` workflow
|
3. Run the Developer's `bmad-sprint-planning` workflow
|
||||||
4. Tell the SM which epics/stories are already complete
|
4. Tell the agent which epics/stories are already complete
|
||||||
|
|
||||||
## What You Get
|
## What You Get
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,17 +13,14 @@ This page lists the default BMM (Agile suite) agents that install with BMad Meth
|
||||||
|
|
||||||
- Each agent is available as a skill, generated by the installer. The skill ID (e.g., `bmad-dev`) is used to invoke the agent.
|
- Each agent is available as a skill, generated by the installer. The skill ID (e.g., `bmad-dev`) is used to invoke the agent.
|
||||||
- Triggers are the short menu codes (e.g., `CP`) and fuzzy matches shown in each agent menu.
|
- Triggers are the short menu codes (e.g., `CP`) and fuzzy matches shown in each agent menu.
|
||||||
- QA (Quinn) is the lightweight test automation agent in BMM. The full Test Architect (TEA) lives in its own module.
|
- QA test generation is handled by the `bmad-qa-generate-e2e-tests` workflow skill, available through the Developer agent. The full Test Architect (TEA) lives in its own module.
|
||||||
|
|
||||||
| Agent | Skill ID | Triggers | Primary workflows |
|
| Agent | Skill ID | Triggers | Primary workflows |
|
||||||
| --------------------------- | -------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------- |
|
| --------------------------- | -------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------- |
|
||||||
| Analyst (Mary) | `bmad-analyst` | `BP`, `RS`, `CB`, `DP` | Brainstorm Project, Research, Create Brief, Document Project |
|
| Analyst (Mary) | `bmad-analyst` | `BP`, `RS`, `CB`, `WB`, `DP` | Brainstorm Project, Research, Create Brief, PRFAQ Challenge, Document Project |
|
||||||
| Product Manager (John) | `bmad-pm` | `CP`, `VP`, `EP`, `CE`, `IR`, `CC` | Create/Validate/Edit PRD, Create Epics and Stories, Implementation Readiness, Correct Course |
|
| Product Manager (John) | `bmad-pm` | `CP`, `VP`, `EP`, `CE`, `IR`, `CC` | Create/Validate/Edit PRD, Create Epics and Stories, Implementation Readiness, Correct Course |
|
||||||
| Architect (Winston) | `bmad-architect` | `CA`, `IR` | Create Architecture, Implementation Readiness |
|
| Architect (Winston) | `bmad-architect` | `CA`, `IR` | Create Architecture, Implementation Readiness |
|
||||||
| Scrum Master (Bob) | `bmad-sm` | `SP`, `CS`, `ER`, `CC` | Sprint Planning, Create Story, Epic Retrospective, Correct Course |
|
| Developer (Amelia) | `bmad-agent-dev` | `DS`, `QD`, `QA`, `CR`, `SP`, `CS`, `ER` | Dev Story, Quick Dev, QA Test Generation, Code Review, Sprint Planning, Create Story, Epic Retrospective |
|
||||||
| Developer (Amelia) | `bmad-dev` | `DS`, `CR` | Dev Story, Code Review |
|
|
||||||
| QA Engineer (Quinn) | `bmad-qa` | `QA` | Automate (generate tests for existing features) |
|
|
||||||
| Quick Flow Solo Dev (Barry) | `bmad-master` | `QS`, `QD`, `CR` | Quick Spec, Quick Dev, Code Review |
|
|
||||||
| UX Designer (Sally) | `bmad-ux-designer` | `CU` | Create UX Design |
|
| UX Designer (Sally) | `bmad-ux-designer` | `CU` | Create UX Design |
|
||||||
| Technical Writer (Paige) | `bmad-tech-writer` | `DP`, `WD`, `US`, `MG`, `VD`, `EC` | Document Project, Write Document, Update Standards, Mermaid Generate, Validate Doc, Explain Concept |
|
| Technical Writer (Paige) | `bmad-tech-writer` | `DP`, `WD`, `US`, `MG`, `VD`, `EC` | Document Project, Write Document, Update Standards, Mermaid Generate, Validate Doc, Explain Concept |
|
||||||
|
|
||||||
|
|
@ -35,7 +32,7 @@ Agent menu triggers use two different invocation types. Knowing which type a tri
|
||||||
|
|
||||||
Most triggers load a structured workflow file. Type the trigger code and the agent starts the workflow, prompting you for input at each step.
|
Most triggers load a structured workflow file. Type the trigger code and the agent starts the workflow, prompting you for input at each step.
|
||||||
|
|
||||||
Examples: `CP` (Create PRD), `DS` (Dev Story), `CA` (Create Architecture), `QS` (Quick Spec)
|
Examples: `CP` (Create PRD), `DS` (Dev Story), `CA` (Create Architecture), `QD` (Quick Dev)
|
||||||
|
|
||||||
### Conversational triggers (arguments required)
|
### Conversational triggers (arguments required)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -54,12 +54,12 @@ Each skill is a directory containing a `SKILL.md` file. For example, a Claude Co
|
||||||
│ └── SKILL.md
|
│ └── SKILL.md
|
||||||
├── bmad-create-prd/
|
├── bmad-create-prd/
|
||||||
│ └── SKILL.md
|
│ └── SKILL.md
|
||||||
├── bmad-dev/
|
├── bmad-agent-dev/
|
||||||
│ └── SKILL.md
|
│ └── SKILL.md
|
||||||
└── ...
|
└── ...
|
||||||
```
|
```
|
||||||
|
|
||||||
The directory name determines the skill name in your IDE. For example, the directory `bmad-dev/` registers the skill `bmad-dev`.
|
The directory name determines the skill name in your IDE. For example, the directory `bmad-agent-dev/` registers the skill `bmad-agent-dev`.
|
||||||
|
|
||||||
## How to Discover Your Skills
|
## How to Discover Your Skills
|
||||||
|
|
||||||
|
|
@ -79,10 +79,9 @@ Agent skills load a specialized AI persona with a defined role, communication st
|
||||||
|
|
||||||
| Example skill | Agent | Role |
|
| Example skill | Agent | Role |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `bmad-dev` | Amelia (Developer) | Implements stories with strict adherence to specs |
|
| `bmad-agent-dev` | Amelia (Developer) | Implements stories with strict adherence to specs |
|
||||||
| `bmad-pm` | John (Product Manager) | Creates and validates PRDs |
|
| `bmad-pm` | John (Product Manager) | Creates and validates PRDs |
|
||||||
| `bmad-architect` | Winston (Architect) | Designs system architecture |
|
| `bmad-architect` | Winston (Architect) | Designs system architecture |
|
||||||
| `bmad-sm` | Bob (Scrum Master) | Manages sprints and stories |
|
|
||||||
|
|
||||||
See [Agents](./agents.md) for the full list of default agents and their triggers.
|
See [Agents](./agents.md) for the full list of default agents and their triggers.
|
||||||
|
|
||||||
|
|
@ -92,12 +91,14 @@ Workflow skills run a structured, multi-step process without loading an agent pe
|
||||||
|
|
||||||
| Example skill | Purpose |
|
| Example skill | Purpose |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
|
| `bmad-product-brief` | Create a product brief — guided discovery when your concept is clear |
|
||||||
|
| `bmad-prfaq` | Working Backwards PRFAQ challenge to stress-test your product concept |
|
||||||
| `bmad-create-prd` | Create a Product Requirements Document |
|
| `bmad-create-prd` | Create a Product Requirements Document |
|
||||||
| `bmad-create-architecture` | Design system architecture |
|
| `bmad-create-architecture` | Design system architecture |
|
||||||
| `bmad-create-epics-and-stories` | Create epics and stories |
|
| `bmad-create-epics-and-stories` | Create epics and stories |
|
||||||
| `bmad-dev-story` | Implement a story |
|
| `bmad-dev-story` | Implement a story |
|
||||||
| `bmad-code-review` | Run a code review |
|
| `bmad-code-review` | Run a code review |
|
||||||
| `bmad-quick-spec` | Define an ad-hoc change (Quick Flow) |
|
| `bmad-quick-dev` | Unified quick flow — clarify intent, plan, implement, review, present |
|
||||||
|
|
||||||
See [Workflow Map](./workflow-map.md) for the complete workflow reference organized by phase.
|
See [Workflow Map](./workflow-map.md) for the complete workflow reference organized by phase.
|
||||||
|
|
||||||
|
|
@ -123,7 +124,7 @@ The core module includes 11 built-in tools — reviews, compression, brainstormi
|
||||||
|
|
||||||
## Naming Convention
|
## Naming Convention
|
||||||
|
|
||||||
All skills use the `bmad-` prefix followed by a descriptive name (e.g., `bmad-dev`, `bmad-create-prd`, `bmad-help`). See [Modules](./modules.md) for available modules.
|
All skills use the `bmad-` prefix followed by a descriptive name (e.g., `bmad-agent-dev`, `bmad-create-prd`, `bmad-help`). See [Modules](./modules.md) for available modules.
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
---
|
---
|
||||||
title: Testing Options
|
title: Testing Options
|
||||||
description: Comparing the built-in QA agent (Quinn) with the Test Architect (TEA) module for test automation.
|
description: Comparing the built-in QA workflow with the Test Architect (TEA) module for test automation.
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 5
|
order: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
BMad provides two testing paths: a built-in QA agent for fast test generation and an installable Test Architect module for enterprise-grade test strategy.
|
BMad provides two testing paths: a built-in QA workflow for fast test generation and an installable Test Architect module for enterprise-grade test strategy.
|
||||||
|
|
||||||
## Which Should You Use?
|
## Which Should You Use?
|
||||||
|
|
||||||
| Factor | Quinn (Built-in QA) | TEA Module |
|
| Factor | Built-in QA | TEA Module |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| **Best for** | Small-medium projects, quick coverage | Large projects, regulated or complex domains |
|
| **Best for** | Small-medium projects, quick coverage | Large projects, regulated or complex domains |
|
||||||
| **Setup** | Nothing to install -- included in BMM | Install separately via `npx bmad-method install` |
|
| **Setup** | Nothing to install -- included in BMM | Install separately via `npx bmad-method install` |
|
||||||
|
|
@ -18,19 +18,19 @@ BMad provides two testing paths: a built-in QA agent for fast test generation an
|
||||||
| **Strategy** | Happy path + critical edge cases | Risk-based prioritization (P0-P3) |
|
| **Strategy** | Happy path + critical edge cases | Risk-based prioritization (P0-P3) |
|
||||||
| **Workflow count** | 1 (Automate) | 9 (design, ATDD, automate, review, trace, and others) |
|
| **Workflow count** | 1 (Automate) | 9 (design, ATDD, automate, review, trace, and others) |
|
||||||
|
|
||||||
:::tip[Start with Quinn]
|
:::tip[Start with built-in QA]
|
||||||
Most projects should start with Quinn. If you later need test strategy, quality gates, or requirements traceability, install TEA alongside it.
|
Most projects should start with the built-in QA workflow. If you later need test strategy, quality gates, or requirements traceability, install TEA alongside it.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Built-in QA Agent (Quinn)
|
## Built-in QA Workflow
|
||||||
|
|
||||||
Quinn is the built-in QA agent in the BMM (Agile suite) module. It generates working tests quickly using your project's existing test framework -- no configuration or additional installation required.
|
The built-in QA workflow (`bmad-qa-generate-e2e-tests`) is part of the BMM (Agile suite) module, available through the Developer agent. It generates working tests quickly using your project's existing test framework -- no configuration or additional installation required.
|
||||||
|
|
||||||
**Trigger:** `QA` or `bmad-qa-generate-e2e-tests`
|
**Trigger:** `QA` (via the Developer agent) or `bmad-qa-generate-e2e-tests`
|
||||||
|
|
||||||
### What Quinn Does
|
### What It Does
|
||||||
|
|
||||||
Quinn runs a single workflow (Automate) that walks through five steps:
|
The QA workflow (Automate) walks through five steps:
|
||||||
|
|
||||||
1. **Detect test framework** -- scans `package.json` and existing test files for your framework (Jest, Vitest, Playwright, Cypress, or any standard runner). If none exists, analyzes the project stack and suggests one.
|
1. **Detect test framework** -- scans `package.json` and existing test files for your framework (Jest, Vitest, Playwright, Cypress, or any standard runner). If none exists, analyzes the project stack and suggests one.
|
||||||
2. **Identify features** -- asks what to test or auto-discovers features in the codebase.
|
2. **Identify features** -- asks what to test or auto-discovers features in the codebase.
|
||||||
|
|
@ -38,7 +38,7 @@ Quinn runs a single workflow (Automate) that walks through five steps:
|
||||||
4. **Generate E2E tests** -- covers user workflows with semantic locators and visible-outcome assertions.
|
4. **Generate E2E tests** -- covers user workflows with semantic locators and visible-outcome assertions.
|
||||||
5. **Run and verify** -- executes the generated tests and fixes failures immediately.
|
5. **Run and verify** -- executes the generated tests and fixes failures immediately.
|
||||||
|
|
||||||
Quinn produces a test summary saved to your project's implementation artifacts folder.
|
The workflow produces a test summary saved to your project's implementation artifacts folder.
|
||||||
|
|
||||||
### Test Patterns
|
### Test Patterns
|
||||||
|
|
||||||
|
|
@ -51,10 +51,10 @@ Generated tests follow a "simple and maintainable" philosophy:
|
||||||
- **Clear descriptions** that read as feature documentation
|
- **Clear descriptions** that read as feature documentation
|
||||||
|
|
||||||
:::note[Scope]
|
:::note[Scope]
|
||||||
Quinn generates tests only. For code review and story validation, use the Code Review workflow (`CR`) instead.
|
The QA workflow generates tests only. For code review and story validation, use the Code Review workflow (`CR`) instead.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### When to Use Quinn
|
### When to Use Built-in QA
|
||||||
|
|
||||||
- Quick test coverage for a new or existing feature
|
- Quick test coverage for a new or existing feature
|
||||||
- Beginner-friendly test automation without advanced setup
|
- Beginner-friendly test automation without advanced setup
|
||||||
|
|
@ -91,16 +91,16 @@ TEA also supports P0-P3 risk-based prioritization and optional integrations with
|
||||||
- Teams that need risk-based test prioritization across many features
|
- Teams that need risk-based test prioritization across many features
|
||||||
- Enterprise environments with formal quality gates before release
|
- Enterprise environments with formal quality gates before release
|
||||||
- Complex domains where test strategy must be planned before tests are written
|
- Complex domains where test strategy must be planned before tests are written
|
||||||
- Projects that have outgrown Quinn's single-workflow approach
|
- Projects that have outgrown the built-in QA's single-workflow approach
|
||||||
|
|
||||||
## How Testing Fits into Workflows
|
## How Testing Fits into Workflows
|
||||||
|
|
||||||
Quinn's Automate workflow appears in Phase 4 (Implementation) of the BMad Method workflow map. It is designed to run **after a full epic is complete** — once all stories in an epic have been implemented and code-reviewed. A typical sequence:
|
The QA Automate workflow appears in Phase 4 (Implementation) of the BMad Method workflow map. It is designed to run **after a full epic is complete** — once all stories in an epic have been implemented and code-reviewed. A typical sequence:
|
||||||
|
|
||||||
1. For each story in the epic: implement with Dev (`DS`), then validate with Code Review (`CR`)
|
1. For each story in the epic: implement with Dev (`DS`), then validate with Code Review (`CR`)
|
||||||
2. After the epic is complete: generate tests with Quinn (`QA`) or TEA's Automate workflow
|
2. After the epic is complete: generate tests with `QA` (via the Developer agent) or TEA's Automate workflow
|
||||||
3. Run retrospective (`bmad-retrospective`) to capture lessons learned
|
3. Run retrospective (`bmad-retrospective`) to capture lessons learned
|
||||||
|
|
||||||
Quinn works directly from source code without loading planning documents (PRD, architecture). TEA workflows can integrate with upstream planning artifacts for traceability.
|
The built-in QA workflow works directly from source code without loading planning documents (PRD, architecture). TEA workflows can integrate with upstream planning artifacts for traceability.
|
||||||
|
|
||||||
For more on where testing fits in the overall process, see the [Workflow Map](./workflow-map.md).
|
For more on where testing fits in the overall process, see the [Workflow Map](./workflow-map.md).
|
||||||
|
|
|
||||||
|
|
@ -21,13 +21,14 @@ Final important note: Every workflow below can be run directly with your tool of
|
||||||
|
|
||||||
## Phase 1: Analysis (Optional)
|
## Phase 1: Analysis (Optional)
|
||||||
|
|
||||||
Explore the problem space and validate ideas before committing to planning.
|
Explore the problem space and validate ideas before committing to planning. [**Learn what each tool does and when to use it**](../explanation/analysis-phase.md).
|
||||||
|
|
||||||
| Workflow | Purpose | Produces |
|
| Workflow | Purpose | Produces |
|
||||||
| ------------------------------- | -------------------------------------------------------------------------- | ------------------------- |
|
| ------------------------------- | -------------------------------------------------------------------------- | ------------------------- |
|
||||||
| `bmad-brainstorming` | Brainstorm Project Ideas with guided facilitation of a brainstorming coach | `brainstorming-report.md` |
|
| `bmad-brainstorming` | Brainstorm Project Ideas with guided facilitation of a brainstorming coach | `brainstorming-report.md` |
|
||||||
| `bmad-domain-research`, `bmad-market-research`, `bmad-technical-research` | Validate market, technical, or domain assumptions | Research findings |
|
| `bmad-domain-research`, `bmad-market-research`, `bmad-technical-research` | Validate market, technical, or domain assumptions | Research findings |
|
||||||
| `bmad-create-product-brief` | Capture strategic vision | `product-brief.md` |
|
| `bmad-product-brief` | Capture strategic vision — best when your concept is clear | `product-brief.md` |
|
||||||
|
| `bmad-prfaq` | Working Backwards — stress-test and forge your product concept | `prfaq-{project}.md` |
|
||||||
|
|
||||||
## Phase 2: Planning
|
## Phase 2: Planning
|
||||||
|
|
||||||
|
|
@ -67,9 +68,8 @@ Build it, one story at a time. Coming soon, full phase 4 automation!
|
||||||
Skip phases 1-3 for small, well-understood work.
|
Skip phases 1-3 for small, well-understood work.
|
||||||
|
|
||||||
| Workflow | Purpose | Produces |
|
| Workflow | Purpose | Produces |
|
||||||
| --------------------- | ------------------------------------------ | --------------------------------------------- |
|
| ------------------ | --------------------------------------------------------------------------- | ---------------------- |
|
||||||
| `bmad-quick-spec` | Define an ad-hoc change | `tech-spec.md` (story file for small changes) |
|
| `bmad-quick-dev` | Unified quick flow — clarify intent, plan, implement, review, and present | `spec-*.md` + code |
|
||||||
| `bmad-quick-dev` | Implement from spec or direct instructions | Working code + tests |
|
|
||||||
|
|
||||||
## Context Management
|
## Context Management
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,8 @@ BMad helps you build software through guided workflows with specialized AI agent
|
||||||
|
|
||||||
| Phase | Name | What Happens |
|
| Phase | Name | What Happens |
|
||||||
| ----- | -------------- | --------------------------------------------------- |
|
| ----- | -------------- | --------------------------------------------------- |
|
||||||
| 1 | Analysis | Brainstorming, research, product brief *(optional)* |
|
| 1 | Analysis | Brainstorming, research, product brief or PRFAQ *(optional)* |
|
||||||
| 2 | Planning | Create requirements (PRD or tech-spec) |
|
| 2 | Planning | Create requirements (PRD or spec) |
|
||||||
| 3 | Solutioning | Design architecture *(BMad Method/Enterprise only)* |
|
| 3 | Solutioning | Design architecture *(BMad Method/Enterprise only)* |
|
||||||
| 4 | Implementation | Build epic by epic, story by story |
|
| 4 | Implementation | Build epic by epic, story by story |
|
||||||
|
|
||||||
|
|
@ -114,7 +114,7 @@ BMad-Help will detect what you've completed and recommend exactly what to do nex
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::note[How to Load Agents and Run Workflows]
|
:::note[How to Load Agents and Run Workflows]
|
||||||
Each workflow has a **skill** you invoke by name in your IDE (e.g., `bmad-create-prd`). Your AI tool will recognize the `bmad-*` name and run it — you don't need to load agents separately. You can also invoke an agent skill directly for general conversation (e.g., `bmad-pm` for the PM agent).
|
Each workflow has a **skill** you invoke by name in your IDE (e.g., `bmad-create-prd`). Your AI tool will recognize the `bmad-*` name and run it — you don't need to load agents separately. You can also invoke an agent skill directly for general conversation (e.g., `bmad-agent-pm` for the PM agent).
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::caution[Fresh Chats]
|
:::caution[Fresh Chats]
|
||||||
|
|
@ -133,29 +133,30 @@ Create it manually at `_bmad-output/project-context.md` or generate it after arc
|
||||||
|
|
||||||
### Phase 1: Analysis (Optional)
|
### Phase 1: Analysis (Optional)
|
||||||
|
|
||||||
All workflows in this phase are optional:
|
All workflows in this phase are optional. [**Not sure which to use?**](../explanation/analysis-phase.md)
|
||||||
- **brainstorming** (`bmad-brainstorming`) — Guided ideation
|
- **brainstorming** (`bmad-brainstorming`) — Guided ideation
|
||||||
- **research** (`bmad-research`) — Market and technical research
|
- **research** (`bmad-market-research` / `bmad-domain-research` / `bmad-technical-research`) — Market, domain, and technical research
|
||||||
- **create-product-brief** (`bmad-create-product-brief`) — Recommended foundation document
|
- **product-brief** (`bmad-product-brief`) — Recommended foundation document when your concept is clear
|
||||||
|
- **prfaq** (`bmad-prfaq`) — Working Backwards challenge to stress-test and forge your product concept
|
||||||
|
|
||||||
### Phase 2: Planning (Required)
|
### Phase 2: Planning (Required)
|
||||||
|
|
||||||
**For BMad Method and Enterprise tracks:**
|
**For BMad Method and Enterprise tracks:**
|
||||||
1. Invoke the **PM agent** (`bmad-pm`) in a new chat
|
1. Invoke the **PM agent** (`bmad-agent-pm`) in a new chat
|
||||||
2. Run the `bmad-create-prd` workflow (`bmad-create-prd`)
|
2. Run the `bmad-create-prd` workflow (`bmad-create-prd`)
|
||||||
3. Output: `PRD.md`
|
3. Output: `PRD.md`
|
||||||
|
|
||||||
**For Quick Flow track:**
|
**For Quick Flow track:**
|
||||||
- Use the `bmad-quick-spec` workflow (`bmad-quick-spec`) instead of PRD, then skip to implementation
|
- Run `bmad-quick-dev` — it handles planning and implementation in a single workflow, skip to implementation
|
||||||
|
|
||||||
:::note[UX Design (Optional)]
|
:::note[UX Design (Optional)]
|
||||||
If your project has a user interface, invoke the **UX-Designer agent** (`bmad-ux-designer`) and run the UX design workflow (`bmad-create-ux-design`) after creating your PRD.
|
If your project has a user interface, invoke the **UX-Designer agent** (`bmad-agent-ux-designer`) and run the UX design workflow (`bmad-create-ux-design`) after creating your PRD.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### Phase 3: Solutioning (BMad Method/Enterprise)
|
### Phase 3: Solutioning (BMad Method/Enterprise)
|
||||||
|
|
||||||
**Create Architecture**
|
**Create Architecture**
|
||||||
1. Invoke the **Architect agent** (`bmad-architect`) in a new chat
|
1. Invoke the **Architect agent** (`bmad-agent-architect`) in a new chat
|
||||||
2. Run `bmad-create-architecture` (`bmad-create-architecture`)
|
2. Run `bmad-create-architecture` (`bmad-create-architecture`)
|
||||||
3. Output: Architecture document with technical decisions
|
3. Output: Architecture document with technical decisions
|
||||||
|
|
||||||
|
|
@ -165,12 +166,12 @@ If your project has a user interface, invoke the **UX-Designer agent** (`bmad-ux
|
||||||
Epics and stories are now created *after* architecture. This produces better quality stories because architecture decisions (database, API patterns, tech stack) directly affect how work should be broken down.
|
Epics and stories are now created *after* architecture. This produces better quality stories because architecture decisions (database, API patterns, tech stack) directly affect how work should be broken down.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
1. Invoke the **PM agent** (`bmad-pm`) in a new chat
|
1. Invoke the **PM agent** (`bmad-agent-pm`) in a new chat
|
||||||
2. Run `bmad-create-epics-and-stories` (`bmad-create-epics-and-stories`)
|
2. Run `bmad-create-epics-and-stories` (`bmad-create-epics-and-stories`)
|
||||||
3. The workflow uses both PRD and Architecture to create technically-informed stories
|
3. The workflow uses both PRD and Architecture to create technically-informed stories
|
||||||
|
|
||||||
**Implementation Readiness Check** *(Highly Recommended)*
|
**Implementation Readiness Check** *(Highly Recommended)*
|
||||||
1. Invoke the **Architect agent** (`bmad-architect`) in a new chat
|
1. Invoke the **Architect agent** (`bmad-agent-architect`) in a new chat
|
||||||
2. Run `bmad-check-implementation-readiness` (`bmad-check-implementation-readiness`)
|
2. Run `bmad-check-implementation-readiness` (`bmad-check-implementation-readiness`)
|
||||||
3. Validates cohesion across all planning documents
|
3. Validates cohesion across all planning documents
|
||||||
|
|
||||||
|
|
@ -180,7 +181,7 @@ Once planning is complete, move to implementation. **Each workflow should run in
|
||||||
|
|
||||||
### Initialize Sprint Planning
|
### Initialize Sprint Planning
|
||||||
|
|
||||||
Invoke the **SM agent** (`bmad-sm`) and run `bmad-sprint-planning` (`bmad-sprint-planning`). This creates `sprint-status.yaml` to track all epics and stories.
|
Invoke the **Developer agent** (`bmad-agent-dev`) and run `bmad-sprint-planning` (`bmad-sprint-planning`). This creates `sprint-status.yaml` to track all epics and stories.
|
||||||
|
|
||||||
### The Build Cycle
|
### The Build Cycle
|
||||||
|
|
||||||
|
|
@ -188,11 +189,11 @@ For each story, repeat this cycle with fresh chats:
|
||||||
|
|
||||||
| Step | Agent | Workflow | Command | Purpose |
|
| Step | Agent | Workflow | Command | Purpose |
|
||||||
| ---- | ----- | -------------- | -------------------------- | ---------------------------------- |
|
| ---- | ----- | -------------- | -------------------------- | ---------------------------------- |
|
||||||
| 1 | SM | `bmad-create-story` | `bmad-create-story` | Create story file from epic |
|
| 1 | DEV | `bmad-create-story` | `bmad-create-story` | Create story file from epic |
|
||||||
| 2 | DEV | `bmad-dev-story` | `bmad-dev-story` | Implement the story |
|
| 2 | DEV | `bmad-dev-story` | `bmad-dev-story` | Implement the story |
|
||||||
| 3 | DEV | `bmad-code-review` | `bmad-code-review` | Quality validation *(recommended)* |
|
| 3 | DEV | `bmad-code-review` | `bmad-code-review` | Quality validation *(recommended)* |
|
||||||
|
|
||||||
After completing all stories in an epic, invoke the **SM agent** (`bmad-sm`) and run `bmad-retrospective` (`bmad-retrospective`).
|
After completing all stories in an epic, invoke the **Developer agent** (`bmad-agent-dev`) and run `bmad-retrospective` (`bmad-retrospective`).
|
||||||
|
|
||||||
## What You've Accomplished
|
## What You've Accomplished
|
||||||
|
|
||||||
|
|
@ -229,21 +230,21 @@ your-project/
|
||||||
| `bmad-generate-project-context` | `bmad-generate-project-context` | Analyst | Create project context file |
|
| `bmad-generate-project-context` | `bmad-generate-project-context` | Analyst | Create project context file |
|
||||||
| `bmad-create-epics-and-stories` | `bmad-create-epics-and-stories` | PM | Break down PRD into epics |
|
| `bmad-create-epics-and-stories` | `bmad-create-epics-and-stories` | PM | Break down PRD into epics |
|
||||||
| `bmad-check-implementation-readiness` | `bmad-check-implementation-readiness` | Architect | Validate planning cohesion |
|
| `bmad-check-implementation-readiness` | `bmad-check-implementation-readiness` | Architect | Validate planning cohesion |
|
||||||
| `bmad-sprint-planning` | `bmad-sprint-planning` | SM | Initialize sprint tracking |
|
| `bmad-sprint-planning` | `bmad-sprint-planning` | DEV | Initialize sprint tracking |
|
||||||
| `bmad-create-story` | `bmad-create-story` | SM | Create a story file |
|
| `bmad-create-story` | `bmad-create-story` | DEV | Create a story file |
|
||||||
| `bmad-dev-story` | `bmad-dev-story` | DEV | Implement a story |
|
| `bmad-dev-story` | `bmad-dev-story` | DEV | Implement a story |
|
||||||
| `bmad-code-review` | `bmad-code-review` | DEV | Review implemented code |
|
| `bmad-code-review` | `bmad-code-review` | DEV | Review implemented code |
|
||||||
|
|
||||||
## Common Questions
|
## Common Questions
|
||||||
|
|
||||||
**Do I always need architecture?**
|
**Do I always need architecture?**
|
||||||
Only for BMad Method and Enterprise tracks. Quick Flow skips from tech-spec to implementation.
|
Only for BMad Method and Enterprise tracks. Quick Flow skips from spec to implementation.
|
||||||
|
|
||||||
**Can I change my plan later?**
|
**Can I change my plan later?**
|
||||||
Yes. The SM agent has a `bmad-correct-course` workflow (`bmad-correct-course`) for handling scope changes.
|
Yes. The `bmad-correct-course` workflow handles scope changes mid-implementation.
|
||||||
|
|
||||||
**What if I want to brainstorm first?**
|
**What if I want to brainstorm first?**
|
||||||
Invoke the Analyst agent (`bmad-analyst`) and run `bmad-brainstorming` (`bmad-brainstorming`) before starting your PRD.
|
Invoke the Analyst agent (`bmad-agent-analyst`) and run `bmad-brainstorming` (`bmad-brainstorming`) before starting your PRD.
|
||||||
|
|
||||||
**Do I need to follow a strict order?**
|
**Do I need to follow a strict order?**
|
||||||
Not strictly. Once you learn the flow, you can run workflows directly using the Quick Reference above.
|
Not strictly. Once you learn the flow, you can run workflows directly using the Quick Reference above.
|
||||||
|
|
@ -268,7 +269,7 @@ BMad-Help inspects your project, detects what you've completed, and tells you ex
|
||||||
:::tip[Remember These]
|
:::tip[Remember These]
|
||||||
- **Start with `bmad-help`** — Your intelligent guide that knows your project and options
|
- **Start with `bmad-help`** — Your intelligent guide that knows your project and options
|
||||||
- **Always use fresh chats** — Start a new chat for each workflow
|
- **Always use fresh chats** — Start a new chat for each workflow
|
||||||
- **Track matters** — Quick Flow uses quick-spec; Method/Enterprise need PRD and architecture
|
- **Track matters** — Quick Flow uses `bmad-quick-dev`; Method/Enterprise need PRD and architecture
|
||||||
- **BMad-Help runs automatically** — Every workflow ends with guidance on what's next
|
- **BMad-Help runs automatically** — Every workflow ends with guidance on what's next
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: Không Tìm Thấy Trang
|
||||||
|
template: splash
|
||||||
|
---
|
||||||
|
|
||||||
|
Trang bạn đang tìm không tồn tại hoặc đã được chuyển đi.
|
||||||
|
|
||||||
|
[Quay về trang chủ](./index.md)
|
||||||
|
|
@ -0,0 +1,370 @@
|
||||||
|
---
|
||||||
|
title: "Hướng Dẫn Phong Cách Tài Liệu"
|
||||||
|
description: Các quy ước tài liệu dành riêng cho dự án, dựa trên phong cách tài liệu của Google và cấu trúc Diataxis
|
||||||
|
---
|
||||||
|
|
||||||
|
Dự án này tuân theo [Google Developer Documentation Style Guide](https://developers.google.com/style) và dùng [Diataxis](https://diataxis.fr/) để tổ chức nội dung. Phần dưới đây chỉ nêu các quy ước dành riêng cho dự án.
|
||||||
|
|
||||||
|
## Quy tắc riêng của dự án
|
||||||
|
|
||||||
|
| Quy tắc | Quy định |
|
||||||
|
| --- | --- |
|
||||||
|
| Không dùng đường kẻ ngang (`---`) | Làm gián đoạn dòng đọc |
|
||||||
|
| Không dùng tiêu đề `####` | Dùng chữ in đậm hoặc admonition thay thế |
|
||||||
|
| Không có mục "Related" hoặc "Next:" | Sidebar đã xử lý điều hướng |
|
||||||
|
| Không dùng danh sách lồng quá sâu | Tách thành các mục riêng |
|
||||||
|
| Không dùng code block cho nội dung không phải code | Dùng admonition cho ví dụ hội thoại |
|
||||||
|
| Không dùng cả đoạn in đậm để làm callout | Dùng admonition thay thế |
|
||||||
|
| Mỗi mục tối đa 1-2 admonition | Tutorial có thể dùng 3-4 admonition cho mỗi phần lớn |
|
||||||
|
| Ô bảng / mục danh sách | Tối đa 1-2 câu |
|
||||||
|
| Ngân sách tiêu đề | 8-12 `##` cho mỗi tài liệu; 2-3 `###` cho mỗi phần |
|
||||||
|
|
||||||
|
## Admonition (cú pháp Starlight)
|
||||||
|
|
||||||
|
```md
|
||||||
|
:::tip[Tiêu đề]
|
||||||
|
Lối tắt, best practice
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::note[Tiêu đề]
|
||||||
|
Ngữ cảnh, định nghĩa, ví dụ, điều kiện tiên quyết
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::caution[Tiêu đề]
|
||||||
|
Lưu ý, vấn đề có thể xảy ra
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::danger[Tiêu đề]
|
||||||
|
Chỉ dùng cho cảnh báo nghiêm trọng — mất dữ liệu, vấn đề bảo mật
|
||||||
|
:::
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cách dùng chuẩn
|
||||||
|
|
||||||
|
| Admonition | Dùng cho |
|
||||||
|
| --- | --- |
|
||||||
|
| `:::note[Điều kiện tiên quyết]` | Các phụ thuộc trước khi bắt đầu |
|
||||||
|
| `:::tip[Lối đi nhanh]` | Tóm tắt TL;DR ở đầu tài liệu |
|
||||||
|
| `:::caution[Quan trọng]` | Cảnh báo quan trọng |
|
||||||
|
| `:::note[Ví dụ]` | Ví dụ lệnh / phản hồi |
|
||||||
|
|
||||||
|
## Mẫu bảng chuẩn
|
||||||
|
|
||||||
|
**Phase:**
|
||||||
|
|
||||||
|
```md
|
||||||
|
| Phase | Tên | Điều xảy ra |
|
||||||
|
| ----- | --- | ------------ |
|
||||||
|
| 1 | Analysis | Brainstorm, nghiên cứu *(tùy chọn)* |
|
||||||
|
| 2 | Planning | Yêu cầu — PRD hoặc spec *(bắt buộc)* |
|
||||||
|
```
|
||||||
|
|
||||||
|
**Skill:**
|
||||||
|
|
||||||
|
```md
|
||||||
|
| Skill | Agent | Mục đích |
|
||||||
|
| ----- | ----- | -------- |
|
||||||
|
| `bmad-brainstorming` | Analyst | Brainstorm cho dự án mới |
|
||||||
|
| `bmad-create-prd` | PM | Tạo tài liệu yêu cầu sản phẩm |
|
||||||
|
```
|
||||||
|
|
||||||
|
## Khối cấu trúc thư mục
|
||||||
|
|
||||||
|
Hiển thị trong phần "Bạn đã hoàn thành những gì":
|
||||||
|
|
||||||
|
````md
|
||||||
|
```
|
||||||
|
your-project/
|
||||||
|
├── _bmad/ # Cấu hình BMad
|
||||||
|
├── _bmad-output/
|
||||||
|
│ ├── planning-artifacts/
|
||||||
|
│ │ └── PRD.md # Tài liệu yêu cầu của bạn
|
||||||
|
│ ├── implementation-artifacts/
|
||||||
|
│ └── project-context.md # Quy tắc triển khai (tùy chọn)
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
````
|
||||||
|
|
||||||
|
## Cấu trúc Tutorial
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (1-2 câu mô tả kết quả)
|
||||||
|
2. Thông báo phiên bản/module (admonition info hoặc warning) (tùy chọn)
|
||||||
|
3. Bạn sẽ học được gì (danh sách kết quả)
|
||||||
|
4. Điều kiện tiên quyết (admonition info)
|
||||||
|
5. Lối đi nhanh (admonition tip - tóm tắt TL;DR)
|
||||||
|
6. Hiểu về [Chủ đề] (ngữ cảnh trước các bước - bảng cho phase/agent)
|
||||||
|
7. Cài đặt (tùy chọn)
|
||||||
|
8. Bước 1: [Nhiệm vụ lớn đầu tiên]
|
||||||
|
9. Bước 2: [Nhiệm vụ lớn thứ hai]
|
||||||
|
10. Bước 3: [Nhiệm vụ lớn thứ ba]
|
||||||
|
11. Bạn đã hoàn thành những gì (tóm tắt + cấu trúc thư mục)
|
||||||
|
12. Tra cứu nhanh (bảng skill)
|
||||||
|
13. Câu hỏi thường gặp (định dạng FAQ)
|
||||||
|
14. Nhận hỗ trợ (liên kết cộng đồng)
|
||||||
|
15. Điểm chính cần nhớ (admonition tip)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Checklist cho Tutorial
|
||||||
|
|
||||||
|
- [ ] Hook mô tả kết quả trong 1-2 câu
|
||||||
|
- [ ] Có phần "Bạn sẽ học được gì"
|
||||||
|
- [ ] Điều kiện tiên quyết nằm trong admonition
|
||||||
|
- [ ] Có admonition TL;DR ở đầu trang
|
||||||
|
- [ ] Có bảng cho phase, skill, agent
|
||||||
|
- [ ] Có phần "Bạn đã hoàn thành những gì"
|
||||||
|
- [ ] Có bảng tra cứu nhanh
|
||||||
|
- [ ] Có phần câu hỏi thường gặp
|
||||||
|
- [ ] Có phần nhận hỗ trợ
|
||||||
|
- [ ] Có admonition điểm chính ở cuối
|
||||||
|
|
||||||
|
## Cấu trúc How-To
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (một câu: "Sử dụng workflow `X` để...")
|
||||||
|
2. Khi nào nên dùng (danh sách kịch bản)
|
||||||
|
3. Khi nào nên bỏ qua (tùy chọn)
|
||||||
|
4. Điều kiện tiên quyết (admonition note)
|
||||||
|
5. Các bước (mục con `###` có đánh số)
|
||||||
|
6. Bạn sẽ nhận được gì (output / artifact)
|
||||||
|
7. Ví dụ (tùy chọn)
|
||||||
|
8. Mẹo (tùy chọn)
|
||||||
|
9. Bước tiếp theo (tùy chọn)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Checklist cho How-To
|
||||||
|
|
||||||
|
- [ ] Hook bắt đầu bằng "Sử dụng workflow `X` để..."
|
||||||
|
- [ ] Phần "Khi nào nên dùng" có 3-5 gạch đầu dòng
|
||||||
|
- [ ] Có liệt kê điều kiện tiên quyết
|
||||||
|
- [ ] Các bước là mục `###` có đánh số và bắt đầu bằng động từ
|
||||||
|
- [ ] Phần "Bạn sẽ nhận được gì" mô tả artifact đầu ra
|
||||||
|
|
||||||
|
## Cấu trúc Explanation
|
||||||
|
|
||||||
|
### Các loại
|
||||||
|
|
||||||
|
| Loại | Ví dụ |
|
||||||
|
| --- | --- |
|
||||||
|
| **Trang chỉ mục / landing** | `core-concepts/index.md` |
|
||||||
|
| **Khái niệm** | `what-are-agents.md` |
|
||||||
|
| **Tính năng** | `quick-dev.md` |
|
||||||
|
| **Triết lý** | `why-solutioning-matters.md` |
|
||||||
|
| **FAQ** | `established-projects-faq.md` |
|
||||||
|
|
||||||
|
### Mẫu tổng quát
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (1-2 câu)
|
||||||
|
2. Tổng quan / định nghĩa (nó là gì, vì sao quan trọng)
|
||||||
|
3. Khái niệm chính (các mục `###`)
|
||||||
|
4. Bảng so sánh (tùy chọn)
|
||||||
|
5. Khi nào nên dùng / không nên dùng (tùy chọn)
|
||||||
|
6. Sơ đồ (tùy chọn - mermaid, tối đa 1 sơ đồ mỗi tài liệu)
|
||||||
|
7. Bước tiếp theo (tùy chọn)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Trang chỉ mục / landing
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (một câu)
|
||||||
|
2. Bảng nội dung (liên kết kèm mô tả)
|
||||||
|
3. Bắt đầu từ đâu (danh sách có đánh số)
|
||||||
|
4. Chọn hướng đi của bạn (tùy chọn - cây quyết định)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Trang giải thích khái niệm
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (nó là gì)
|
||||||
|
2. Loại / nhóm (các mục `###`) (tùy chọn)
|
||||||
|
3. Bảng khác biệt chính
|
||||||
|
4. Thành phần / bộ phận
|
||||||
|
5. Nên chọn cái nào?
|
||||||
|
6. Cách tạo / tùy chỉnh (trỏ sang how-to)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Trang giải thích tính năng
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (nó làm gì)
|
||||||
|
2. Thông tin nhanh (tùy chọn - "Phù hợp với:", "Mất bao lâu:")
|
||||||
|
3. Khi nào nên dùng / không nên dùng
|
||||||
|
4. Cách nó hoạt động (mermaid tùy chọn)
|
||||||
|
5. Lợi ích chính
|
||||||
|
6. Bảng so sánh (tùy chọn)
|
||||||
|
7. Khi nào nên nâng cấp / chuyển hướng (tùy chọn)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tài liệu về triết lý / lý do
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (nguyên tắc)
|
||||||
|
2. Vấn đề
|
||||||
|
3. Giải pháp
|
||||||
|
4. Nguyên tắc chính (các mục `###`)
|
||||||
|
5. Lợi ích
|
||||||
|
6. Khi nào áp dụng
|
||||||
|
```
|
||||||
|
|
||||||
|
### Checklist cho Explanation
|
||||||
|
|
||||||
|
- [ ] Hook nêu rõ tài liệu giải thích điều gì
|
||||||
|
- [ ] Nội dung được chia thành các phần `##` dễ quét
|
||||||
|
- [ ] Có bảng so sánh khi có từ 3 lựa chọn trở lên
|
||||||
|
- [ ] Sơ đồ có nhãn rõ ràng
|
||||||
|
- [ ] Có liên kết sang how-to cho câu hỏi mang tính thủ tục
|
||||||
|
- [ ] Mỗi tài liệu tối đa 2-3 admonition
|
||||||
|
|
||||||
|
## Cấu trúc Reference
|
||||||
|
|
||||||
|
### Các loại
|
||||||
|
|
||||||
|
| Loại | Ví dụ |
|
||||||
|
| --- | --- |
|
||||||
|
| **Trang chỉ mục / landing** | `workflows/index.md` |
|
||||||
|
| **Danh mục** | `agents/index.md` |
|
||||||
|
| **Đào sâu** | `document-project.md` |
|
||||||
|
| **Cấu hình** | `core-tasks.md` |
|
||||||
|
| **Bảng thuật ngữ** | `glossary/index.md` |
|
||||||
|
| **Tổng hợp đầy đủ** | `bmgd-workflows.md` |
|
||||||
|
|
||||||
|
### Trang chỉ mục của Reference
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (một câu)
|
||||||
|
2. Các phần nội dung (`##` cho từng nhóm)
|
||||||
|
- Danh sách gạch đầu dòng với liên kết và mô tả
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reference dạng danh mục
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook
|
||||||
|
2. Các mục (`##` cho từng mục)
|
||||||
|
- Mô tả ngắn (một câu)
|
||||||
|
- **Skills:** hoặc **Thông tin chính:** ở dạng danh sách phẳng
|
||||||
|
3. Phần dùng chung / toàn cục (`##`) (tùy chọn)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reference đào sâu theo mục
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook (một câu nêu mục đích)
|
||||||
|
2. Thông tin nhanh (admonition note, tùy chọn)
|
||||||
|
- Module, Skill, Input, Output dưới dạng danh sách
|
||||||
|
3. Mục đích / tổng quan (`##`)
|
||||||
|
4. Cách gọi (code block)
|
||||||
|
5. Các phần chính (`##` cho từng khía cạnh)
|
||||||
|
- Dùng `###` cho các tùy chọn con
|
||||||
|
6. Ghi chú / lưu ý (admonition tip hoặc caution)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reference về cấu hình
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook
|
||||||
|
2. Mục lục (jump link nếu có từ 4 mục trở lên)
|
||||||
|
3. Các mục (`##` cho từng config / task)
|
||||||
|
- **Tóm tắt in đậm** — một câu
|
||||||
|
- **Dùng khi:** danh sách gạch đầu dòng
|
||||||
|
- **Cách hoạt động:** các bước đánh số (tối đa 3-5 bước)
|
||||||
|
- **Output:** kết quả mong đợi (tùy chọn)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hướng dẫn reference tổng hợp
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Tiêu đề + Hook
|
||||||
|
2. Tổng quan (`##`)
|
||||||
|
- Sơ đồ hoặc bảng mô tả cách tổ chức
|
||||||
|
3. Các phần lớn (`##` cho từng phase / nhóm)
|
||||||
|
- Các mục (`###` cho từng mục)
|
||||||
|
- Các trường chuẩn hóa: Skill, Agent, Input, Output, Description
|
||||||
|
4. Bước tiếp theo (tùy chọn)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Checklist cho Reference
|
||||||
|
|
||||||
|
- [ ] Hook nêu rõ tài liệu đang tham chiếu điều gì
|
||||||
|
- [ ] Cấu trúc phù hợp với loại reference
|
||||||
|
- [ ] Các mục dùng cấu trúc nhất quán xuyên suốt
|
||||||
|
- [ ] Có bảng cho dữ liệu có cấu trúc / so sánh
|
||||||
|
- [ ] Có liên kết sang tài liệu explanation cho chiều sâu khái niệm
|
||||||
|
- [ ] Tối đa 1-2 admonition
|
||||||
|
|
||||||
|
## Cấu trúc Glossary
|
||||||
|
|
||||||
|
Starlight tạo phần điều hướng "On this page" từ các tiêu đề:
|
||||||
|
|
||||||
|
- Dùng `##` cho các nhóm — sẽ hiện ở thanh điều hướng bên phải
|
||||||
|
- Đặt thuật ngữ trong bảng — gọn hơn so với tạo tiêu đề riêng cho từng thuật ngữ
|
||||||
|
- Không chèn TOC nội tuyến — sidebar bên phải đã xử lý điều hướng
|
||||||
|
|
||||||
|
### Định dạng bảng
|
||||||
|
|
||||||
|
```md
|
||||||
|
## Tên nhóm
|
||||||
|
|
||||||
|
| Thuật ngữ | Định nghĩa |
|
||||||
|
| --------- | ---------- |
|
||||||
|
| **Agent** | AI persona chuyên biệt với chuyên môn cụ thể để dẫn dắt người dùng qua workflow. |
|
||||||
|
| **Workflow** | Quy trình nhiều bước có hướng dẫn, điều phối hoạt động của agent AI để tạo deliverable. |
|
||||||
|
```
|
||||||
|
|
||||||
|
### Quy tắc viết định nghĩa
|
||||||
|
|
||||||
|
| Nên làm | Không nên làm |
|
||||||
|
| --- | --- |
|
||||||
|
| Bắt đầu bằng việc nó LÀ gì hoặc LÀM gì | Bắt đầu bằng "Đây là..." hoặc "Một [thuật ngữ] là..." |
|
||||||
|
| Giữ trong 1-2 câu | Viết thành nhiều đoạn dài |
|
||||||
|
| Bôi đậm tên thuật ngữ trong ô | Để thuật ngữ ở dạng chữ thường |
|
||||||
|
|
||||||
|
### Dấu hiệu ngữ cảnh
|
||||||
|
|
||||||
|
Thêm ngữ cảnh in nghiêng ở đầu định nghĩa với các thuật ngữ có phạm vi hẹp:
|
||||||
|
|
||||||
|
- `*Chỉ dành cho Quick Flow.*`
|
||||||
|
- `*BMad Method/Enterprise.*`
|
||||||
|
- `*Phase N.*`
|
||||||
|
- `*BMGD.*`
|
||||||
|
- `*Dự án hiện có.*`
|
||||||
|
|
||||||
|
### Checklist cho Glossary
|
||||||
|
|
||||||
|
- [ ] Thuật ngữ nằm trong bảng, không dùng tiêu đề riêng
|
||||||
|
- [ ] Thuật ngữ được sắp theo thứ tự chữ cái trong từng nhóm
|
||||||
|
- [ ] Định nghĩa dài 1-2 câu
|
||||||
|
- [ ] Dấu hiệu ngữ cảnh được in nghiêng
|
||||||
|
- [ ] Tên thuật ngữ được bôi đậm trong ô
|
||||||
|
- [ ] Không dùng kiểu định nghĩa "Một [thuật ngữ] là..."
|
||||||
|
|
||||||
|
## Phần FAQ
|
||||||
|
|
||||||
|
```md
|
||||||
|
## Các câu hỏi
|
||||||
|
|
||||||
|
- [Lúc nào cũng cần kiến trúc à?](#luc-nao-cung-can-kien-truc-a)
|
||||||
|
- [Tôi có thể đổi kế hoạch về sau không?](#toi-co-the-doi-ke-hoach-ve-sau-khong)
|
||||||
|
|
||||||
|
### Lúc nào cũng cần kiến trúc à?
|
||||||
|
|
||||||
|
Chỉ với nhánh BMad Method và Enterprise. Quick Flow bỏ qua để đi thẳng vào triển khai.
|
||||||
|
|
||||||
|
### Tôi có thể đổi kế hoạch về sau không?
|
||||||
|
|
||||||
|
Có. Workflow `bmad-correct-course` xử lý thay đổi phạm vi giữa chừng.
|
||||||
|
|
||||||
|
**Có câu hỏi chưa được trả lời ở đây?** [Mở issue](...) hoặc hỏi trên [Discord](...).
|
||||||
|
```
|
||||||
|
|
||||||
|
## Các Lệnh Kiểm Tra
|
||||||
|
|
||||||
|
Trước khi gửi thay đổi tài liệu:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run docs:fix-links # Xem trước các sửa định dạng link
|
||||||
|
npm run docs:fix-links -- --write # Áp dụng các sửa
|
||||||
|
npm run docs:validate-links # Kiểm tra link tồn tại
|
||||||
|
npm run docs:build # Xác minh không có lỗi build
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
---
|
||||||
|
title: "Khai thác nâng cao"
|
||||||
|
description: Buộc LLM xem xét lại kết quả của nó bằng các phương pháp lập luận có cấu trúc
|
||||||
|
sidebar:
|
||||||
|
order: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
Buộc LLM xem xét lại những gì nó vừa tạo ra. Bạn chọn một phương pháp lập luận, nó áp dụng phương pháp đó lên chính output của mình, rồi bạn quyết định có giữ các cải tiến hay không.
|
||||||
|
|
||||||
|
## Khai thác nâng cao là gì?
|
||||||
|
|
||||||
|
Đây là một lần xem xét lại có cấu trúc. Thay vì bảo AI "thử lại" hoặc "làm cho nó tốt hơn", bạn chọn một phương pháp lập luận cụ thể và AI sẽ xem lại output của chính nó dưới góc đó.
|
||||||
|
|
||||||
|
Khác biệt này rất quan trọng. Yêu cầu mơ hồ sẽ tạo ra bản sửa đổi mơ hồ. Một phương pháp được gọi tên buộc AI tấn công vấn đề theo một hướng cụ thể, qua đó phát hiện những ý tưởng mà một lần thử lại chung chung sẽ bỏ lỡ.
|
||||||
|
|
||||||
|
## Khi nào nên dùng
|
||||||
|
|
||||||
|
- Sau khi workflow tạo nội dung và bạn muốn có phương án thay thế
|
||||||
|
- Khi output có vẻ ổn nhưng bạn nghi vẫn còn có thể đào sâu hơn
|
||||||
|
- Để stress-test các giả định hoặc tìm điểm yếu
|
||||||
|
- Với nội dung quan trọng, nơi mà việc nghĩ lại sẽ có giá trị
|
||||||
|
|
||||||
|
Các workflow sẽ đưa ra tùy chọn khai thác nâng cao tại các điểm quyết định - sau khi LLM tạo một kết quả, bạn sẽ được hỏi có muốn chạy nó hay không.
|
||||||
|
|
||||||
|
## Nó hoạt động như thế nào
|
||||||
|
|
||||||
|
1. LLM đề xuất 5 phương pháp phù hợp với nội dung của bạn
|
||||||
|
2. Bạn chọn một phương pháp (hoặc đảo lại để xem lựa chọn khác)
|
||||||
|
3. Phương pháp được áp dụng, các cải tiến được hiện ra
|
||||||
|
4. Chấp nhận hoặc bỏ đi, lặp lại hoặc tiếp tục
|
||||||
|
|
||||||
|
## Các phương pháp tích hợp sẵn
|
||||||
|
|
||||||
|
Có hàng chục phương pháp lập luận có sẵn. Một vài ví dụ:
|
||||||
|
|
||||||
|
- **Pre-mortem Analysis** - Giả sử dự án đã thất bại rồi lần ngược lại để tìm lý do
|
||||||
|
- **First Principles Thinking** - Loại bỏ giả định, xây lại từ sự thật nền tảng
|
||||||
|
- **Inversion** - Hỏi cách nào chắc chắn dẫn đến thất bại, rồi tránh những điều đó
|
||||||
|
- **Red Team vs Blue Team** - Tự tấn công công việc của chính mình, rồi tự bảo vệ nó
|
||||||
|
- **Socratic Questioning** - Chất vấn mọi khẳng định bằng "tại sao?" và "làm sao bạn biết?"
|
||||||
|
- **Constraint Removal** - Bỏ hết ràng buộc, xem điều gì thay đổi, rồi thêm lại có chọn lọc
|
||||||
|
- **Stakeholder Mapping** - Đánh giá lại từ góc nhìn của từng bên liên quan
|
||||||
|
- **Analogical Reasoning** - Tìm điểm tương đồng ở lĩnh vực khác và áp dụng bài học của chúng
|
||||||
|
|
||||||
|
Và còn nhiều nữa. AI sẽ chọn những lựa chọn phù hợp nhất với nội dung của bạn - bạn quyết định chạy cái nào.
|
||||||
|
|
||||||
|
:::tip[Bắt đầu từ đây]
|
||||||
|
Pre-mortem Analysis là lựa chọn đầu tiên tốt cho bất kỳ bản spec hoặc kế hoạch nào. Nó thường xuyên tìm ra các lỗ hổng mà một lần review thông thường bỏ qua.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
---
|
||||||
|
title: "Đánh giá đối kháng"
|
||||||
|
description: Kỹ thuật lập luận ép buộc giúp tránh các bản review lười kiểu "nhìn ổn"
|
||||||
|
sidebar:
|
||||||
|
order: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
Buộc quá trình phân tích đi sâu hơn bằng cách ép phải tìm ra vấn đề.
|
||||||
|
|
||||||
|
## Đánh giá đối kháng là gì?
|
||||||
|
|
||||||
|
Đây là một kỹ thuật review mà người review *bắt buộc* phải tìm thấy vấn đề. Không có chuyện "nhìn ổn". Người review chọn lập trường hoài nghi - giả sử vấn đề có tồn tại và đi tìm chúng.
|
||||||
|
|
||||||
|
Đây không phải là việc cố tình tiêu cực. Đây là cách ép buộc phân tích thật sự, thay vì chỉ liếc qua và đóng dấu chấp nhận những gì vừa được nộp lên.
|
||||||
|
|
||||||
|
**Quy tắc cốt lõi:** Bạn phải tìm ra vấn đề. Nếu không có phát hiện nào, quy trình sẽ dừng lại - cần phân tích lại hoặc giải thích tại sao.
|
||||||
|
|
||||||
|
## Vì sao nó hiệu quả
|
||||||
|
|
||||||
|
Những lần review thông thường dễ bị confirmation bias. Bạn lướt qua công việc, không có gì đập vào mắt, rồi phê duyệt. Yêu cầu "tìm vấn đề" phá vỡ mẫu này:
|
||||||
|
|
||||||
|
- **Ép buộc sự kỹ lưỡng** - Không thể phê duyệt cho đến khi bạn đã đào đủ sâu để tìm thấy vấn đề
|
||||||
|
- **Bắt được những thứ đang thiếu** - "Còn gì chưa có ở đây?" trở thành câu hỏi tự nhiên
|
||||||
|
- **Tăng chất lượng tín hiệu** - Các phát hiện cụ thể và có thể hành động được, không phải các lo ngại mơ hồ
|
||||||
|
- **Bất đối xứng thông tin** - Chạy review với bối cảnh mới (không có lý do gốc) để đánh giá artifact, không phải ý định
|
||||||
|
|
||||||
|
## Nó được dùng ở đâu
|
||||||
|
|
||||||
|
Đánh giá đối kháng xuất hiện xuyên suốt các workflow của BMad - code review, kiểm tra sẵn sàng triển khai, xác thực spec, và nhiều nơi khác. Đôi khi là bước bắt buộc, đôi khi là tùy chọn (như khai thác nâng cao hoặc party mode). Mẫu này được điều chỉnh theo artifact cần bị soi kỹ.
|
||||||
|
|
||||||
|
## Vẫn cần bộ lọc của con người
|
||||||
|
|
||||||
|
Vì AI *được lệnh* phải tìm vấn đề, nó sẽ tìm vấn đề - ngay cả khi chúng không tồn tại. Hãy kỳ vọng false positive: bắt bẻ những lỗi vặt, hiểu sai ý định, hoặc thậm chí tưởng tượng ra vấn đề.
|
||||||
|
|
||||||
|
**Bạn là người quyết định cái nào là thật.** Xem từng phát hiện, bỏ qua nhiễu, sửa những gì quan trọng.
|
||||||
|
|
||||||
|
## Ví dụ
|
||||||
|
|
||||||
|
Thay vì:
|
||||||
|
|
||||||
|
> "Phần triển khai xác thực có vẻ hợp lý. Đã duyệt."
|
||||||
|
|
||||||
|
Một lần đánh giá đối kháng sẽ cho ra:
|
||||||
|
|
||||||
|
> 1. **HIGH** - `login.ts:47` - Không có giới hạn tốc độ cho các lần đăng nhập thất bại
|
||||||
|
> 2. **HIGH** - Session token được lưu trong localStorage (dễ bị XSS)
|
||||||
|
> 3. **MEDIUM** - Kiểm tra mật khẩu chỉ diễn ra ở client
|
||||||
|
> 4. **MEDIUM** - Không có audit log cho các lần đăng nhập thất bại
|
||||||
|
> 5. **LOW** - Số magic `3600` nên được đổi thành `SESSION_TIMEOUT_SECONDS`
|
||||||
|
|
||||||
|
Bản review thứ nhất có thể bỏ sót một lỗi bảo mật. Bản review thứ hai đã bắt được bốn vấn đề.
|
||||||
|
|
||||||
|
## Lặp lại và lợi ích giảm dần
|
||||||
|
|
||||||
|
Sau khi đã xử lý các phát hiện, hãy cân nhắc chạy lại. Lần thứ hai thường sẽ bắt thêm được vấn đề. Lần thứ ba cũng không phải lúc nào cũng vô ích. Nhưng mỗi lần đều tốn thời gian, và đến một mức nào đó bạn sẽ gặp lợi ích giảm dần - chỉ còn các bắt bẻ nhỏ và false positive.
|
||||||
|
|
||||||
|
:::tip[Review tốt hơn]
|
||||||
|
Giả sử vấn đề có tồn tại. Tìm những gì còn thiếu, không chỉ những gì sai.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
---
|
||||||
|
title: "Giai đoạn Analysis: từ ý tưởng đến nền tảng"
|
||||||
|
description: Brainstorming, research, product brief và PRFAQ là gì, và nên dùng từng công cụ khi nào
|
||||||
|
sidebar:
|
||||||
|
order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
Giai đoạn Analysis (Phase 1) giúp bạn suy nghĩ rõ ràng về sản phẩm trước khi cam kết bắt tay vào xây dựng. Mọi công cụ trong giai đoạn này đều là tùy chọn, nhưng nếu bỏ qua toàn bộ phần analysis thì PRD của bạn sẽ được dựng trên giả định thay vì insight.
|
||||||
|
|
||||||
|
## Vì sao cần Analysis trước Planning?
|
||||||
|
|
||||||
|
PRD trả lời câu hỏi "chúng ta nên xây gì và vì sao?". Nếu đầu vào của nó là những suy nghĩ mơ hồ, bạn sẽ nhận lại một PRD mơ hồ, và mọi tài liệu phía sau đều kế thừa chính sự mơ hồ đó. Kiến trúc dựng trên một PRD yếu sẽ đặt cược sai về mặt kỹ thuật. Stories sinh ra từ một kiến trúc yếu sẽ bỏ sót edge case. Chi phí sẽ dồn lên theo từng tầng.
|
||||||
|
|
||||||
|
Các công cụ analysis tồn tại để làm PRD của bạn sắc bén hơn. Chúng tiếp cận vấn đề từ nhiều góc độ khác nhau: khám phá sáng tạo, thực tế thị trường, độ rõ ràng về khách hàng, tính khả thi. Nhờ vậy, đến khi bạn ngồi xuống làm việc với PM agent, bạn đã biết mình đang xây cái gì và cho ai.
|
||||||
|
|
||||||
|
## Các công cụ
|
||||||
|
|
||||||
|
### Brainstorming
|
||||||
|
|
||||||
|
**Nó là gì.** Một phiên sáng tạo có điều phối, sử dụng các kỹ thuật ideation đã được kiểm chứng. AI đóng vai trò như người huấn luyện, kéo ý tưởng ra từ bạn thông qua các bài tập có cấu trúc, chứ không nghĩ thay cho bạn.
|
||||||
|
|
||||||
|
**Vì sao nó có mặt ở đây.** Ý tưởng thô cần không gian để phát triển trước khi bị khóa cứng thành requirement. Brainstorming tạo ra khoảng không đó. Nó đặc biệt có giá trị khi bạn có một miền vấn đề nhưng chưa có lời giải rõ ràng, hoặc khi bạn muốn khám phá nhiều hướng trước khi commit.
|
||||||
|
|
||||||
|
**Khi nào nên dùng.** Bạn có một hình dung mơ hồ về thứ mình muốn xây nhưng chưa kết tinh được thành khái niệm rõ ràng. Hoặc bạn đã có concept ban đầu nhưng muốn pressure-test nó với các phương án thay thế.
|
||||||
|
|
||||||
|
Xem [Brainstorming](./brainstorming.md) để hiểu sâu hơn về cách một phiên làm việc diễn ra.
|
||||||
|
|
||||||
|
### Research (Thị trường, miền nghiệp vụ, kỹ thuật)
|
||||||
|
|
||||||
|
**Nó là gì.** Ba workflow nghiên cứu tập trung vào các chiều khác nhau của ý tưởng. Market research xem xét đối thủ, xu hướng và cảm nhận của người dùng. Domain research xây dựng hiểu biết về miền nghiệp vụ và thuật ngữ. Technical research đánh giá tính khả thi, các lựa chọn kiến trúc và hướng triển khai.
|
||||||
|
|
||||||
|
**Vì sao nó có mặt ở đây.** Xây dựng dựa trên giả định là con đường nhanh nhất để tạo ra thứ chẳng ai cần. Research đặt concept của bạn xuống mặt đất: đối thủ nào đã tồn tại, người dùng thực sự đang vật lộn với điều gì, điều gì khả thi về kỹ thuật, và bạn sẽ phải đối mặt với những ràng buộc đặc thù ngành nào.
|
||||||
|
|
||||||
|
**Khi nào nên dùng.** Bạn đang bước vào một miền mới, nghi ngờ có đối thủ nhưng chưa lập bản đồ được, hoặc concept của bạn phụ thuộc vào những năng lực kỹ thuật mà bạn chưa kiểm chứng. Có thể chạy một, hai, hoặc cả ba; mỗi workflow đều đứng độc lập.
|
||||||
|
|
||||||
|
### Product Brief
|
||||||
|
|
||||||
|
**Nó là gì.** Một phiên discovery có hướng dẫn, tạo ra bản tóm tắt điều hành 1-2 trang cho concept sản phẩm của bạn. AI đóng vai trò Business Analyst cộng tác, giúp bạn diễn đạt tầm nhìn, đối tượng mục tiêu, giá trị cốt lõi và phạm vi.
|
||||||
|
|
||||||
|
**Vì sao nó có mặt ở đây.** Product brief là con đường nhẹ nhàng hơn để đi vào planning. Nó ghi lại tầm nhìn chiến lược của bạn theo định dạng có cấu trúc và đưa thẳng vào quá trình tạo PRD. Nó hoạt động tốt nhất khi bạn đã có niềm tin tương đối chắc vào concept của mình: bạn biết khách hàng là ai, vấn đề là gì, và đại khái muốn xây gì. Brief sẽ tổ chức lại và làm sắc nét lối suy nghĩ đó.
|
||||||
|
|
||||||
|
**Khi nào nên dùng.** Concept của bạn đã tương đối rõ và bạn muốn ghi lại nó một cách hiệu quả trước khi tạo PRD. Bạn tin vào hướng đi hiện tại và không cần bị thách thức giả định một cách quá quyết liệt.
|
||||||
|
|
||||||
|
### PRFAQ (Working Backwards)
|
||||||
|
|
||||||
|
**Nó là gì.** Phương pháp Working Backwards của Amazon được chuyển thành một thử thách tương tác. Bạn viết thông cáo báo chí công bố sản phẩm hoàn thiện trước khi tồn tại dù chỉ một dòng code, rồi trả lời những câu hỏi khó nhất mà khách hàng và stakeholder sẽ đặt ra. AI đóng vai trò product coach dai dẳng nhưng mang tính xây dựng.
|
||||||
|
|
||||||
|
**Vì sao nó có mặt ở đây.** PRFAQ là con đường nghiêm ngặt hơn để đi vào planning. Nó buộc bạn đạt đến sự rõ ràng theo hướng customer-first bằng cách bắt bạn bảo vệ từng phát biểu. Nếu bạn không viết nổi một thông cáo báo chí đủ thuyết phục, sản phẩm đó chưa sẵn sàng. Nếu phần FAQ lộ ra những khoảng trống, đó chính là những khoảng trống mà bạn sẽ phát hiện muộn hơn rất nhiều, và với chi phí lớn hơn nhiều, trong lúc triển khai. Bài kiểm tra này bóc tách lối suy nghĩ yếu ngay từ sớm, khi chi phí sửa còn rẻ nhất.
|
||||||
|
|
||||||
|
**Khi nào nên dùng.** Bạn muốn stress-test concept trước khi commit tài nguyên. Bạn chưa chắc người dùng có thực sự quan tâm hay không. Bạn muốn xác nhận rằng mình có thể diễn đạt một value proposition rõ ràng và có thể bảo vệ được. Hoặc đơn giản là bạn muốn dùng sự kỷ luật của Working Backwards để làm suy nghĩ của mình sắc bén hơn.
|
||||||
|
|
||||||
|
## Tôi nên dùng cái nào?
|
||||||
|
|
||||||
|
| Tình huống | Công cụ được khuyến nghị |
|
||||||
|
| --------- | ------------------------ |
|
||||||
|
| "Tôi có một ý tưởng mơ hồ, chưa biết bắt đầu từ đâu" | Brainstorming |
|
||||||
|
| "Tôi cần hiểu thị trường trước khi quyết định" | Research |
|
||||||
|
| "Tôi biết mình muốn xây gì rồi, chỉ cần ghi lại" | Product Brief |
|
||||||
|
| "Tôi muốn chắc rằng ý tưởng này thực sự đáng để xây" | PRFAQ |
|
||||||
|
| "Tôi muốn khám phá, rồi kiểm chứng, rồi ghi lại" | Brainstorming → Research → PRFAQ hoặc Brief |
|
||||||
|
|
||||||
|
Product Brief và PRFAQ đều tạo ra đầu vào cho PRD. Hãy chọn một trong hai tùy vào mức độ thách thức bạn muốn. Brief là discovery mang tính cộng tác. PRFAQ là một bài kiểm tra khắc nghiệt. Cả hai đều đưa bạn tới cùng một đích; PRFAQ chỉ kiểm tra xem concept của bạn có thật sự xứng đáng để đến đó hay không.
|
||||||
|
|
||||||
|
:::tip[Chưa chắc nên bắt đầu ở đâu?]
|
||||||
|
Hãy chạy `bmad-help` và mô tả tình huống của bạn. Nó sẽ gợi ý điểm bắt đầu phù hợp dựa trên những gì bạn đã làm và điều bạn đang muốn đạt được.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Sau Analysis thì chuyện gì xảy ra?
|
||||||
|
|
||||||
|
Output từ Analysis đi thẳng vào Phase 2 (Planning). Workflow tạo PRD chấp nhận product brief, tài liệu PRFAQ, kết quả research và báo cáo brainstorming làm đầu vào. Nó sẽ tổng hợp bất cứ thứ gì bạn đã tạo thành các requirement có cấu trúc. Bạn làm analysis càng kỹ, PRD của bạn càng sắc.
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
---
|
||||||
|
title: "Động não ý tưởng"
|
||||||
|
description: Các phiên sáng tạo tương tác sử dụng hơn 60 kỹ thuật khơi ý đã được kiểm chứng
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Mở khóa sự sáng tạo của bạn thông qua quá trình khám phá có hướng dẫn.
|
||||||
|
|
||||||
|
## Động não ý tưởng là gì?
|
||||||
|
|
||||||
|
Chạy `bmad-brainstorming` và bạn sẽ có một người điều phối sáng tạo giúp rút ý tưởng từ chính bạn - không phải phát sinh thay bạn. AI đóng vai trò huấn luyện viên và người dẫn đường, sử dụng các kỹ thuật đã được kiểm chứng để tạo điều kiện cho những ý tưởng tốt nhất của bạn xuất hiện.
|
||||||
|
|
||||||
|
**Phù hợp cho:**
|
||||||
|
|
||||||
|
- Phá vỡ thế bí ý tưởng
|
||||||
|
- Tạo ý tưởng sản phẩm hoặc tính năng
|
||||||
|
- Xem xét vấn đề từ góc nhìn mới
|
||||||
|
- Biến các khái niệm thô thành kế hoạch hành động
|
||||||
|
|
||||||
|
## Nó hoạt động như thế nào
|
||||||
|
|
||||||
|
1. **Thiết lập** - Xác định chủ đề, mục tiêu, ràng buộc
|
||||||
|
2. **Chọn cách tiếp cận** - Tự chọn kỹ thuật, để AI đề xuất, chọn ngẫu nhiên, hoặc đi theo một luồng tiến trình
|
||||||
|
3. **Điều phối** - Làm việc qua từng kỹ thuật bằng các câu hỏi gợi mở và huấn luyện cộng tác
|
||||||
|
4. **Sắp xếp** - Gom ý tưởng theo chủ đề và ưu tiên hóa
|
||||||
|
5. **Hành động** - Các ý tưởng tốt nhất sẽ được gán bước tiếp theo và chỉ số thành công
|
||||||
|
|
||||||
|
Mọi thứ đều được ghi lại trong tài liệu phiên làm việc để bạn có thể xem lại sau này hoặc chia sẻ với stakeholder.
|
||||||
|
|
||||||
|
:::note[Ý tưởng của bạn]
|
||||||
|
Mọi ý tưởng đều đến từ bạn. Workflow chỉ tạo điều kiện cho insight xuất hiện - nguồn gốc vẫn là bạn.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
---
|
||||||
|
title: "FAQ cho dự án đã tồn tại"
|
||||||
|
description: Các câu hỏi phổ biến khi dùng BMad Method trên dự án đã tồn tại
|
||||||
|
sidebar:
|
||||||
|
order: 8
|
||||||
|
---
|
||||||
|
|
||||||
|
Các câu trả lời nhanh cho những câu hỏi thường gặp khi làm việc với dự án đã tồn tại bằng BMad Method (BMM).
|
||||||
|
|
||||||
|
## Các câu hỏi
|
||||||
|
|
||||||
|
- [Tôi có phải chạy document-project trước không?](#toi-co-phai-chay-document-project-truoc-khong)
|
||||||
|
- [Nếu tôi quên chạy document-project thì sao?](#neu-toi-quen-chay-document-project-thi-sao)
|
||||||
|
- [Tôi có thể dùng Quick Flow cho dự án đã tồn tại không?](#toi-co-the-dung-quick-flow-cho-du-an-da-ton-tai-khong)
|
||||||
|
- [Nếu code hiện tại của tôi không theo best practices thì sao?](#neu-code-hien-tai-cua-toi-khong-theo-best-practices-thi-sao)
|
||||||
|
|
||||||
|
### Tôi có phải chạy document-project trước không?
|
||||||
|
|
||||||
|
Rất nên chạy, nhất là khi:
|
||||||
|
|
||||||
|
- Không có tài liệu sẵn có
|
||||||
|
- Tài liệu đã lỗi thời
|
||||||
|
- Agent AI cần context về code hiện có
|
||||||
|
|
||||||
|
Bạn có thể bỏ qua nếu đã có tài liệu đầy đủ, mới, bao gồm `docs/index.md`, hoặc bạn sẽ dùng công cụ/kỹ thuật khác để giúp agent khám phá hệ thống hiện có.
|
||||||
|
|
||||||
|
### Nếu tôi quên chạy document-project thì sao?
|
||||||
|
|
||||||
|
Không sao - bạn có thể chạy nó bất cứ lúc nào. Bạn thậm chí có thể chạy trong khi dự án đang diễn ra hoặc sau đó để giữ tài liệu luôn mới.
|
||||||
|
|
||||||
|
### Tôi có thể dùng Quick Flow cho dự án đã tồn tại không?
|
||||||
|
|
||||||
|
Có. Quick Flow hoạt động rất tốt với dự án đã tồn tại. Nó sẽ:
|
||||||
|
|
||||||
|
- Tự động nhận diện stack hiện có
|
||||||
|
- Phân tích pattern code hiện có
|
||||||
|
- Phát hiện quy ước và hỏi bạn để xác nhận
|
||||||
|
- Tạo spec giàu ngữ cảnh, tôn trọng code hiện có
|
||||||
|
|
||||||
|
Rất hợp với sửa lỗi và tính năng nhỏ trong codebase sẵn có.
|
||||||
|
|
||||||
|
### Nếu code hiện tại của tôi không theo best practices thì sao?
|
||||||
|
|
||||||
|
Quick Flow sẽ nhận diện quy ước hiện có và hỏi: "Tôi có nên tuân theo những quy ước hiện tại này không?" Bạn là người quyết định:
|
||||||
|
|
||||||
|
- **Có** → Giữ tính nhất quán với codebase hiện tại
|
||||||
|
- **Không** → Đặt ra chuẩn mới, đồng thời ghi rõ lý do trong spec
|
||||||
|
|
||||||
|
BMM tôn trọng lựa chọn của bạn - nó không ép buộc hiện đại hóa, nhưng sẽ đưa ra lựa chọn đó.
|
||||||
|
|
||||||
|
**Có câu hỏi chưa được trả lời ở đây?** Hãy [mở issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) hoặc hỏi trên [Discord](https://discord.gg/gk8jAdXWmj) để chúng tôi bổ sung!
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
---
|
||||||
|
title: "Party Mode"
|
||||||
|
description: Cộng tác đa agent - đưa tất cả agent AI vào cùng một cuộc trò chuyện
|
||||||
|
sidebar:
|
||||||
|
order: 7
|
||||||
|
---
|
||||||
|
|
||||||
|
Đưa tất cả agent AI của bạn vào cùng một cuộc trò chuyện.
|
||||||
|
|
||||||
|
## Party Mode là gì?
|
||||||
|
|
||||||
|
Chạy `bmad-party-mode` và bạn sẽ có cả đội AI trong cùng một phòng - PM, Architect, Dev, UX Designer, bất kỳ ai bạn cần. BMad Master điều phối, chọn các agent liên quan cho từng tin nhắn. Các agent trả lời đúng vai, đồng ý, phản biện, và bổ sung ý tưởng cho nhau.
|
||||||
|
|
||||||
|
Cuộc trò chuyện tiếp tục lâu đến mức bạn muốn. Bạn có thể hỏi tiếp, phản biện câu trả lời, đổi hướng thảo luận - đó là một cuộc qua lại thật sự với các agent của bạn cho đến khi xong.
|
||||||
|
|
||||||
|
**Phù hợp cho:**
|
||||||
|
|
||||||
|
- Các quyết định lớn có đánh đổi
|
||||||
|
- Các phiên động não ý tưởng
|
||||||
|
- Post-mortem khi mọi thứ đi sai
|
||||||
|
- Retrospective và lập kế hoạch sprint
|
||||||
|
|
||||||
|
## Ví dụ
|
||||||
|
|
||||||
|
### Gọi tên kiến trúc tệ
|
||||||
|
|
||||||
|
**Bạn:** "Được rồi cả đội, sprint vừa rồi là một thảm họa. Dịch vụ xác thực sập ba lần. Ai đã làm hỏng chuyện này?"
|
||||||
|
|
||||||
|
**Architect:** "Thiết kế vẫn ổn - xác thực phân tán với cơ chế fallback hợp lý. Nếu phần triển khai lệch khỏi spec..."
|
||||||
|
|
||||||
|
**Dev:** "Tôi đã làm đúng theo tài liệu kiến trúc. Spec không tính đến race condition khi vô hiệu hóa session đồng thời."
|
||||||
|
|
||||||
|
**PM:** "Cả hai người đều bỏ sót vấn đề lớn hơn - chúng ta không xác thực đúng yêu cầu quản lý session trong PRD. **Lỗi này là do tôi** không bắt được sớm hơn."
|
||||||
|
|
||||||
|
**TEA:** "Và tôi đáng ra phải bắt được nó trong integration test. Các kịch bản test đã không bao phủ trường hợp vô hiệu hóa đồng thời."
|
||||||
|
|
||||||
|
### Động não sáng tạo
|
||||||
|
|
||||||
|
**Bạn:** "Làm sao để quá trình onboarding có cảm giác kỳ diệu thay vì nhàm chán?"
|
||||||
|
|
||||||
|
**UX Designer:** "Bắt đầu bằng progressive disclosure - hiện tính năng khi người dùng cần, thay vì tung một tutorial dày đặc."
|
||||||
|
|
||||||
|
**Storyteller:** "Nếu onboarding là một câu chuyện thì sao? Mỗi bước mở ra hành trình của một nhân vật - người dùng CHÍNH là người hùng."
|
||||||
|
|
||||||
|
**Game Designer:** "Nối tiếp ý đó - nếu 'nhiệm vụ' đầu tiên thực chất giải quyết một vấn đề thật của người dùng thì sao? Họ học bằng cách làm ra giá trị ngay."
|
||||||
|
|
||||||
|
### Quyết định kỹ thuật
|
||||||
|
|
||||||
|
**Bạn:** "MVP nên dùng monolith hay microservices?"
|
||||||
|
|
||||||
|
**Architect:** "Bắt đầu bằng monolith. Microservices thêm độ phức tạp mà bạn chưa cần ở mức 1000 người dùng."
|
||||||
|
|
||||||
|
**PM:** "Đồng ý. Tốc độ ra thị trường quan trọng hơn khả năng mở rộng lý thuyết."
|
||||||
|
|
||||||
|
**Dev:** "Monolith nhưng có ranh giới module rõ ràng. Nếu cần, mình có thể tách service sau."
|
||||||
|
|
||||||
|
:::tip[Quyết định tốt hơn]
|
||||||
|
Quyết định tốt hơn nhờ nhiều góc nhìn đa dạng. Chào mừng đến với party mode.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
---
|
||||||
|
title: "Ngăn xung đột giữa các agent"
|
||||||
|
description: Cách kiến trúc ngăn xung đột khi nhiều agent cùng triển khai một hệ thống
|
||||||
|
sidebar:
|
||||||
|
order: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
Khi nhiều agent AI cùng triển khai các phần khác nhau của hệ thống, chúng có thể đưa ra các quyết định kỹ thuật mâu thuẫn nhau. Tài liệu kiến trúc ngăn điều đó bằng cách thiết lập các tiêu chuẩn dùng chung.
|
||||||
|
|
||||||
|
## Các kiểu xung đột phổ biến
|
||||||
|
|
||||||
|
### Xung đột về phong cách API
|
||||||
|
|
||||||
|
Không có kiến trúc:
|
||||||
|
- Agent A dùng REST với `/users/{id}`
|
||||||
|
- Agent B dùng GraphQL mutations
|
||||||
|
- Kết quả: pattern API không nhất quán, người dùng API bị rối
|
||||||
|
|
||||||
|
Có kiến trúc:
|
||||||
|
- ADR quy định: "Dùng GraphQL cho mọi giao tiếp client-server"
|
||||||
|
- Tất cả agent theo cùng một mẫu
|
||||||
|
|
||||||
|
### Xung đột về thiết kế cơ sở dữ liệu
|
||||||
|
|
||||||
|
Không có kiến trúc:
|
||||||
|
- Agent A dùng tên cột theo snake_case
|
||||||
|
- Agent B dùng camelCase
|
||||||
|
- Kết quả: schema không nhất quán, truy vấn khó hiểu
|
||||||
|
|
||||||
|
Có kiến trúc:
|
||||||
|
- Tài liệu standards quy định quy ước đặt tên
|
||||||
|
- Tất cả agent theo cùng một pattern
|
||||||
|
|
||||||
|
### Xung đột về quản lý state
|
||||||
|
|
||||||
|
Không có kiến trúc:
|
||||||
|
- Agent A dùng Redux cho global state
|
||||||
|
- Agent B dùng React Context
|
||||||
|
- Kết quả: nhiều cách quản lý state song song, độ phức tạp tăng cao
|
||||||
|
|
||||||
|
Có kiến trúc:
|
||||||
|
- ADR quy định cách quản lý state
|
||||||
|
- Tất cả agent triển khai thống nhất
|
||||||
|
|
||||||
|
## Kiến trúc ngăn xung đột bằng cách nào
|
||||||
|
|
||||||
|
### 1. Quyết định rõ ràng thông qua ADR
|
||||||
|
|
||||||
|
Mỗi lựa chọn công nghệ quan trọng đều được ghi lại với:
|
||||||
|
- Context (vì sao quyết định này quan trọng)
|
||||||
|
- Các lựa chọn đã cân nhắc (có những phương án nào)
|
||||||
|
- Quyết định (ta đã chọn gì)
|
||||||
|
- Lý do (tại sao lại chọn như vậy)
|
||||||
|
- Hệ quả (các đánh đổi được chấp nhận)
|
||||||
|
|
||||||
|
### 2. Hướng dẫn riêng cho FR/NFR
|
||||||
|
|
||||||
|
Kiến trúc ánh xạ mỗi functional requirement sang cách tiếp cận kỹ thuật:
|
||||||
|
- FR-001: User Management → GraphQL mutations
|
||||||
|
- FR-002: Mobile App → Truy vấn tối ưu
|
||||||
|
|
||||||
|
### 3. Tiêu chuẩn và quy ước
|
||||||
|
|
||||||
|
Tài liệu hóa rõ ràng về:
|
||||||
|
- Cấu trúc thư mục
|
||||||
|
- Quy ước đặt tên
|
||||||
|
- Cách tổ chức code
|
||||||
|
- Pattern kiểm thử
|
||||||
|
|
||||||
|
## Kiến trúc như một bối cảnh dùng chung
|
||||||
|
|
||||||
|
Hãy xem kiến trúc là bối cảnh dùng chung mà tất cả agent đều đọc trước khi triển khai:
|
||||||
|
|
||||||
|
```text
|
||||||
|
PRD: "Cần xây gì"
|
||||||
|
↓
|
||||||
|
Kiến trúc: "Xây như thế nào"
|
||||||
|
↓
|
||||||
|
Agent A đọc kiến trúc → triển khai Epic 1
|
||||||
|
Agent B đọc kiến trúc → triển khai Epic 2
|
||||||
|
Agent C đọc kiến trúc → triển khai Epic 3
|
||||||
|
↓
|
||||||
|
Kết quả: Triển khai nhất quán
|
||||||
|
```
|
||||||
|
|
||||||
|
## Các chủ đề ADR quan trọng
|
||||||
|
|
||||||
|
Những quyết định phổ biến giúp tránh xung đột:
|
||||||
|
|
||||||
|
| Chủ đề | Ví dụ quyết định |
|
||||||
|
| ---------------- | -------------------------------------------- |
|
||||||
|
| API Style | GraphQL hay REST hay gRPC |
|
||||||
|
| Database | PostgreSQL hay MongoDB |
|
||||||
|
| Auth | JWT hay Session |
|
||||||
|
| State Management | Redux hay Context hay Zustand |
|
||||||
|
| Styling | CSS Modules hay Tailwind hay Styled Components |
|
||||||
|
| Testing | Jest + Playwright hay Vitest + Cypress |
|
||||||
|
|
||||||
|
## Anti-pattern cần tránh
|
||||||
|
|
||||||
|
:::caution[Những lỗi thường gặp]
|
||||||
|
- **Quyết định ngầm** - "Cứ để đó rồi tính phong cách API sau" sẽ dẫn đến không nhất quán
|
||||||
|
- **Tài liệu hóa quá mức** - Ghi lại mọi lựa chọn nhỏ gây tê liệt phân tích
|
||||||
|
- **Kiến trúc lỗi thời** - Tài liệu viết một lần rồi không cập nhật khiến agent đi theo pattern cũ
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::tip[Cách tiếp cận đúng]
|
||||||
|
- Tài liệu hóa những quyết định cắt ngang nhiều epic
|
||||||
|
- Tập trung vào những khu vực dễ phát sinh xung đột
|
||||||
|
- Cập nhật kiến trúc khi bạn học thêm
|
||||||
|
- Dùng `bmad-correct-course` cho các thay đổi đáng kể
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,157 @@
|
||||||
|
---
|
||||||
|
title: "Project Context"
|
||||||
|
description: Cách project-context.md định hướng các agent AI theo quy tắc và ưu tiên của dự án
|
||||||
|
sidebar:
|
||||||
|
order: 7
|
||||||
|
---
|
||||||
|
|
||||||
|
Tệp `project-context.md` là kim chỉ nam cho việc triển khai của các agent AI trong dự án của bạn. Tương tự như một "bản hiến pháp" trong các hệ thống phát triển khác, nó ghi lại các quy tắc, pattern và ưu tiên giúp việc sinh mã được nhất quán trong mọi workflow.
|
||||||
|
|
||||||
|
## Nó làm gì
|
||||||
|
|
||||||
|
Các agent AI liên tục đưa ra quyết định triển khai - theo pattern nào, tổ chức code ra sao, dùng quy ước gì. Nếu không có hướng dẫn rõ ràng, chúng có thể:
|
||||||
|
- Làm theo best practice chung chung không khớp với codebase của bạn
|
||||||
|
- Đưa ra quyết định không nhất quán giữa các story
|
||||||
|
- Bỏ sót yêu cầu hoặc ràng buộc đặc thù của dự án
|
||||||
|
|
||||||
|
Tệp `project-context.md` giải quyết vấn đề này bằng cách tài liệu hóa những gì agent cần biết trong định dạng ngắn gọn, tối ưu cho LLM.
|
||||||
|
|
||||||
|
## Nó hoạt động như thế nào
|
||||||
|
|
||||||
|
Mỗi workflow triển khai đều tự động nạp `project-context.md` nếu tệp tồn tại. Workflow architect cũng nạp tệp này để tôn trọng các ưu tiên kỹ thuật của bạn khi thiết kế kiến trúc.
|
||||||
|
|
||||||
|
**Được nạp bởi các workflow sau:**
|
||||||
|
- `bmad-create-architecture` - tôn trọng ưu tiên kỹ thuật trong giai đoạn solutioning
|
||||||
|
- `bmad-create-story` - đưa pattern của dự án vào quá trình tạo story
|
||||||
|
- `bmad-dev-story` - định hướng các quyết định triển khai
|
||||||
|
- `bmad-code-review` - đối chiếu với tiêu chuẩn của dự án
|
||||||
|
- `bmad-quick-dev` - áp dụng pattern khi triển khai các spec
|
||||||
|
- `bmad-sprint-planning`, `bmad-retrospective`, `bmad-correct-course` - cung cấp bối cảnh cấp dự án
|
||||||
|
|
||||||
|
## Khi nào nên tạo
|
||||||
|
|
||||||
|
Tệp `project-context.md` hữu ích ở bất kỳ giai đoạn nào của dự án:
|
||||||
|
|
||||||
|
| Tình huống | Khi nào nên tạo | Mục đích |
|
||||||
|
|----------|----------------|---------|
|
||||||
|
| **Dự án mới, trước kiến trúc** | Tạo thủ công, trước `bmad-create-architecture` | Ghi lại ưu tiên kỹ thuật để architect tôn trọng |
|
||||||
|
| **Dự án mới, sau kiến trúc** | Qua `bmad-generate-project-context` hoặc tạo thủ công | Ghi lại quyết định kiến trúc cho các agent triển khai |
|
||||||
|
| **Dự án hiện có** | Qua `bmad-generate-project-context` | Khám phá pattern hiện có để agent theo đúng quy ước |
|
||||||
|
| **Dự án Quick Flow** | Trước hoặc trong `bmad-quick-dev` | Đảm bảo triển khai nhanh vẫn tôn trọng pattern của bạn |
|
||||||
|
|
||||||
|
:::tip[Khuyến nghị]
|
||||||
|
Với dự án mới, hãy tạo thủ công trước giai đoạn kiến trúc nếu bạn có ưu tiên kỹ thuật rõ ràng. Nếu không, hãy tạo nó sau kiến trúc để ghi lại các quyết định đã được đưa ra.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Nội dung cần có trong tệp
|
||||||
|
|
||||||
|
Tệp này có hai phần chính:
|
||||||
|
|
||||||
|
### Technology Stack & Versions
|
||||||
|
|
||||||
|
Ghi lại framework, ngôn ngữ và công cụ dự án đang dùng, kèm phiên bản cụ thể:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Technology Stack & Versions
|
||||||
|
|
||||||
|
- Node.js 20.x, TypeScript 5.3, React 18.2
|
||||||
|
- State: Zustand (không dùng Redux)
|
||||||
|
- Testing: Vitest, Playwright, MSW
|
||||||
|
- Styling: Tailwind CSS với custom design tokens
|
||||||
|
```
|
||||||
|
|
||||||
|
### Critical Implementation Rules
|
||||||
|
|
||||||
|
Ghi lại những pattern và quy ước mà agent dễ bỏ sót nếu chỉ đọc qua code:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Critical Implementation Rules
|
||||||
|
|
||||||
|
**TypeScript Configuration:**
|
||||||
|
- Bật strict mode - không dùng `any` nếu chưa có phê duyệt rõ ràng
|
||||||
|
- Dùng `interface` cho public API, `type` cho union/intersection
|
||||||
|
|
||||||
|
**Code Organization:**
|
||||||
|
- Components đặt trong `/src/components/` và để `.test.tsx` cùng chỗ
|
||||||
|
- Utilities đặt trong `/src/lib/` cho các hàm pure có thể tái sử dụng
|
||||||
|
- Lời gọi API phải dùng `apiClient` singleton - không fetch trực tiếp
|
||||||
|
|
||||||
|
**Testing Patterns:**
|
||||||
|
- Unit test tập trung vào business logic, không soi chi tiết implementation
|
||||||
|
- Integration test dùng MSW để mock API responses
|
||||||
|
- E2E test chỉ bao phủ các user journey quan trọng
|
||||||
|
|
||||||
|
**Framework-Specific:**
|
||||||
|
- Mọi thao tác async dùng wrapper `handleError` để xử lý lỗi nhất quán
|
||||||
|
- Feature flags được truy cập qua `featureFlag()` từ `@/lib/flags`
|
||||||
|
- Route mới theo file-based routing pattern trong `/src/app/`
|
||||||
|
```
|
||||||
|
|
||||||
|
Hãy tập trung vào những gì **không hiển nhiên** - những điều agent khó suy ra chỉ từ một vài đoạn code. Không cần ghi lại các thực hành tiêu chuẩn áp dụng mọi nơi.
|
||||||
|
|
||||||
|
## Tạo tệp
|
||||||
|
|
||||||
|
Bạn có ba lựa chọn:
|
||||||
|
|
||||||
|
### Tạo thủ công
|
||||||
|
|
||||||
|
Tạo tệp tại `_bmad-output/project-context.md` và thêm các quy tắc của bạn:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Trong thư mục gốc của dự án
|
||||||
|
mkdir -p _bmad-output
|
||||||
|
touch _bmad-output/project-context.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Sửa tệp để thêm stack công nghệ và quy tắc triển khai. Workflow architect và implementation sẽ tự động tìm và nạp nó.
|
||||||
|
|
||||||
|
### Tạo sau khi hoàn thành kiến trúc
|
||||||
|
|
||||||
|
Chạy workflow `bmad-generate-project-context` sau khi bạn hoàn tất kiến trúc:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Nó sẽ quét tài liệu kiến trúc và tệp dự án để tạo tệp context ghi lại các quyết định đã được đưa ra.
|
||||||
|
|
||||||
|
### Tạo cho dự án hiện có
|
||||||
|
|
||||||
|
Với dự án hiện có, chạy `bmad-generate-project-context` để khám phá pattern sẵn có:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Workflow sẽ phân tích codebase để nhận diện quy ước, sau đó tạo tệp context cho bạn xem lại và tinh chỉnh.
|
||||||
|
|
||||||
|
## Vì sao nó quan trọng
|
||||||
|
|
||||||
|
Nếu không có `project-context.md`, các agent sẽ tự đưa ra giả định có thể không phù hợp với dự án:
|
||||||
|
|
||||||
|
| Không có context | Có context |
|
||||||
|
|----------------|--------------|
|
||||||
|
| Dùng pattern chung chung | Theo đúng quy ước đã được xác lập |
|
||||||
|
| Phong cách không nhất quán giữa các story | Triển khai nhất quán |
|
||||||
|
| Có thể bỏ sót ràng buộc đặc thù | Tôn trọng đầy đủ yêu cầu kỹ thuật |
|
||||||
|
| Mỗi agent tự quyết định | Tất cả agent canh hàng theo cùng quy tắc |
|
||||||
|
|
||||||
|
Điều này đặc biệt quan trọng với:
|
||||||
|
- **Quick Flow** - bỏ qua PRD và kiến trúc, nên tệp context lấp đầy khoảng trống
|
||||||
|
- **Dự án theo nhóm** - đảm bảo tất cả agent theo cùng tiêu chuẩn
|
||||||
|
- **Dự án hiện có** - tránh phá vỡ các pattern đã ổn định
|
||||||
|
|
||||||
|
## Chỉnh sửa và cập nhật
|
||||||
|
|
||||||
|
Tệp `project-context.md` là tài liệu sống. Hãy cập nhật khi:
|
||||||
|
|
||||||
|
- Quyết định kiến trúc thay đổi
|
||||||
|
- Có quy ước mới được thiết lập
|
||||||
|
- Pattern tiến hóa trong quá trình triển khai
|
||||||
|
- Bạn nhận ra lỗ hổng qua hành vi của agent
|
||||||
|
|
||||||
|
Bạn có thể sửa thủ công bất kỳ lúc nào, hoặc chạy lại `bmad-generate-project-context` để cập nhật sau các thay đổi lớn.
|
||||||
|
|
||||||
|
:::note[Vị trí tệp]
|
||||||
|
Vị trí mặc định là `_bmad-output/project-context.md`. Các workflow tìm tệp ở đó, đồng thời cũng kiểm tra `**/project-context.md` ở bất kỳ đâu trong dự án.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
---
|
||||||
|
title: "Quick Dev"
|
||||||
|
description: Giảm ma sát human-in-the-loop mà vẫn giữ các checkpoint bảo vệ chất lượng output
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Đưa ý định vào, nhận thay đổi mã nguồn ra, với số lần cần con người nhảy vào giữa quy trình ít nhất có thể - nhưng không đánh đổi chất lượng.
|
||||||
|
|
||||||
|
Nó cho phép model tự vận hành lâu hơn giữa các checkpoint, rồi chỉ đưa con người quay lại khi tác vụ không thể tiếp tục an toàn nếu thiếu phán đoán của con người, hoặc khi đã đến lúc review kết quả cuối.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Vì sao nó tồn tại
|
||||||
|
|
||||||
|
Các lượt human-in-the-loop vừa cần thiết vừa tốn kém.
|
||||||
|
|
||||||
|
LLM hiện tại vẫn thất bại theo những cách dễ đoán: hiểu sai ý định, tự điền vào khoảng trống bằng những phán đoán tự tin, lệch sang công việc không liên quan, và tạo ra các bản review nhiễu. Đồng thời, việc cần con người nhảy vào liên tục làm giảm tốc độ phát triển. Sự chú ý của con người là nút thắt.
|
||||||
|
|
||||||
|
`bmad-quick-dev` cân bằng lại đánh đổi đó. Nó tin model có thể chạy tự chủ lâu hơn, nhưng chỉ sau khi workflow đã tạo được một ranh giới đủ mạnh để làm điều đó an toàn.
|
||||||
|
|
||||||
|
## Thiết kế cốt lõi
|
||||||
|
|
||||||
|
### 1. Nén ý định trước
|
||||||
|
|
||||||
|
Workflow bắt đầu bằng việc để con người và model nén yêu cầu thành một mục tiêu thống nhất. Đầu vào có thể bắt đầu như một ý định thô, nhưng trước khi workflow tự vận hành thì nó phải đủ nhỏ, đủ rõ ràng, và đủ ít mâu thuẫn để có thể thực thi.
|
||||||
|
|
||||||
|
Ý định có thể đến từ nhiều dạng: vài cụm từ, liên kết bug tracker, output từ plan mode, đoạn văn bản copy từ phiên chat, hoặc thậm chí một số story trong `epics.md` của chính BMAD. Ở trường hợp cuối, workflow không hiểu được ngữ nghĩa theo dõi story của BMAD, nhưng vẫn có thể lấy chính story đó và tiếp tục.
|
||||||
|
|
||||||
|
Workflow này không loại bỏ quyền kiểm soát của con người. Nó chuyển nó về một số thời điểm có giá trị cao:
|
||||||
|
|
||||||
|
- **Làm rõ ý định** - biến một yêu cầu lộn xộn thành một mục tiêu thống nhất, không mâu thuẫn ngầm
|
||||||
|
- **Phê duyệt spec** - xác nhận rằng cách hiểu đã đóng băng là đúng thứ cần xây
|
||||||
|
- **Review sản phẩm cuối** - checkpoint chính, nơi con người quyết định kết quả cuối có chấp nhận được hay không
|
||||||
|
|
||||||
|
### 2. Định tuyến theo con đường an toàn nhỏ nhất
|
||||||
|
|
||||||
|
Khi mục tiêu đã rõ, workflow sẽ quyết định đây có phải thay đổi one-shot thật sự hay cần đi theo đường đầy đủ hơn. Những thay đổi nhỏ, blast radius gần như bằng 0 có thể đi thẳng vào triển khai. Còn lại sẽ đi qua lập kế hoạch để model có được một ranh giới mạnh hơn trước khi tự chạy lâu hơn.
|
||||||
|
|
||||||
|
### 3. Chạy lâu hơn với ít giám sát hơn
|
||||||
|
|
||||||
|
Sau quyết định định tuyến đó, model có thể tự gánh thêm công việc. Trên con đường đầy đủ, spec đã được phê duyệt trở thành ranh giới mà model sẽ thực thi với ít giám sát hơn, và đó chính là mục tiêu của thiết kế này.
|
||||||
|
|
||||||
|
### 4. Chẩn đoán lỗi ở đúng tầng
|
||||||
|
|
||||||
|
Nếu triển khai sai vì ý định sai, vậy sửa code không phải cách fix đúng. Nếu code sai vì spec yếu, thì vá diff cũng không phải cách fix đúng. Workflow được thiết kế để chẩn đoán lỗi đã đi vào hệ thống từ tầng nào, quay lại đúng tầng đó, rồi sinh lại từ đấy.
|
||||||
|
|
||||||
|
Các phát hiện từ review được dùng để xác định vấn đề đến từ ý định, quá trình tạo spec, hay triển khai cục bộ. Chỉ những lỗi thật sự cục bộ mới được sửa tại chỗ.
|
||||||
|
|
||||||
|
### 5. Chỉ đưa con người quay lại khi cần
|
||||||
|
|
||||||
|
Bước interview ý định có human-in-the-loop, nhưng nó không giống một checkpoint lặp đi lặp lại. Workflow cố gắng giảm thiểu những checkpoint lặp lại đó. Sau bước định hình ý định ban đầu, con người chủ yếu quay lại khi workflow không thể tiếp tục an toàn nếu thiếu phán đoán, và ở cuối quy trình để review kết quả.
|
||||||
|
|
||||||
|
- **Xử lý khoảng trống của ý định** - quay lại khi review cho thấy workflow không thể suy ra an toàn điều được hàm ý
|
||||||
|
|
||||||
|
Mọi thứ còn lại đều là ứng viên cho việc thực thi tự chủ lâu hơn. Đánh đổi này là có chủ đích. Các pattern cũ tốn nhiều sự chú ý của con người cho việc giám sát liên tục. Quick Dev đặt nhiều niềm tin hơn vào model, nhưng để dành sự chú ý của con người cho những thời điểm mà lý trí con người có đòn bẩy lớn nhất.
|
||||||
|
|
||||||
|
## Vì sao hệ thống review quan trọng
|
||||||
|
|
||||||
|
Giai đoạn review không chỉ để tìm bug. Nó còn để định tuyến cách sửa mà không phá hỏng động lượng.
|
||||||
|
|
||||||
|
Workflow này hoạt động tốt nhất trên nền tảng có thể spawn subagent, hoặc ít nhất gọi được một LLM khác qua dòng lệnh và đợi kết quả. Nếu nền tảng của bạn không hỗ trợ sẵn, bạn có thể thêm skill để làm việc đó. Các subagent không mang context là một trụ cột trong thiết kế review.
|
||||||
|
|
||||||
|
Review agentic thường sai theo hai cách:
|
||||||
|
|
||||||
|
- Tạo quá nhiều phát hiện, buộc con người lọc quá nhiều nhiễu.
|
||||||
|
- Làm lệch thay đổi hiện tại bằng cách kéo vào các vấn đề không liên quan, biến mỗi lần chạy thành một dự án dọn dẹp ad-hoc.
|
||||||
|
|
||||||
|
Quick Dev xử lý cả hai bằng cách coi review là triage.
|
||||||
|
|
||||||
|
Có những phát hiện thuộc về thay đổi hiện tại. Có những phát hiện không thuộc về nó. Nếu một phát hiện chỉ là ngẫu nhiên xuất hiện, không gắn nhân quả với thay đổi đang làm, workflow có thể trì hoãn nó thay vì ép con người xử lý ngay. Điều đó giữ cho mỗi lần chạy tập trung và ngăn các ngả rẽ ngẫu nhiên ăn hết ngân sách chú ý.
|
||||||
|
|
||||||
|
Quá trình triage này đôi khi sẽ không hoàn hảo. Điều đó chấp nhận được. Thường tốt hơn khi đánh giá sai một số phát hiện còn hơn là nhận về hàng ngàn bình luận review giá trị thấp. Hệ thống tối ưu cho chất lượng tín hiệu, không phải độ phủ tuyệt đối.
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
---
|
||||||
|
title: "Vì sao solutioning quan trọng"
|
||||||
|
description: Hiểu vì sao giai đoạn solutioning là tối quan trọng đối với dự án nhiều epic
|
||||||
|
sidebar:
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
Giai đoạn 3 (Solutioning) biến **xây gì** (từ giai đoạn Planning) thành **xây như thế nào** (thiết kế kỹ thuật). Giai đoạn này ngăn xung đột giữa các agent trong dự án nhiều epic bằng cách ghi lại các quyết định kiến trúc trước khi bắt đầu triển khai.
|
||||||
|
|
||||||
|
## Vấn đề nếu bỏ qua solutioning
|
||||||
|
|
||||||
|
```text
|
||||||
|
Agent 1 triển khai Epic 1 bằng REST API
|
||||||
|
Agent 2 triển khai Epic 2 bằng GraphQL
|
||||||
|
Kết quả: Thiết kế API không nhất quán, tích hợp trở thành ác mộng
|
||||||
|
```
|
||||||
|
|
||||||
|
Khi nhiều agent triển khai các phần khác nhau của hệ thống mà không có hướng dẫn kiến trúc chung, chúng sẽ tự đưa ra quyết định kỹ thuật độc lập và dễ xung đột với nhau.
|
||||||
|
|
||||||
|
## Lợi ích khi có solutioning
|
||||||
|
|
||||||
|
```text
|
||||||
|
workflow kiến trúc quyết định: "Dùng GraphQL cho mọi API"
|
||||||
|
Tất cả agent đều theo quyết định kiến trúc
|
||||||
|
Kết quả: Triển khai nhất quán, không xung đột
|
||||||
|
```
|
||||||
|
|
||||||
|
Bằng cách tài liệu hóa rõ ràng các quyết định kỹ thuật, tất cả agent triển khai đồng bộ và việc tích hợp trở nên đơn giản hơn nhiều.
|
||||||
|
|
||||||
|
## Solutioning và Planning khác nhau ở đâu
|
||||||
|
|
||||||
|
| Khía cạnh | Planning (Giai đoạn 2) | Solutioning (Giai đoạn 3) |
|
||||||
|
| -------- | ----------------------- | --------------------------------- |
|
||||||
|
| Câu hỏi | Xây gì và vì sao? | Xây như thế nào? Rồi chia thành đơn vị công việc gì? |
|
||||||
|
| Đầu ra | FR/NFR (Yêu cầu) | Kiến trúc + Epics/Stories |
|
||||||
|
| Agent | PM | Architect → PM |
|
||||||
|
| Đối tượng đọc | Stakeholder | Developer |
|
||||||
|
| Tài liệu | PRD (FRs/NFRs) | Kiến trúc + Tệp Epic |
|
||||||
|
| Mức độ | Logic nghiệp vụ | Thiết kế kỹ thuật + Phân rã công việc |
|
||||||
|
|
||||||
|
## Nguyên lý cốt lõi
|
||||||
|
|
||||||
|
**Biến các quyết định kỹ thuật thành tường minh và được tài liệu hóa** để tất cả agent triển khai nhất quán.
|
||||||
|
|
||||||
|
Điều này ngăn chặn:
|
||||||
|
- Xung đột phong cách API (REST vs GraphQL)
|
||||||
|
- Không nhất quán trong thiết kế cơ sở dữ liệu
|
||||||
|
- Bất đồng về quản lý state
|
||||||
|
- Lệch quy ước đặt tên
|
||||||
|
- Biến thể trong cách tiếp cận bảo mật
|
||||||
|
|
||||||
|
## Khi nào solutioning là bắt buộc
|
||||||
|
|
||||||
|
| Track | Có cần solutioning không? |
|
||||||
|
|-------|----------------------|
|
||||||
|
| Quick Flow | Không - bỏ qua hoàn toàn |
|
||||||
|
| BMad Method đơn giản | Tùy chọn |
|
||||||
|
| BMad Method phức tạp | Có |
|
||||||
|
| Enterprise | Có |
|
||||||
|
|
||||||
|
:::tip[Quy tắc ngón tay cái]
|
||||||
|
Nếu bạn có nhiều epic có thể được các agent khác nhau triển khai, bạn cần solutioning.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Cái giá của việc bỏ qua
|
||||||
|
|
||||||
|
Bỏ qua solutioning trong dự án phức tạp sẽ dẫn đến:
|
||||||
|
|
||||||
|
- **Vấn đề tích hợp** chỉ được phát hiện giữa sprint
|
||||||
|
- **Làm lại** vì các phần triển khai xung đột nhau
|
||||||
|
- **Tổng thời gian phát triển dài hơn**
|
||||||
|
- **Nợ kỹ thuật** do pattern không đồng nhất
|
||||||
|
|
||||||
|
:::caution[Hệ số chi phí]
|
||||||
|
Bắt được vấn đề canh hàng trong giai đoạn solutioning nhanh hơn gấp 10 lần so với để đến lúc triển khai mới phát hiện.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,171 @@
|
||||||
|
---
|
||||||
|
title: "Cách tùy chỉnh BMad"
|
||||||
|
description: Tùy chỉnh agent, workflow và module trong khi vẫn giữ khả năng tương thích khi cập nhật
|
||||||
|
sidebar:
|
||||||
|
order: 7
|
||||||
|
---
|
||||||
|
|
||||||
|
Sử dụng các tệp `.customize.yaml` để điều chỉnh hành vi, persona và menu của agent, đồng thời giữ lại thay đổi của bạn qua các lần cập nhật.
|
||||||
|
|
||||||
|
## Khi nào nên dùng
|
||||||
|
|
||||||
|
- Bạn muốn thay đổi tên, tính cách hoặc phong cách giao tiếp của một agent
|
||||||
|
- Bạn cần agent ghi nhớ bối cảnh riêng của dự án
|
||||||
|
- Bạn muốn thêm các mục menu tùy chỉnh để kích hoạt workflow hoặc prompt của riêng mình
|
||||||
|
- Bạn muốn agent luôn thực hiện một số hành động cụ thể mỗi khi khởi động
|
||||||
|
|
||||||
|
:::note[Điều kiện tiên quyết]
|
||||||
|
- BMad đã được cài trong dự án của bạn (xem [Cách cài đặt BMad](./install-bmad.md))
|
||||||
|
- Trình soạn thảo văn bản để chỉnh sửa tệp YAML
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::caution[Giữ an toàn cho các tùy chỉnh của bạn]
|
||||||
|
Luôn sử dụng các tệp `.customize.yaml` được mô tả trong tài liệu này thay vì sửa trực tiếp tệp agent. Trình cài đặt sẽ ghi đè các tệp agent khi cập nhật, nhưng vẫn giữ nguyên các thay đổi trong `.customize.yaml`.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Các bước thực hiện
|
||||||
|
|
||||||
|
### 1. Xác định vị trí các tệp tùy chỉnh
|
||||||
|
|
||||||
|
Sau khi cài đặt, bạn sẽ tìm thấy một tệp `.customize.yaml` cho mỗi agent tại:
|
||||||
|
|
||||||
|
```text
|
||||||
|
_bmad/_config/agents/
|
||||||
|
├── core-bmad-master.customize.yaml
|
||||||
|
├── bmm-dev.customize.yaml
|
||||||
|
├── bmm-pm.customize.yaml
|
||||||
|
└── ... (một tệp cho mỗi agent đã cài)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Chỉnh sửa tệp tùy chỉnh
|
||||||
|
|
||||||
|
Mở tệp `.customize.yaml` của agent mà bạn muốn sửa. Mỗi phần đều là tùy chọn, chỉ tùy chỉnh những gì bạn cần.
|
||||||
|
|
||||||
|
| Phần | Cách hoạt động | Mục đích |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `agent.metadata` | Thay thế | Ghi đè tên hiển thị của agent |
|
||||||
|
| `persona` | Thay thế | Đặt vai trò, danh tính, phong cách và các nguyên tắc |
|
||||||
|
| `memories` | Nối thêm | Thêm bối cảnh cố định mà agent luôn ghi nhớ |
|
||||||
|
| `menu` | Nối thêm | Thêm mục menu tùy chỉnh cho workflow hoặc prompt |
|
||||||
|
| `critical_actions` | Nối thêm | Định nghĩa hướng dẫn khởi động cho agent |
|
||||||
|
| `prompts` | Nối thêm | Tạo các prompt tái sử dụng cho các hành động trong menu |
|
||||||
|
|
||||||
|
Những phần được đánh dấu **Thay thế** sẽ ghi đè hoàn toàn cấu hình mặc định của agent. Những phần được đánh dấu **Nối thêm** sẽ bổ sung vào cấu hình hiện có.
|
||||||
|
|
||||||
|
**Tên agent**
|
||||||
|
|
||||||
|
Thay đổi cách agent tự giới thiệu:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
agent:
|
||||||
|
metadata:
|
||||||
|
name: 'Spongebob' # Mặc định: "Amelia"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Persona**
|
||||||
|
|
||||||
|
Thay thế tính cách, vai trò và phong cách giao tiếp của agent:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
persona:
|
||||||
|
role: 'Senior Full-Stack Engineer'
|
||||||
|
identity: 'Sống trong quả dứa (dưới đáy biển)'
|
||||||
|
communication_style: 'Spongebob gây phiền'
|
||||||
|
principles:
|
||||||
|
- 'Không lồng quá sâu, dev Spongebob ghét nesting quá 2 cấp'
|
||||||
|
- 'Ưu tiên composition hơn inheritance'
|
||||||
|
```
|
||||||
|
|
||||||
|
Phần `persona` sẽ thay thế toàn bộ persona mặc định, vì vậy nếu đặt phần này bạn nên cung cấp đầy đủ cả bốn trường.
|
||||||
|
|
||||||
|
**Memories**
|
||||||
|
|
||||||
|
Thêm bối cảnh cố định mà agent sẽ luôn nhớ:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
memories:
|
||||||
|
- 'Làm việc tại Krusty Krab'
|
||||||
|
- 'Người nổi tiếng yêu thích: David Hasselhoff'
|
||||||
|
- 'Đã học ở Epic 1 rằng giả vờ test đã pass là không ổn'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Mục menu**
|
||||||
|
|
||||||
|
Thêm các mục tùy chỉnh vào menu hiển thị của agent. Mỗi mục cần có `trigger`, đích đến (`workflow` hoặc `action`) và `description`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
menu:
|
||||||
|
- trigger: my-workflow
|
||||||
|
workflow: 'my-custom/workflows/my-workflow.yaml'
|
||||||
|
description: Workflow tùy chỉnh của tôi
|
||||||
|
- trigger: deploy
|
||||||
|
action: '#deploy-prompt'
|
||||||
|
description: Triển khai lên production
|
||||||
|
```
|
||||||
|
|
||||||
|
**Critical Actions**
|
||||||
|
|
||||||
|
Định nghĩa các hướng dẫn sẽ chạy khi agent khởi động:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
critical_actions:
|
||||||
|
- 'Kiểm tra pipeline CI bằng XYZ Skill và cảnh báo người dùng ngay khi khởi động nếu có việc khẩn cấp cần xử lý'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Prompt tùy chỉnh**
|
||||||
|
|
||||||
|
Tạo các prompt tái sử dụng để mục menu có thể tham chiếu bằng `action="#id"`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
prompts:
|
||||||
|
- id: deploy-prompt
|
||||||
|
content: |
|
||||||
|
Triển khai nhánh hiện tại lên production:
|
||||||
|
1. Chạy toàn bộ test
|
||||||
|
2. Build dự án
|
||||||
|
3. Thực thi script triển khai
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Áp dụng thay đổi
|
||||||
|
|
||||||
|
Sau khi chỉnh sửa, cài đặt lại để áp dụng thay đổi:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install
|
||||||
|
```
|
||||||
|
|
||||||
|
Trình cài đặt sẽ nhận diện bản cài đặt hiện có và đưa ra các lựa chọn sau:
|
||||||
|
|
||||||
|
| Lựa chọn | Tác dụng |
|
||||||
|
| --- | --- |
|
||||||
|
| **Quick Update** | Cập nhật tất cả module lên phiên bản mới nhất và áp dụng các tùy chỉnh |
|
||||||
|
| **Modify BMad Installation** | Chạy lại quy trình cài đặt đầy đủ để thêm hoặc gỡ bỏ module |
|
||||||
|
|
||||||
|
Nếu chỉ thay đổi phần tùy chỉnh, **Quick Update** là lựa chọn nhanh nhất.
|
||||||
|
|
||||||
|
## Khắc phục sự cố
|
||||||
|
|
||||||
|
**Thay đổi không xuất hiện?**
|
||||||
|
|
||||||
|
- Chạy `npx bmad-method install` và chọn **Quick Update** để áp dụng thay đổi
|
||||||
|
- Kiểm tra YAML có hợp lệ không (thụt lề rất quan trọng)
|
||||||
|
- Xác minh bạn đã sửa đúng tệp `.customize.yaml` của agent cần thiết
|
||||||
|
|
||||||
|
**Agent không tải lên được?**
|
||||||
|
|
||||||
|
- Kiểm tra lỗi cú pháp YAML bằng một công cụ kiểm tra YAML trực tuyến
|
||||||
|
- Đảm bảo bạn không để trống trường nào sau khi bỏ comment
|
||||||
|
- Thử khôi phục mẫu gốc rồi build lại
|
||||||
|
|
||||||
|
**Cần đặt lại một agent?**
|
||||||
|
|
||||||
|
- Xóa nội dung hoặc xóa tệp `.customize.yaml` của agent đó
|
||||||
|
- Chạy `npx bmad-method install` và chọn **Quick Update** để khôi phục mặc định
|
||||||
|
|
||||||
|
## Tùy chỉnh workflow
|
||||||
|
|
||||||
|
Tài liệu về cách tùy chỉnh các workflow và skill sẵn có trong BMad Method sẽ được bổ sung trong thời gian tới.
|
||||||
|
|
||||||
|
## Tùy chỉnh module
|
||||||
|
|
||||||
|
Hướng dẫn xây dựng expansion module và tùy chỉnh các module hiện có sẽ được bổ sung trong thời gian tới.
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
---
|
||||||
|
title: "Dự án đã tồn tại"
|
||||||
|
description: Cách sử dụng BMad Method trên các codebase hiện có
|
||||||
|
sidebar:
|
||||||
|
order: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
Sử dụng BMad Method hiệu quả khi làm việc với các dự án hiện có và codebase legacy.
|
||||||
|
|
||||||
|
Tài liệu này mô tả workflow cốt lõi để on-board vào các dự án đã tồn tại bằng BMad Method.
|
||||||
|
|
||||||
|
:::note[Điều kiện tiên quyết]
|
||||||
|
- Đã cài BMad Method (`npx bmad-method install`)
|
||||||
|
- Một codebase hiện có mà bạn muốn làm việc cùng
|
||||||
|
- Quyền truy cập vào một IDE tích hợp AI (Claude Code hoặc Cursor)
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Bước 1: Dọn dẹp các tài liệu lập kế hoạch đã hoàn tất
|
||||||
|
|
||||||
|
Nếu bạn đã hoàn thành toàn bộ epic và story trong PRD theo quy trình BMad, hãy dọn dẹp những tệp đó. Bạn có thể lưu trữ, xóa đi, hoặc dựa vào lịch sử phiên bản nếu cần. Không nên giữ các tệp này trong:
|
||||||
|
|
||||||
|
- `docs/`
|
||||||
|
- `_bmad-output/planning-artifacts/`
|
||||||
|
- `_bmad-output/implementation-artifacts/`
|
||||||
|
|
||||||
|
## Bước 2: Tạo Project Context
|
||||||
|
|
||||||
|
:::tip[Khuyến dùng cho dự án hiện có]
|
||||||
|
Hãy tạo `project-context.md` để ghi lại các pattern và quy ước trong codebase hiện tại. Điều này giúp các agent AI tuân theo các thực hành sẵn có khi thực hiện thay đổi.
|
||||||
|
:::
|
||||||
|
|
||||||
|
Chạy workflow tạo project context:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Workflow này sẽ quét codebase để nhận diện:
|
||||||
|
- Stack công nghệ và các phiên bản
|
||||||
|
- Các pattern tổ chức code
|
||||||
|
- Quy ước đặt tên
|
||||||
|
- Cách tiếp cận kiểm thử
|
||||||
|
- Các pattern đặc thù framework
|
||||||
|
|
||||||
|
Bạn có thể xem lại và chỉnh sửa tệp được tạo, hoặc tự tạo tệp tại `_bmad-output/project-context.md` nếu muốn.
|
||||||
|
|
||||||
|
[Tìm hiểu thêm về project context](../explanation/project-context.md)
|
||||||
|
|
||||||
|
## Bước 3: Duy trì tài liệu dự án chất lượng
|
||||||
|
|
||||||
|
Thư mục `docs/` của bạn nên chứa tài liệu ngắn gọn, có tổ chức tốt, và phản ánh chính xác dự án:
|
||||||
|
|
||||||
|
- Mục tiêu và lý do kinh doanh
|
||||||
|
- Quy tắc nghiệp vụ
|
||||||
|
- Kiến trúc
|
||||||
|
- Bất kỳ thông tin dự án nào khác có liên quan
|
||||||
|
|
||||||
|
Với các dự án phức tạp, hãy cân nhắc dùng workflow `bmad-document-project`. Nó có các biến thể lúc chạy có thể quét toàn bộ dự án và tài liệu hóa trạng thái thực tế hiện tại của hệ thống.
|
||||||
|
|
||||||
|
## Bước 4: Nhờ trợ giúp
|
||||||
|
|
||||||
|
### BMad-Help: Điểm bắt đầu của bạn
|
||||||
|
|
||||||
|
**Hãy chạy `bmad-help` bất cứ lúc nào bạn không chắc cần làm gì tiếp theo.** Công cụ hướng dẫn thông minh này:
|
||||||
|
|
||||||
|
- Kiểm tra dự án để xem những gì đã được hoàn thành
|
||||||
|
- Đưa ra tùy chọn dựa trên các module bạn đã cài
|
||||||
|
- Hiểu các câu hỏi bằng ngôn ngữ tự nhiên
|
||||||
|
|
||||||
|
```text
|
||||||
|
bmad-help Tôi có một ứng dụng Rails đã tồn tại, tôi nên bắt đầu từ đâu?
|
||||||
|
bmad-help Điểm khác nhau giữa quick-flow và full method là gì?
|
||||||
|
bmad-help Cho tôi xem những workflow đang có
|
||||||
|
```
|
||||||
|
|
||||||
|
BMad-Help cũng **tự động chạy ở cuối mỗi workflow**, đưa ra hướng dẫn rõ ràng về việc cần làm tiếp theo.
|
||||||
|
|
||||||
|
### Chọn cách tiếp cận
|
||||||
|
|
||||||
|
Bạn có hai lựa chọn chính, tùy thuộc vào phạm vi thay đổi:
|
||||||
|
|
||||||
|
| Phạm vi | Cách tiếp cận được khuyến nghị |
|
||||||
|
| --- | --- |
|
||||||
|
| **Cập nhật hoặc bổ sung nhỏ** | Chạy `bmad-quick-dev` để làm rõ ý định, lập kế hoạch, triển khai và review trong một workflow duy nhất. Quy trình BMad Method đầy đủ có thể là quá mức cần thiết. |
|
||||||
|
| **Thay đổi hoặc bổ sung lớn** | Bắt đầu với BMad Method, áp dụng mức độ chặt chẽ phù hợp với nhu cầu của bạn. |
|
||||||
|
|
||||||
|
### Khi tạo PRD
|
||||||
|
|
||||||
|
Khi tạo brief hoặc đi thẳng vào PRD, đảm bảo agent:
|
||||||
|
|
||||||
|
- Tìm và phân tích tài liệu dự án hiện có
|
||||||
|
- Đọc đúng bối cảnh về hệ thống hiện tại của bạn
|
||||||
|
|
||||||
|
Bạn có thể chủ động hướng dẫn agent, nhưng mục tiêu là đảm bảo tính năng mới tích hợp tốt với hệ thống đã có.
|
||||||
|
|
||||||
|
### Cân nhắc về UX
|
||||||
|
|
||||||
|
Công việc UX là tùy chọn. Quyết định này không phụ thuộc vào việc dự án có UX hay không, mà phụ thuộc vào:
|
||||||
|
|
||||||
|
- Bạn có định thay đổi UX hay không
|
||||||
|
- Bạn có cần thiết kế hay pattern UX mới đáng kể hay không
|
||||||
|
|
||||||
|
Nếu thay đổi của bạn chỉ là những cập nhật nhỏ trên các màn hình hiện có mà bạn đã hài lòng, thì không cần một quy trình UX đầy đủ.
|
||||||
|
|
||||||
|
### Cân nhắc về kiến trúc
|
||||||
|
|
||||||
|
Khi làm kiến trúc, đảm bảo kiến trúc sư:
|
||||||
|
|
||||||
|
- Sử dụng đúng các tệp tài liệu cần thiết
|
||||||
|
- Quét codebase hiện có
|
||||||
|
|
||||||
|
Cần đặc biệt chú ý để tránh tái phát minh bánh xe hoặc đưa ra quyết định không phù hợp với kiến trúc hiện tại.
|
||||||
|
|
||||||
|
## Thông tin thêm
|
||||||
|
|
||||||
|
- **[Quick Fixes](./quick-fixes.md)** - Sửa lỗi và thay đổi ad-hoc
|
||||||
|
- **[Câu hỏi thường gặp cho dự án đã tồn tại](../explanation/established-projects-faq.md)** - Những câu hỏi phổ biến khi làm việc với dự án đã tồn tại
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
---
|
||||||
|
title: "Cách tìm câu trả lời về BMad"
|
||||||
|
description: Sử dụng LLM để tự nhanh chóng trả lời các câu hỏi về BMad
|
||||||
|
sidebar:
|
||||||
|
order: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bắt đầu tại đây: BMad-Help
|
||||||
|
|
||||||
|
**Cách nhanh nhất để tìm câu trả lời về BMad là dùng skill `bmad-help`.** Đây là công cụ hướng dẫn thông minh có thể trả lời hơn 80% các câu hỏi và có sẵn ngay trong IDE khi bạn làm việc.
|
||||||
|
|
||||||
|
BMad-Help không chỉ là công cụ tra cứu, nó còn:
|
||||||
|
- **Kiểm tra dự án của bạn** để xem những gì đã hoàn thành
|
||||||
|
- **Hiểu ngôn ngữ tự nhiên** - đặt câu hỏi bằng ngôn ngữ bình thường
|
||||||
|
- **Thay đổi theo module đã cài** - hiển thị các lựa chọn liên quan
|
||||||
|
- **Tự động chạy sau workflow** - nói rõ bạn cần làm gì tiếp theo
|
||||||
|
- **Đề xuất tác vụ đầu tiên cần thiết** - không cần đoán nên bắt đầu từ đâu
|
||||||
|
|
||||||
|
### Cách dùng BMad-Help
|
||||||
|
|
||||||
|
Gọi nó trực tiếp trong phiên AI của bạn:
|
||||||
|
|
||||||
|
```text
|
||||||
|
bmad-help
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
Bạn cũng có thể dùng `/bmad-help` hoặc `$bmad-help` tùy nền tảng, nhưng chỉ `bmad-help` là cách nên hoạt động mọi nơi.
|
||||||
|
:::
|
||||||
|
|
||||||
|
Kết hợp với câu hỏi ngôn ngữ tự nhiên:
|
||||||
|
|
||||||
|
```text
|
||||||
|
bmad-help Tôi có ý tưởng SaaS và đã biết tất cả tính năng. Tôi nên bắt đầu từ đâu?
|
||||||
|
bmad-help Tôi có những lựa chọn nào cho thiết kế UX?
|
||||||
|
bmad-help Tôi đang bị mắc ở workflow PRD
|
||||||
|
bmad-help Cho tôi xem tôi đã làm được gì đến giờ
|
||||||
|
```
|
||||||
|
|
||||||
|
BMad-Help sẽ trả lời:
|
||||||
|
- Điều gì được khuyến nghị cho tình huống của bạn
|
||||||
|
- Tác vụ đầu tiên cần thiết là gì
|
||||||
|
- Phần còn lại của quy trình trông thế nào
|
||||||
|
|
||||||
|
## Khi nào nên dùng tài liệu này
|
||||||
|
|
||||||
|
Hãy xem phần này khi:
|
||||||
|
- Bạn muốn hiểu kiến trúc hoặc nội bộ của BMad
|
||||||
|
- Bạn cần câu trả lời nằm ngoài phạm vi BMad-Help cung cấp
|
||||||
|
- Bạn đang nghiên cứu BMad trước khi cài đặt
|
||||||
|
- Bạn muốn tự khám phá source code trực tiếp
|
||||||
|
|
||||||
|
## Các bước thực hiện
|
||||||
|
|
||||||
|
### 1. Chọn nguồn thông tin
|
||||||
|
|
||||||
|
| Nguồn | Phù hợp nhất cho | Ví dụ |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| **Thư mục `_bmad`** | Cách BMad vận hành: agent, workflow, prompt | "PM agent làm gì?" |
|
||||||
|
| **Toàn bộ repo GitHub** | Lịch sử, installer, kiến trúc | "v6 thay đổi gì?" |
|
||||||
|
| **`llms-full.txt`** | Tổng quan nhanh từ tài liệu | "Giải thích bốn giai đoạn của BMad" |
|
||||||
|
|
||||||
|
Thư mục `_bmad` được tạo khi bạn cài đặt BMad. Nếu chưa có, hãy clone repo thay thế.
|
||||||
|
|
||||||
|
### 2. Cho AI của bạn truy cập nguồn thông tin
|
||||||
|
|
||||||
|
**Nếu AI của bạn đọc được tệp (Claude Code, Cursor, ...):**
|
||||||
|
|
||||||
|
- **Đã cài BMad:** Trỏ đến thư mục `_bmad` và hỏi trực tiếp
|
||||||
|
- **Cần bối cảnh sâu hơn:** Clone [repo đầy đủ](https://github.com/bmad-code-org/BMAD-METHOD)
|
||||||
|
|
||||||
|
**Nếu bạn dùng ChatGPT hoặc Claude.ai:**
|
||||||
|
|
||||||
|
Nạp `llms-full.txt` vào phiên làm việc:
|
||||||
|
|
||||||
|
```text
|
||||||
|
https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Đặt câu hỏi
|
||||||
|
|
||||||
|
:::note[Ví dụ]
|
||||||
|
**Q:** "Hãy chỉ tôi cách nhanh nhất để xây dựng một thứ gì đó bằng BMad"
|
||||||
|
|
||||||
|
**A:** Dùng Quick Flow: Chạy `bmad-quick-dev` - nó sẽ làm rõ ý định, lập kế hoạch, triển khai, review và trình bày kết quả trong một workflow duy nhất, bỏ qua các giai đoạn lập kế hoạch đầy đủ.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Bạn nhận được gì
|
||||||
|
|
||||||
|
Các câu trả lời trực tiếp về BMad: agent hoạt động ra sao, workflow làm gì, tại sao cấu trúc lại được tổ chức như vậy, mà không cần chờ người khác trả lời.
|
||||||
|
|
||||||
|
## Mẹo
|
||||||
|
|
||||||
|
- **Xác minh những câu trả lời gây bất ngờ** - LLM vẫn có lúc nhầm. Hãy kiểm tra tệp nguồn hoặc hỏi trên Discord.
|
||||||
|
- **Đặt câu hỏi cụ thể** - "Bước 3 trong workflow PRD làm gì?" tốt hơn "PRD hoạt động ra sao?"
|
||||||
|
|
||||||
|
## Vẫn bị mắc?
|
||||||
|
|
||||||
|
Đã thử cách tiếp cận bằng LLM mà vẫn cần trợ giúp? Lúc này bạn đã có một câu hỏi tốt hơn để đem đi hỏi.
|
||||||
|
|
||||||
|
| Kênh | Dùng cho |
|
||||||
|
| --- | --- |
|
||||||
|
| `#bmad-method-help` | Câu hỏi nhanh (trò chuyện thời gian thực) |
|
||||||
|
| `help-requests` forum | Câu hỏi chi tiết (có thể tìm lại, tồn tại lâu dài) |
|
||||||
|
| `#suggestions-feedback` | Ý tưởng và đề xuất tính năng |
|
||||||
|
| `#report-bugs-and-issues` | Báo cáo lỗi |
|
||||||
|
|
||||||
|
**Discord:** [discord.gg/gk8jAdXWmj](https://discord.gg/gk8jAdXWmj)
|
||||||
|
|
||||||
|
**GitHub Issues:** [github.com/bmad-code-org/BMAD-METHOD/issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) (dành cho các lỗi rõ ràng)
|
||||||
|
|
||||||
|
*Chính bạn,*
|
||||||
|
*đang mắc kẹt*
|
||||||
|
*trong hàng đợi -*
|
||||||
|
*đợi*
|
||||||
|
*ai?*
|
||||||
|
|
||||||
|
*Mã nguồn*
|
||||||
|
*nằm ngay đó,*
|
||||||
|
*rõ như ban ngày!*
|
||||||
|
|
||||||
|
*Hãy trỏ*
|
||||||
|
*cho máy của bạn.*
|
||||||
|
*Thả nó đi.*
|
||||||
|
|
||||||
|
*Nó đọc.*
|
||||||
|
*Nó nói.*
|
||||||
|
*Cứ hỏi -*
|
||||||
|
|
||||||
|
*Sao phải chờ*
|
||||||
|
*đến ngày mai*
|
||||||
|
*khi bạn đã có*
|
||||||
|
*ngày hôm nay?*
|
||||||
|
|
||||||
|
*- Claude*
|
||||||
|
|
@ -0,0 +1,116 @@
|
||||||
|
---
|
||||||
|
title: "Cách cài đặt BMad"
|
||||||
|
description: Hướng dẫn từng bước để cài đặt BMad vào dự án của bạn
|
||||||
|
sidebar:
|
||||||
|
order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
Sử dụng lệnh `npx bmad-method install` để thiết lập BMad trong dự án của bạn với các module và công cụ AI theo lựa chọn.
|
||||||
|
|
||||||
|
Nếu bạn muốn dùng trình cài đặt không tương tác và cung cấp toàn bộ tùy chọn ngay trên dòng lệnh, xem [hướng dẫn này](./non-interactive-installation.md).
|
||||||
|
|
||||||
|
## Khi nào nên dùng
|
||||||
|
|
||||||
|
- Bắt đầu một dự án mới với BMad
|
||||||
|
- Thêm BMad vào một codebase hiện có
|
||||||
|
- Cập nhật bản cài đặt BMad hiện tại
|
||||||
|
|
||||||
|
:::note[Điều kiện tiên quyết]
|
||||||
|
- **Node.js** 20+ (bắt buộc cho trình cài đặt)
|
||||||
|
- **Git** (khuyến nghị)
|
||||||
|
- **Công cụ AI** (Claude Code, Cursor, hoặc tương tự)
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Các bước thực hiện
|
||||||
|
|
||||||
|
### 1. Chạy trình cài đặt
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip[Muốn dùng bản prerelease mới nhất?]
|
||||||
|
Sử dụng dist-tag `next`:
|
||||||
|
```bash
|
||||||
|
npx bmad-method@next install
|
||||||
|
```
|
||||||
|
|
||||||
|
Cách này giúp bạn nhận các thay đổi mới sớm hơn, đổi lại khả năng biến động cao hơn bản cài đặt mặc định.
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::tip[Bản rất mới]
|
||||||
|
Để cài đặt trực tiếp từ nhánh `main` mới nhất (có thể không ổn định):
|
||||||
|
```bash
|
||||||
|
npx github:bmad-code-org/BMAD-METHOD install
|
||||||
|
```
|
||||||
|
:::
|
||||||
|
|
||||||
|
### 2. Chọn vị trí cài đặt
|
||||||
|
|
||||||
|
Trình cài đặt sẽ hỏi bạn muốn đặt các tệp BMad ở đâu:
|
||||||
|
|
||||||
|
- Thư mục hiện tại (khuyến nghị cho dự án mới nếu bạn tự tạo thư mục và chạy lệnh từ bên trong nó)
|
||||||
|
- Đường dẫn tùy chọn
|
||||||
|
|
||||||
|
### 3. Chọn công cụ AI
|
||||||
|
|
||||||
|
Chọn các công cụ AI bạn đang dùng:
|
||||||
|
|
||||||
|
- Claude Code
|
||||||
|
- Cursor
|
||||||
|
- Các công cụ khác
|
||||||
|
|
||||||
|
Mỗi công cụ có cách tích hợp skill riêng. Trình cài đặt sẽ tạo các tệp prompt nhỏ để kích hoạt workflow và agent, và đặt chúng vào đúng vị trí mà công cụ của bạn mong đợi.
|
||||||
|
|
||||||
|
:::note[Kích hoạt skill]
|
||||||
|
Một số nền tảng yêu cầu bật skill trong cài đặt trước khi chúng xuất hiện. Nếu bạn đã cài BMad mà chưa thấy skill, hãy kiểm tra cài đặt của nền tảng hoặc hỏi trợ lý AI cách bật skill.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### 4. Chọn module
|
||||||
|
|
||||||
|
Trình cài đặt sẽ hiện các module có sẵn. Chọn những module bạn cần - phần lớn người dùng chỉ cần **BMad Method** (module phát triển phần mềm).
|
||||||
|
|
||||||
|
### 5. Làm theo các prompt
|
||||||
|
|
||||||
|
Trình cài đặt sẽ hướng dẫn các bước còn lại - nội dung tùy chỉnh, cài đặt, và các tùy chọn khác.
|
||||||
|
|
||||||
|
## Bạn nhận được gì
|
||||||
|
|
||||||
|
```text
|
||||||
|
du-an-cua-ban/
|
||||||
|
├── _bmad/
|
||||||
|
│ ├── bmm/ # Các module bạn đã chọn
|
||||||
|
│ │ └── config.yaml # Cài đặt module (nếu bạn cần thay đổi sau này)
|
||||||
|
│ ├── core/ # Module core bắt buộc
|
||||||
|
│ └── ...
|
||||||
|
├── _bmad-output/ # Các artifact được tạo ra
|
||||||
|
├── .claude/ # Claude Code skills (nếu dùng Claude Code)
|
||||||
|
│ └── skills/
|
||||||
|
│ ├── bmad-help/
|
||||||
|
│ ├── bmad-persona/
|
||||||
|
│ └── ...
|
||||||
|
└── .cursor/ # Cursor skills (nếu dùng Cursor)
|
||||||
|
└── skills/
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Xác minh cài đặt
|
||||||
|
|
||||||
|
Chạy `bmad-help` để xác minh mọi thứ hoạt động và xem bạn nên làm gì tiếp theo.
|
||||||
|
|
||||||
|
**BMad-Help là công cụ hướng dẫn thông minh** sẽ:
|
||||||
|
- Xác nhận bản cài đặt hoạt động đúng
|
||||||
|
- Hiển thị những gì có sẵn dựa trên module đã cài
|
||||||
|
- Đề xuất bước đầu tiên của bạn
|
||||||
|
|
||||||
|
Bạn cũng có thể hỏi nó:
|
||||||
|
```text
|
||||||
|
bmad-help Tôi vừa cài xong, giờ nên làm gì đầu tiên?
|
||||||
|
bmad-help Tôi có những lựa chọn nào cho một dự án SaaS?
|
||||||
|
```
|
||||||
|
|
||||||
|
## Khắc phục sự cố
|
||||||
|
|
||||||
|
**Trình cài đặt báo lỗi** - Sao chép toàn bộ output vào trợ lý AI của bạn và để nó phân tích.
|
||||||
|
|
||||||
|
**Cài đặt xong nhưng sau đó có thứ không hoạt động** - AI của bạn cần bối cảnh BMad để hỗ trợ. Xem [Cách tìm câu trả lời về BMad](./get-answers-about-bmad.md) để biết cách cho AI truy cập đúng nguồn thông tin.
|
||||||
|
|
@ -0,0 +1,184 @@
|
||||||
|
---
|
||||||
|
title: Cài đặt không tương tác
|
||||||
|
description: Cài đặt BMad bằng các cờ dòng lệnh cho pipeline CI/CD và triển khai tự động
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Sử dụng các cờ dòng lệnh để cài đặt BMad mà không cần tương tác. Cách này hữu ích cho:
|
||||||
|
|
||||||
|
## Khi nào nên dùng
|
||||||
|
|
||||||
|
- Triển khai tự động và pipeline CI/CD
|
||||||
|
- Cài đặt bằng script
|
||||||
|
- Cài đặt hàng loạt trên nhiều dự án
|
||||||
|
- Cài đặt nhanh với cấu hình đã biết trước
|
||||||
|
|
||||||
|
:::note[Điều kiện tiên quyết]
|
||||||
|
Yêu cầu [Node.js](https://nodejs.org) v20+ và `npx` (đi kèm với npm).
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Các cờ khả dụng
|
||||||
|
|
||||||
|
### Tùy chọn cài đặt
|
||||||
|
|
||||||
|
| Cờ | Mô tả | Ví dụ |
|
||||||
|
|------|-------------|---------|
|
||||||
|
| `--directory <path>` | Thư mục cài đặt | `--directory ~/projects/myapp` |
|
||||||
|
| `--modules <modules>` | Danh sách ID module, cách nhau bởi dấu phẩy | `--modules bmm,bmb` |
|
||||||
|
| `--tools <tools>` | Danh sách ID công cụ/IDE, cách nhau bởi dấu phẩy (dùng `none` để bỏ qua) | `--tools claude-code,cursor` hoặc `--tools none` |
|
||||||
|
| `--custom-content <paths>` | Danh sách đường dẫn đến module tùy chỉnh, cách nhau bởi dấu phẩy | `--custom-content ~/my-module,~/another-module` |
|
||||||
|
| `--action <type>` | Hành động cho bản cài đặt hiện có: `install` (mặc định), `update`, hoặc `quick-update` | `--action quick-update` |
|
||||||
|
|
||||||
|
### Cấu hình cốt lõi
|
||||||
|
|
||||||
|
| Cờ | Mô tả | Mặc định |
|
||||||
|
|------|-------------|---------|
|
||||||
|
| `--user-name <name>` | Tên để agent sử dụng | Tên người dùng hệ thống |
|
||||||
|
| `--communication-language <lang>` | Ngôn ngữ giao tiếp của agent | Tiếng Anh |
|
||||||
|
| `--document-output-language <lang>` | Ngôn ngữ đầu ra tài liệu | Tiếng Anh |
|
||||||
|
| `--output-folder <path>` | Đường dẫn thư mục output (xem quy tắc resolve bên dưới) | `_bmad-output` |
|
||||||
|
|
||||||
|
#### Quy tắc resolve đường dẫn output folder
|
||||||
|
|
||||||
|
Giá trị truyền vào `--output-folder` (hoặc nhập ở chế độ tương tác) sẽ được resolve theo các quy tắc sau:
|
||||||
|
|
||||||
|
| Loại đầu vào | Ví dụ | Được resolve thành |
|
||||||
|
|------|-------------|---------|
|
||||||
|
| Đường dẫn tương đối (mặc định) | `_bmad-output` | `<project-root>/_bmad-output` |
|
||||||
|
| Đường dẫn tương đối có traversal | `../../shared-outputs` | Đường dẫn tuyệt đối đã được chuẩn hóa, ví dụ `/Users/me/shared-outputs` |
|
||||||
|
| Đường dẫn tuyệt đối | `/Users/me/shared-outputs` | Giữ nguyên như đã nhập, **không** thêm project root vào trước |
|
||||||
|
|
||||||
|
Đường dẫn sau khi resolve là đường dẫn mà agent và workflow sẽ dùng lúc runtime để ghi file đầu ra. Việc dùng đường dẫn tuyệt đối hoặc đường dẫn tương đối có traversal cho phép bạn chuyển toàn bộ artifact sinh ra sang một thư mục nằm ngoài cây dự án, hữu ích với thư mục dùng chung hoặc cấu trúc monorepo.
|
||||||
|
|
||||||
|
### Tùy chọn khác
|
||||||
|
|
||||||
|
| Cờ | Mô tả |
|
||||||
|
|------|-------------|
|
||||||
|
| `-y, --yes` | Chấp nhận toàn bộ mặc định và bỏ qua prompt |
|
||||||
|
| `-d, --debug` | Bật output debug cho quá trình tạo manifest |
|
||||||
|
|
||||||
|
## ID module
|
||||||
|
|
||||||
|
Những ID module có thể dùng với cờ `--modules`:
|
||||||
|
|
||||||
|
- `bmm` - BMad Method Master
|
||||||
|
- `bmb` - BMad Builder
|
||||||
|
|
||||||
|
Kiểm tra [BMad registry](https://github.com/bmad-code-org) để xem các module ngoài được hỗ trợ.
|
||||||
|
|
||||||
|
## ID công cụ/IDE
|
||||||
|
|
||||||
|
Những ID công cụ có thể dùng với cờ `--tools`:
|
||||||
|
|
||||||
|
**Khuyến dùng:** `claude-code`, `cursor`
|
||||||
|
|
||||||
|
Chạy `npx bmad-method install` một lần ở chế độ tương tác để xem danh sách đầy đủ hiện tại của các công cụ được hỗ trợ, hoặc xem [cấu hình platform codes](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/tools/installer/ide/platform-codes.yaml).
|
||||||
|
|
||||||
|
## Các chế độ cài đặt
|
||||||
|
|
||||||
|
| Chế độ | Mô tả | Ví dụ |
|
||||||
|
|------|-------------|---------|
|
||||||
|
| Hoàn toàn không tương tác | Cung cấp đầy đủ cờ để bỏ qua tất cả prompt | `npx bmad-method install --directory . --modules bmm --tools claude-code --yes` |
|
||||||
|
| Bán tương tác | Cung cấp một số cờ, BMad hỏi thêm phần còn lại | `npx bmad-method install --directory . --modules bmm` |
|
||||||
|
| Chỉ dùng mặc định | Chấp nhận tất cả giá trị mặc định với `-y` | `npx bmad-method install --yes` |
|
||||||
|
| Không cấu hình công cụ | Bỏ qua cấu hình công cụ/IDE | `npx bmad-method install --modules bmm --tools none` |
|
||||||
|
|
||||||
|
## Ví dụ
|
||||||
|
|
||||||
|
### Cài đặt cho pipeline CI/CD
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
# install-bmad.sh
|
||||||
|
|
||||||
|
npx bmad-method install \
|
||||||
|
--directory "${GITHUB_WORKSPACE}" \
|
||||||
|
--modules bmm \
|
||||||
|
--tools claude-code \
|
||||||
|
--user-name "CI Bot" \
|
||||||
|
--communication-language English \
|
||||||
|
--document-output-language English \
|
||||||
|
--output-folder _bmad-output \
|
||||||
|
--yes
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cập nhật bản cài đặt hiện có
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install \
|
||||||
|
--directory ~/projects/myapp \
|
||||||
|
--action update \
|
||||||
|
--modules bmm,bmb,custom-module
|
||||||
|
```
|
||||||
|
|
||||||
|
### Quick Update (giữ nguyên cài đặt)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install \
|
||||||
|
--directory ~/projects/myapp \
|
||||||
|
--action quick-update
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cài đặt với nội dung tùy chỉnh
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install \
|
||||||
|
--directory ~/projects/myapp \
|
||||||
|
--modules bmm \
|
||||||
|
--custom-content ~/my-custom-module,~/another-module \
|
||||||
|
--tools claude-code
|
||||||
|
```
|
||||||
|
|
||||||
|
## Bạn nhận được gì
|
||||||
|
|
||||||
|
- Thư mục `_bmad/` đã được cấu hình đầy đủ trong dự án của bạn
|
||||||
|
- Agent và workflow đã được cấu hình theo module và công cụ bạn chọn
|
||||||
|
- Thư mục `_bmad-output/` để lưu các artifact được tạo
|
||||||
|
|
||||||
|
## Kiểm tra và xử lý lỗi
|
||||||
|
|
||||||
|
BMad sẽ kiểm tra tất cả các cờ được cung cấp:
|
||||||
|
|
||||||
|
- **Directory** - Phải là đường dẫn hợp lệ và có quyền ghi
|
||||||
|
- **Modules** - Cảnh báo nếu ID module không hợp lệ (nhưng không thất bại)
|
||||||
|
- **Tools** - Cảnh báo nếu ID công cụ không hợp lệ (nhưng không thất bại)
|
||||||
|
- **Custom Content** - Mỗi đường dẫn phải chứa tệp `module.yaml` hợp lệ
|
||||||
|
- **Action** - Phải là một trong: `install`, `update`, `quick-update`
|
||||||
|
|
||||||
|
Giá trị không hợp lệ sẽ dẫn đến một trong các trường hợp sau:
|
||||||
|
1. Hiện lỗi và thoát (với các tùy chọn quan trọng như directory)
|
||||||
|
2. Hiện cảnh báo và bỏ qua (với mục tùy chọn như custom content)
|
||||||
|
3. Quay lại hỏi interactive (với giá trị bắt buộc bị thiếu)
|
||||||
|
|
||||||
|
:::tip[Thực hành tốt]
|
||||||
|
- Dùng đường dẫn tuyệt đối cho `--directory` để tránh nhầm lẫn
|
||||||
|
- Dùng đường dẫn tuyệt đối cho `--output-folder` khi bạn muốn ghi artifact ra ngoài cây dự án, ví dụ vào một thư mục output dùng chung trong monorepo
|
||||||
|
- Thử nghiệm cờ ở máy local trước khi đưa vào pipeline CI/CD
|
||||||
|
- Kết hợp với `-y` nếu bạn muốn cài đặt hoàn toàn không cần can thiệp
|
||||||
|
- Dùng `--debug` nếu gặp vấn đề trong quá trình cài đặt
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Khắc phục sự cố
|
||||||
|
|
||||||
|
### Cài đặt thất bại với lỗi "Invalid directory"
|
||||||
|
|
||||||
|
- Thư mục đích phải tồn tại (hoặc thư mục cha của nó phải tồn tại)
|
||||||
|
- Bạn cần quyền ghi
|
||||||
|
- Đường dẫn phải là tuyệt đối, hoặc tương đối đúng với thư mục hiện tại
|
||||||
|
|
||||||
|
### Không tìm thấy module
|
||||||
|
|
||||||
|
- Xác minh ID module có đúng không
|
||||||
|
- Module bên ngoài phải có sẵn trong registry
|
||||||
|
|
||||||
|
### Đường dẫn custom content không hợp lệ
|
||||||
|
|
||||||
|
Đảm bảo mỗi đường dẫn custom content:
|
||||||
|
- Trỏ tới một thư mục
|
||||||
|
- Chứa tệp `module.yaml` ở cấp gốc
|
||||||
|
- Có trường `code` trong tệp `module.yaml`
|
||||||
|
|
||||||
|
:::note[Vẫn bị mắc?]
|
||||||
|
Chạy với `--debug` để xem output chi tiết, thử chế độ interactive để cô lập vấn đề, hoặc báo cáo tại <https://github.com/bmad-code-org/BMAD-METHOD/issues>.
|
||||||
|
:::
|
||||||
|
|
@ -0,0 +1,127 @@
|
||||||
|
---
|
||||||
|
title: "Quản lý Project Context"
|
||||||
|
description: Tạo và duy trì project-context.md để định hướng cho các agent AI
|
||||||
|
sidebar:
|
||||||
|
order: 8
|
||||||
|
---
|
||||||
|
|
||||||
|
Sử dụng tệp `project-context.md` để đảm bảo các agent AI tuân theo ưu tiên kỹ thuật và quy tắc triển khai của dự án trong suốt mọi workflow. Để đảm bảo tệp này luôn sẵn có, bạn cũng có thể thêm dòng `Important project context and conventions are located in [path to project context]/project-context.md` vào file context của công cụ hoặc file always rules của bạn (như `AGENTS.md`).
|
||||||
|
|
||||||
|
:::note[Điều kiện tiên quyết]
|
||||||
|
- Đã cài BMad Method
|
||||||
|
- Hiểu stack công nghệ và các quy ước của dự án
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Khi nào nên dùng
|
||||||
|
|
||||||
|
- Bạn có các ưu tiên kỹ thuật rõ ràng trước khi bắt đầu làm kiến trúc
|
||||||
|
- Bạn đã hoàn thành kiến trúc và muốn ghi lại các quyết định để phục vụ triển khai
|
||||||
|
- Bạn đang làm việc với một codebase hiện có có những pattern đã ổn định
|
||||||
|
- Bạn thấy các agent đưa ra quyết định không nhất quán giữa các story
|
||||||
|
|
||||||
|
## Bước 1: Chọn cách tiếp cận
|
||||||
|
|
||||||
|
**Tự tạo bằng tay** - Phù hợp nhất khi bạn biết rõ cần tài liệu hóa quy tắc nào
|
||||||
|
|
||||||
|
**Tạo sau kiến trúc** - Phù hợp để ghi lại các quyết định đã được đưa ra trong giai đoạn solutioning
|
||||||
|
|
||||||
|
**Tạo cho dự án hiện có** - Phù hợp để khám phá pattern trong các codebase đã tồn tại
|
||||||
|
|
||||||
|
## Bước 2: Tạo tệp
|
||||||
|
|
||||||
|
### Lựa chọn A: Tạo thủ công
|
||||||
|
|
||||||
|
Tạo tệp tại `_bmad-output/project-context.md`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p _bmad-output
|
||||||
|
touch _bmad-output/project-context.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Thêm stack công nghệ và các quy tắc triển khai của bạn:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
project_name: 'MyProject'
|
||||||
|
user_name: 'YourName'
|
||||||
|
date: '2026-02-15'
|
||||||
|
sections_completed: ['technology_stack', 'critical_rules']
|
||||||
|
---
|
||||||
|
|
||||||
|
# Project Context for AI Agents
|
||||||
|
|
||||||
|
## Technology Stack & Versions
|
||||||
|
|
||||||
|
- Node.js 20.x, TypeScript 5.3, React 18.2
|
||||||
|
- State: Zustand
|
||||||
|
- Testing: Vitest, Playwright
|
||||||
|
- Styling: Tailwind CSS
|
||||||
|
|
||||||
|
## Critical Implementation Rules
|
||||||
|
|
||||||
|
**TypeScript:**
|
||||||
|
- Strict mode enabled, no `any` types
|
||||||
|
- Use `interface` for public APIs, `type` for unions
|
||||||
|
|
||||||
|
**Code Organization:**
|
||||||
|
- Components in `/src/components/` with co-located tests
|
||||||
|
- API calls use `apiClient` singleton — never fetch directly
|
||||||
|
|
||||||
|
**Testing:**
|
||||||
|
- Unit tests focus on business logic
|
||||||
|
- Integration tests use MSW for API mocking
|
||||||
|
```
|
||||||
|
|
||||||
|
### Lựa chọn B: Tạo sau khi hoàn thành kiến trúc
|
||||||
|
|
||||||
|
Chạy workflow trong một phiên chat mới:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Workflow sẽ quét tài liệu kiến trúc và tệp dự án để tạo tệp context ghi lại các quyết định đã được đưa ra.
|
||||||
|
|
||||||
|
### Lựa chọn C: Tạo cho dự án hiện có
|
||||||
|
|
||||||
|
Với các dự án hiện có, chạy:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bmad-generate-project-context
|
||||||
|
```
|
||||||
|
|
||||||
|
Workflow sẽ phân tích codebase để nhận diện quy ước, sau đó tạo tệp context để bạn xem lại và chỉnh sửa.
|
||||||
|
|
||||||
|
## Bước 3: Xác minh nội dung
|
||||||
|
|
||||||
|
Xem lại tệp được tạo và đảm bảo nó ghi đúng:
|
||||||
|
|
||||||
|
- Các phiên bản công nghệ chính xác
|
||||||
|
- Đúng các quy ước thực tế của bạn (không phải các best practice chung chung)
|
||||||
|
- Các quy tắc giúp tránh những lỗi thường gặp
|
||||||
|
- Các pattern đặc thù framework
|
||||||
|
|
||||||
|
Chỉnh sửa thủ công để thêm phần còn thiếu hoặc loại bỏ những chỗ không chính xác.
|
||||||
|
|
||||||
|
## Bạn nhận được gì
|
||||||
|
|
||||||
|
Một tệp `project-context.md` sẽ:
|
||||||
|
|
||||||
|
- Đảm bảo tất cả agent tuân theo cùng một bộ quy ước
|
||||||
|
- Ngăn các quyết định không nhất quán giữa các story
|
||||||
|
- Ghi lại các quyết định kiến trúc cho giai đoạn triển khai
|
||||||
|
- Làm tài liệu tham chiếu cho các pattern và quy tắc của dự án
|
||||||
|
|
||||||
|
## Mẹo
|
||||||
|
|
||||||
|
:::tip[Thực hành tốt]
|
||||||
|
- **Tập trung vào điều không hiển nhiên** - Ghi lại những pattern agent dễ bỏ sót (ví dụ: "Dùng JSDoc cho mọi lớp public"), thay vì các quy tắc phổ quát như "đặt tên biến có ý nghĩa".
|
||||||
|
- **Gọn nhẹ** - Tệp này được nạp trong mọi workflow triển khai. Tệp quá dài sẽ tốn context. Hãy bỏ qua nội dung chỉ áp dụng cho phạm vi hẹp hoặc một vài story cụ thể.
|
||||||
|
- **Cập nhật khi cần** - Sửa thủ công khi pattern thay đổi, hoặc tạo lại sau các thay đổi kiến trúc lớn.
|
||||||
|
- Áp dụng được cho cả Quick Flow lẫn quy trình BMad Method đầy đủ.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Bước tiếp theo
|
||||||
|
|
||||||
|
- [**Giải thích về Project Context**](../explanation/project-context.md) - Tìm hiểu sâu hơn cách nó hoạt động
|
||||||
|
- [**Bản đồ workflow**](../reference/workflow-map.md) - Xem workflow nào sử dụng project context
|
||||||
|
|
@ -0,0 +1,95 @@
|
||||||
|
---
|
||||||
|
title: "Quick Fixes"
|
||||||
|
description: Cách thực hiện các sửa nhanh và thay đổi ad-hoc
|
||||||
|
sidebar:
|
||||||
|
order: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
Sử dụng **Quick Dev** cho sửa lỗi, refactor, hoặc các thay đổi nhỏ có mục tiêu rõ ràng mà không cần quy trình BMad Method đầy đủ.
|
||||||
|
|
||||||
|
## Khi nào nên dùng
|
||||||
|
|
||||||
|
- Sửa lỗi khi nguyên nhân đã rõ ràng
|
||||||
|
- Refactor nhỏ (đổi tên, tách hàm, tái cấu trúc) nằm trong một vài tệp
|
||||||
|
- Điều chỉnh tính năng nhỏ hoặc thay đổi cấu hình
|
||||||
|
- Cập nhật dependency
|
||||||
|
|
||||||
|
:::note[Điều kiện tiên quyết]
|
||||||
|
- Đã cài BMad Method (`npx bmad-method install`)
|
||||||
|
- Một IDE tích hợp AI (Claude Code, Cursor, hoặc tương tự)
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Các bước thực hiện
|
||||||
|
|
||||||
|
### 1. Bắt đầu một phiên chat mới
|
||||||
|
|
||||||
|
Mở **một phiên chat mới** trong AI IDE của bạn. Tái sử dụng một phiên từ workflow trước dễ gây xung đột context.
|
||||||
|
|
||||||
|
### 2. Mô tả ý định của bạn
|
||||||
|
|
||||||
|
Quick Dev nhận ý định dạng tự do - trước, cùng lúc, hoặc sau khi gọi workflow. Ví dụ:
|
||||||
|
|
||||||
|
```text
|
||||||
|
run quick-dev — Sửa lỗi validate đăng nhập cho phép mật khẩu rỗng.
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
run quick-dev — fix https://github.com/org/repo/issues/42
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
run quick-dev — thực hiện ý định trong _bmad-output/implementation-artifacts/my-intent.md
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
Tôi nghĩ vấn đề nằm ở auth middleware, nó không kiểm tra hạn của token.
|
||||||
|
Để tôi xem... đúng rồi, src/auth/middleware.ts dòng 47 bỏ qua
|
||||||
|
hoàn toàn phần kiểm tra exp. run quick-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
run quick-dev
|
||||||
|
> Bạn muốn làm gì?
|
||||||
|
Refactor UserService sang dùng async/await thay vì callbacks.
|
||||||
|
```
|
||||||
|
|
||||||
|
Văn bản thường, đường dẫn tệp, URL issue GitHub, liên kết bug tracker - bất kỳ thứ gì LLM có thể suy ra thành một ý định cụ thể.
|
||||||
|
|
||||||
|
### 3. Trả lời câu hỏi và phê duyệt
|
||||||
|
|
||||||
|
Quick Dev có thể đặt câu hỏi làm rõ hoặc đưa ra một bản spec ngắn để bạn phê duyệt trước khi triển khai. Hãy trả lời và phê duyệt khi bạn thấy kế hoạch đã ổn.
|
||||||
|
|
||||||
|
### 4. Review và push
|
||||||
|
|
||||||
|
Quick Dev sẽ triển khai thay đổi, tự review công việc của mình, sửa các vấn đề phát hiện được và commit vào local. Khi hoàn thành, nó sẽ mở các tệp bị ảnh hưởng trong editor.
|
||||||
|
|
||||||
|
- Xem nhanh diff để xác nhận thay đổi đúng với ý định của bạn
|
||||||
|
- Nếu có gì không ổn, nói cho agent biết cần sửa gì - nó có thể lặp lại ngay trong cùng phiên
|
||||||
|
|
||||||
|
Khi đã hài lòng, push commit. Quick Dev sẽ đề xuất push và tạo PR cho bạn.
|
||||||
|
|
||||||
|
:::caution[Nếu có thứ bị vỡ]
|
||||||
|
Nếu thay đổi đã push gây sự cố ngoài ý muốn, dùng `git revert HEAD` để hoàn tác commit cuối một cách sạch sẽ. Sau đó bắt đầu một phiên chat mới và chạy lại Quick Dev để thử hướng khác.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Bạn nhận được gì
|
||||||
|
|
||||||
|
- Các tệp nguồn đã được sửa với bản fix hoặc refactor
|
||||||
|
- Test đã pass (nếu dự án có bộ test)
|
||||||
|
- Một commit sẵn sàng để push, dùng conventional commit message
|
||||||
|
|
||||||
|
## Công việc trì hoãn
|
||||||
|
|
||||||
|
Quick Dev giữ mỗi lần chạy tập trung vào một mục tiêu duy nhất. Nếu yêu cầu của bạn có nhiều mục tiêu độc lập, hoặc review phát hiện các vấn đề tồn tại sẵn không liên quan đến thay đổi hiện tại, Quick Dev sẽ đưa chúng vào tệp `deferred-work.md` trong thư mục implementation artifacts thay vì cố gắng xử lý tất cả một lúc.
|
||||||
|
|
||||||
|
Hãy kiểm tra tệp này sau mỗi lần chạy - đó là backlog các việc bạn cần quay lại sau. Mỗi mục trì hoãn có thể được đưa vào một lần chạy Quick Dev mới.
|
||||||
|
|
||||||
|
## Khi nào nên nâng cấp lên quy trình lập kế hoạch đầy đủ
|
||||||
|
|
||||||
|
Cân nhắc dùng toàn bộ BMad Method khi:
|
||||||
|
|
||||||
|
- Thay đổi ảnh hưởng nhiều hệ thống hoặc cần cập nhật đồng bộ trên nhiều tệp
|
||||||
|
- Bạn chưa chắc phạm vi và cần làm rõ yêu cầu trước
|
||||||
|
- Bạn cần ghi lại tài liệu hoặc quyết định kiến trúc cho cả nhóm
|
||||||
|
|
||||||
|
Xem [Quick Dev](../explanation/quick-dev.md) để hiểu rõ hơn Quick Dev nằm ở đâu trong BMad Method.
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
---
|
||||||
|
title: "Hướng dẫn chia nhỏ tài liệu"
|
||||||
|
description: Tách các tệp markdown lớn thành nhiều tệp nhỏ có tổ chức để quản lý context tốt hơn
|
||||||
|
sidebar:
|
||||||
|
order: 9
|
||||||
|
---
|
||||||
|
|
||||||
|
Sử dụng công cụ `bmad-shard-doc` nếu bạn cần tách các tệp markdown lớn thành nhiều tệp nhỏ có tổ chức để quản lý context tốt hơn.
|
||||||
|
|
||||||
|
:::caution[Đã ngừng khuyến nghị]
|
||||||
|
Đây không còn là cách được khuyến nghị, và trong thời gian tới khi workflow được cập nhật và đa số LLM/công cụ lớn hỗ trợ subprocesses, việc này sẽ không còn cần thiết.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Khi nào nên dùng
|
||||||
|
|
||||||
|
Chỉ dùng cách này nếu bạn nhận thấy tổ hợp công cụ / model bạn đang dùng không thể nạp và đọc đầy đủ tất cả tài liệu đầu vào khi cần.
|
||||||
|
|
||||||
|
## Chia nhỏ tài liệu là gì?
|
||||||
|
|
||||||
|
Chia nhỏ tài liệu là việc tách các tệp markdown lớn thành nhiều tệp nhỏ có tổ chức dựa trên các tiêu đề cấp 2 (`## Tiêu đề`).
|
||||||
|
|
||||||
|
### Kiến trúc
|
||||||
|
|
||||||
|
```text
|
||||||
|
Trước khi chia nhỏ:
|
||||||
|
_bmad-output/planning-artifacts/
|
||||||
|
└── PRD.md (tệp lớn 50k token)
|
||||||
|
|
||||||
|
Sau khi chia nhỏ:
|
||||||
|
_bmad-output/planning-artifacts/
|
||||||
|
└── prd/
|
||||||
|
├── index.md # Mục lục kèm mô tả
|
||||||
|
├── overview.md # Phần 1
|
||||||
|
├── user-requirements.md # Phần 2
|
||||||
|
├── technical-requirements.md # Phần 3
|
||||||
|
└── ... # Các phần bổ sung
|
||||||
|
```
|
||||||
|
|
||||||
|
## Các bước thực hiện
|
||||||
|
|
||||||
|
### 1. Chạy công cụ Shard-Doc
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/bmad-shard-doc
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Làm theo quy trình tương tác
|
||||||
|
|
||||||
|
```text
|
||||||
|
Agent: Bạn muốn chia nhỏ tài liệu nào?
|
||||||
|
User: docs/PRD.md
|
||||||
|
|
||||||
|
Agent: Thư mục đích mặc định: docs/prd/
|
||||||
|
Chấp nhận mặc định? [y/n]
|
||||||
|
User: y
|
||||||
|
|
||||||
|
Agent: Đang chia nhỏ PRD.md...
|
||||||
|
✓ Đã tạo 12 tệp theo từng phần
|
||||||
|
✓ Đã tạo index.md
|
||||||
|
✓ Hoàn tất!
|
||||||
|
```
|
||||||
|
|
||||||
|
## Cơ chế workflow tìm tài liệu
|
||||||
|
|
||||||
|
Workflow của BMad dùng **hệ thống phát hiện kép**:
|
||||||
|
|
||||||
|
1. **Thử tài liệu nguyên khối trước** - Tìm `document-name.md`
|
||||||
|
2. **Kiểm tra bản đã chia nhỏ** - Tìm `document-name/index.md`
|
||||||
|
3. **Quy tắc ưu tiên** - Bản nguyên khối được ưu tiên nếu cả hai cùng tồn tại; hãy xóa bản nguyên khối nếu bạn muốn workflow dùng bản đã chia nhỏ
|
||||||
|
|
||||||
|
## Hỗ trợ trong workflow
|
||||||
|
|
||||||
|
Tất cả workflow BMM đều hỗ trợ cả hai định dạng:
|
||||||
|
|
||||||
|
- Tài liệu nguyên khối
|
||||||
|
- Tài liệu đã chia nhỏ
|
||||||
|
- Tự động nhận diện
|
||||||
|
- Trong suốt với người dùng
|
||||||
|
|
@ -0,0 +1,100 @@
|
||||||
|
---
|
||||||
|
title: "Cách nâng cấp lên v6"
|
||||||
|
description: Di chuyển từ BMad v4 sang v6
|
||||||
|
sidebar:
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
Sử dụng trình cài đặt BMad để nâng cấp từ v4 lên v6, bao gồm khả năng tự động phát hiện bản cài đặt cũ và hỗ trợ di chuyển.
|
||||||
|
|
||||||
|
## Khi nào nên dùng
|
||||||
|
|
||||||
|
- Bạn đang dùng BMad v4 (thư mục `.bmad-method`)
|
||||||
|
- Bạn muốn chuyển sang kiến trúc v6 mới
|
||||||
|
- Bạn có các planning artifact hiện có cần giữ lại
|
||||||
|
|
||||||
|
:::note[Điều kiện tiên quyết]
|
||||||
|
- Node.js 20+
|
||||||
|
- Bản cài đặt BMad v4 hiện có
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Các bước thực hiện
|
||||||
|
|
||||||
|
### 1. Chạy trình cài đặt
|
||||||
|
|
||||||
|
Làm theo [Hướng dẫn cài đặt](./install-bmad.md).
|
||||||
|
|
||||||
|
### 2. Xử lý bản cài đặt cũ
|
||||||
|
|
||||||
|
Khi v4 được phát hiện, bạn có thể:
|
||||||
|
|
||||||
|
- Cho phép trình cài đặt sao lưu và xóa `.bmad-method`
|
||||||
|
- Thoát và tự xử lý dọn dẹp thủ công
|
||||||
|
|
||||||
|
Nếu trước đây bạn đặt tên thư mục BMad khác - bạn sẽ phải tự xóa thư mục đó.
|
||||||
|
|
||||||
|
### 3. Dọn dẹp skill IDE cũ
|
||||||
|
|
||||||
|
Tự xóa các command/skill IDE cũ của v4 - ví dụ nếu bạn dùng Claude Code, hãy tìm các thư mục lồng nhau bắt đầu bằng `bmad` và xóa chúng:
|
||||||
|
|
||||||
|
- `.claude/commands/`
|
||||||
|
|
||||||
|
Các skill v6 mới sẽ được cài tại:
|
||||||
|
|
||||||
|
- `.claude/skills/`
|
||||||
|
|
||||||
|
### 4. Di chuyển planning artifacts
|
||||||
|
|
||||||
|
**Nếu bạn có tài liệu lập kế hoạch (Brief/PRD/UX/Architecture):**
|
||||||
|
|
||||||
|
Di chuyển chúng vào `_bmad-output/planning-artifacts/` với tên mô tả rõ ràng:
|
||||||
|
|
||||||
|
- Tên tệp PRD nên chứa `PRD`
|
||||||
|
- Tên tệp tương ứng nên chứa `brief`, `architecture`, hoặc `ux-design`
|
||||||
|
- Tài liệu đã chia nhỏ có thể đặt trong các thư mục con đặt tên phù hợp
|
||||||
|
|
||||||
|
**Nếu bạn đang lập kế hoạch dở dang:** Hãy cân nhắc bắt đầu lại với workflow v6. Bạn vẫn có thể dùng các tài liệu hiện có làm input - các workflow discovery tiên tiến trong v6, kết hợp web search và chế độ plan trong IDE, cho kết quả tốt hơn.
|
||||||
|
|
||||||
|
### 5. Di chuyển công việc phát triển đang dở dang
|
||||||
|
|
||||||
|
Nếu bạn đã có các story được tạo hoặc đã triển khai:
|
||||||
|
|
||||||
|
1. Hoàn thành cài đặt v6
|
||||||
|
2. Đặt `epics.md` hoặc `epics/epic*.md` vào `_bmad-output/planning-artifacts/`
|
||||||
|
3. Chạy workflow `bmad-sprint-planning` của Scrum Master
|
||||||
|
4. Nói rõ với SM những epic/story nào đã hoàn thành
|
||||||
|
|
||||||
|
## Bạn nhận được gì
|
||||||
|
|
||||||
|
**Cấu trúc thống nhất của v6:**
|
||||||
|
|
||||||
|
```text
|
||||||
|
du-an-cua-ban/
|
||||||
|
├── _bmad/ # Thư mục cài đặt duy nhất
|
||||||
|
│ ├── _config/ # Các tùy chỉnh của bạn
|
||||||
|
│ │ └── agents/ # Tệp tùy chỉnh agent
|
||||||
|
│ ├── core/ # Framework core dùng chung
|
||||||
|
│ ├── bmm/ # Module BMad Method
|
||||||
|
│ ├── bmb/ # BMad Builder
|
||||||
|
│ └── cis/ # Creative Intelligence Suite
|
||||||
|
└── _bmad-output/ # Thư mục output (là thư mục docs trong v4)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Di chuyển module
|
||||||
|
|
||||||
|
| Module v4 | Trạng thái trong v6 |
|
||||||
|
| --- | --- |
|
||||||
|
| `.bmad-2d-phaser-game-dev` | Đã được tích hợp vào module BMGD |
|
||||||
|
| `.bmad-2d-unity-game-dev` | Đã được tích hợp vào module BMGD |
|
||||||
|
| `.bmad-godot-game-dev` | Đã được tích hợp vào module BMGD |
|
||||||
|
| `.bmad-infrastructure-devops` | Đã bị ngừng hỗ trợ - agent DevOps mới sắp ra mắt |
|
||||||
|
| `.bmad-creative-writing` | Chưa được điều chỉnh - module v6 mới sắp ra mắt |
|
||||||
|
|
||||||
|
## Các thay đổi chính
|
||||||
|
|
||||||
|
| Khái niệm | v4 | v6 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| **Core** | `_bmad-core` thực chất là BMad Method | `_bmad/core/` là framework dùng chung |
|
||||||
|
| **Method** | `_bmad-method` | `_bmad/bmm/` |
|
||||||
|
| **Config** | Sửa trực tiếp các tệp | `config.yaml` theo từng module |
|
||||||
|
| **Documents** | Cần thiết lập trước cho bản chia nhỏ hoặc nguyên khối | Linh hoạt hoàn toàn, tự động quét |
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
---
|
||||||
|
title: Chào mừng đến với BMad Method
|
||||||
|
description: Framework phát triển phần mềm dựa trên AI với các agent chuyên biệt, workflow có hướng dẫn và khả năng lập kế hoạch thông minh
|
||||||
|
---
|
||||||
|
|
||||||
|
BMad Method (**B**uild **M**ore **A**rchitect **D**reams) là một framework phát triển phần mềm dựa trên AI trong hệ sinh thái BMad Method, giúp bạn xây dựng phần mềm xuyên suốt toàn bộ quy trình, từ hình thành ý tưởng và lập kế hoạch cho tới triển khai với agent. Framework này cung cấp các AI agent chuyên biệt, workflow có hướng dẫn, và khả năng lập kế hoạch thông minh thích ứng với độ phức tạp của dự án, dù bạn đang sửa một lỗi nhỏ hay xây dựng một nền tảng doanh nghiệp.
|
||||||
|
|
||||||
|
Nếu bạn đã quen làm việc với các trợ lý AI cho lập trình như Claude, Cursor, hoặc GitHub Copilot, bạn có thể bắt đầu ngay.
|
||||||
|
|
||||||
|
:::note[🚀 V6 đã ra mắt và chúng tôi mới chỉ bắt đầu!]
|
||||||
|
Kiến trúc Skills, BMad Builder v1, Dev Loop Automation, và nhiều thứ khác nữa đang được phát triển. **[Xem Roadmap →](/vi-vn/roadmap/)**
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Mới bắt đầu? Hãy xem một Tutorial trước
|
||||||
|
|
||||||
|
Cách nhanh nhất để hiểu BMad là dùng thử nó.
|
||||||
|
|
||||||
|
- **[Bắt đầu với BMad](./tutorials/getting-started.md)** — Cài đặt và hiểu cách BMad hoạt động
|
||||||
|
- **[Sơ đồ Workflow](./reference/workflow-map.md)** — Tổng quan trực quan về các phase của BMM, workflow, và cách quản lý context
|
||||||
|
|
||||||
|
:::tip[Muốn vào việc ngay?]
|
||||||
|
Cài BMad và dùng skill `bmad-help` — nó sẽ hướng dẫn bạn mọi thứ dựa trên dự án và các module đã cài.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Cách dùng bộ tài liệu này
|
||||||
|
|
||||||
|
Bộ tài liệu này được chia thành bốn phần, dựa trên mục tiêu của bạn:
|
||||||
|
|
||||||
|
| Phần | Mục đích |
|
||||||
|
| ----------------- | ---------------------------------------------------------------------------------------------------------- |
|
||||||
|
| **Tutorials** | Thiên về học theo từng bước. Đây là các hướng dẫn tuần tự giúp bạn xây dựng một thứ gì đó. Nếu bạn mới làm quen, hãy bắt đầu ở đây. |
|
||||||
|
| **How-To Guides** | Thiên về tác vụ. Đây là các hướng dẫn thực tế để giải quyết một vấn đề cụ thể. Câu hỏi kiểu “Làm sao để tùy chỉnh một agent?” nằm ở phần này. |
|
||||||
|
| **Explanation** | Thiên về hiểu bản chất. Đây là các bài phân tích sâu về khái niệm và kiến trúc. Hãy đọc khi bạn muốn hiểu *vì sao*. |
|
||||||
|
| **Reference** | Thiên về tra cứu thông tin. Đây là đặc tả kỹ thuật cho agent, workflow, và cấu hình. |
|
||||||
|
|
||||||
|
## Mở rộng và tùy chỉnh
|
||||||
|
|
||||||
|
Bạn muốn mở rộng BMad bằng các agent, workflow, hoặc module của riêng mình? **[BMad Builder](https://bmad-builder-docs.bmad-method.org/)** cung cấp framework và công cụ để tạo các phần mở rộng tùy chỉnh, dù bạn chỉ bổ sung khả năng mới cho BMad hay xây dựng hẳn một module mới từ đầu.
|
||||||
|
|
||||||
|
## Bạn cần gì để bắt đầu
|
||||||
|
|
||||||
|
BMad hoạt động với bất kỳ trợ lý AI cho lập trình nào hỗ trợ custom system prompt hoặc project context. Một số lựa chọn phổ biến:
|
||||||
|
|
||||||
|
- **[Claude Code](https://code.claude.com)** — Công cụ CLI của Anthropic (khuyến nghị)
|
||||||
|
- **[Cursor](https://cursor.sh)** — Trình soạn thảo mã lấy AI làm trung tâm
|
||||||
|
- **[Codex CLI](https://github.com/openai/codex)** — Agent lập trình trên terminal của OpenAI
|
||||||
|
|
||||||
|
Bạn nên quen với các khái niệm phát triển phần mềm cơ bản như quản lý phiên bản, cấu trúc dự án, và workflow Agile. Không cần có kinh nghiệm trước với các hệ thống agent kiểu BMad, vì bộ tài liệu này được viết ra chính để hỗ trợ việc đó.
|
||||||
|
|
||||||
|
## Tham gia cộng đồng
|
||||||
|
|
||||||
|
Nhận trợ giúp, chia sẻ những gì bạn đang xây dựng, hoặc đóng góp cho BMad:
|
||||||
|
|
||||||
|
- **[Discord](https://discord.gg/gk8jAdXWmj)** — Trao đổi với những người dùng BMad khác, đặt câu hỏi, chia sẻ ý tưởng
|
||||||
|
- **[GitHub](https://github.com/bmad-code-org/BMAD-METHOD)** — Mã nguồn, issues, và đóng góp
|
||||||
|
- **[YouTube](https://www.youtube.com/@BMadCode)** — Video hướng dẫn và walkthrough
|
||||||
|
|
||||||
|
## Bước tiếp theo
|
||||||
|
|
||||||
|
Sẵn sàng bắt đầu? **[Bắt đầu với BMad](./tutorials/getting-started.md)** và xây dựng dự án đầu tiên của bạn.
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
---
|
||||||
|
title: Agents
|
||||||
|
description: Các agent mặc định của BMM cùng skill ID, trigger menu và workflow chính
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
## Các Agent Mặc Định
|
||||||
|
|
||||||
|
Trang này liệt kê các agent mặc định của BMM (bộ Agile suite) được cài cùng với BMad Method, bao gồm skill ID, trigger menu và workflow chính của chúng. Mỗi agent được gọi dưới dạng một skill.
|
||||||
|
|
||||||
|
## Ghi Chú
|
||||||
|
|
||||||
|
- Mỗi agent đều có sẵn dưới dạng một skill do trình cài đặt tạo ra. Skill ID, ví dụ `bmad-dev`, được dùng để gọi agent.
|
||||||
|
- Trigger là các mã menu ngắn, ví dụ `CP`, cùng với các fuzzy match hiển thị trong menu của từng agent.
|
||||||
|
- Việc tạo test QA do workflow skill `bmad-qa-generate-e2e-tests` đảm nhận, khả dụng thông qua Developer agent. Module Test Architect (TEA) đầy đủ nằm trong một module riêng.
|
||||||
|
|
||||||
|
| Agent | Skill ID | Trigger | Workflow chính |
|
||||||
|
| --------------------------- | -------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------- |
|
||||||
|
| Analyst (Mary) | `bmad-analyst` | `BP`, `RS`, `CB`, `WB`, `DP` | Brainstorm Project, Research, Create Brief, PRFAQ Challenge, Document Project |
|
||||||
|
| Product Manager (John) | `bmad-pm` | `CP`, `VP`, `EP`, `CE`, `IR`, `CC` | Create/Validate/Edit PRD, Create Epics and Stories, Implementation Readiness, Correct Course |
|
||||||
|
| Architect (Winston) | `bmad-architect` | `CA`, `IR` | Create Architecture, Implementation Readiness |
|
||||||
|
| Developer (Amelia) | `bmad-agent-dev` | `DS`, `QD`, `QA`, `CR`, `SP`, `CS`, `ER` | Dev Story, Quick Dev, QA Test Generation, Code Review, Sprint Planning, Create Story, Epic Retrospective |
|
||||||
|
| UX Designer (Sally) | `bmad-ux-designer` | `CU` | Create UX Design |
|
||||||
|
| Technical Writer (Paige) | `bmad-tech-writer` | `DP`, `WD`, `US`, `MG`, `VD`, `EC` | Document Project, Write Document, Update Standards, Mermaid Generate, Validate Doc, Explain Concept |
|
||||||
|
|
||||||
|
## Các Loại Trigger
|
||||||
|
|
||||||
|
Trigger trong menu agent dùng hai kiểu gọi khác nhau. Biết trigger thuộc kiểu nào sẽ giúp bạn cung cấp đúng đầu vào.
|
||||||
|
|
||||||
|
### Trigger workflow (không cần tham số)
|
||||||
|
|
||||||
|
Phần lớn trigger sẽ nạp một file workflow có cấu trúc. Bạn gõ mã trigger, agent sẽ bắt đầu workflow và nhắc bạn nhập thông tin ở từng bước.
|
||||||
|
|
||||||
|
Ví dụ: `CP` (Create PRD), `DS` (Dev Story), `CA` (Create Architecture), `QD` (Quick Dev)
|
||||||
|
|
||||||
|
### Trigger hội thoại (cần tham số)
|
||||||
|
|
||||||
|
Một số trigger sẽ mở cuộc hội thoại tự do thay vì chạy workflow có cấu trúc. Khi đó bạn cần mô tả yêu cầu của mình cùng với mã trigger.
|
||||||
|
|
||||||
|
| Agent | Trigger | Nội dung cần cung cấp |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| Technical Writer (Paige) | `WD` | Mô tả tài liệu cần viết |
|
||||||
|
| Technical Writer (Paige) | `US` | Sở thích hoặc quy ước muốn thêm vào standards |
|
||||||
|
| Technical Writer (Paige) | `MG` | Mô tả sơ đồ và loại sơ đồ (sequence, flowchart, v.v.) |
|
||||||
|
| Technical Writer (Paige) | `VD` | Tài liệu cần kiểm tra và các vùng trọng tâm |
|
||||||
|
| Technical Writer (Paige) | `EC` | Tên khái niệm cần giải thích |
|
||||||
|
|
||||||
|
**Ví dụ:**
|
||||||
|
|
||||||
|
```text
|
||||||
|
WD Write a deployment guide for our Docker setup
|
||||||
|
MG Create a sequence diagram showing the auth flow
|
||||||
|
EC Explain how the module system works
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
---
|
||||||
|
title: Skills
|
||||||
|
description: Tài liệu tham chiếu cho skill của BMad — skill là gì, hoạt động ra sao và tìm ở đâu.
|
||||||
|
sidebar:
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
Skills là các prompt dựng sẵn để nạp agent, chạy workflow hoặc thực thi task bên trong IDE của bạn. Trình cài đặt BMad sinh chúng từ các module bạn đã chọn tại thời điểm cài đặt. Nếu sau này bạn thêm, xóa hoặc thay đổi module, hãy chạy lại trình cài đặt để đồng bộ skills (xem [Khắc phục sự cố](#khắc-phục-sự-cố)).
|
||||||
|
|
||||||
|
## Skill So Với Trigger Trong Menu Agent
|
||||||
|
|
||||||
|
BMad cung cấp hai cách để bắt đầu công việc, và chúng phục vụ những mục đích khác nhau.
|
||||||
|
|
||||||
|
| Cơ chế | Cách gọi | Điều xảy ra |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| **Skill** | Gõ tên skill, ví dụ `bmad-help`, trong IDE | Nạp trực tiếp agent, chạy workflow hoặc thực thi task |
|
||||||
|
| **Trigger menu agent** | Nạp agent trước, sau đó gõ mã ngắn như `DS` | Agent diễn giải mã đó và bắt đầu workflow tương ứng trong khi vẫn giữ đúng persona |
|
||||||
|
|
||||||
|
Trigger trong menu agent yêu cầu bạn đang ở trong một phiên agent đang hoạt động. Dùng skill khi bạn đã biết mình muốn workflow nào. Dùng trigger khi bạn đang làm việc với một agent và muốn đổi tác vụ mà không rời khỏi cuộc hội thoại.
|
||||||
|
|
||||||
|
## Skills Được Tạo Ra Như Thế Nào
|
||||||
|
|
||||||
|
Khi bạn chạy `npx bmad-method install`, trình cài đặt sẽ đọc manifest của mọi module được chọn rồi tạo một skill cho mỗi agent, workflow, task và tool. Mỗi skill là một thư mục chứa file `SKILL.md`, hướng dẫn AI nạp file nguồn tương ứng và làm theo chỉ dẫn trong đó.
|
||||||
|
|
||||||
|
Trình cài đặt dùng template cho từng loại skill:
|
||||||
|
|
||||||
|
| Loại skill | File được tạo sẽ làm gì |
|
||||||
|
| --- | --- |
|
||||||
|
| **Agent launcher** | Nạp file persona của agent, kích hoạt menu của nó và giữ nguyên vai trò |
|
||||||
|
| **Workflow skill** | Nạp cấu hình workflow và làm theo các bước |
|
||||||
|
| **Task skill** | Nạp một file task độc lập và làm theo hướng dẫn |
|
||||||
|
| **Tool skill** | Nạp một file tool độc lập và làm theo hướng dẫn |
|
||||||
|
|
||||||
|
:::note[Chạy lại trình cài đặt]
|
||||||
|
Nếu bạn thêm hoặc bớt module, hãy chạy lại trình cài đặt. Nó sẽ tạo lại toàn bộ file skill khớp với tập module hiện tại.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## File Skill Nằm Ở Đâu
|
||||||
|
|
||||||
|
Trình cài đặt sẽ ghi file skill vào một thư mục dành riêng cho IDE bên trong dự án. Đường dẫn chính xác phụ thuộc vào IDE bạn chọn khi cài.
|
||||||
|
|
||||||
|
| IDE / CLI | Thư mục skill |
|
||||||
|
| --- | --- |
|
||||||
|
| Claude Code | `.claude/skills/` |
|
||||||
|
| Cursor | `.cursor/skills/` |
|
||||||
|
| Windsurf | `.windsurf/skills/` |
|
||||||
|
| IDE khác | Xem output của trình cài đặt để biết đường dẫn đích |
|
||||||
|
|
||||||
|
Mỗi skill là một thư mục chứa file `SKILL.md`. Ví dụ với Claude Code, cấu trúc sẽ như sau:
|
||||||
|
|
||||||
|
```text
|
||||||
|
.claude/skills/
|
||||||
|
├── bmad-help/
|
||||||
|
│ └── SKILL.md
|
||||||
|
├── bmad-create-prd/
|
||||||
|
│ └── SKILL.md
|
||||||
|
├── bmad-agent-dev/
|
||||||
|
│ └── SKILL.md
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
Tên thư mục quyết định tên skill trong IDE. Ví dụ thư mục `bmad-agent-dev/` sẽ đăng ký skill `bmad-agent-dev`.
|
||||||
|
|
||||||
|
## Cách Tìm Danh Sách Skill Của Bạn
|
||||||
|
|
||||||
|
Gõ tên skill trong IDE để gọi nó. Một số nền tảng yêu cầu bạn bật skills trong phần cài đặt trước khi chúng xuất hiện.
|
||||||
|
|
||||||
|
Chạy `bmad-help` để nhận hướng dẫn có ngữ cảnh về bước tiếp theo.
|
||||||
|
|
||||||
|
:::tip[Khám phá nhanh]
|
||||||
|
Các thư mục skill được tạo trong dự án chính là danh sách chuẩn nhất. Mở chúng trong trình quản lý file để xem toàn bộ skill cùng mô tả.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Các Nhóm Skill
|
||||||
|
|
||||||
|
### Agent Skills
|
||||||
|
|
||||||
|
Agent skills nạp một persona AI chuyên biệt với vai trò, phong cách giao tiếp và menu workflow xác định sẵn. Sau khi được nạp, agent sẽ giữ đúng vai trò và phản hồi qua các trigger trong menu.
|
||||||
|
|
||||||
|
| Ví dụ skill | Agent | Vai trò |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `bmad-agent-dev` | Amelia (Developer) | Triển khai story với mức tuân thủ đặc tả nghiêm ngặt |
|
||||||
|
| `bmad-pm` | John (Product Manager) | Tạo và kiểm tra PRD |
|
||||||
|
| `bmad-architect` | Winston (Architect) | Thiết kế kiến trúc hệ thống |
|
||||||
|
|
||||||
|
Xem [Agents](./agents.md) để biết danh sách đầy đủ các agent mặc định và trigger của chúng.
|
||||||
|
|
||||||
|
### Workflow Skills
|
||||||
|
|
||||||
|
Workflow skills chạy một quy trình có cấu trúc, nhiều bước mà không cần nạp persona agent trước. Chúng nạp cấu hình workflow rồi thực hiện theo từng bước.
|
||||||
|
|
||||||
|
| Ví dụ skill | Mục đích |
|
||||||
|
| --- | --- |
|
||||||
|
| `bmad-product-brief` | Tạo product brief — phiên discovery có hướng dẫn khi concept của bạn đã rõ |
|
||||||
|
| `bmad-prfaq` | Bài kiểm tra Working Backwards PRFAQ để stress-test concept sản phẩm |
|
||||||
|
| `bmad-create-prd` | Tạo Product Requirements Document |
|
||||||
|
| `bmad-create-architecture` | Thiết kế kiến trúc hệ thống |
|
||||||
|
| `bmad-create-epics-and-stories` | Tạo epics và stories |
|
||||||
|
| `bmad-dev-story` | Triển khai một story |
|
||||||
|
| `bmad-code-review` | Chạy code review |
|
||||||
|
| `bmad-quick-dev` | Luồng nhanh hợp nhất — làm rõ yêu cầu, lập kế hoạch, triển khai, review và trình bày |
|
||||||
|
|
||||||
|
Xem [Workflow Map](./workflow-map.md) để có tài liệu workflow đầy đủ theo từng phase.
|
||||||
|
|
||||||
|
### Task Skills Và Tool Skills
|
||||||
|
|
||||||
|
Tasks và tools là các thao tác độc lập, không yêu cầu ngữ cảnh agent hay workflow.
|
||||||
|
|
||||||
|
**BMad-Help: người dẫn đường thông minh của bạn**
|
||||||
|
|
||||||
|
`bmad-help` là giao diện chính để bạn khám phá nên làm gì tiếp theo. Nó kiểm tra dự án, hiểu truy vấn ngôn ngữ tự nhiên và đề xuất bước bắt buộc hoặc tùy chọn tiếp theo dựa trên các module đã cài.
|
||||||
|
|
||||||
|
:::note[Ví dụ]
|
||||||
|
```text
|
||||||
|
bmad-help
|
||||||
|
bmad-help I have a SaaS idea and know all the features. Where do I start?
|
||||||
|
bmad-help What are my options for UX design?
|
||||||
|
```
|
||||||
|
:::
|
||||||
|
|
||||||
|
**Các task và tool lõi khác**
|
||||||
|
|
||||||
|
Module lõi có 11 công cụ tích hợp sẵn — review, nén tài liệu, brainstorming, quản lý tài liệu và nhiều hơn nữa. Xem [Core Tools](./core-tools.md) để có tài liệu tham chiếu đầy đủ.
|
||||||
|
|
||||||
|
## Quy Ước Đặt Tên
|
||||||
|
|
||||||
|
Mọi skill đều dùng tiền tố `bmad-` theo sau là tên mô tả, ví dụ `bmad-agent-dev`, `bmad-create-prd`, `bmad-help`. Xem [Modules](./modules.md) để biết các module hiện có.
|
||||||
|
|
||||||
|
## Khắc Phục Sự Cố
|
||||||
|
|
||||||
|
**Skills không xuất hiện sau khi cài đặt.** Một số nền tảng yêu cầu bật skills thủ công trong phần cài đặt. Hãy kiểm tra tài liệu IDE của bạn hoặc hỏi trợ lý AI cách bật skills. Bạn cũng có thể cần khởi động lại IDE hoặc reload cửa sổ.
|
||||||
|
|
||||||
|
**Thiếu skill mà bạn mong đợi.** Trình cài đặt chỉ tạo skill cho những module bạn đã chọn. Hãy chạy lại `npx bmad-method install` và kiểm tra lại phần chọn module. Đồng thời xác nhận rằng file skill thực sự tồn tại trong thư mục dự kiến.
|
||||||
|
|
||||||
|
**Skill từ module đã bỏ vẫn còn xuất hiện.** Trình cài đặt không tự xóa các file skill cũ. Hãy xóa các thư mục lỗi thời trong thư mục skills của IDE, hoặc xóa toàn bộ thư mục skills rồi chạy lại trình cài đặt để có tập skill sạch.
|
||||||
|
|
@ -0,0 +1,293 @@
|
||||||
|
---
|
||||||
|
title: Core Tools
|
||||||
|
description: Tài liệu tham chiếu cho mọi task và workflow tích hợp sẵn có trong mọi bản cài BMad mà không cần module bổ sung.
|
||||||
|
sidebar:
|
||||||
|
order: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
Mọi bản cài BMad đều bao gồm một tập core skills có thể dùng cùng với bất cứ việc gì bạn đang làm — các task và workflow độc lập hoạt động xuyên suốt mọi dự án, mọi module và mọi phase. Chúng luôn có sẵn bất kể bạn cài những module tùy chọn nào.
|
||||||
|
|
||||||
|
:::tip[Lối đi nhanh]
|
||||||
|
Chạy bất kỳ core tool nào bằng cách gõ tên skill của nó, ví dụ `bmad-help`, trong IDE của bạn. Không cần mở phiên agent trước.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Tổng Quan
|
||||||
|
|
||||||
|
| Công cụ | Loại | Mục đích |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| [`bmad-help`](#bmad-help) | Task | Nhận hướng dẫn có ngữ cảnh về việc nên làm gì tiếp theo |
|
||||||
|
| [`bmad-brainstorming`](#bmad-brainstorming) | Workflow | Tổ chức các phiên brainstorming có tương tác |
|
||||||
|
| [`bmad-party-mode`](#bmad-party-mode) | Workflow | Điều phối thảo luận nhóm nhiều agent |
|
||||||
|
| [`bmad-distillator`](#bmad-distillator) | Task | Nén tài liệu tối ưu cho LLM mà không mất thông tin |
|
||||||
|
| [`bmad-advanced-elicitation`](#bmad-advanced-elicitation) | Task | Đẩy đầu ra của LLM qua các vòng tinh luyện lặp |
|
||||||
|
| [`bmad-review-adversarial-general`](#bmad-review-adversarial-general) | Task | Review hoài nghi để tìm chỗ thiếu và chỗ sai |
|
||||||
|
| [`bmad-review-edge-case-hunter`](#bmad-review-edge-case-hunter) | Task | Phân tích toàn bộ nhánh rẽ để tìm edge case chưa được xử lý |
|
||||||
|
| [`bmad-editorial-review-prose`](#bmad-editorial-review-prose) | Task | Biên tập câu chữ nhằm tăng độ rõ ràng khi giao tiếp |
|
||||||
|
| [`bmad-editorial-review-structure`](#bmad-editorial-review-structure) | Task | Biên tập cấu trúc — cắt, gộp và tổ chức lại |
|
||||||
|
| [`bmad-shard-doc`](#bmad-shard-doc) | Task | Tách file markdown lớn thành các phần có tổ chức |
|
||||||
|
| [`bmad-index-docs`](#bmad-index-docs) | Task | Tạo hoặc cập nhật mục lục cho toàn bộ tài liệu trong một thư mục |
|
||||||
|
|
||||||
|
## bmad-help
|
||||||
|
|
||||||
|
**Người dẫn đường thông minh cho bước tiếp theo của bạn.** Công cụ này kiểm tra trạng thái dự án, phát hiện những gì đã hoàn thành và đề xuất bước bắt buộc hoặc tùy chọn tiếp theo.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Bạn vừa hoàn tất một workflow và muốn biết tiếp theo là gì
|
||||||
|
- Bạn mới làm quen với BMad và cần định hướng
|
||||||
|
- Bạn đang mắc kẹt và muốn lời khuyên có ngữ cảnh
|
||||||
|
- Bạn vừa cài module mới và muốn xem có gì khả dụng
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Quét dự án để tìm các artifact hiện có như PRD, architecture, stories, v.v.
|
||||||
|
2. Phát hiện các module đã cài và workflow khả dụng của chúng
|
||||||
|
3. Đề xuất bước tiếp theo theo thứ tự ưu tiên — bước bắt buộc trước, tùy chọn sau
|
||||||
|
4. Trình bày từng đề xuất cùng lệnh skill và mô tả ngắn
|
||||||
|
|
||||||
|
**Đầu vào:** Truy vấn ngôn ngữ tự nhiên tùy chọn, ví dụ `bmad-help I have a SaaS idea, where do I start?`
|
||||||
|
|
||||||
|
**Đầu ra:** Danh sách ưu tiên các bước tiếp theo được khuyến nghị kèm lệnh skill
|
||||||
|
|
||||||
|
## bmad-brainstorming
|
||||||
|
|
||||||
|
**Tạo ra nhiều ý tưởng đa dạng bằng các kỹ thuật sáng tạo có tương tác.** Đây là một phiên brainstorming có điều phối, nạp các phương pháp phát ý tưởng đã được kiểm chứng từ thư viện kỹ thuật và dẫn bạn đến 100+ ý tưởng trước khi bắt đầu sắp xếp.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Bạn đang bắt đầu một dự án mới và cần khám phá không gian vấn đề
|
||||||
|
- Bạn đang bí ý tưởng và cần một quy trình sáng tạo có cấu trúc
|
||||||
|
- Bạn muốn dùng các framework tạo ý tưởng đã được kiểm chứng như SCAMPER, reverse brainstorming, v.v.
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Thiết lập phiên brainstorming theo chủ đề của bạn
|
||||||
|
2. Nạp các kỹ thuật sáng tạo từ thư viện phương pháp
|
||||||
|
3. Dẫn bạn đi qua từng kỹ thuật để tạo ý tưởng
|
||||||
|
4. Áp dụng giao thức chống thiên lệch — cứ mỗi 10 ý tưởng lại đổi miền sáng tạo để tránh gom cụm
|
||||||
|
5. Tạo một tài liệu phiên làm việc chỉ thêm vào, trong đó mọi ý tưởng được tổ chức theo kỹ thuật
|
||||||
|
|
||||||
|
**Đầu vào:** Chủ đề brainstorming hoặc phát biểu vấn đề, cùng file context tùy chọn
|
||||||
|
|
||||||
|
**Đầu ra:** `brainstorming-session-{date}.md` chứa toàn bộ ý tưởng được tạo ra
|
||||||
|
|
||||||
|
:::note[Mục tiêu về số lượng]
|
||||||
|
Điểm bứt phá thường nằm ở vùng ý tưởng thứ 50-100. Workflow này khuyến khích bạn tạo 100+ ý tưởng trước khi sắp xếp.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## bmad-party-mode
|
||||||
|
|
||||||
|
**Điều phối thảo luận nhóm nhiều agent.** Công cụ này nạp toàn bộ agent BMad đã cài và tạo một cuộc trao đổi tự nhiên, nơi mỗi agent đóng góp từ góc nhìn chuyên môn và cá tính riêng.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Bạn cần nhiều góc nhìn chuyên gia cho một quyết định
|
||||||
|
- Bạn muốn các agent phản biện giả định của nhau
|
||||||
|
- Bạn đang khám phá một chủ đề phức tạp trải qua nhiều miền khác nhau
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Nạp manifest agent chứa toàn bộ persona đã cài
|
||||||
|
2. Phân tích chủ đề của bạn để chọn ra 2-3 agent phù hợp nhất
|
||||||
|
3. Các agent lần lượt tham gia, có tương tác chéo và bất đồng tự nhiên
|
||||||
|
4. Luân phiên agent để đảm bảo góc nhìn đa dạng theo thời gian
|
||||||
|
5. Kết thúc bằng `goodbye`, `end party` hoặc `quit`
|
||||||
|
|
||||||
|
**Đầu vào:** Chủ đề hoặc câu hỏi thảo luận, cùng thông tin về các persona bạn muốn tham gia nếu có
|
||||||
|
|
||||||
|
**Đầu ra:** Cuộc hội thoại nhiều agent theo thời gian thực, vẫn giữ nguyên cá tính từng agent
|
||||||
|
|
||||||
|
## bmad-distillator
|
||||||
|
|
||||||
|
**Nén tài liệu nguồn tối ưu cho LLM mà không mất thông tin.** Công cụ này tạo ra các bản chưng cất dày đặc, tiết kiệm token nhưng vẫn giữ nguyên toàn bộ thông tin cho LLM dùng về sau. Có thể xác minh bằng tái dựng hai chiều.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Một tài liệu quá lớn so với context window của LLM
|
||||||
|
- Bạn cần phiên bản tiết kiệm token của tài liệu nghiên cứu, đặc tả hoặc artifact lập kế hoạch
|
||||||
|
- Bạn muốn xác minh rằng không có thông tin nào bị mất trong quá trình nén
|
||||||
|
- Các agent sẽ cần tham chiếu và tìm thông tin trong đó thường xuyên
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. **Analyze** — Đọc tài liệu nguồn, nhận diện mật độ thông tin và cấu trúc
|
||||||
|
2. **Compress** — Chuyển văn xuôi thành dạng bullet dày đặc, bỏ trang trí không cần thiết
|
||||||
|
3. **Verify** — Kiểm tra tính đầy đủ để đảm bảo mọi thông tin gốc còn nguyên
|
||||||
|
4. **Validate** *(tùy chọn)* — Tái dựng hai chiều để chứng minh nén không mất mát
|
||||||
|
|
||||||
|
**Đầu vào:**
|
||||||
|
|
||||||
|
- `source_documents` *(bắt buộc)* — Đường dẫn file, thư mục hoặc mẫu glob
|
||||||
|
- `downstream_consumer` *(tùy chọn)* — Thành phần sẽ dùng đầu ra này, ví dụ "PRD creation"
|
||||||
|
- `token_budget` *(tùy chọn)* — Kích thước mục tiêu gần đúng
|
||||||
|
- `--validate` *(cờ)* — Chạy kiểm tra tái dựng hai chiều
|
||||||
|
|
||||||
|
**Đầu ra:** Một hoặc nhiều file markdown distillate kèm báo cáo tỷ lệ nén, ví dụ `3.2:1`
|
||||||
|
|
||||||
|
## bmad-advanced-elicitation
|
||||||
|
|
||||||
|
**Đẩy đầu ra của LLM qua các phương pháp tinh luyện lặp.** Công cụ này chọn từ thư viện kỹ thuật elicitation để cải thiện nội dung một cách có hệ thống qua nhiều lượt.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Đầu ra của LLM còn nông hoặc quá chung chung
|
||||||
|
- Bạn muốn khám phá một chủ đề từ nhiều góc phân tích khác nhau
|
||||||
|
- Bạn đang tinh chỉnh một tài liệu quan trọng và cần chiều sâu hơn
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Nạp registry phương pháp với hơn 5 kỹ thuật elicitation
|
||||||
|
2. Chọn ra 5 phương pháp phù hợp nhất dựa trên loại nội dung và độ phức tạp
|
||||||
|
3. Hiển thị menu tương tác — chọn một phương pháp, xáo lại, hoặc liệt kê tất cả
|
||||||
|
4. Áp dụng phương pháp đã chọn để nâng cấp nội dung
|
||||||
|
5. Tiếp tục đưa ra lựa chọn cho các vòng cải thiện tiếp theo cho đến khi bạn chọn "Proceed"
|
||||||
|
|
||||||
|
**Đầu vào:** Phần nội dung cần cải thiện
|
||||||
|
|
||||||
|
**Đầu ra:** Phiên bản nội dung đã được nâng cấp
|
||||||
|
|
||||||
|
## bmad-review-adversarial-general
|
||||||
|
|
||||||
|
**Kiểu review hoài nghi, mặc định cho rằng vấn đề luôn tồn tại và phải đi tìm chúng.** Công cụ này đứng ở góc nhìn của một reviewer khó tính, thiếu kiên nhẫn với sản phẩm cẩu thả. Nó tìm xem còn thiếu gì, không chỉ tìm cái gì sai.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Bạn cần bảo đảm chất lượng trước khi chốt một deliverable
|
||||||
|
- Bạn muốn stress-test một spec, story hoặc tài liệu
|
||||||
|
- Bạn muốn tìm lỗ hổng bao phủ mà các review lạc quan thường bỏ sót
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Đọc nội dung với góc nhìn hoài nghi và khắt khe
|
||||||
|
2. Xác định vấn đề về độ đầy đủ, độ đúng và chất lượng
|
||||||
|
3. Chủ động tìm phần còn thiếu chứ không chỉ phần hiện diện nhưng sai
|
||||||
|
4. Phải tìm được tối thiểu 10 vấn đề, nếu không sẽ phân tích sâu hơn
|
||||||
|
|
||||||
|
**Đầu vào:**
|
||||||
|
|
||||||
|
- `content` *(bắt buộc)* — Diff, spec, story, tài liệu hoặc bất kỳ artifact nào
|
||||||
|
- `also_consider` *(tùy chọn)* — Các vùng bổ sung cần để ý
|
||||||
|
|
||||||
|
**Đầu ra:** Danh sách markdown gồm 10+ phát hiện kèm mô tả
|
||||||
|
|
||||||
|
## bmad-review-edge-case-hunter
|
||||||
|
|
||||||
|
**Đi qua mọi nhánh rẽ và điều kiện biên, chỉ báo cáo những trường hợp chưa được xử lý.** Đây là phương pháp thuần túy dựa trên truy vết đường đi, suy ra các lớp edge case một cách cơ học. Nó trực giao với adversarial review — khác phương pháp, không khác thái độ.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Bạn muốn bao phủ edge case toàn diện cho code hoặc logic
|
||||||
|
- Bạn cần một phương pháp bổ sung cho adversarial review
|
||||||
|
- Bạn đang review diff hoặc function để tìm điều kiện biên
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Liệt kê toàn bộ nhánh rẽ trong nội dung
|
||||||
|
2. Suy ra cơ học các lớp edge case: thiếu else/default, input không được gác, off-by-one, tràn số học, ép kiểu ngầm, race condition, lỗ hổng timeout
|
||||||
|
3. Đối chiếu từng đường đi với các guard hiện có
|
||||||
|
4. Chỉ báo cáo các đường đi chưa được xử lý, âm thầm bỏ qua những trường hợp đã được che chắn
|
||||||
|
|
||||||
|
**Đầu vào:**
|
||||||
|
|
||||||
|
- `content` *(bắt buộc)* — Diff, toàn file hoặc function
|
||||||
|
- `also_consider` *(tùy chọn)* — Các vùng bổ sung cần lưu ý
|
||||||
|
|
||||||
|
**Đầu ra:** Mảng JSON các phát hiện, mỗi phát hiện có `location`, `trigger_condition`, `guard_snippet` và `potential_consequence`
|
||||||
|
|
||||||
|
:::note[Các kiểu review bổ trợ nhau]
|
||||||
|
Hãy chạy cả `bmad-review-adversarial-general` và `bmad-review-edge-case-hunter` để có độ bao phủ trực giao. Adversarial review bắt lỗi về chất lượng và độ đầy đủ; edge case hunter bắt các đường đi chưa được xử lý.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## bmad-editorial-review-prose
|
||||||
|
|
||||||
|
**Biên tập câu chữ kiểu lâm sàng, tập trung vào độ rõ ràng khi truyền đạt.** Công cụ này review văn bản để tìm ra các vấn đề cản trở việc hiểu. Nó dùng Microsoft Writing Style Guide làm nền và vẫn giữ giọng văn của tác giả.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Bạn đã có bản nháp tài liệu và muốn trau chuốt câu chữ
|
||||||
|
- Bạn cần đảm bảo độ rõ ràng cho một nhóm độc giả cụ thể
|
||||||
|
- Bạn muốn sửa lỗi giao tiếp mà không áp đặt gu phong cách cá nhân
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Đọc nội dung, bỏ qua code block và frontmatter
|
||||||
|
2. Xác định các vấn đề cản trở hiểu nghĩa, không phải các sở thích phong cách
|
||||||
|
3. Khử trùng lặp những lỗi giống nhau xuất hiện nhiều nơi
|
||||||
|
4. Tạo bảng sửa lỗi ba cột
|
||||||
|
|
||||||
|
**Đầu vào:**
|
||||||
|
|
||||||
|
- `content` *(bắt buộc)* — Markdown, văn bản thường hoặc XML
|
||||||
|
- `style_guide` *(tùy chọn)* — Style guide riêng của dự án
|
||||||
|
- `reader_type` *(tùy chọn)* — `humans` mặc định cho độ rõ và nhịp đọc, hoặc `llm` cho độ chính xác và nhất quán
|
||||||
|
|
||||||
|
**Đầu ra:** Bảng markdown ba cột: Original Text | Revised Text | Changes
|
||||||
|
|
||||||
|
## bmad-editorial-review-structure
|
||||||
|
|
||||||
|
**Biên tập cấu trúc — đề xuất cắt, gộp, di chuyển và cô đọng.** Công cụ này review cách tổ chức tài liệu và đề xuất thay đổi mang tính nội dung để tăng độ rõ ràng và luồng đọc trước khi chỉnh câu chữ.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Một tài liệu được ghép từ nhiều nguồn con và cần tính nhất quán về cấu trúc
|
||||||
|
- Bạn muốn rút gọn độ dài tài liệu nhưng vẫn giữ được khả năng hiểu
|
||||||
|
- Bạn cần phát hiện chỗ lệch phạm vi hoặc thông tin quan trọng bị chôn vùi
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Phân tích tài liệu theo 5 mô hình cấu trúc: Tutorial, Reference, Explanation, Prompt, Strategic
|
||||||
|
2. Xác định phần dư thừa, lệch phạm vi và thông tin bị chìm
|
||||||
|
3. Tạo danh sách khuyến nghị theo mức ưu tiên: CUT, MERGE, MOVE, CONDENSE, QUESTION, PRESERVE
|
||||||
|
4. Ước tính số từ và phần trăm có thể giảm
|
||||||
|
|
||||||
|
**Đầu vào:**
|
||||||
|
|
||||||
|
- `content` *(bắt buộc)* — Tài liệu cần review
|
||||||
|
- `purpose` *(tùy chọn)* — Mục đích mong muốn, ví dụ "quickstart tutorial"
|
||||||
|
- `target_audience` *(tùy chọn)* — Ai sẽ đọc tài liệu này
|
||||||
|
- `reader_type` *(tùy chọn)* — `humans` hoặc `llm`
|
||||||
|
- `length_target` *(tùy chọn)* — Mục tiêu rút gọn, ví dụ "ngắn hơn 30%"
|
||||||
|
|
||||||
|
**Đầu ra:** Tóm tắt tài liệu, danh sách khuyến nghị ưu tiên và ước tính mức giảm
|
||||||
|
|
||||||
|
## bmad-shard-doc
|
||||||
|
|
||||||
|
**Tách file markdown lớn thành các file phần có tổ chức.** Công cụ này dùng các header cấp 2 làm điểm cắt để tạo ra một thư mục gồm các file phần tự chứa cùng một file chỉ mục.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Một file markdown đã quá lớn để quản lý hiệu quả, thường trên 500 dòng
|
||||||
|
- Bạn muốn chia một tài liệu nguyên khối thành các phần dễ điều hướng
|
||||||
|
- Bạn cần các file riêng để chỉnh sửa song song hoặc quản lý context cho LLM
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Xác nhận file nguồn tồn tại và là markdown
|
||||||
|
2. Tách tại các header cấp 2 `##` thành các file phần được đánh số
|
||||||
|
3. Tạo `index.md` chứa danh sách phần và liên kết
|
||||||
|
4. Hỏi bạn có muốn xóa, lưu trữ hay giữ file gốc không
|
||||||
|
|
||||||
|
**Đầu vào:** Đường dẫn file markdown nguồn, cùng thư mục đích tùy chọn
|
||||||
|
|
||||||
|
**Đầu ra:** Một thư mục gồm `index.md` và các file `01-{section}.md`, `02-{section}.md`, v.v.
|
||||||
|
|
||||||
|
## bmad-index-docs
|
||||||
|
|
||||||
|
**Tạo hoặc cập nhật mục lục cho toàn bộ tài liệu trong một thư mục.** Công cụ này quét thư mục, đọc từng file để hiểu mục đích của nó, rồi tạo `index.md` có tổ chức với liên kết và mô tả.
|
||||||
|
|
||||||
|
**Dùng khi:**
|
||||||
|
|
||||||
|
- Bạn cần một chỉ mục nhẹ để LLM quét nhanh các tài liệu hiện có
|
||||||
|
- Một thư mục tài liệu đã lớn và cần bảng mục lục có tổ chức
|
||||||
|
- Bạn muốn một cái nhìn tổng quan được tạo tự động và luôn theo kịp hiện trạng
|
||||||
|
|
||||||
|
**Cách hoạt động:**
|
||||||
|
|
||||||
|
1. Quét thư mục đích để lấy mọi file không ẩn
|
||||||
|
2. Đọc từng file để hiểu đúng mục đích thực tế của nó
|
||||||
|
3. Nhóm file theo loại, mục đích hoặc thư mục con
|
||||||
|
4. Tạo mô tả ngắn gọn, thường từ 3-10 từ cho mỗi file
|
||||||
|
|
||||||
|
**Đầu vào:** Đường dẫn thư mục đích
|
||||||
|
|
||||||
|
**Đầu ra:** `index.md` chứa danh sách file có tổ chức, liên kết tương đối và mô tả ngắn
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
---
|
||||||
|
title: Các Module Chính Thức
|
||||||
|
description: Các module bổ sung để xây agent tùy chỉnh, tăng cường sáng tạo, phát triển game và kiểm thử
|
||||||
|
sidebar:
|
||||||
|
order: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
BMad được mở rộng thông qua các module chính thức mà bạn chọn trong quá trình cài đặt. Những module bổ sung này cung cấp agent, workflow và task chuyên biệt cho các lĩnh vực cụ thể, vượt ra ngoài phần lõi tích hợp sẵn và BMM (Agile suite).
|
||||||
|
|
||||||
|
:::tip[Cài đặt module]
|
||||||
|
Chạy `npx bmad-method install` rồi chọn những module bạn muốn. Trình cài đặt sẽ tự xử lý phần tải về, cấu hình và tích hợp vào IDE.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## BMad Builder
|
||||||
|
|
||||||
|
Tạo agent tùy chỉnh, workflow tùy chỉnh và module chuyên biệt theo lĩnh vực với sự hỗ trợ có hướng dẫn. BMad Builder là meta-module để mở rộng chính framework này.
|
||||||
|
|
||||||
|
- **Mã:** `bmb`
|
||||||
|
- **npm:** [`bmad-builder`](https://www.npmjs.com/package/bmad-builder)
|
||||||
|
- **GitHub:** [bmad-code-org/bmad-builder](https://github.com/bmad-code-org/bmad-builder)
|
||||||
|
|
||||||
|
**Cung cấp:**
|
||||||
|
|
||||||
|
- Agent Builder — tạo AI agent chuyên biệt với chuyên môn và quyền truy cập công cụ tùy chỉnh
|
||||||
|
- Workflow Builder — thiết kế quy trình có cấu trúc với các bước và điểm quyết định
|
||||||
|
- Module Builder — đóng gói agent và workflow thành các module có thể chia sẻ và phát hành
|
||||||
|
- Thiết lập có tương tác bằng YAML cùng hỗ trợ publish lên npm
|
||||||
|
|
||||||
|
## Creative Intelligence Suite
|
||||||
|
|
||||||
|
Bộ công cụ vận hành bởi AI dành cho sáng tạo có cấu trúc, phát ý tưởng và đổi mới trong giai đoạn đầu phát triển. Bộ này cung cấp nhiều agent giúp brainstorming, design thinking và giải quyết vấn đề bằng các framework đã được kiểm chứng.
|
||||||
|
|
||||||
|
- **Mã:** `cis`
|
||||||
|
- **npm:** [`bmad-creative-intelligence-suite`](https://www.npmjs.com/package/bmad-creative-intelligence-suite)
|
||||||
|
- **GitHub:** [bmad-code-org/bmad-module-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite)
|
||||||
|
|
||||||
|
**Cung cấp:**
|
||||||
|
|
||||||
|
- Các agent Innovation Strategist, Design Thinking Coach và Brainstorming Coach
|
||||||
|
- Problem Solver và Creative Problem Solver cho tư duy hệ thống và tư duy bên lề
|
||||||
|
- Storyteller và Presentation Master cho kể chuyện và pitching
|
||||||
|
- Các framework phát ý tưởng như SCAMPER, Reverse Brainstorming và problem reframing
|
||||||
|
|
||||||
|
## Game Dev Studio
|
||||||
|
|
||||||
|
Các workflow phát triển game có cấu trúc, được điều chỉnh cho Unity, Unreal, Godot và các engine tùy chỉnh. Hỗ trợ làm prototype nhanh qua Quick Flow và sản xuất toàn diện bằng sprint theo epic.
|
||||||
|
|
||||||
|
- **Mã:** `gds`
|
||||||
|
- **npm:** [`bmad-game-dev-studio`](https://www.npmjs.com/package/bmad-game-dev-studio)
|
||||||
|
- **GitHub:** [bmad-code-org/bmad-module-game-dev-studio](https://github.com/bmad-code-org/bmad-module-game-dev-studio)
|
||||||
|
|
||||||
|
**Cung cấp:**
|
||||||
|
|
||||||
|
- Workflow tạo Game Design Document (GDD)
|
||||||
|
- Chế độ Quick Dev cho làm prototype nhanh
|
||||||
|
- Hỗ trợ thiết kế narrative cho nhân vật, hội thoại và world-building
|
||||||
|
- Bao phủ hơn 21 thể loại game cùng hướng dẫn kiến trúc theo engine
|
||||||
|
|
||||||
|
## Test Architect (TEA)
|
||||||
|
|
||||||
|
Chiến lược kiểm thử cấp doanh nghiệp, hướng dẫn tự động hóa và quyết định release gate thông qua một agent chuyên gia cùng chín workflow có cấu trúc. TEA vượt xa QA agent tích hợp sẵn nhờ ưu tiên theo rủi ro và truy vết yêu cầu.
|
||||||
|
|
||||||
|
- **Mã:** `tea`
|
||||||
|
- **npm:** [`bmad-method-test-architecture-enterprise`](https://www.npmjs.com/package/bmad-method-test-architecture-enterprise)
|
||||||
|
- **GitHub:** [bmad-code-org/bmad-method-test-architecture-enterprise](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise)
|
||||||
|
|
||||||
|
**Cung cấp:**
|
||||||
|
|
||||||
|
- Agent Murat (Master Test Architect and Quality Advisor)
|
||||||
|
- Các workflow cho test design, ATDD, automation, test review và traceability
|
||||||
|
- Đánh giá NFR, thiết lập CI và dựng sườn framework kiểm thử
|
||||||
|
- Ưu tiên P0-P3 cùng tích hợp tùy chọn với Playwright Utils và MCP
|
||||||
|
|
||||||
|
## Community Modules
|
||||||
|
|
||||||
|
Các module cộng đồng và một chợ module đang được chuẩn bị. Hãy theo dõi [tổ chức BMad trên GitHub](https://github.com/bmad-code-org) để cập nhật.
|
||||||
|
|
@ -0,0 +1,106 @@
|
||||||
|
---
|
||||||
|
title: Các Tùy Chọn Kiểm Thử
|
||||||
|
description: So sánh workflow QA tích hợp sẵn với module Test Architect (TEA) cho tự động hóa kiểm thử.
|
||||||
|
sidebar:
|
||||||
|
order: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
BMad cung cấp hai hướng kiểm thử: workflow QA tích hợp sẵn để tạo test nhanh và module Test Architect có thể cài thêm cho chiến lược kiểm thử c<><63>p doanh nghiệp.
|
||||||
|
|
||||||
|
## Nên Dùng Cái Nào?
|
||||||
|
|
||||||
|
| Yếu tố | QA tích hợp sẵn | Module TEA |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| **Phù hợp nhất với** | Dự án nhỏ-trung bình, cần bao phủ nhanh | Dự án lớn, miền nghiệp vụ bị ràng buộc hoặc phức tạp |
|
||||||
|
| **Thiết lập** | Không cần cài thêm, đã có sẵn trong BMM | Cài riêng qua `npx bmad-method install` |
|
||||||
|
| **Cách tiếp cận** | Tạo test nhanh, lặp tinh chỉnh sau | Lập kế hoạch trước rồi mới tạo test có truy vết |
|
||||||
|
| **Loại test** | API và E2E | API, E2E, ATDD, NFR và nhiều loại khác |
|
||||||
|
| **Chiến lược** | Happy path + edge case quan trọng | Ưu tiên theo rủi ro (P0-P3) |
|
||||||
|
| **Số workflow** | 1 (Automate) | 9 (design, ATDD, automate, review, trace và các workflow khác) |
|
||||||
|
|
||||||
|
:::tip[Bắt đầu với QA tích h<><68>p sẵn]
|
||||||
|
Phần lớn dự án nên bắt đầu với workflow QA tích hợp sẵn. Nếu sau này bạn cần chiến lược kiểm thử, quality gate hoặc truy vết yêu cầu, hãy cài TEA song song.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Workflow QA Tích Hợp Sẵn
|
||||||
|
|
||||||
|
Workflow QA tích hợp sẵn (`bmad-qa-generate-e2e-tests`) nằm trong module BMM (Agile suite), khả dụng thông qua Developer agent. Nó tạo test chạy được rất nhanh bằng framework kiểm thử hiện có của dự án, không cần thêm cấu hình hay bước cài đặt bổ sung.
|
||||||
|
|
||||||
|
**Trigger:** `QA` (thông qua Developer agent) hoặc `bmad-qa-generate-e2e-tests`
|
||||||
|
|
||||||
|
### Workflow Làm Gì
|
||||||
|
|
||||||
|
Workflow QA (Automate) gồm năm bước:
|
||||||
|
|
||||||
|
1. **Phát hiện framework test** — quét `package.json` và các file test hiện có để nhận ra framework của bạn như Jest, Vitest, Playwright, Cypress hoặc bất kỳ runner tiêu chuẩn nào. Nếu chưa có gì, nó sẽ phân tích stack dự án và đề xuất một lựa chọn.
|
||||||
|
2. **Xác định tính năng** — hỏi cần kiểm thử phần nào hoặc tự khám phá các tính năng trong codebase.
|
||||||
|
3. **Tạo API tests** — bao phủ status code, cấu trúc phản hồi, happy path và 1-2 trường hợp lỗi.
|
||||||
|
4. **Tạo E2E tests** — bao phủ workflow người dùng bằng semantic locator và assertion trên kết quả nhìn thấy được.
|
||||||
|
5. **Chạy và xác minh** — thực thi test vừa tạo và sửa lỗi hỏng ngay lập tức.
|
||||||
|
|
||||||
|
Workflow tạo một bản tóm tắt kiểm thử và lưu nó vào thư mục implementation artifacts của dự án.
|
||||||
|
|
||||||
|
### Mẫu Kiểm Thử
|
||||||
|
|
||||||
|
Các test được tạo theo triết lý “đơn giản và dễ bảo trì”:
|
||||||
|
|
||||||
|
- **Chỉ dùng API chuẩn của framework** — không kéo thêm utility ngoài hay abstraction tùy chỉnh
|
||||||
|
- **Semantic locator** cho UI test — dùng role, label, text thay vì CSS selector
|
||||||
|
- **Test độc lập** — không phụ thuộc thứ tự chạy
|
||||||
|
- **Không hardcode wait hoặc sleep**
|
||||||
|
- **Mô tả rõ ràng** để test cũng đóng vai trò tài liệu tính năng
|
||||||
|
|
||||||
|
:::note[Phạm vi]
|
||||||
|
Workflow QA chỉ tạo test. Nếu bạn cần code review hoặc xác nhận story, hãy dùng workflow Code Review (`CR`).
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Khi Nào Nên Dùng QA Tích Hợp S<><53><EFBFBD>n
|
||||||
|
|
||||||
|
- Cần bao phủ test nhanh cho một tính năng mới hoặc hiện có
|
||||||
|
- Muốn tự động hóa kiểm thử thân thiện với người mới mà không cần thiết lập phức tạp
|
||||||
|
- Muốn các pattern test chuẩn mà lập trình viên nào cũng đọc và bảo trì được
|
||||||
|
- Dự án nhỏ-trung bình, nơi chiến lược kiểm thử toàn diện là không cần thiết
|
||||||
|
|
||||||
|
## Module Test Architect (TEA)
|
||||||
|
|
||||||
|
TEA là một module độc lập cung cấp agent chuyên gia Murat cùng chín workflow có cấu trúc cho kiểm thử cấp doanh nghiệp. Nó vượt ra ngoài việc tạo test để bao gồm chiến lược kiểm thử, lập kế hoạch theo rủi ro, quality gate và truy vết yêu cầu.
|
||||||
|
|
||||||
|
- **Tài liệu:** [TEA Module Docs](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/)
|
||||||
|
- **Cài đặt:** `npx bmad-method install` rồi chọn module TEA
|
||||||
|
- **npm:** [`bmad-method-test-architecture-enterprise`](https://www.npmjs.com/package/bmad-method-test-architecture-enterprise)
|
||||||
|
|
||||||
|
### TEA Cung Cấp Gì
|
||||||
|
|
||||||
|
| Workflow | Mục đích |
|
||||||
|
| --- | --- |
|
||||||
|
| Test Design | Tạo chiến lược kiểm thử toàn diện gắn với yêu cầu |
|
||||||
|
| ATDD | Phát triển hướng acceptance test với tiêu chí của stakeholder |
|
||||||
|
| Automate | Tạo test bằng pattern và utility nâng cao |
|
||||||
|
| Test Review | Kiểm tra chất lượng và độ bao phủ của test so với chiến lược |
|
||||||
|
| Traceability | Liên kết test ngược về yêu cầu để phục vụ audit và tuân thủ |
|
||||||
|
| NFR Assessment | Đánh giá các yêu cầu phi chức năng như hiệu năng, bảo mật |
|
||||||
|
| CI Setup | Cấu hình thực thi test trong pipeline tích hợp liên tục |
|
||||||
|
| Framework Scaffolding | Dựng hạ tầng và cấu trúc dự án kiểm thử |
|
||||||
|
| Release Gate | Ra quyết định phát hành go/no-go dựa trên dữ liệu |
|
||||||
|
|
||||||
|
TEA cũng hỗ trợ ưu tiên theo rủi ro P0-P3 và tích hợp tùy chọn với Playwright Utils cùng công cụ MCP.
|
||||||
|
|
||||||
|
### Khi Nào Nên Dùng TEA
|
||||||
|
|
||||||
|
- Dự án cần truy vết yêu cầu hoặc tài liệu tuân thủ
|
||||||
|
- Đội ngũ cần ưu tiên kiểm thử theo rủi ro trên nhiều tính năng
|
||||||
|
- Môi trường doanh nghiệp có quality gate chính thức trước phát hành
|
||||||
|
- Miền nghiệp vụ phức tạp, nơi chiến lược kiểm thử phải được lên trước khi viết test
|
||||||
|
- Dự án đã vượt quá mô hình một workflow của QA tích hợp sẵn
|
||||||
|
|
||||||
|
## Kiểm Thử Nằm Ở Đâu Trong Workflow
|
||||||
|
|
||||||
|
Workflow QA Automate xuất hiện ở Phase 4 (Implementation) trong workflow map của BMad Method. Nó được thiết kế để chạy **sau khi hoàn tất trọn vẹn một epic** — tức là khi mọi story trong epic đó đã được triển khai và code review xong. Trình tự điển hình là:
|
||||||
|
|
||||||
|
1. Với mỗi story trong epic: triển khai bằng Dev (`DS`), sau đó xác nhận bằng Code Review (`CR`)
|
||||||
|
2. Sau khi epic hoàn tất: tạo test bằng `QA` (thông qua Developer agent) hoặc workflow Automate của TEA
|
||||||
|
3. Chạy retrospective (`bmad-retrospective`) để ghi nhận bài học rút ra
|
||||||
|
|
||||||
|
Workflow QA tích hợp sẵn làm việc trực tiếp từ source code mà không cần nạp tài liệu lập kế hoạch như PRD hay architecture. Các workflow của TEA có thể tích hợp với artifact lập kế hoạch ở các bước trước để phục vụ truy vết.
|
||||||
|
|
||||||
|
Để hiểu rõ hơn kiểm thử nằm ở đâu trong quy trình tổng thể, xem [Workflow Map](./workflow-map.md).
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
---
|
||||||
|
title: "Workflow Map"
|
||||||
|
description: Tài liệu trực quan về các phase workflow và output của BMad Method
|
||||||
|
sidebar:
|
||||||
|
order: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
BMad Method (BMM) là một module trong hệ sinh thái BMad, tập trung vào các thực hành tốt nhất của context engineering và lập kế hoạch. AI agent hoạt động hiệu quả nhất khi có ngữ cảnh rõ ràng và có cấu trúc. Hệ thống BMM xây dựng ngữ cảnh đó theo tiến trình qua 4 phase riêng biệt. Mỗi phase, cùng với nhiều workflow tùy chọn bên trong phase đó, tạo ra các tài liệu làm đầu vào cho phase kế tiếp, nhờ vậy agent luôn biết phải xây gì và vì sao.
|
||||||
|
|
||||||
|
Lý do và các khái niệm nền tảng ở đây đến từ các phương pháp agile đã được áp dụng rất thành công trong toàn ngành như một khung tư duy.
|
||||||
|
|
||||||
|
Nếu có lúc nào bạn không chắc nên làm gì, skill `bmad-help` sẽ giúp bạn giữ đúng hướng hoặc biết bước tiếp theo. Bạn vẫn có thể dùng trang này để tham chiếu, nhưng `bmad-help` mang tính tương tác đầy đủ và nhanh hơn nhiều nếu bạn đã cài BMad Method. Ngoài ra, nếu bạn đang dùng thêm các module mở rộng BMad Method hoặc các module bổ sung khác, `bmad-help` cũng sẽ phát triển theo để biết mọi thứ đang có sẵn và đưa ra lời khuyên tốt nhất tại thời điểm đó.
|
||||||
|
|
||||||
|
Lưu ý quan trọng cuối cùng: mọi workflow dưới đây đều có thể chạy trực tiếp bằng công cụ bạn chọn thông qua skill, hoặc bằng cách nạp agent trước rồi chọn mục tương ứng trong menu agent.
|
||||||
|
|
||||||
|
<iframe src="/workflow-map-diagram.html" title="Sơ đồ Workflow Map của BMad Method" width="100%" height="100%" style="border-radius: 8px; border: 1px solid #334155; min-height: 900px;"></iframe>
|
||||||
|
|
||||||
|
<p style="font-size: 0.8rem; text-align: right; margin-top: -0.5rem; margin-bottom: 1rem;">
|
||||||
|
<a href="/workflow-map-diagram.html" target="_blank" rel="noopener noreferrer">Mở sơ đồ trong tab mới ↗</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
## Phase 1: Analysis (Tùy chọn)
|
||||||
|
|
||||||
|
Khám phá không gian vấn đề và xác nhận ý tưởng trước khi cam kết đi vào lập kế hoạch. [**Tìm hiểu từng công cụ làm gì và nên dùng khi nào**](../explanation/analysis-phase.md).
|
||||||
|
|
||||||
|
| Workflow | Mục đích | Tạo ra |
|
||||||
|
| ------------------------------- | -------------------------------------------------------------------------- | ------------------------- |
|
||||||
|
| `bmad-brainstorming` | Brainstorm ý tưởng dự án với sự điều phối của brainstorming coach | `brainstorming-report.md` |
|
||||||
|
| `bmad-domain-research`, `bmad-market-research`, `bmad-technical-research` | Xác thực giả định về thị trường, kỹ thuật hoặc miền nghiệp vụ | Kết quả nghiên cứu |
|
||||||
|
| `bmad-product-brief` | Ghi lại tầm nhìn chiến lược — phù hợp nhất khi concept của bạn đã rõ | `product-brief.md` |
|
||||||
|
| `bmad-prfaq` | Working Backwards — stress-test và rèn sắc concept sản phẩm của bạn | `prfaq-{project}.md` |
|
||||||
|
|
||||||
|
## Phase 2: Planning
|
||||||
|
|
||||||
|
Xác định cần xây gì và xây cho ai.
|
||||||
|
|
||||||
|
| Workflow | Mục đích | Tạo ra |
|
||||||
|
| --------------------------- | ---------------------------------------- | ------------ |
|
||||||
|
| `bmad-create-prd` | Xác định yêu cầu (FR/NFR) | `PRD.md` |
|
||||||
|
| `bmad-create-ux-design` | Thiết kế trải nghiệm người dùng khi UX là yếu tố quan trọng | `ux-spec.md` |
|
||||||
|
|
||||||
|
## Phase 3: Solutioning
|
||||||
|
|
||||||
|
Quyết định cách xây và chia nhỏ công việc thành stories.
|
||||||
|
|
||||||
|
| Workflow | Mục đích | Tạo ra |
|
||||||
|
| ----------------------------------------- | ------------------------------------------ | --------------------------- |
|
||||||
|
| `bmad-create-architecture` | Làm rõ các quyết định kỹ thuật | `architecture.md` kèm ADR |
|
||||||
|
| `bmad-create-epics-and-stories` | Phân rã yêu cầu thành các phần việc có thể triển khai | Các file epic chứa stories |
|
||||||
|
| `bmad-check-implementation-readiness` | Cổng kiểm tra trước khi triển khai | Quyết định PASS/CONCERNS/FAIL |
|
||||||
|
|
||||||
|
## Phase 4: Implementation
|
||||||
|
|
||||||
|
Xây dựng từng story một. Tự động hóa toàn bộ phase 4 sẽ sớm ra mắt.
|
||||||
|
|
||||||
|
| Workflow | Mục đích | Tạo ra |
|
||||||
|
| -------------------------- | ------------------------------------------------------------------------ | -------------------------------- |
|
||||||
|
| `bmad-sprint-planning` | Khởi tạo theo dõi, thường chạy một lần mỗi dự án để sắp thứ tự chu trình dev | `sprint-status.yaml` |
|
||||||
|
| `bmad-create-story` | Chuẩn bị story tiếp theo cho implementation | `story-[slug].md` |
|
||||||
|
| `bmad-dev-story` | Triển khai story | Code chạy được + tests |
|
||||||
|
| `bmad-code-review` | Kiểm tra chất lượng phần triển khai | Được duyệt hoặc yêu cầu thay đổi |
|
||||||
|
| `bmad-correct-course` | Xử lý thay đổi lớn giữa sprint | Kế hoạch cập nhật hoặc định tuyến lại |
|
||||||
|
| `bmad-sprint-status` | Theo dõi tiến độ sprint và trạng thái story | Cập nhật trạng thái sprint |
|
||||||
|
| `bmad-retrospective` | Review sau khi hoàn tất epic | Bài học rút ra |
|
||||||
|
|
||||||
|
## Quick Flow (Nhánh Song Song)
|
||||||
|
|
||||||
|
Bỏ qua phase 1-3 đối với những việc nhỏ, rõ và đã hiểu đầy đủ.
|
||||||
|
|
||||||
|
| Workflow | Mục đích | Tạo ra |
|
||||||
|
| ------------------ | --------------------------------------------------------------------------- | ---------------------- |
|
||||||
|
| `bmad-quick-dev` | Luồng nhanh hợp nhất — làm rõ yêu cầu, lập kế hoạch, triển khai, review và trình bày | `spec-*.md` + mã nguồn |
|
||||||
|
|
||||||
|
## Quản Lý Context
|
||||||
|
|
||||||
|
Mỗi tài liệu sẽ trở thành context cho phase tiếp theo. PRD cho architect biết những ràng buộc nào quan trọng. Architecture chỉ cho dev agent những pattern cần tuân theo. File story cung cấp context tập trung và đầy đủ cho việc triển khai. Nếu không có cấu trúc này, agent sẽ đưa ra quyết định thiếu nhất quán.
|
||||||
|
|
||||||
|
### Project Context
|
||||||
|
|
||||||
|
:::tip[Khuyến nghị]
|
||||||
|
Hãy tạo `project-context.md` để bảo đảm AI agent tuân theo quy tắc và sở thích của dự án. File này hoạt động như một bản hiến pháp cho dự án của bạn, nó dẫn dắt các quyết định triển khai xuyên suốt mọi workflow. File tùy chọn này có thể được tạo ở cuối bước Architecture Creation, hoặc cũng có thể được sinh trong dự án hiện hữu để ghi lại những điều quan trọng cần giữ đồng bộ với quy ước đang có.
|
||||||
|
:::
|
||||||
|
|
||||||
|
**Cách tạo:**
|
||||||
|
|
||||||
|
- **Thủ công** — Tạo `_bmad-output/project-context.md` với stack công nghệ và các quy tắc triển khai của bạn
|
||||||
|
- **Tự sinh** — Chạy `bmad-generate-project-context` để sinh tự động từ architecture hoặc codebase
|
||||||
|
|
||||||
|
[**Tìm hiểu thêm về project-context.md**](../explanation/project-context.md)
|
||||||
|
|
@ -0,0 +1,136 @@
|
||||||
|
---
|
||||||
|
title: Lộ trình
|
||||||
|
description: Điều gì sẽ đến tiếp theo với BMad - tính năng mới, cải tiến và đóng góp từ cộng đồng
|
||||||
|
---
|
||||||
|
|
||||||
|
# Lộ Trình Công Khai Của BMad Method
|
||||||
|
|
||||||
|
BMad Method, BMad Method Module (BMM) và BMad Builder (BMB) đang tiếp tục phát triển. Đây là những gì chúng tôi đang thực hiện và sắp ra mắt.
|
||||||
|
|
||||||
|
<div class="roadmap-container">
|
||||||
|
|
||||||
|
<h2 class="roadmap-section-title">Đang triển khai</h2>
|
||||||
|
|
||||||
|
<div class="roadmap-future">
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🧩</span>
|
||||||
|
<h4>Kiến Trúc Skills Phổ Quát</h4>
|
||||||
|
<p>Một skill, dùng trên mọi nền tảng. Viết một lần, chạy ở khắp nơi.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🏗️</span>
|
||||||
|
<h4>BMad Builder v1</h4>
|
||||||
|
<p>Tạo AI agent và workflow sẵn sàng cho production với evals, teams và graceful degradation được tích hợp sẵn.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🧠</span>
|
||||||
|
<h4>Hệ Thống Project Context</h4>
|
||||||
|
<p>AI thực sự hiểu dự án của bạn. Ngữ cảnh nhận biết framework và phát triển cùng codebase của bạn.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">📦</span>
|
||||||
|
<h4>Skills Tập Trung</h4>
|
||||||
|
<p>Cài một lần, dùng ở mọi nơi. Chia sẻ skills giữa các dự án mà không làm rối file.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🔄</span>
|
||||||
|
<h4>Skills Thích Ứng</h4>
|
||||||
|
<p>Skills hiểu công cụ bạn đang dùng. Biến thể tối ưu cho Claude, Codex, Kimi, OpenCode và nhiều công cụ khác.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">📝</span>
|
||||||
|
<h4>Blog BMad Team Pros</h4>
|
||||||
|
<p>Các bài hướng dẫn, bài viết và góc nhìn từ đội ngũ. Sắp ra mắt.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="roadmap-section-title">Mới bắt đầu</h2>
|
||||||
|
|
||||||
|
<div class="roadmap-future">
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🏪</span>
|
||||||
|
<h4>Chợ Skills</h4>
|
||||||
|
<p>Khám phá, cài đặt và cập nhật skills do cộng đồng xây dựng. Chỉ cần một lệnh curl là có thêm siêu năng lực.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🎨</span>
|
||||||
|
<h4>Tùy Biến Workflow</h4>
|
||||||
|
<p>Biến nó thành của riêng bạn. Tích hợp Jira, Linear, output tùy chỉnh: workflow của bạn, luật của bạn.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🚀</span>
|
||||||
|
<h4>Tối Ưu Hóa Phase 1-3</h4>
|
||||||
|
<p>Lập kế hoạch cực nhanh với cơ chế thu thập context bằng sub-agent. YOLO mode kết hợp với hướng dẫn có kiểm soát.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🌐</span>
|
||||||
|
<h4>Sẵn Sàng Cho Doanh Nghiệp</h4>
|
||||||
|
<p>SSO, audit logs, team workspaces. Toàn bộ phần “không hào nhoáng” nhưng khiến doanh nghiệp yên tâm triển khai.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">💎</span>
|
||||||
|
<h4>Bùng Nổ Module Cộng Đồng</h4>
|
||||||
|
<p>Giải trí, bảo mật, trị liệu, roleplay và nhiều hơn nữa. Mở rộng nền tảng BMad Method.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">⚡</span>
|
||||||
|
<h4>Tự Động Hóa Dev Loop</h4>
|
||||||
|
<p>Chế độ autopilot tùy chọn cho phát triển phần mềm. Để AI xử lý flow trong khi vẫn giữ chất lượng ở mức cao.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="roadmap-section-title">Cộng đồng và đội ngũ</h2>
|
||||||
|
|
||||||
|
<div class="roadmap-future">
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🎙️</span>
|
||||||
|
<h4>Podcast The BMad Method</h4>
|
||||||
|
<p>Các cuộc trò chuyện về phát triển phần mềm AI-native. Ra mắt ngày 1 tháng 3 năm 2026.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🎓</span>
|
||||||
|
<h4>Lớp Master Class The BMad Method</h4>
|
||||||
|
<p>Đi từ người dùng thành chuyên gia. Đào sâu vào từng phase, từng workflow và từng bí quyết.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🏗️</span>
|
||||||
|
<h4>Lớp Master Class BMad Builder</h4>
|
||||||
|
<p>Tự xây agent của riêng bạn. Kỹ thuật nâng cao cho lúc bạn đã sẵn sàng tạo ra thứ mới, không chỉ sử dụng.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">⚡</span>
|
||||||
|
<h4>BMad Prototype First</h4>
|
||||||
|
<p>Từ ý tưởng đến prototype chạy được chỉ trong một phiên làm việc. Tạo ứng dụng mơ ước của bạn như một tác phẩm thủ công tinh chỉnh.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🌴</span>
|
||||||
|
<h4>BMad BALM!</h4>
|
||||||
|
<p>Quản trị cuộc sống cho người dùng AI-native. Tasks, habits, goals: AI copilot của bạn cho mọi thứ.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🖥️</span>
|
||||||
|
<h4>Giao Diện Chính Thức</h4>
|
||||||
|
<p>Một giao diện đẹp cho toàn bộ hệ sinh thái BMad. Sức mạnh của CLI, độ hoàn thiện của GUI.</p>
|
||||||
|
</div>
|
||||||
|
<div class="roadmap-future-card">
|
||||||
|
<span class="roadmap-emoji">🔒</span>
|
||||||
|
<h4>BMad in a Box</h4>
|
||||||
|
<p>Tự host, air-gapped, chuẩn doanh nghiệp. Trợ lý AI của bạn, hạ tầng của bạn, quyền kiểm soát của bạn.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="text-align: center; margin-top: 3rem; padding: 2rem; background: var(--color-bg-card); border-radius: 12px; border: 1px solid var(--color-border);">
|
||||||
|
<h3 style="margin: 0 0 1rem;">Muốn đóng góp?</h3>
|
||||||
|
<p style="color: var(--slate-color-400); margin: 0;">
|
||||||
|
Đây mới chỉ là một phần của những gì đang được lên kế hoạch. Đội ngũ mã nguồn mở BMad luôn chào đón contributor!<br />
|
||||||
|
<a href="https://github.com/bmad-code-org/BMAD-METHOD" style="color: var(--color-in-progress);">Tham gia cùng chúng tôi trên GitHub</a> để cùng định hình tương lai của phát triển phần mềm hướng AI.
|
||||||
|
</p>
|
||||||
|
<p style="color: var(--slate-color-400); margin: 1.5rem 0 0;">
|
||||||
|
Nếu bạn thích những gì chúng tôi đang xây dựng, chúng tôi trân trọng cả <a href="https://buymeacoffee.com/bmad" style="color: var(--color-in-progress);">hỗ trợ</a> một lần lẫn hàng tháng.
|
||||||
|
</p>
|
||||||
|
<p style="color: var(--slate-color-400); margin: 1rem 0 0;">
|
||||||
|
Với tài trợ doanh nghiệp, hợp tác, diễn thuyết, đào tạo hoặc liên hệ truyền thông:{" "}
|
||||||
|
<a href="mailto:contact@bmadcode.com" style="color: var(--color-in-progress);">contact@bmadcode.com</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,276 @@
|
||||||
|
---
|
||||||
|
title: "Bắt đầu"
|
||||||
|
description: Cài đặt BMad và xây dựng dự án đầu tiên của bạn
|
||||||
|
---
|
||||||
|
|
||||||
|
Xây dựng phần mềm nhanh hơn bằng các workflow vận hành bởi AI, với những agent chuyên biệt hướng dẫn bạn qua các bước lập kế hoạch, kiến trúc và triển khai.
|
||||||
|
|
||||||
|
## Bạn Sẽ Học Được Gì
|
||||||
|
|
||||||
|
- Cài đặt và khởi tạo BMad Method cho một dự án mới
|
||||||
|
- Dùng **BMad-Help** — trợ lý thông minh biết bước tiếp theo bạn nên làm gì
|
||||||
|
- Chọn nhánh lập kế hoạch phù hợp với quy mô dự án
|
||||||
|
- Đi qua các phase từ yêu cầu đến code chạy được
|
||||||
|
- Sử dụng agent và workflow hiệu quả
|
||||||
|
|
||||||
|
:::note[Điều kiện tiên quyết]
|
||||||
|
- **Node.js 20+** — Bắt buộc cho trình cài đặt
|
||||||
|
- **Git** — Khuyến nghị để quản lý phiên bản
|
||||||
|
- **IDE có AI** — Claude Code, Cursor hoặc công cụ tương tự
|
||||||
|
- **Một ý tưởng dự án** — Chỉ cần đơn giản cũng đủ để học
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::tip[Cách Dễ Nhất]
|
||||||
|
**Cài đặt** → `npx bmad-method install`
|
||||||
|
**Hỏi** → `bmad-help what should I do first?`
|
||||||
|
**Xây dựng** → Để BMad-Help dẫn bạn qua từng workflow
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Làm Quen Với BMad-Help: Người Dẫn Đường Thông Minh Của Bạn
|
||||||
|
|
||||||
|
**BMad-Help là cách nhanh nhất để bắt đầu với BMad.** Bạn không cần phải nhớ workflow hay phase nào cả, chỉ cần hỏi, và BMad-Help sẽ:
|
||||||
|
|
||||||
|
- **Kiểm tra dự án của bạn** để xem những gì đã hoàn thành
|
||||||
|
- **Hiển thị các lựa chọn** dựa trên những module bạn đã cài
|
||||||
|
- **Đề xuất bước tiếp theo** — bao gồm cả tác vụ bắt buộc đầu tiên
|
||||||
|
- **Trả lời câu hỏi** như “Tôi có ý tưởng cho một sản phẩm SaaS, tôi nên bắt đầu từ đâu?”
|
||||||
|
|
||||||
|
### Cách Dùng BMad-Help
|
||||||
|
|
||||||
|
Chạy trong AI IDE của bạn bằng cách gọi skill:
|
||||||
|
|
||||||
|
```text
|
||||||
|
bmad-help
|
||||||
|
```
|
||||||
|
|
||||||
|
Hoặc ghép cùng câu hỏi để nhận hướng dẫn có ngữ cảnh:
|
||||||
|
|
||||||
|
```text
|
||||||
|
bmad-help I have an idea for a SaaS product, I already know all the features I want. where do I get started?
|
||||||
|
```
|
||||||
|
|
||||||
|
BMad-Help sẽ trả lời:
|
||||||
|
- Điều gì được khuyến nghị trong tình huống của bạn
|
||||||
|
- Tác vụ bắt buộc đầu tiên là gì
|
||||||
|
- Phần còn lại của quy trình sẽ trông như thế nào
|
||||||
|
|
||||||
|
### Nó Cũng Điều Khiển Workflow
|
||||||
|
|
||||||
|
BMad-Help không chỉ trả lời câu hỏi — **nó còn tự động chạy ở cuối mỗi workflow** để cho bạn biết chính xác bước tiếp theo cần làm là gì. Không phải đoán, không phải lục tài liệu, chỉ có chỉ dẫn rõ ràng về workflow bắt buộc tiếp theo.
|
||||||
|
|
||||||
|
:::tip[Bắt Đầu Từ Đây]
|
||||||
|
Sau khi cài BMad, hãy gọi skill `bmad-help` ngay. Nó sẽ nhận biết các module bạn đã cài và hướng bạn đến điểm bắt đầu phù hợp cho dự án.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Hiểu Về BMad
|
||||||
|
|
||||||
|
BMad giúp bạn xây dựng phần mềm thông qua các workflow có hướng dẫn với những AI agent chuyên biệt. Quy trình gồm bốn phase:
|
||||||
|
|
||||||
|
| Phase | Tên | Điều xảy ra |
|
||||||
|
| ----- | -------------- | --------------------------------------------------- |
|
||||||
|
| 1 | Analysis | Brainstorming, nghiên cứu, product brief hoặc PRFAQ *(tùy chọn)* |
|
||||||
|
| 2 | Planning | Tạo tài liệu yêu cầu (PRD hoặc spec) |
|
||||||
|
| 3 | Solutioning | Thiết kế kiến trúc *(chỉ dành cho BMad Method/Enterprise)* |
|
||||||
|
| 4 | Implementation | Xây dựng theo từng epic, từng story |
|
||||||
|
|
||||||
|
**[Mở Workflow Map](../reference/workflow-map.md)** để khám phá các phase, workflow và cách quản lý context.
|
||||||
|
|
||||||
|
Dựa trên độ phức tạp của dự án, BMad cung cấp ba nhánh lập kế hoạch:
|
||||||
|
|
||||||
|
| Nhánh | Phù hợp nhất với | Tài liệu được tạo |
|
||||||
|
| --------------- | ------------------------------------------------------ | -------------------------------------- |
|
||||||
|
| **Quick Flow** | Sửa lỗi, tính năng đơn giản, phạm vi rõ ràng (1-15 story) | Chỉ spec |
|
||||||
|
| **BMad Method** | Sản phẩm, nền tảng, tính năng phức tạp (10-50+ story) | PRD + Architecture + UX |
|
||||||
|
| **Enterprise** | Yêu cầu tuân thủ, hệ thống đa tenant (30+ story) | PRD + Architecture + Security + DevOps |
|
||||||
|
|
||||||
|
:::note
|
||||||
|
Số lượng story chỉ là gợi ý, không phải định nghĩa cứng. Hãy chọn nhánh dựa trên nhu cầu lập kế hoạch, không phải phép đếm story.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Cài Đặt
|
||||||
|
|
||||||
|
Mở terminal trong thư mục dự án và chạy:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install
|
||||||
|
```
|
||||||
|
|
||||||
|
Nếu bạn muốn dùng bản prerelease mới nhất thay vì kênh release mặc định, hãy dùng `npx bmad-method@next install`.
|
||||||
|
|
||||||
|
Khi được hỏi chọn module, hãy chọn **BMad Method**.
|
||||||
|
|
||||||
|
Trình cài đặt sẽ tạo hai thư mục:
|
||||||
|
- `_bmad/` — agents, workflows, tasks và cấu hình
|
||||||
|
- `_bmad-output/` — hiện tại để trống, nhưng đây là nơi các artifact của bạn sẽ được lưu
|
||||||
|
|
||||||
|
:::tip[Bước Tiếp Theo Của Bạn]
|
||||||
|
Mở AI IDE trong thư mục dự án rồi chạy:
|
||||||
|
|
||||||
|
```text
|
||||||
|
bmad-help
|
||||||
|
```
|
||||||
|
|
||||||
|
BMad-Help sẽ nhận biết bạn đã làm đến đâu và đề xuất chính xác bước tiếp theo. Bạn cũng có thể hỏi những câu như “Tôi có những lựa chọn nào?” hoặc “Tôi có ý tưởng SaaS, nên bắt đầu từ đâu?”
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::note[Cách Nạp Agent Và Chạy Workflow]
|
||||||
|
Mỗi workflow có một **skill** được gọi bằng tên trong IDE của bạn, ví dụ `bmad-create-prd`. Công cụ AI sẽ nhận diện tên `bmad-*` và chạy nó, bạn không cần nạp agent riêng. Bạn cũng có thể gọi trực tiếp skill của agent để trò chuyện tổng quát, ví dụ `bmad-agent-pm` cho PM agent.
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::caution[Chat Mới]
|
||||||
|
Luôn bắt đầu một chat mới cho mỗi workflow. Điều này tránh các vấn đề do giới hạn context gây ra.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Bước 1: Tạo Kế Hoạch
|
||||||
|
|
||||||
|
Đi qua các phase 1-3. **Dùng chat mới cho từng workflow.**
|
||||||
|
|
||||||
|
:::tip[Project Context (Tùy chọn)]
|
||||||
|
Trước khi bắt đầu, hãy cân nhắc tạo `project-context.md` để ghi lại các ưu tiên kỹ thuật và quy tắc triển khai. Nhờ vậy mọi AI agent sẽ tuân theo cùng một quy ước trong suốt dự án.
|
||||||
|
|
||||||
|
Bạn có thể tạo thủ công tại `_bmad-output/project-context.md` hoặc sinh ra sau phần kiến trúc bằng `bmad-generate-project-context`. [Xem thêm](../explanation/project-context.md).
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Phase 1: Analysis (Tùy chọn)
|
||||||
|
|
||||||
|
Tất cả workflow trong phase này đều là tùy chọn. [**Chưa chắc nên dùng cái nào?**](../explanation/analysis-phase.md)
|
||||||
|
- **brainstorming** (`bmad-brainstorming`) — Gợi ý ý tưởng có hướng dẫn
|
||||||
|
- **research** (`bmad-market-research` / `bmad-domain-research` / `bmad-technical-research`) — Nghiên cứu thị trường, miền nghiệp vụ và kỹ thuật
|
||||||
|
- **product-brief** (`bmad-product-brief`) — Tài liệu nền tảng được khuyến nghị khi concept của bạn đã rõ
|
||||||
|
- **prfaq** (`bmad-prfaq`) — Bài kiểm tra Working Backwards để stress-test và rèn sắc concept sản phẩm của bạn
|
||||||
|
|
||||||
|
### Phase 2: Planning (Bắt buộc)
|
||||||
|
|
||||||
|
**Với nhánh BMad Method và Enterprise:**
|
||||||
|
1. Gọi **PM agent** (`bmad-agent-pm`) trong một chat mới
|
||||||
|
2. Chạy workflow `bmad-create-prd` (`bmad-create-prd`)
|
||||||
|
3. Kết quả: `PRD.md`
|
||||||
|
|
||||||
|
**Với nhánh Quick Flow:**
|
||||||
|
- Chạy `bmad-quick-dev` — workflow này gộp cả planning và implementation trong một lần, nên bạn có thể chuyển thẳng sang triển khai
|
||||||
|
|
||||||
|
:::note[Thiết kế UX (Tùy chọn)]
|
||||||
|
Nếu dự án của bạn có giao diện người dùng, hãy gọi **UX-Designer agent** (`bmad-agent-ux-designer`) và chạy workflow thiết kế UX (`bmad-create-ux-design`) sau khi tạo PRD.
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Phase 3: Solutioning (BMad Method/Enterprise)
|
||||||
|
|
||||||
|
**Tạo Architecture**
|
||||||
|
1. Gọi **Architect agent** (`bmad-agent-architect`) trong một chat mới
|
||||||
|
2. Chạy `bmad-create-architecture` (`bmad-create-architecture`)
|
||||||
|
3. Kết quả: tài liệu kiến trúc chứa các quyết định kỹ thuật
|
||||||
|
|
||||||
|
**Tạo Epics và Stories**
|
||||||
|
|
||||||
|
:::tip[Cải tiến trong V6]
|
||||||
|
Epics và stories giờ được tạo *sau* kiến trúc. Điều này giúp story có chất lượng tốt hơn vì các quyết định kiến trúc như database, API pattern và tech stack ảnh hưởng trực tiếp đến cách chia nhỏ công việc.
|
||||||
|
:::
|
||||||
|
|
||||||
|
1. Gọi **PM agent** (`bmad-agent-pm`) trong một chat mới
|
||||||
|
2. Chạy `bmad-create-epics-and-stories` (`bmad-create-epics-and-stories`)
|
||||||
|
3. Workflow sẽ dùng cả PRD lẫn Architecture để tạo story có đủ ngữ cảnh kỹ thuật
|
||||||
|
|
||||||
|
**Kiểm tra mức sẵn sàng để triển khai** *(Rất nên dùng)*
|
||||||
|
1. Gọi **Architect agent** (`bmad-agent-architect`) trong một chat mới
|
||||||
|
2. Chạy `bmad-check-implementation-readiness` (`bmad-check-implementation-readiness`)
|
||||||
|
3. Xác nhận tính nhất quán giữa toàn bộ tài liệu lập kế hoạch
|
||||||
|
|
||||||
|
## Bước 2: Xây Dựng Dự Án
|
||||||
|
|
||||||
|
Sau khi lập kế hoạch xong, chuyển sang implementation. **Mỗi workflow nên chạy trong một chat mới.**
|
||||||
|
|
||||||
|
### Khởi Tạo Sprint Planning
|
||||||
|
|
||||||
|
Gọi **Developer agent** (`bmad-agent-dev`) và chạy `bmad-sprint-planning` (`bmad-sprint-planning`). Workflow này sẽ tạo `sprint-status.yaml` để theo dõi toàn bộ epic và story.
|
||||||
|
|
||||||
|
### Chu Trình Xây Dựng
|
||||||
|
|
||||||
|
Với mỗi story, lặp lại chu trình này trong chat mới:
|
||||||
|
|
||||||
|
| Bước | Agent | Workflow | Lệnh | Mục đích |
|
||||||
|
| ---- | ----- | -------------- | -------------------------- | ---------------------------------- |
|
||||||
|
| 1 | DEV | `bmad-create-story` | `bmad-create-story` | Tạo file story từ epic |
|
||||||
|
| 2 | DEV | `bmad-dev-story` | `bmad-dev-story` | Triển khai story |
|
||||||
|
| 3 | DEV | `bmad-code-review` | `bmad-code-review` | Kiểm tra chất lượng *(khuyến nghị)* |
|
||||||
|
|
||||||
|
Sau khi hoàn tất tất cả story trong một epic, hãy gọi **Developer agent** (`bmad-agent-dev`) và chạy `bmad-retrospective` (`bmad-retrospective`).
|
||||||
|
|
||||||
|
## Bạn Đã Hoàn Thành Những Gì
|
||||||
|
|
||||||
|
Bạn đã nắm được nền tảng để xây dựng với BMad:
|
||||||
|
|
||||||
|
- Đã cài BMad và cấu hình cho IDE của bạn
|
||||||
|
- Đã khởi tạo dự án theo nhánh lập kế hoạch phù hợp
|
||||||
|
- Đã tạo các tài liệu lập kế hoạch (PRD, Architecture, Epics và Stories)
|
||||||
|
- Đã hiểu chu trình triển khai trong implementation
|
||||||
|
|
||||||
|
Dự án của bạn bây giờ sẽ có dạng:
|
||||||
|
|
||||||
|
```text
|
||||||
|
your-project/
|
||||||
|
├── _bmad/ # Cấu hình BMad
|
||||||
|
├── _bmad-output/
|
||||||
|
│ ├── planning-artifacts/
|
||||||
|
│ │ ├── PRD.md # Tài liệu yêu cầu của bạn
|
||||||
|
│ │ ├── architecture.md # Các quyết định kỹ thuật
|
||||||
|
│ │ └── epics/ # Các file epic và story
|
||||||
|
│ ├── implementation-artifacts/
|
||||||
|
│ │ └── sprint-status.yaml # Theo dõi sprint
|
||||||
|
│ └── project-context.md # Quy tắc triển khai (tùy chọn)
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tra Cứu Nhanh
|
||||||
|
|
||||||
|
| Workflow | Lệnh | Agent | Mục đích |
|
||||||
|
| ------------------------------------- | ------------------------------------------ | --------- | ----------------------------------------------- |
|
||||||
|
| **`bmad-help`** ⭐ | `bmad-help` | Bất kỳ | **Người dẫn đường thông minh của bạn — hỏi gì cũng được!** |
|
||||||
|
| `bmad-create-prd` | `bmad-create-prd` | PM | Tạo tài liệu yêu cầu sản phẩm |
|
||||||
|
| `bmad-create-architecture` | `bmad-create-architecture` | Architect | Tạo tài liệu kiến trúc |
|
||||||
|
| `bmad-generate-project-context` | `bmad-generate-project-context` | Analyst | Tạo file project context |
|
||||||
|
| `bmad-create-epics-and-stories` | `bmad-create-epics-and-stories` | PM | Phân rã PRD thành epics |
|
||||||
|
| `bmad-check-implementation-readiness` | `bmad-check-implementation-readiness` | Architect | Kiểm tra độ nhất quán của kế hoạch |
|
||||||
|
| `bmad-sprint-planning` | `bmad-sprint-planning` | DEV | Khởi tạo theo dõi sprint |
|
||||||
|
| `bmad-create-story` | `bmad-create-story` | DEV | Tạo file story |
|
||||||
|
| `bmad-dev-story` | `bmad-dev-story` | DEV | Triển khai một story |
|
||||||
|
| `bmad-code-review` | `bmad-code-review` | DEV | Review phần code đã triển khai |
|
||||||
|
|
||||||
|
## Câu Hỏi Thường Gặp
|
||||||
|
|
||||||
|
**Lúc nào cũng cần kiến trúc à?**
|
||||||
|
Chỉ với nhánh BMad Method và Enterprise. Quick Flow bỏ qua bước kiến trúc và chuyển thẳng từ spec sang implementation.
|
||||||
|
|
||||||
|
**Tôi có thể đổi kế hoạch về sau không?**
|
||||||
|
Có. Workflow `bmad-correct-course` (`bmad-correct-course`) xử lý thay đổi phạm vi giữa chừng.
|
||||||
|
|
||||||
|
**Nếu tôi muốn brainstorming trước thì sao?**
|
||||||
|
Gọi Analyst agent (`bmad-agent-analyst`) và chạy `bmad-brainstorming` (`bmad-brainstorming`) trước khi bắt đầu PRD.
|
||||||
|
|
||||||
|
**Tôi có cần tuân theo đúng thứ tự tuyệt đối không?**
|
||||||
|
Không hẳn. Khi đã quen flow, bạn có thể chạy workflow trực tiếp bằng bảng Tra Cứu Nhanh ở trên.
|
||||||
|
|
||||||
|
## Nhận Hỗ Trợ
|
||||||
|
|
||||||
|
:::tip[Điểm Dừng Đầu Tiên: BMad-Help]
|
||||||
|
**Hãy gọi `bmad-help` bất cứ lúc nào** — đây là cách nhanh nhất để gỡ vướng. Bạn có thể hỏi:
|
||||||
|
- "Tôi nên làm gì sau khi cài đặt?"
|
||||||
|
- "Tôi đang kẹt ở workflow X"
|
||||||
|
- "Tôi có những lựa chọn nào cho Y?"
|
||||||
|
- "Cho tôi xem đến giờ đã làm được gì"
|
||||||
|
|
||||||
|
BMad-Help sẽ kiểm tra dự án, phát hiện những gì bạn đã hoàn thành và chỉ cho bạn chính xác bước cần làm tiếp theo.
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Trong workflow** — Các agent sẽ hướng dẫn bạn bằng câu hỏi và giải thích
|
||||||
|
- **Cộng đồng** — [Discord](https://discord.gg/gk8jAdXWmj) (#bmad-method-help, #report-bugs-and-issues)
|
||||||
|
|
||||||
|
## Những Điểm Cần Ghi Nhớ
|
||||||
|
|
||||||
|
:::tip[Hãy Nhớ Các Điểm Này]
|
||||||
|
- **Bắt đầu với `bmad-help`** — Trợ lý thông minh hiểu dự án và các lựa chọn của bạn
|
||||||
|
- **Luôn dùng chat mới** — Mỗi workflow nên bắt đầu trong một chat riêng
|
||||||
|
- **Nhánh rất quan trọng** — Quick Flow dùng `bmad-quick-dev`; Method/Enterprise cần PRD và kiến trúc
|
||||||
|
- **BMad-Help chạy tự động** — Mỗi workflow đều kết thúc bằng hướng dẫn về bước tiếp theo
|
||||||
|
:::
|
||||||
|
|
||||||
|
Sẵn sàng bắt đầu chưa? Hãy cài BMad, gọi `bmad-help`, và để người dẫn đường thông minh của bạn đưa bạn đi tiếp.
|
||||||
|
|
@ -4,6 +4,6 @@ template: splash
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
您查找的页面不存在或已被移动。
|
你访问的页面不存在,或已被移动。
|
||||||
|
|
||||||
[返回首页](./index.md)
|
[返回中文首页](./index.md)
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,25 @@
|
||||||
---
|
---
|
||||||
title: "Documentation Style Guide"
|
title: "Documentation Style Guide"
|
||||||
description: Project-specific documentation conventions based on Google style and Diataxis structure
|
description: 基于 Google 文档风格与 Diataxis 的项目文档规范
|
||||||
---
|
---
|
||||||
|
|
||||||
This project adheres to the [Google Developer Documentation Style Guide](https://developers.google.com/style) and uses [Diataxis](https://diataxis.fr/) to structure content. Only project-specific conventions follow.
|
本项目遵循 [Google Developer Documentation Style Guide](https://developers.google.com/style),并使用 [Diataxis](https://diataxis.fr/) 组织文档。以下仅补充项目级约束。
|
||||||
|
|
||||||
## Project-Specific Rules
|
## 项目特定规则
|
||||||
|
|
||||||
| Rule | Specification |
|
| 规则 | 规范 |
|
||||||
| -------------------------------- | ---------------------------------------- |
|
| --- | --- |
|
||||||
| No horizontal rules (`---`) | Fragments reading flow |
|
| 禁用水平分割线(`---`) | 会打断阅读流 |
|
||||||
| No `####` headers | Use bold text or admonitions instead |
|
| 禁用 `####` 标题 | 用加粗短句或 admonition 替代 |
|
||||||
| No "Related" or "Next:" sections | Sidebar handles navigation |
|
| 避免 “Related/Next” 章节 | 交给侧边栏导航 |
|
||||||
| No deeply nested lists | Break into sections instead |
|
| 避免深层嵌套列表 | 拆成新段落或新小节 |
|
||||||
| No code blocks for non-code | Use admonitions for dialogue examples |
|
| 非代码内容不要放代码块 | 对话/提示用 admonition |
|
||||||
| No bold paragraphs for callouts | Use admonitions instead |
|
| 不用整段粗体做提醒 | 统一用 admonition |
|
||||||
| 1-2 admonitions per section max | Tutorials allow 3-4 per major section |
|
| 每节 1-2 个 admonition | 教程大节可放宽到 3-4 个 |
|
||||||
| Table cells / list items | 1-2 sentences max |
|
| 表格单元格/列表项 | 控制在 1-2 句 |
|
||||||
| Header budget | 8-12 `##` per doc; 2-3 `###` per section |
|
| 标题预算 | 每篇约 8-12 个 `##`,每节 2-3 个 `###` |
|
||||||
|
|
||||||
## Admonitions (Starlight Syntax)
|
## 提示块(Starlight 语法)
|
||||||
|
|
||||||
```md
|
```md
|
||||||
:::tip[Title]
|
:::tip[Title]
|
||||||
|
|
@ -39,38 +39,38 @@ Critical warnings only — data loss, security issues
|
||||||
:::
|
:::
|
||||||
```
|
```
|
||||||
|
|
||||||
### Standard Uses
|
### 标准用途
|
||||||
|
|
||||||
| Admonition | Use For |
|
| 提示块 | 适用场景 |
|
||||||
| ------------------------ | ----------------------------- |
|
| --- | --- |
|
||||||
| `:::note[Prerequisites]` | Dependencies before starting |
|
| `:::note[Prerequisites]` | 开始前依赖与前置条件 |
|
||||||
| `:::tip[Quick Path]` | TL;DR summary at document top |
|
| `:::tip[Quick Path]` | 文档顶部 TL;DR |
|
||||||
| `:::caution[Important]` | Critical caveats |
|
| `:::caution[Important]` | 关键风险提醒 |
|
||||||
| `:::note[Example]` | Command/response examples |
|
| `:::note[Example]` | 命令/响应示例说明 |
|
||||||
|
|
||||||
## Standard Table Formats
|
## 标准表格模板
|
||||||
|
|
||||||
**Phases:**
|
**阶段(Phases):**
|
||||||
|
|
||||||
```md
|
```md
|
||||||
| Phase | Name | What Happens |
|
| Phase | Name | What Happens |
|
||||||
| ----- | -------- | -------------------------------------------- |
|
| ----- | -------- | -------------------------------------------- |
|
||||||
| 1 | Analysis | Brainstorm, research *(optional)* |
|
| 1 | Analysis | Brainstorm, research *(optional)* |
|
||||||
| 2 | Planning | Requirements — PRD or tech-spec *(required)* |
|
| 2 | Planning | Requirements — PRD or spec *(required)* |
|
||||||
```
|
```
|
||||||
|
|
||||||
**Commands:**
|
**技能(Skills):**
|
||||||
|
|
||||||
```md
|
```md
|
||||||
| Command | Agent | Purpose |
|
| Skill | Agent | Purpose |
|
||||||
| ------------ | ------- | ------------------------------------ |
|
| -------------------- | ------- | ------------------------------------ |
|
||||||
| `brainstorm` | Analyst | Brainstorm a new project |
|
| `bmad-brainstorming` | Analyst | Brainstorm a new project |
|
||||||
| `prd` | PM | Create Product Requirements Document |
|
| `bmad-create-prd` | PM | Create Product Requirements Document |
|
||||||
```
|
```
|
||||||
|
|
||||||
## Folder Structure Blocks
|
## 文件结构块(Folder Structure)
|
||||||
|
|
||||||
Show in "What You've Accomplished" sections:
|
用于 “What You've Accomplished” 类章节:
|
||||||
|
|
||||||
````md
|
````md
|
||||||
```
|
```
|
||||||
|
|
@ -85,143 +85,143 @@ your-project/
|
||||||
```
|
```
|
||||||
````
|
````
|
||||||
|
|
||||||
## Tutorial Structure
|
## 教程(Tutorial)结构
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (1-2 sentences describing outcome)
|
1. Title + Hook(1-2 句结果导向开场)
|
||||||
2. Version/Module Notice (info or warning admonition) (optional)
|
2. Version/Module Notice(可选,信息或警告提示块)
|
||||||
3. What You'll Learn (bullet list of outcomes)
|
3. What You'll Learn(结果清单)
|
||||||
4. Prerequisites (info admonition)
|
4. Prerequisites(前置条件提示块)
|
||||||
5. Quick Path (tip admonition - TL;DR summary)
|
5. Quick Path(TL;DR 提示块)
|
||||||
6. Understanding [Topic] (context before steps - tables for phases/agents)
|
6. Understanding [Topic](步骤前的背景说明,可配表格)
|
||||||
7. Installation (optional)
|
7. Installation(可选)
|
||||||
8. Step 1: [First Major Task]
|
8. Step 1: [First Major Task]
|
||||||
9. Step 2: [Second Major Task]
|
9. Step 2: [Second Major Task]
|
||||||
10. Step 3: [Third Major Task]
|
10. Step 3: [Third Major Task]
|
||||||
11. What You've Accomplished (summary + folder structure)
|
11. What You've Accomplished(总结 + 文件结构)
|
||||||
12. Quick Reference (commands table)
|
12. Quick Reference(skills 表)
|
||||||
13. Common Questions (FAQ format)
|
13. Common Questions(FAQ)
|
||||||
14. Getting Help (community links)
|
14. Getting Help(社区入口)
|
||||||
15. Key Takeaways (tip admonition)
|
15. Key Takeaways(末尾 tip 提示块)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Tutorial Checklist
|
### 教程检查清单
|
||||||
|
|
||||||
- [ ] Hook describes outcome in 1-2 sentences
|
- [ ] Hook 用 1-2 句明确结果
|
||||||
- [ ] "What You'll Learn" section present
|
- [ ] 包含 “What You'll Learn”
|
||||||
- [ ] Prerequisites in admonition
|
- [ ] 前置条件放在 admonition
|
||||||
- [ ] Quick Path TL;DR admonition at top
|
- [ ] 顶部有 Quick Path TL;DR
|
||||||
- [ ] Tables for phases, commands, agents
|
- [ ] 关键信息用 phases/skills/agents 表格
|
||||||
- [ ] "What You've Accomplished" section present
|
- [ ] 包含 “What You've Accomplished”
|
||||||
- [ ] Quick Reference table present
|
- [ ] 包含 Quick Reference 表
|
||||||
- [ ] Common Questions section present
|
- [ ] 包含 Common Questions
|
||||||
- [ ] Getting Help section present
|
- [ ] 包含 Getting Help
|
||||||
- [ ] Key Takeaways admonition at end
|
- [ ] 末尾包含 Key Takeaways 提示块
|
||||||
|
|
||||||
## How-To Structure
|
## How-to 结构
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (one sentence: "Use the `X` workflow to...")
|
1. Title + Hook(单句,形如 "Use the `X` workflow to...")
|
||||||
2. When to Use This (bullet list of scenarios)
|
2. When to Use This(3-5 条场景)
|
||||||
3. When to Skip This (optional)
|
3. When to Skip This(可选)
|
||||||
4. Prerequisites (note admonition)
|
4. Prerequisites(note 提示块)
|
||||||
5. Steps (numbered ### subsections)
|
5. Steps(编号 `###` 动词开头)
|
||||||
6. What You Get (output/artifacts produced)
|
6. What You Get(产出物说明)
|
||||||
7. Example (optional)
|
7. Example(可选)
|
||||||
8. Tips (optional)
|
8. Tips(可选)
|
||||||
9. Next Steps (optional)
|
9. Next Steps(可选)
|
||||||
```
|
```
|
||||||
|
|
||||||
### How-To Checklist
|
### How-to 检查清单
|
||||||
|
|
||||||
- [ ] Hook starts with "Use the `X` workflow to..."
|
- [ ] Hook 以 “Use the `X` workflow to...” 开头
|
||||||
- [ ] "When to Use This" has 3-5 bullet points
|
- [ ] “When to Use This” 有 3-5 条场景
|
||||||
- [ ] Prerequisites listed
|
- [ ] 明确前置条件
|
||||||
- [ ] Steps are numbered `###` subsections with action verbs
|
- [ ] 步骤为编号 `###` 子标题且动词开头
|
||||||
- [ ] "What You Get" describes output artifacts
|
- [ ] “What You Get” 明确产出物
|
||||||
|
|
||||||
## Explanation Structure
|
## Explanation 结构
|
||||||
|
|
||||||
### Types
|
### 类型
|
||||||
|
|
||||||
| Type | Example |
|
| 类型 | 示例 |
|
||||||
| ----------------- | ----------------------------- |
|
| --- | --- |
|
||||||
| **Index/Landing** | `core-concepts/index.md` |
|
| **Index/Landing** | `core-concepts/index.md` |
|
||||||
| **Concept** | `what-are-agents.md` |
|
| **Concept** | `what-are-agents.md` |
|
||||||
| **Feature** | `quick-flow.md` |
|
| **Feature** | `quick-dev.md` |
|
||||||
| **Philosophy** | `why-solutioning-matters.md` |
|
| **Philosophy** | `why-solutioning-matters.md` |
|
||||||
| **FAQ** | `established-projects-faq.md` |
|
| **FAQ** | `established-projects-faq.md` |
|
||||||
|
|
||||||
### General Template
|
### 通用模板
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (1-2 sentences)
|
1. Title + Hook(1-2 句)
|
||||||
2. Overview/Definition (what it is, why it matters)
|
2. Overview/Definition(是什么,为什么重要)
|
||||||
3. Key Concepts (### subsections)
|
3. Key Concepts(`###` 小节)
|
||||||
4. Comparison Table (optional)
|
4. Comparison Table(可选)
|
||||||
5. When to Use / When Not to Use (optional)
|
5. When to Use / When Not to Use(可选)
|
||||||
6. Diagram (optional - mermaid, 1 per doc max)
|
6. Diagram(可选,单文档最多 1 个 mermaid)
|
||||||
7. Next Steps (optional)
|
7. Next Steps(可选)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Index/Landing Pages
|
### Index/Landing 页面
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (one sentence)
|
1. Title + Hook(单句)
|
||||||
2. Content Table (links with descriptions)
|
2. Content Table(链接 + 描述)
|
||||||
3. Getting Started (numbered list)
|
3. Getting Started(编号步骤)
|
||||||
4. Choose Your Path (optional - decision tree)
|
4. Choose Your Path(可选,决策树)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Concept Explainers
|
### 概念解释页(Concept)
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (what it is)
|
1. Title + Hook(定义性开场)
|
||||||
2. Types/Categories (### subsections) (optional)
|
2. Types/Categories(可选,`###`)
|
||||||
3. Key Differences Table
|
3. Key Differences Table
|
||||||
4. Components/Parts
|
4. Components/Parts
|
||||||
5. Which Should You Use?
|
5. Which Should You Use?
|
||||||
6. Creating/Customizing (pointer to how-to guides)
|
6. Creating/Customizing(指向 how-to)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Feature Explainers
|
### 功能解释页(Feature)
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (what it does)
|
1. Title + Hook(功能作用)
|
||||||
2. Quick Facts (optional - "Perfect for:", "Time to:")
|
2. Quick Facts(可选)
|
||||||
3. When to Use / When Not to Use
|
3. When to Use / When Not to Use
|
||||||
4. How It Works (mermaid diagram optional)
|
4. How It Works(可选 mermaid)
|
||||||
5. Key Benefits
|
5. Key Benefits
|
||||||
6. Comparison Table (optional)
|
6. Comparison Table(可选)
|
||||||
7. When to Graduate/Upgrade (optional)
|
7. When to Graduate/Upgrade(可选)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Philosophy/Rationale Documents
|
### 原理/哲学页(Philosophy)
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (the principle)
|
1. Title + Hook(核心原则)
|
||||||
2. The Problem
|
2. The Problem
|
||||||
3. The Solution
|
3. The Solution
|
||||||
4. Key Principles (### subsections)
|
4. Key Principles(`###`)
|
||||||
5. Benefits
|
5. Benefits
|
||||||
6. When This Applies
|
6. When This Applies
|
||||||
```
|
```
|
||||||
|
|
||||||
### Explanation Checklist
|
### Explanation 检查清单
|
||||||
|
|
||||||
- [ ] Hook states what document explains
|
- [ ] Hook 清楚说明“本文解释什么”
|
||||||
- [ ] Content in scannable `##` sections
|
- [ ] 内容分布在可扫读的 `##` 区块
|
||||||
- [ ] Comparison tables for 3+ options
|
- [ ] 3 个以上选项时使用对比表
|
||||||
- [ ] Diagrams have clear labels
|
- [ ] 图示有清晰标签
|
||||||
- [ ] Links to how-to guides for procedural questions
|
- [ ] 程序性问题链接到 how-to
|
||||||
- [ ] 2-3 admonitions max per document
|
- [ ] 每篇控制在 2-3 个 admonition
|
||||||
|
|
||||||
## Reference Structure
|
## Reference 结构
|
||||||
|
|
||||||
### Types
|
### 类型
|
||||||
|
|
||||||
| Type | Example |
|
| 类型 | 示例 |
|
||||||
| ----------------- | --------------------- |
|
| --- | --- |
|
||||||
| **Index/Landing** | `workflows/index.md` |
|
| **Index/Landing** | `workflows/index.md` |
|
||||||
| **Catalog** | `agents/index.md` |
|
| **Catalog** | `agents/index.md` |
|
||||||
| **Deep-Dive** | `document-project.md` |
|
| **Deep-Dive** | `document-project.md` |
|
||||||
|
|
@ -229,79 +229,79 @@ your-project/
|
||||||
| **Glossary** | `glossary/index.md` |
|
| **Glossary** | `glossary/index.md` |
|
||||||
| **Comprehensive** | `bmgd-workflows.md` |
|
| **Comprehensive** | `bmgd-workflows.md` |
|
||||||
|
|
||||||
### Reference Index Pages
|
### Reference 索引页
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (one sentence)
|
1. Title + Hook(单句)
|
||||||
2. Content Sections (## for each category)
|
2. Content Sections(每类一个 `##`)
|
||||||
- Bullet list with links and descriptions
|
- 链接 + 简短描述
|
||||||
```
|
```
|
||||||
|
|
||||||
### Catalog Reference
|
### Catalog 参考页
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook
|
1. Title + Hook
|
||||||
2. Items (## for each item)
|
2. Items(每项一个 `##`)
|
||||||
- Brief description (one sentence)
|
- 单句说明
|
||||||
- **Commands:** or **Key Info:** as flat list
|
- **Skills:** 或 **Key Info:** 平铺列表
|
||||||
3. Universal/Shared (## section) (optional)
|
3. Universal/Shared(可选)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Item Deep-Dive Reference
|
### Deep-Dive 参考页
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook (one sentence purpose)
|
1. Title + Hook(单句说明用途)
|
||||||
2. Quick Facts (optional note admonition)
|
2. Quick Facts(可选 note 提示块)
|
||||||
- Module, Command, Input, Output as list
|
- Module, Skill, Input, Output
|
||||||
3. Purpose/Overview (## section)
|
3. Purpose/Overview(`##`)
|
||||||
4. How to Invoke (code block)
|
4. How to Invoke(代码块)
|
||||||
5. Key Sections (## for each aspect)
|
5. Key Sections(每个方面一个 `##`)
|
||||||
- Use ### for sub-options
|
- 子选项使用 `###`
|
||||||
6. Notes/Caveats (tip or caution admonition)
|
6. Notes/Caveats(tip/caution)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configuration Reference
|
### Configuration 参考页
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook
|
1. Title + Hook
|
||||||
2. Table of Contents (jump links if 4+ items)
|
2. Table of Contents(可选,4 项以上建议)
|
||||||
3. Items (## for each config/task)
|
3. Items(每项一个 `##`)
|
||||||
- **Bold summary** — one sentence
|
- **Bold summary**(单句)
|
||||||
- **Use it when:** bullet list
|
- **Use it when:** 场景列表
|
||||||
- **How it works:** numbered steps (3-5 max)
|
- **How it works:** 3-5 步
|
||||||
- **Output:** expected result (optional)
|
- **Output:**(可选)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Comprehensive Reference Guide
|
### 综合参考页(Comprehensive)
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Title + Hook
|
1. Title + Hook
|
||||||
2. Overview (## section)
|
2. Overview(`##`)
|
||||||
- Diagram or table showing organization
|
- 用图或表解释组织方式
|
||||||
3. Major Sections (## for each phase/category)
|
3. Major Sections(每个阶段/类别一个 `##`)
|
||||||
- Items (### for each item)
|
- Items(每项 `###`)
|
||||||
- Standardized fields: Command, Agent, Input, Output, Description
|
- 统一字段:Skill, Agent, Input, Output, Description
|
||||||
4. Next Steps (optional)
|
4. Next Steps(可选)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Reference Checklist
|
### Reference 检查清单
|
||||||
|
|
||||||
- [ ] Hook states what document references
|
- [ ] Hook 说明“本文引用什么”
|
||||||
- [ ] Structure matches reference type
|
- [ ] 结构匹配参考页类型
|
||||||
- [ ] Items use consistent structure throughout
|
- [ ] 条目结构前后一致
|
||||||
- [ ] Tables for structured/comparative data
|
- [ ] 结构化信息优先表格表达
|
||||||
- [ ] Links to explanation docs for conceptual depth
|
- [ ] 概念深度指向 explanation 页面
|
||||||
- [ ] 1-2 admonitions max
|
- [ ] 每篇 1-2 个 admonition
|
||||||
|
|
||||||
## Glossary Structure
|
## Glossary 结构
|
||||||
|
|
||||||
Starlight generates right-side "On this page" navigation from headers:
|
Starlight 右侧 “On this page” 来自标题层级:
|
||||||
|
|
||||||
- Categories as `##` headers — appear in right nav
|
- 分类使用 `##`(会进入右侧导航)
|
||||||
- Terms in tables — compact rows, not individual headers
|
- 术语放在表格行中(不要给每个术语单独标题)
|
||||||
- No inline TOC — right sidebar handles navigation
|
- 不要再写内联 TOC
|
||||||
|
|
||||||
### Table Format
|
### 表格模板
|
||||||
|
|
||||||
```md
|
```md
|
||||||
## Category Name
|
## Category Name
|
||||||
|
|
@ -312,17 +312,17 @@ Starlight generates right-side "On this page" navigation from headers:
|
||||||
| **Workflow** | Multi-step guided process that orchestrates AI agent activities to produce deliverables. |
|
| **Workflow** | Multi-step guided process that orchestrates AI agent activities to produce deliverables. |
|
||||||
```
|
```
|
||||||
|
|
||||||
### Definition Rules
|
### 定义规则
|
||||||
|
|
||||||
| Do | Don't |
|
| 推荐 | 避免 |
|
||||||
| ----------------------------- | ------------------------------------------- |
|
| --- | --- |
|
||||||
| Start with what it IS or DOES | Start with "This is..." or "A [term] is..." |
|
| 直接写“它是什么/做什么” | 以 “This is...” 或 “A [term] is...” 开头 |
|
||||||
| Keep to 1-2 sentences | Write multi-paragraph explanations |
|
| 控制在 1-2 句 | 多段长解释 |
|
||||||
| Bold term name in cell | Use plain text for terms |
|
| 术语名称加粗 | 术语用普通文本 |
|
||||||
|
|
||||||
### Context Markers
|
### 语境标记(Context Markers)
|
||||||
|
|
||||||
Add italic context at definition start for limited-scope terms:
|
在定义开头用斜体标记适用范围:
|
||||||
|
|
||||||
- `*Quick Flow only.*`
|
- `*Quick Flow only.*`
|
||||||
- `*BMad Method/Enterprise.*`
|
- `*BMad Method/Enterprise.*`
|
||||||
|
|
@ -330,16 +330,16 @@ Add italic context at definition start for limited-scope terms:
|
||||||
- `*BMGD.*`
|
- `*BMGD.*`
|
||||||
- `*Established projects.*`
|
- `*Established projects.*`
|
||||||
|
|
||||||
### Glossary Checklist
|
### Glossary 检查清单
|
||||||
|
|
||||||
- [ ] Terms in tables, not individual headers
|
- [ ] 术语以表格维护,不用独立标题
|
||||||
- [ ] Terms alphabetized within categories
|
- [ ] 同分类内按字母序排序
|
||||||
- [ ] Definitions 1-2 sentences
|
- [ ] 定义控制在 1-2 句
|
||||||
- [ ] Context markers italicized
|
- [ ] 语境标记使用斜体
|
||||||
- [ ] Term names bolded in cells
|
- [ ] 术语名称在单元格中加粗
|
||||||
- [ ] No "A [term] is..." definitions
|
- [ ] 避免 “A [term] is...” 句式
|
||||||
|
|
||||||
## FAQ Sections
|
## FAQ 章节模板
|
||||||
|
|
||||||
```md
|
```md
|
||||||
## Questions
|
## Questions
|
||||||
|
|
@ -353,18 +353,18 @@ Only for BMad Method and Enterprise tracks. Quick Flow skips to implementation.
|
||||||
|
|
||||||
### Can I change my plan later?
|
### Can I change my plan later?
|
||||||
|
|
||||||
Yes. The SM agent has a `correct-course` workflow for handling scope changes.
|
Yes. The `bmad-correct-course` workflow handles scope changes mid-implementation.
|
||||||
|
|
||||||
**Have a question not answered here?** [Open an issue](...) or ask in [Discord](...).
|
**Have a question not answered here?** [Open an issue](...) or ask in [Discord](...).
|
||||||
```
|
```
|
||||||
|
|
||||||
## Validation Commands
|
## 校验命令
|
||||||
|
|
||||||
Before submitting documentation changes:
|
提交文档改动前,建议执行:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run docs:fix-links # Preview link format fixes
|
npm run docs:fix-links # 预览链接修复结果
|
||||||
npm run docs:fix-links -- --write # Apply fixes
|
npm run docs:fix-links -- --write # 写回链接修复
|
||||||
npm run docs:validate-links # Check links exist
|
npm run docs:validate-links # 校验链接是否存在
|
||||||
npm run docs:build # Verify no build errors
|
npm run docs:build # 校验站点构建
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -5,58 +5,55 @@ sidebar:
|
||||||
order: 6
|
order: 6
|
||||||
---
|
---
|
||||||
|
|
||||||
让 LLM 重新审视它刚刚生成的内容。你选择一种推理方法,它将该方法应用于自己的输出,然后你决定是否保留改进。
|
高级启发(advanced elicitation)是“第二轮思考”机制:不是笼统地让模型“再来一次”,而是让它按指定推理方法重审自己的输出。
|
||||||
|
|
||||||
## 什么是高级启发?
|
## 它是什么
|
||||||
|
|
||||||
结构化的第二轮处理。与其要求 AI "再试一次" 或 "做得更好",不如选择一种特定的推理方法,让 AI 通过该视角重新审视自己的输出。
|
你先有一版输出(方案、文案、分析或规范),再通过某种推理框架做二次审视,例如:
|
||||||
|
- 事前复盘(Pre-mortem)
|
||||||
|
- 第一性原理
|
||||||
|
- 逆向思维(Inversion)
|
||||||
|
- 红队/蓝队
|
||||||
|
- 苏格拉底式追问
|
||||||
|
|
||||||
这种区别很重要。模糊的请求会产生模糊的修订。命名的方法会强制采用特定的攻击角度,揭示出通用重试会遗漏的见解。
|
这种“带方法名的重审”通常比“再优化一下”更有效,因为它会强制模型从特定角度进攻已有答案。
|
||||||
|
|
||||||
## 何时使用
|
## 什么时候使用
|
||||||
|
|
||||||
- 在工作流生成内容后,你想要替代方案
|
- 你已有可用初稿,但怀疑还不够扎实
|
||||||
- 当输出看起来还可以,但你怀疑还有更深层次的内容
|
- 你想压力测试关键假设或找潜在漏洞
|
||||||
- 对假设进行压力测试或发现弱点
|
- 你面对高风险内容,需要更高置信度
|
||||||
- 对于重新思考有帮助的高风险内容
|
- 你想要替代解法,而不是同义改写
|
||||||
|
|
||||||
工作流在决策点提供高级启发——在 LLM 生成某些内容后,系统会询问你是否要运行它。
|
## 它如何运行
|
||||||
|
|
||||||
## 工作原理
|
1. 模型先给出若干与你内容相关的方法候选
|
||||||
|
2. 你选择一种(或重抽)
|
||||||
|
3. 模型按该方法重审并展示改进
|
||||||
|
4. 你决定采纳、丢弃、继续下一轮或结束
|
||||||
|
|
||||||
1. LLM 为你的内容建议 5 种相关方法
|
:::tip[实战建议]
|
||||||
2. 你选择一种(或重新洗牌以获取不同选项)
|
做规格、方案或计划时,先跑一次“事前复盘”通常收益最高,容易提前暴露隐藏风险。
|
||||||
3. 应用方法,显示改进
|
|
||||||
4. 接受或丢弃,重复或继续
|
|
||||||
|
|
||||||
## 内置方法
|
|
||||||
|
|
||||||
有数十种推理方法可用。几个示例:
|
|
||||||
|
|
||||||
- **事前复盘** - 假设项目已经失败,反向推导找出原因
|
|
||||||
- **第一性原理思维** - 剥离假设,从基本事实重建
|
|
||||||
- **逆向思维** - 询问如何保证失败,然后避免这些事情
|
|
||||||
- **红队对蓝队** - 攻击你自己的工作,然后为它辩护
|
|
||||||
- **苏格拉底式提问** - 用"为什么?"和"你怎么知道?"挑战每个主张
|
|
||||||
- **约束移除** - 放下所有约束,看看有什么变化,然后有选择地加回
|
|
||||||
- **利益相关者映射** - 从每个利益相关者的角度重新评估
|
|
||||||
- **类比推理** - 在其他领域找到平行案例并应用其教训
|
|
||||||
|
|
||||||
还有更多。AI 会为你的内容选择最相关的选项——你选择运行哪一个。
|
|
||||||
|
|
||||||
:::tip[从这里开始]
|
|
||||||
对于任何规范或计划,事前复盘都是一个很好的首选。它始终能找到标准审查会遗漏的空白。
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
---
|
如果你还处在方向发散阶段,可先用 [头脑风暴](./brainstorming.md);如果你需要多角色权衡讨论,可用 [派对模式](./party-mode.md)。在进入实现前做问题发现时,可结合 [对抗性评审](./adversarial-review.md)。
|
||||||
## 术语说明
|
|
||||||
|
|
||||||
- **LLM**:大语言模型。一种基于深度学习的自然语言处理模型,能够理解和生成人类语言。
|
## 与相近模式的区别
|
||||||
- **elicitation**:启发。在人工智能与提示工程中,指通过特定方法引导模型生成更高质量或更符合预期的输出。
|
|
||||||
- **pre-mortem analysis**:事前复盘。一种风险管理技术,假设项目已经失败,然后反向推导可能的原因,以提前识别和预防潜在问题。
|
| 模式 | 核心目标 | 典型输入 | 典型输出 |
|
||||||
- **first principles thinking**:第一性原理思维。一种将复杂问题分解为最基本事实或假设,然后从这些基本要素重新构建解决方案的思维方式。
|
| ----- | ----- | ----- | ----- |
|
||||||
- **inversion**:逆向思维。通过思考如何导致失败来避免失败,从而找到成功路径的思维方式。
|
| `advanced elicitation` | 二次推理与补强 | 已有初稿/方案 | 风险更清晰、论证更完整的改进版 |
|
||||||
- **red team vs blue team**:红队对蓝队。一种模拟对抗的方法,红队负责攻击和发现问题,蓝队负责防御和解决问题。
|
| `bmad-brainstorming` | 发散创意并收敛 | 目标模糊或方向开放 | 想法池与行动方向 |
|
||||||
- **socratic questioning**:苏格拉底式提问。一种通过连续提问来揭示假设、澄清概念和深入思考的对话方法。
|
| `bmad-party-mode` | 多角色讨论权衡 | 需要跨角色协同判断 | 多视角共识或争议点 |
|
||||||
- **stakeholder mapping**:利益相关者映射。识别并分析项目中所有利益相关者及其利益、影响和关系的系统性方法。
|
|
||||||
- **analogical reasoning**:类比推理。通过将当前问题与已知相似领域的问题进行比较,从而借鉴解决方案或见解的推理方式。
|
## 使用边界
|
||||||
|
|
||||||
|
- 它不能替代原始输入质量:初稿太空,二次推理也会受限
|
||||||
|
- 它会产出更多“可疑问题”,需要你做人工判别
|
||||||
|
- 连续多轮会出现收益递减,建议在关键决策点使用
|
||||||
|
|
||||||
|
## 继续阅读
|
||||||
|
|
||||||
|
- [头脑风暴](./brainstorming.md)
|
||||||
|
- [派对模式](./party-mode.md)
|
||||||
|
- [对抗性评审](./adversarial-review.md)
|
||||||
|
|
|
||||||
|
|
@ -1,71 +1,73 @@
|
||||||
---
|
---
|
||||||
title: "对抗性评审"
|
title: "对抗性评审"
|
||||||
description: 防止懒惰"看起来不错"评审的强制推理技术
|
description: 防止懒惰“看起来不错”评审的强制推理技术
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 5
|
order: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
通过要求发现问题来强制进行更深入的分析。
|
对抗性评审(adversarial review)是一种“强制找问题”的评审方法:不允许直接“Looks good”,必须给出可验证发现,或者明确解释为什么没有发现。
|
||||||
|
|
||||||
## 什么是对抗性评审?
|
## 它是什么
|
||||||
|
|
||||||
一种评审技术,评审者*必须*发现问题。不允许"看起来不错"。评审者采取怀疑态度——假设问题存在并找到它们。
|
常规评审容易落入确认偏差:快速扫一遍,没有明显报错,就批准。
|
||||||
|
对抗性评审反过来要求评审者先假设“问题存在”,再去定位证据。
|
||||||
|
|
||||||
这不是为了消极。而是为了强制进行真正的分析,而不是对提交的内容进行草率浏览并盖章批准。
|
核心规则:
|
||||||
|
- 必须产出问题发现或明确的无发现理由
|
||||||
**核心规则:**你必须发现问题。零发现会触发停止——重新分析或解释原因。
|
- 发现要具体、可追溯、可操作
|
||||||
|
- 评审对象是工件本身,而不是作者意图
|
||||||
|
|
||||||
## 为什么有效
|
## 为什么有效
|
||||||
|
|
||||||
普通评审容易受到确认偏差的影响。你浏览工作,没有发现突出的问题,就批准了它。"发现问题"的指令打破了这种模式:
|
- 强制深入阅读,减少“浏览式批准”
|
||||||
|
- 更容易发现“缺了什么”,不只看“写错了什么”
|
||||||
- **强制彻底性**——在你足够努力地查看以发现问题之前,不能批准
|
- 发现通常更结构化,便于后续分诊与修复
|
||||||
- **捕捉遗漏**——"这里缺少什么?"成为一个自然的问题
|
- 在新上下文评审时,能降低“先入为主”偏差
|
||||||
- **提高信号质量**——发现是具体且可操作的,而不是模糊的担忧
|
|
||||||
- **信息不对称**——在新的上下文中运行评审(无法访问原始推理),以便你评估的是工件,而不是意图
|
|
||||||
|
|
||||||
## 在哪里使用
|
## 在哪里使用
|
||||||
|
|
||||||
对抗性评审出现在 BMad 工作流程的各个地方——代码评审、实施就绪检查、规范验证等。有时它是必需步骤,有时是可选的(如高级启发或派对模式)。该模式适应任何需要审查的工件。
|
它不是某个单一 workflow 独占,而是一种可复用评审模式,常见于:
|
||||||
|
- 代码评审
|
||||||
|
- 规范/方案评审
|
||||||
|
- 实施就绪检查
|
||||||
|
- 高风险改动复核
|
||||||
|
|
||||||
## 需要人工过滤
|
## 你需要知道的限制
|
||||||
|
|
||||||
因为 AI 被*指示*要发现问题,它就会发现问题——即使问题不存在。预期会有误报:伪装成问题的吹毛求疵、对意图的误解,或完全幻觉化的担忧。
|
因为系统被要求“必须找问题”,它会提高召回率,也会提高误报率。
|
||||||
|
你会看到:
|
||||||
|
- 吹毛求疵型发现
|
||||||
|
- 语义误解型发现
|
||||||
|
- 偶发幻觉型发现
|
||||||
|
|
||||||
**你决定什么是真实的。**审查每个发现,忽略噪音,修复重要的内容。
|
所以它本质上是**高召回、需人工分诊**的策略,而不是“自动真理机”。
|
||||||
|
|
||||||
## 示例
|
:::caution[关键心法]
|
||||||
|
把发现分成三类:必须修、可延后、可忽略。评审质量的关键不在”发现数量”,而在分诊质量。
|
||||||
而不是:
|
|
||||||
|
|
||||||
> "身份验证实现看起来合理。已批准。"
|
|
||||||
|
|
||||||
对抗性评审产生:
|
|
||||||
|
|
||||||
> 1. **高** - `login.ts:47` - 失败尝试没有速率限制
|
|
||||||
> 2. **高** - 会话令牌存储在 localStorage 中(易受 XSS 攻击)
|
|
||||||
> 3. **中** - 密码验证仅在客户端进行
|
|
||||||
> 4. **中** - 失败登录尝试没有审计日志
|
|
||||||
> 5. **低** - 魔法数字 `3600` 应该是 `SESSION_TIMEOUT_SECONDS`
|
|
||||||
|
|
||||||
第一个评审可能会遗漏安全漏洞。第二个发现了四个。
|
|
||||||
|
|
||||||
## 迭代和收益递减
|
|
||||||
|
|
||||||
在处理发现后,考虑再次运行。第二轮通常会捕获更多。第三轮也不总是无用的。但每一轮都需要时间,最终你会遇到收益递减——只是吹毛求疵和虚假发现。
|
|
||||||
|
|
||||||
:::tip[更好的评审]
|
|
||||||
假设问题存在。寻找缺失的内容,而不仅仅是错误的内容。
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
---
|
如果你想把该策略放进快速实现节奏中,可参见 [快速开发](./quick-dev.md);若要做多轮推理补强,可参见 [高级启发](./advanced-elicitation.md)。整体流程位置请见 [工作流地图](../reference/workflow-map.md)。
|
||||||
## 术语说明
|
|
||||||
|
|
||||||
- **adversarial review**:对抗性评审。一种强制评审者必须发现问题的评审技术,旨在防止草率批准。
|
## 与 Quick Dev 的关系
|
||||||
- **confirmation bias**:确认偏差。倾向于寻找、解释和记忆符合自己已有信念的信息的心理倾向。
|
|
||||||
- **information asymmetry**:信息不对称。交易或评审中一方拥有比另一方更多或更好信息的情况。
|
`bmad-quick-dev` 关注执行效率与边界控制;对抗性评审关注问题发现质量。
|
||||||
- **false positives**:误报。错误地将不存在的问题识别为存在的问题。
|
一个解决“跑得稳不稳”,一个解决“看得深不深”,两者互补而非替代。
|
||||||
- **diminishing returns**:收益递减。在投入持续增加的情况下,产出增长逐渐减少的现象。
|
|
||||||
- **XSS**:跨站脚本攻击(Cross-Site Scripting)。一种安全漏洞,攻击者可在网页中注入恶意脚本。
|
## 示例(对比)
|
||||||
- **localStorage**:本地存储。浏览器提供的 Web Storage API,用于在客户端存储键值对数据。
|
|
||||||
- **magic number**:魔法数字。代码中直接出现的未命名数值常量,缺乏语义含义。
|
普通评审可能是:
|
||||||
|
> “实现基本没问题,先过。”
|
||||||
|
|
||||||
|
对抗性评审更像:
|
||||||
|
> 1. HIGH:`login.ts` 缺失失败重试限流
|
||||||
|
> 2. HIGH:会话令牌存储在 `localStorage`,存在 XSS 风险
|
||||||
|
> 3. MEDIUM:失败登录缺少审计日志
|
||||||
|
> 4. LOW:魔法数字 `3600` 建议替换为命名常量
|
||||||
|
|
||||||
|
重点不是“更凶”,而是“更可执行”。
|
||||||
|
|
||||||
|
## 继续阅读
|
||||||
|
|
||||||
|
- [快速开发](./quick-dev.md)
|
||||||
|
- [高级启发](./advanced-elicitation.md)
|
||||||
|
- [工作流地图](../reference/workflow-map.md)
|
||||||
|
|
|
||||||
|
|
@ -5,39 +5,59 @@ sidebar:
|
||||||
order: 2
|
order: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
通过引导式探索释放你的创造力。
|
`bmad-brainstorming` 是一个“思考引导”工作流:它不替你拍脑袋给答案,而是用结构化提问把你的想法挖出来、扩展开、再收敛成可执行方向。
|
||||||
|
|
||||||
## 什么是头脑风暴?
|
## 它是什么
|
||||||
|
|
||||||
运行 `brainstorming`,你就拥有了一位创意引导者,帮助你从自身挖掘想法——而不是替你生成想法。AI 充当教练和向导,使用经过验证的技术,创造让你最佳思维涌现的条件。
|
头脑风暴(brainstorming)适合”我有方向,但还不够清晰”的阶段。你会和 AI 进行来回探索:
|
||||||
|
- 明确问题和约束
|
||||||
|
- 生成备选想法
|
||||||
|
- 对想法分组和优先级排序
|
||||||
|
- 形成下一步行动
|
||||||
|
|
||||||
**适用于:**
|
产出通常是一份可回看的会话文档,便于继续深化或与团队同步。
|
||||||
|
|
||||||
- 突破创意瓶颈
|
## 什么时候使用
|
||||||
- 生成产品或功能想法
|
|
||||||
- 从新角度探索问题
|
|
||||||
- 将原始概念发展为行动计划
|
|
||||||
|
|
||||||
## 工作原理
|
- 你卡在创意瓶颈,知道问题但想不到可行解
|
||||||
|
- 你要做新功能或新产品,需要更多备选方案
|
||||||
|
- 你希望从不同角度挑战既有假设
|
||||||
|
- 你希望把“模糊想法”推进到“可执行方向”
|
||||||
|
|
||||||
1. **设置** - 定义主题、目标、约束
|
## 不适合的场景
|
||||||
2. **选择方法** - 自己选择技术、获取 AI 推荐、随机选择或遵循渐进式流程
|
|
||||||
3. **引导** - 通过探索性问题和协作式教练引导完成技术
|
|
||||||
4. **组织** - 将想法按主题分组并确定优先级
|
|
||||||
5. **行动** - 为顶级想法制定下一步和成功指标
|
|
||||||
|
|
||||||
所有内容都会被记录在会议文档中,你可以稍后参考或与利益相关者分享。
|
- 你已经有清晰方案,只差落地实现
|
||||||
|
- 你需要的是对现有文本做二次推理校验
|
||||||
|
- 你需要多角色辩论来做跨职能权衡
|
||||||
|
|
||||||
:::note[你的想法]
|
在这些场景下,更合适的是:
|
||||||
每个想法都来自你。工作流程创造洞察的条件——你是源头。
|
- `advanced elicitation`:对已有输出做结构化二次推理
|
||||||
|
- `bmad-party-mode`:让多个角色在同一会话内讨论权衡
|
||||||
|
|
||||||
|
## 它怎么推进思考
|
||||||
|
|
||||||
|
1. **设定主题**:定义目标、边界、约束
|
||||||
|
2. **选择方法**:手动选、让 AI 推荐、随机抽取或渐进流程
|
||||||
|
3. **引导展开**:通过连续问题挖掘更多可能性
|
||||||
|
4. **组织收敛**:按主题聚类并排序
|
||||||
|
5. **行动化**:给重点方向定义下一步和衡量标准
|
||||||
|
|
||||||
|
:::note[核心原则]
|
||||||
|
想法来源于你,workflow 负责构建“更容易产生好想法”的过程。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
---
|
想继续深化现有输出,可参考 [高级启发](./advanced-elicitation.md);需要多角色协同讨论,可参考 [派对模式](./party-mode.md)。若要查看它在整体流程中的位置,请参见 [工作流地图](../reference/workflow-map.md)。
|
||||||
## 术语说明
|
|
||||||
|
|
||||||
- **brainstorming**:头脑风暴。一种集体或个人的创意生成方法,通过自由联想和发散思维产生大量想法。
|
## 与相近模式的区别
|
||||||
- **ideation**:构思。产生想法、概念或解决方案的过程。
|
|
||||||
- **facilitator**:引导者。在会议或工作坊中引导讨论、促进参与并帮助达成目标的人。
|
| 模式 | 核心目标 | 输入状态 | 典型输出 |
|
||||||
- **creative blocks**:创意瓶颈。在创意过程中遇到的思维停滞或灵感枯竭状态。
|
| ----- | ----- | ----- | ----- |
|
||||||
- **probing questions**:探索性问题。旨在深入挖掘信息、激发思考或揭示潜在见解的问题。
|
| `bmad-brainstorming` | 发散并收敛想法 | 方向模糊、问题开放 | 想法清单、优先级、下一步 |
|
||||||
- **stakeholders**:利益相关者。对项目或决策有利益关系或受其影响的个人或群体。
|
| `advanced elicitation` | 对已有内容做二次推理 | 已有初稿或方案 | 改进版内容与推理补强 |
|
||||||
|
| `bmad-party-mode` | 多角色协同讨论与对齐 | 涉及多方权衡的议题 | 角色视角下的共识或分歧 |
|
||||||
|
|
||||||
|
## 继续阅读
|
||||||
|
|
||||||
|
- [高级启发](./advanced-elicitation.md)
|
||||||
|
- [派对模式](./party-mode.md)
|
||||||
|
- [工作流地图](../reference/workflow-map.md)
|
||||||
|
|
|
||||||
|
|
@ -1,60 +1,64 @@
|
||||||
---
|
---
|
||||||
title: "既有项目常见问题"
|
title: "既有项目常见问题"
|
||||||
description: 关于在既有项目上使用 BMad 方法的常见问题
|
description: 关于在既有项目上使用 BMad Method 的常见问题
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 8
|
order: 8
|
||||||
---
|
---
|
||||||
关于使用 BMad 方法(BMM)在既有项目上工作的常见问题的快速解答。
|
关于在 established projects(既有项目)中使用 BMad Method 的高频问题,快速说明如下。
|
||||||
|
|
||||||
## 问题
|
## 问题
|
||||||
|
|
||||||
- [我必须先运行 document-project 吗?](#do-i-have-to-run-document-project-first)
|
- [我必须先运行文档梳理工作流吗?](#我必须先运行文档梳理工作流吗)
|
||||||
- [如果我忘记运行 document-project 怎么办?](#what-if-i-forget-to-run-document-project)
|
- [如果我忘了运行文档梳理怎么办?](#如果我忘了运行文档梳理怎么办)
|
||||||
- [我可以在既有项目上使用快速流程吗?](#can-i-use-quick-flow-for-established-projects)
|
- [既有项目可以直接用 Quick Flow 吗?](#既有项目可以直接用-quick-flow-吗)
|
||||||
- [如果我的现有代码不遵循最佳实践怎么办?](#what-if-my-existing-code-doesnt-follow-best-practices)
|
- [如果现有代码不符合最佳实践怎么办?](#如果现有代码不符合最佳实践怎么办)
|
||||||
|
- [什么时候该从 Quick Flow 切到完整方法?](#什么时候该从-quick-flow-切到完整方法)
|
||||||
|
|
||||||
### 我必须先运行 document-project 吗?
|
### 我必须先运行文档梳理工作流吗?
|
||||||
|
|
||||||
强烈推荐,特别是如果:
|
不绝对必须,但通常强烈建议先运行 `bmad-document-project`,尤其当:
|
||||||
|
- 项目文档缺失或明显过时
|
||||||
|
- 新成员或智能体难以快速理解现有系统
|
||||||
|
- 你希望后续 `workflow` 基于真实现状而不是猜测执行
|
||||||
|
|
||||||
- 没有现有文档
|
如果你已有完整且最新的文档(包含 `docs/index.md`),并且能通过其他方式提供足够上下文,也可以跳过。
|
||||||
- 文档已过时
|
|
||||||
- AI 智能体需要关于现有代码的上下文
|
|
||||||
|
|
||||||
如果你拥有全面且最新的文档,包括 `docs/index.md`,或者将使用其他工具或技术来帮助智能体发现现有系统,则可以跳过此步骤。
|
### 如果我忘了运行文档梳理怎么办?
|
||||||
|
|
||||||
### 如果我忘记运行 document-project 怎么办?
|
可以随时补跑,不影响你继续推进当前任务。很多团队会在迭代中期或里程碑后再运行一次,用来把”代码现状”回写到文档里。
|
||||||
|
|
||||||
不用担心——你可以随时执行。你甚至可以在项目期间或项目之后执行,以帮助保持文档最新。
|
### 既有项目可以直接用 Quick Flow 吗?
|
||||||
|
|
||||||
### 我可以在既有项目上使用快速流程吗?
|
可以。Quick Flow(例如 `bmad-quick-dev`)在既有项目里通常很高效,尤其适合:
|
||||||
|
- 小功能增量
|
||||||
|
- 缺陷修复
|
||||||
|
- 风险可控的局部改动
|
||||||
|
|
||||||
可以!快速流程在既有项目上效果很好。它将:
|
它会尝试识别现有技术栈、代码模式和约定,并据此生成更贴近现状的实现方案。
|
||||||
|
|
||||||
- 自动检测你的现有技术栈
|
### 如果现有代码不符合最佳实践怎么办?
|
||||||
- 分析现有代码模式
|
|
||||||
- 检测约定并请求确认
|
|
||||||
- 生成尊重现有代码的上下文丰富的技术规范
|
|
||||||
|
|
||||||
非常适合现有代码库中的错误修复和小功能。
|
工作流会优先问你:“是否沿用当前约定?”你可以主动选择:
|
||||||
|
- **沿用**:优先保持一致性,降低短期改动风险
|
||||||
|
- **升级**:建立新标准,并在 tech-spec 或架构中写明迁移理由与范围
|
||||||
|
|
||||||
### 如果我的现有代码不遵循最佳实践怎么办?
|
BMad Method 不会强制“立即现代化”,而是把决策权交给你。
|
||||||
|
|
||||||
快速流程会检测你的约定并询问:"我应该遵循这些现有约定吗?"你决定:
|
### 什么时候该从 Quick Flow 切到完整方法?
|
||||||
|
|
||||||
- **是** → 与当前代码库保持一致
|
当任务出现以下信号时,建议从 Quick Flow 升级到完整 BMad Method:
|
||||||
- **否** → 建立新标准(在技术规范中记录原因)
|
- 改动跨多个 `epic` 或多个子系统
|
||||||
|
- 需要明确 `architecture` 决策,否则容易冲突
|
||||||
|
- 涉及较大协作面、较高回归风险或复杂验收要求
|
||||||
|
|
||||||
BMM 尊重你的选择——它不会强制现代化,但会提供现代化选项。
|
如果你不确定,先让 `bmad-help` 判断当前阶段更稳妥的 workflow。
|
||||||
|
|
||||||
**有未在此处回答的问题吗?** 请[提出问题](https://github.com/bmad-code-org/BMAD-METHOD/issues)或在 [Discord](https://discord.gg/gk8jAdXWmj) 中提问,以便我们添加它!
|
**还有问题?** 欢迎在 [GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) 或 [Discord](https://discord.gg/gk8jAdXWmj) 提问。
|
||||||
|
|
||||||
---
|
如果你想了解这套接入方式的操作步骤,可继续阅读 [How-to:既有项目](../how-to/established-projects.md) 与 [How-to:项目上下文](../how-to/project-context.md)。想理解快速流程在方法论中的定位,可参见 [快速开发](./quick-dev.md)。
|
||||||
## 术语说明
|
|
||||||
|
|
||||||
- **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
|
## 继续阅读
|
||||||
- **Quick Flow**:快速流程。BMad 方法中的一种工作流程,用于快速处理既有项目。
|
|
||||||
- **tech-spec**:技术规范。描述技术实现细节和标准的文档。
|
- [既有项目(How-to)](../how-to/established-projects.md)
|
||||||
- **stack**:技术栈。项目所使用的技术组合,包括框架、库、工具等。
|
- [项目上下文(Explanation)](./project-context.md)
|
||||||
- **conventions**:约定。代码库中遵循的编码风格、命名规则等规范。
|
- [管理项目上下文(How-to)](../how-to/project-context.md)
|
||||||
- **modernization**:现代化。将旧代码或系统更新为更现代的技术和最佳实践的过程。
|
|
||||||
|
|
|
||||||
|
|
@ -5,75 +5,56 @@ sidebar:
|
||||||
order: 7
|
order: 7
|
||||||
---
|
---
|
||||||
|
|
||||||
将所有 AI 智能体汇聚到一次对话中。
|
`bmad-party-mode` 用于多角色协作讨论:把 PM、架构、开发、UX 等视角放到同一轮对话里,快速暴露分歧、对齐取舍。
|
||||||
|
|
||||||
## 什么是 Party Mode?
|
## 它是什么
|
||||||
|
|
||||||
运行 `party-mode`,你的整个 AI 团队就齐聚一堂——PM、架构师、开发者、UX 设计师,任何你需要的人。BMad Master 负责编排,根据每条消息选择相关的智能体。智能体以角色身份回应,彼此同意、反对,并在彼此的想法基础上继续构建。
|
Party Mode 不是单角色问答,也不是单文档改写。它更像一次”有主持人的多方评审会”:
|
||||||
|
- BMad Master 根据你的问题调度相关角色
|
||||||
|
- 各角色以自身关注点回应
|
||||||
|
- 角色间会互相补充、质疑、修正
|
||||||
|
|
||||||
对话可以持续到你想要的时间。提出追问、对答案提出质疑、引导讨论方向——这是与智能体之间真正的来回交流,直到你完成目标。
|
你可以连续追问,直到形成可执行结论。
|
||||||
|
|
||||||
**适用于:**
|
## 什么时候使用
|
||||||
|
|
||||||
- 需要权衡的重大决策
|
- 面临高影响决策,且存在明确 trade-off
|
||||||
- 头脑风暴会议
|
- 需要跨角色快速对齐(产品、技术、交互、测试)
|
||||||
- 出现问题时的复盘
|
- 出现故障或争议,需要复盘责任和改进方向
|
||||||
- 冲刺回顾与规划
|
- 做 sprint 规划或回顾,需要多视角共识
|
||||||
|
|
||||||
## 示例
|
## 不适合的场景
|
||||||
|
|
||||||
### 指出糟糕的架构
|
- 你只需要单一角色的直接执行(例如仅改一段文案)
|
||||||
|
- 你已有明确决策,只需进入实现
|
||||||
|
- 你需要的是对同一输出做深度二次推理
|
||||||
|
|
||||||
**You:** "好了团队,我们上个冲刺是一场灾难。认证服务宕机了三次。谁搞砸了这件事?"
|
这些场景通常更适合:
|
||||||
|
- `bmad-quick-dev`(直接进入实现)
|
||||||
|
- `advanced elicitation`(二次推理补强)
|
||||||
|
|
||||||
**Architect:** "设计本身是合理的——分布式认证,有适当的回退机制。如果实现偏离了规范……"
|
## 价值与边界
|
||||||
|
|
||||||
**Dev:** "我完全按照架构文档执行的。规范没有考虑到并发会话失效的竞态条件。"
|
Party Mode 的价值在于”更快看见盲区”:
|
||||||
|
- 优势:视角多、分歧显性、对齐速度快
|
||||||
|
- 代价:讨论信息量大,需要你主动控节奏和收敛
|
||||||
|
|
||||||
**PM:** "你们两个都忽略了更大的问题——我们没有在 PRD 中验证会话管理需求。这是我的错,没有发现这一点。"
|
:::caution[使用建议]
|
||||||
|
先给清晰议题,再给决策约束(时间、风险、成本、成功标准),讨论质量会明显更高。
|
||||||
**TEA:** "我也应该在集成测试中发现这一点。测试场景没有覆盖并发失效。"
|
|
||||||
|
|
||||||
### 创意头脑风暴
|
|
||||||
|
|
||||||
**You:** "我们如何让入职体验变得神奇,而不是无聊?"
|
|
||||||
|
|
||||||
**UX Designer:** "从渐进式披露开始——在用户需要时揭示功能,而不是在教程中一次性展示所有内容。"
|
|
||||||
|
|
||||||
**Storyteller:** "如果入职是一个故事会怎样?每一步都揭示一个角色的旅程——用户就是英雄。"
|
|
||||||
|
|
||||||
**Game Designer:** "在此基础上——如果第一个'任务'实际上是解决一个真实的用户问题会怎样?他们通过做有价值的事情来学习。"
|
|
||||||
|
|
||||||
### 技术决策
|
|
||||||
|
|
||||||
**You:** "MVP 用单体还是微服务?"
|
|
||||||
|
|
||||||
**Architect:** "从单体开始。微服务会增加你在 1000 用户时不需要的复杂性。"
|
|
||||||
|
|
||||||
**PM:** "同意。上市时间比理论上的可扩展性更重要。"
|
|
||||||
|
|
||||||
**Dev:** "单体,但要有清晰的模块边界。如果需要,我们以后可以提取服务。"
|
|
||||||
|
|
||||||
:::tip[Better Decisions]
|
|
||||||
通过多元视角做出更好的决策。欢迎来到 party mode。
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
---
|
若你的目标是结构化发散创意,可先参考 [头脑风暴](./brainstorming.md);若你已经有初稿并想做二次推理补强,可参考 [高级启发](./advanced-elicitation.md)。完整阶段位置见 [工作流地图](../reference/workflow-map.md)。
|
||||||
## 术语说明
|
|
||||||
|
|
||||||
- **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
|
## 与相近模式的区别
|
||||||
- **PM**:产品经理(Product Manager)。
|
|
||||||
- **Architect**:架构师。
|
| 模式 | 核心目标 | 最佳场景 | 输出形态 |
|
||||||
- **Dev**:开发者(Developer)。
|
| ----- | ----- | ----- | ----- |
|
||||||
- **UX Designer**:用户体验设计师。
|
| `bmad-party-mode` | 多角色对齐与权衡 | 跨职能决策、复盘、规划 | 共识点、争议点、决策建议 |
|
||||||
- **TEA**:测试工程师(Test Engineer/Automation)。
|
| `bmad-brainstorming` | 发散创意并收敛 | 方向探索、创意卡点 | 想法池与优先级 |
|
||||||
- **PRD**:产品需求文档(Product Requirements Document)。
|
| `advanced elicitation` | 对现有输出做二次推理 | 规格/方案补强 | 改进版内容与风险补充 |
|
||||||
- **MVP**:最小可行产品(Minimum Viable Product)。
|
|
||||||
- **monolith**:单体架构。一种将应用程序构建为单一、统一单元的架构风格。
|
## 继续阅读
|
||||||
- **microservices**:微服务。一种将应用程序构建为一组小型、独立服务的架构风格。
|
|
||||||
- **progressive disclosure**:渐进式披露。一种交互设计模式,仅在用户需要时显示信息或功能。
|
- [头脑风暴](./brainstorming.md)
|
||||||
- **post-mortem**:复盘。对事件或项目进行事后分析,以了解发生了什么以及如何改进。
|
- [高级启发](./advanced-elicitation.md)
|
||||||
- **sprint**:冲刺。敏捷开发中的固定时间周期,通常为 1-4 周。
|
- [工作流地图](../reference/workflow-map.md)
|
||||||
- **race condition**:竞态条件。当多个进程或线程同时访问和操作共享数据时,系统行为取决于执行顺序的一种情况。
|
|
||||||
- **fallback**:回退机制。当主要方法失败时使用的备用方案。
|
|
||||||
- **time to market**:上市时间。产品从概念到推向市场所需的时间。
|
|
||||||
|
|
|
||||||
|
|
@ -5,133 +5,114 @@ sidebar:
|
||||||
order: 4
|
order: 4
|
||||||
---
|
---
|
||||||
|
|
||||||
当多个 AI 智能体实现系统的不同部分时,它们可能会做出相互冲突的技术决策。架构文档通过建立共享标准来防止这种情况。
|
当多个 AI 智能体并行实现系统时,冲突并不罕见。`architecture` 的作用,就是在 `solutioning` 阶段先统一关键决策,避免到 `epic/story` 实施时才暴露分歧。
|
||||||
|
|
||||||
## 常见冲突类型
|
## 冲突最常出现在哪些地方
|
||||||
|
|
||||||
### API 风格冲突
|
### API 风格冲突
|
||||||
|
|
||||||
没有架构时:
|
没有架构约束时:
|
||||||
- 智能体 A 使用 REST,路径为 `/users/{id}`
|
- 智能体 A 使用 REST,路径是 `/users/{id}`
|
||||||
- 智能体 B 使用 GraphQL mutations
|
- 智能体 B 使用 GraphQL mutations
|
||||||
- 结果:API 模式不一致,消费者困惑
|
- 结果:接口模式不一致,调用方和集成层都变复杂
|
||||||
|
|
||||||
有架构时:
|
有架构约束时:
|
||||||
- ADR 指定:"所有客户端-服务器通信使用 GraphQL"
|
- ADR 明确规定:“客户端与服务端统一使用 GraphQL”
|
||||||
- 所有智能体遵循相同的模式
|
- 所有智能体遵循同一套 API 规则
|
||||||
|
|
||||||
### 数据库设计冲突
|
### 数据库与命名冲突
|
||||||
|
|
||||||
没有架构时:
|
没有架构约束时:
|
||||||
- 智能体 A 使用 snake_case 列名
|
- 智能体 A 使用 `snake_case` 列名
|
||||||
- 智能体 B 使用 camelCase 列名
|
- 智能体 B 使用 `camelCase` 列名
|
||||||
- 结果:模式不一致,查询混乱
|
- 结果:schema 不一致,查询与迁移成本上升
|
||||||
|
|
||||||
有架构时:
|
有架构约束时:
|
||||||
- 标准文档指定命名约定
|
- 标准文档统一命名约定和迁移策略
|
||||||
- 所有智能体遵循相同的模式
|
- 所有智能体按同一模式实现
|
||||||
|
|
||||||
### 状态管理冲突
|
### 状态管理冲突
|
||||||
|
|
||||||
没有架构时:
|
没有架构约束时:
|
||||||
- 智能体 A 使用 Redux 管理全局状态
|
- 智能体 A 使用 Redux
|
||||||
- 智能体 B 使用 React Context
|
- 智能体 B 使用 React Context
|
||||||
- 结果:多种状态管理方法,复杂度增加
|
- 结果:状态层碎片化,维护复杂度增加
|
||||||
|
|
||||||
有架构时:
|
有架构约束时:
|
||||||
- ADR 指定状态管理方法
|
- ADR 明确状态管理方案
|
||||||
- 所有智能体一致实现
|
- 不同 `story` 的实现保持一致
|
||||||
|
|
||||||
## 架构如何防止冲突
|
## architecture 如何前置消解冲突
|
||||||
|
|
||||||
### 1. 通过 ADR 明确决策
|
### 1. 用 ADR 固化关键决策
|
||||||
|
|
||||||
每个重要的技术选择都记录以下内容:
|
每个关键技术选择都至少包含:
|
||||||
- 上下文(为什么这个决策很重要)
|
- 背景(为什么要做这个决策)
|
||||||
- 考虑的选项(有哪些替代方案)
|
- 备选方案(有哪些选择)
|
||||||
- 决策(我们选择了什么)
|
- 最终决策(采用什么)
|
||||||
- 理由(为什么选择它)
|
- 理由(为什么这样选)
|
||||||
- 后果(接受的权衡)
|
- 后果(接受哪些权衡)
|
||||||
|
|
||||||
### 2. FR/NFR 特定指导
|
### 2. 把 FR/NFR 映射到技术实现
|
||||||
|
|
||||||
架构将每个功能需求映射到技术方法:
|
`architecture` 不是抽象原则清单,而是把需求落到可执行方案:
|
||||||
- FR-001:用户管理 → GraphQL mutations
|
- FR-001(用户管理)→ GraphQL mutations
|
||||||
- FR-002:移动应用 → 优化查询
|
- FR-002(移动端性能)→ 查询裁剪与缓存策略
|
||||||
|
|
||||||
### 3. 标准和约定
|
### 3. 统一基础约定
|
||||||
|
|
||||||
明确记录以下内容:
|
至少覆盖以下共识:
|
||||||
- 目录结构
|
- 目录结构
|
||||||
- 命名约定
|
- 命名约定
|
||||||
- 代码组织
|
- 代码组织方式
|
||||||
- 测试模式
|
- 测试策略
|
||||||
|
|
||||||
## 架构作为共享上下文
|
## architecture 是所有 epic 的共享上下文
|
||||||
|
|
||||||
将架构视为所有智能体在实现之前阅读的共享上下文:
|
把架构文档看作每个智能体在实施前都要阅读的“公共协议”:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
PRD:"构建什么"
|
PRD: "做什么"
|
||||||
↓
|
↓
|
||||||
架构:"如何构建"
|
architecture: "如何做"
|
||||||
↓
|
↓
|
||||||
智能体 A 阅读架构 → 实现 Epic 1
|
智能体 A 读 architecture → 实现 Epic 1
|
||||||
智能体 B 阅读架构 → 实现 Epic 2
|
智能体 B 读 architecture → 实现 Epic 2
|
||||||
智能体 C 阅读架构 → 实现 Epic 3
|
智能体 C 读 architecture → 实现 Epic 3
|
||||||
↓
|
↓
|
||||||
结果:一致的实现
|
结果:实现一致、集成顺畅
|
||||||
```
|
```
|
||||||
|
|
||||||
## Key ADR Topics
|
## 优先写清的 ADR 主题
|
||||||
|
|
||||||
防止冲突的常见决策:
|
| 主题 | 示例决策 |
|
||||||
|
|
||||||
| Topic | Example Decision |
|
|
||||||
| ---------------- | -------------------------------------------- |
|
| ---------------- | -------------------------------------------- |
|
||||||
| API Style | GraphQL vs REST vs gRPC |
|
| API 风格 | GraphQL vs REST vs gRPC |
|
||||||
| Database | PostgreSQL vs MongoDB |
|
| 数据存储 | PostgreSQL vs MongoDB |
|
||||||
| Auth | JWT vs Sessions |
|
| 认证机制 | JWT vs Session |
|
||||||
| State Management | Redux vs Context vs Zustand |
|
| 状态管理 | Redux vs Context vs Zustand |
|
||||||
| Styling | CSS Modules vs Tailwind vs Styled Components |
|
| 样式方案 | CSS Modules vs Tailwind vs Styled Components |
|
||||||
| Testing | Jest + Playwright vs Vitest + Cypress |
|
| 测试体系 | Jest + Playwright vs Vitest + Cypress |
|
||||||
|
|
||||||
## 避免的反模式
|
## 常见误区
|
||||||
|
|
||||||
:::caution[常见错误]
|
:::caution[常见错误]
|
||||||
- **隐式决策** — "我们边做边确定 API 风格"会导致不一致
|
- **隐式决策**:边写边定规则,最终通常会分叉
|
||||||
- **过度文档化** — 记录每个次要选择会导致分析瘫痪
|
- **过度文档化**:把每个小选择都写 ADR,造成分析瘫痪
|
||||||
- **过时架构** — 文档写一次后从不更新,导致智能体遵循过时的模式
|
- **架构陈旧**:文档不更新,智能体继续按过时规则实现
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::tip[正确方法]
|
:::tip[更稳妥的做法]
|
||||||
- 记录跨越 epic 边界的决策
|
- 先记录跨 `epic`、高冲突概率的决策
|
||||||
- 专注于容易产生冲突的领域
|
- 把精力放在”会影响多个 story 的规则”
|
||||||
- 随着学习更新架构
|
- 随着项目演进持续更新架构文档
|
||||||
- 对重大变更使用 `correct-course`
|
- 出现重大偏移时使用 `bmad-correct-course`
|
||||||
:::
|
:::
|
||||||
|
|
||||||
---
|
如需先理解为什么要在实施前做 solutioning,可阅读 [为什么解决方案设计很重要](./why-solutioning-matters.md);如果你想把这些约束落地到项目执行,可继续看 [项目上下文](./project-context.md)。流程全景见 [工作流地图](../reference/workflow-map.md)。
|
||||||
## 术语说明
|
|
||||||
|
|
||||||
- **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
|
## 继续阅读
|
||||||
- **ADR**:架构决策记录(Architecture Decision Record)。用于记录重要架构决策及其背景、选项和后果的文档。
|
|
||||||
- **FR**:功能需求(Functional Requirement)。系统必须具备的功能或行为。
|
- [为什么解决方案阶段很重要](./why-solutioning-matters.md)
|
||||||
- **NFR**:非功能需求(Non-Functional Requirement)。系统性能、安全性、可扩展性等质量属性。
|
- [项目上下文](./project-context.md)
|
||||||
- **Epic**:史诗。大型功能或用户故事的集合,通常需要多个迭代完成。
|
- [工作流地图](../reference/workflow-map.md)
|
||||||
- **snake_case**:蛇形命名法。单词之间用下划线连接,所有字母小写的命名风格。
|
|
||||||
- **camelCase**:驼峰命名法。除第一个单词外,每个单词首字母大写的命名风格。
|
|
||||||
- **GraphQL mutations**:GraphQL 变更操作。用于修改服务器数据的 GraphQL 操作类型。
|
|
||||||
- **Redux**:JavaScript 状态管理库。用于管理应用全局状态的可预测状态容器。
|
|
||||||
- **React Context**:React 上下文 API。用于在组件树中传递数据而无需逐层传递 props。
|
|
||||||
- **Zustand**:轻量级状态管理库。用于 React 应用的简单状态管理解决方案。
|
|
||||||
- **CSS Modules**:CSS 模块。将 CSS 作用域限制在组件内的技术。
|
|
||||||
- **Tailwind**:Tailwind CSS。实用优先的 CSS 框架。
|
|
||||||
- **Styled Components**:样式化组件。使用 JavaScript 编写样式的 React 库。
|
|
||||||
- **Jest**:JavaScript 测试框架。用于编写和运行测试的工具。
|
|
||||||
- **Playwright**:端到端测试框架。用于自动化浏览器测试的工具。
|
|
||||||
- **Vitest**:Vite 原生测试框架。快速且轻量的单元测试工具。
|
|
||||||
- **Cypress**:端到端测试框架。用于 Web 应用测试的工具。
|
|
||||||
- **gRPC**:远程过程调用框架。Google 开发的高性能 RPC 框架。
|
|
||||||
- **JWT**:JSON Web Token。用于身份验证的开放标准令牌。
|
|
||||||
- **PRD**:产品需求文档(Product Requirements Document)。描述产品功能、需求和目标的文档。
|
|
||||||
|
|
|
||||||
|
|
@ -1,55 +1,51 @@
|
||||||
---
|
---
|
||||||
title: "项目上下文"
|
title: "项目上下文"
|
||||||
description: project-context.md 如何使用项目的规则和偏好指导 AI 智能体
|
description: project-context.md 如何使用项目规则和偏好指导 AI 智能体
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 7
|
order: 7
|
||||||
---
|
---
|
||||||
|
|
||||||
`project-context.md` 文件是您的项目面向 AI 智能体的实施指南。类似于其他开发系统中的"宪法",它记录了确保所有工作流中代码生成一致的规则、模式和偏好。
|
`project-context.md` 是面向 AI 智能体的项目级上下文文件。它的定位不是教程步骤,而是“实现约束说明”:把你的技术偏好、架构边界和工程约定沉淀成可复用规则,让不同工作流、不同智能体在多个 `story` 中做出一致决策。
|
||||||
|
|
||||||
## 它的作用
|
## project context 解决什么问题
|
||||||
|
|
||||||
AI 智能体不断做出实施决策——遵循哪些模式、如何组织代码、使用哪些约定。如果没有明确指导,它们可能会:
|
没有统一上下文时,智能体往往会:
|
||||||
- 遵循与您的代码库不匹配的通用最佳实践
|
- 套用通用最佳实践,而不是你的项目约定
|
||||||
- 在不同的用户故事中做出不一致的决策
|
- 在不同 `story` 中做出不一致实现
|
||||||
- 错过项目特定的需求或约束
|
- 漏掉代码里不易推断的隐性约束
|
||||||
|
|
||||||
`project-context.md` 文件通过以简洁、针对 LLM 优化的格式记录智能体需要了解的内容来解决这个问题。
|
有 `project-context.md` 时,这些高频偏差会明显减少,因为关键规则在进入实现前已经被显式声明。
|
||||||
|
|
||||||
## 它的工作原理
|
## 它如何被工作流使用
|
||||||
|
|
||||||
每个实施工作流都会自动加载 `project-context.md`(如果存在)。架构师工作流也会加载它,以便在设计架构时尊重您的技术偏好。
|
多数实现相关工作流会自动加载 `project-context.md`(若存在),并把它作为共享上下文参与决策。
|
||||||
|
|
||||||
**由以下工作流加载:**
|
**常见加载方包括:**
|
||||||
- `create-architecture` — 在解决方案设计期间尊重技术偏好
|
- `bmad-create-architecture`:在 solutioning 时纳入你的技术偏好
|
||||||
- `create-story` — 使用项目模式指导用户故事创建
|
- `bmad-create-story`:按项目约定拆分和描述 story
|
||||||
- `dev-story` — 指导实施决策
|
- `bmad-dev-story`:约束实现路径和代码风格
|
||||||
- `code-review` — 根据项目标准进行验证
|
- `bmad-code-review`:按项目标准做一致性校验
|
||||||
- `quick-dev` — 在实施技术规范时应用模式
|
- `bmad-quick-dev`:在快速实现中避免偏离既有模式
|
||||||
- `sprint-planning`、`retrospective`、`correct-course` — 提供项目范围的上下文
|
- `bmad-sprint-planning`、`bmad-retrospective`、`bmad-correct-course`:读取项目级背景
|
||||||
|
|
||||||
## 何时创建
|
## 什么时候建立或更新
|
||||||
|
|
||||||
`project-context.md` 文件在项目的任何阶段都很有用:
|
| 场景 | 建议时机 | 目标 |
|
||||||
|
|
||||||
| 场景 | 何时创建 | 目的 |
|
|
||||||
|----------|----------------|---------|
|
|----------|----------------|---------|
|
||||||
| **新项目,架构之前** | 手动,在 `create-architecture` 之前 | 记录您的技术偏好,以便架构师尊重它们 |
|
| **新项目(架构前)** | 在 `bmad-create-architecture` 前手动创建 | 先声明技术偏好,避免架构偏航 |
|
||||||
| **新项目,架构之后** | 通过 `generate-project-context` 或手动 | 捕获架构决策,供实施智能体使用 |
|
| **新项目(架构后)** | 通过 `bmad-generate-project-context` 生成并补充 | 把架构决策转成可执行规则 |
|
||||||
| **现有项目** | 通过 `generate-project-context` | 发现现有模式,以便智能体遵循既定约定 |
|
| **既有项目** | 先生成,再人工校对 | 让智能体学习现有约定而非重造体系 |
|
||||||
| **快速流程项目** | 在 `quick-dev` 之前或期间 | 确保快速实施尊重您的模式 |
|
| **Quick Flow 场景** | 在 `bmad-quick-dev` 前或过程中维护 | 弥补跳过完整规划带来的上下文缺口 |
|
||||||
|
|
||||||
:::tip[推荐]
|
:::tip[推荐做法]
|
||||||
对于新项目,如果您有强烈的技术偏好,请在架构之前手动创建。否则,在架构之后生成它以捕获这些决策。
|
如果你有强技术偏好(例如数据库、状态管理、目录规范),尽量在架构前写入。否则可在架构后生成,再按项目现实补齐。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## 文件内容
|
## 应该写哪些内容
|
||||||
|
|
||||||
该文件有两个主要部分:
|
建议聚焦两类信息:**技术栈与版本**、**关键实现规则**。原则是记录“智能体不容易从代码片段直接推断”的内容。
|
||||||
|
|
||||||
### 技术栈与版本
|
### 1. 技术栈与版本
|
||||||
|
|
||||||
记录项目使用的框架、语言和工具及其具体版本:
|
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
## Technology Stack & Versions
|
## Technology Stack & Versions
|
||||||
|
|
@ -60,9 +56,7 @@ AI 智能体不断做出实施决策——遵循哪些模式、如何组织代
|
||||||
- Styling: Tailwind CSS with custom design tokens
|
- Styling: Tailwind CSS with custom design tokens
|
||||||
```
|
```
|
||||||
|
|
||||||
### 关键实施规则
|
### 2. 关键实现规则
|
||||||
|
|
||||||
记录智能体可能忽略的模式和约定:
|
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
## Critical Implementation Rules
|
## Critical Implementation Rules
|
||||||
|
|
@ -73,104 +67,30 @@ AI 智能体不断做出实施决策——遵循哪些模式、如何组织代
|
||||||
|
|
||||||
**Code Organization:**
|
**Code Organization:**
|
||||||
- Components in `/src/components/` with co-located `.test.tsx`
|
- Components in `/src/components/` with co-located `.test.tsx`
|
||||||
- Utilities in `/src/lib/` for reusable pure functions
|
|
||||||
- API calls use the `apiClient` singleton — never fetch directly
|
- API calls use the `apiClient` singleton — never fetch directly
|
||||||
|
|
||||||
**Testing Patterns:**
|
**Testing Patterns:**
|
||||||
- Unit tests focus on business logic, not implementation details
|
|
||||||
- Integration tests use MSW to mock API responses
|
- Integration tests use MSW to mock API responses
|
||||||
- E2E tests cover critical user journeys only
|
- E2E tests cover critical user journeys only
|
||||||
|
|
||||||
**Framework-Specific:**
|
|
||||||
- All async operations use the `handleError` wrapper for consistent error handling
|
|
||||||
- Feature flags accessed via `featureFlag()` from `@/lib/flags`
|
|
||||||
- New routes follow the file-based routing pattern in `/src/app/`
|
|
||||||
```
|
```
|
||||||
|
|
||||||
专注于那些**不明显**的内容——智能体可能无法从阅读代码片段中推断出来的内容。不要记录普遍适用的标准实践。
|
## 常见误解
|
||||||
|
|
||||||
## 创建文件
|
- **误解 1:它是操作手册。**
|
||||||
|
不是。操作步骤请看 how-to;这里强调的是规则与边界。
|
||||||
|
- **误解 2:写得越全越好。**
|
||||||
|
不对。冗长且泛化的“最佳实践”会稀释有效约束。
|
||||||
|
- **误解 3:写一次就结束。**
|
||||||
|
这是动态文件。架构变化、约定变化后要同步更新。
|
||||||
|
|
||||||
您有三个选择:
|
## 文件位置
|
||||||
|
|
||||||
### 手动创建
|
默认位置是 `_bmad-output/project-context.md`。工作流优先在该位置查找,也会扫描项目内的 `**/project-context.md`。
|
||||||
|
|
||||||
在 `_bmad-output/project-context.md` 创建文件并添加您的规则:
|
## 继续阅读
|
||||||
|
|
||||||
```bash
|
如需可执行步骤说明,请阅读 [How-to:项目上下文](../how-to/project-context.md);如果你在既有项目落地这套机制,可参考 [既有项目常见问题](./established-projects-faq.md)。整体流程定位见 [工作流地图](../reference/workflow-map.md)。
|
||||||
# In your project root
|
|
||||||
mkdir -p _bmad-output
|
|
||||||
touch _bmad-output/project-context.md
|
|
||||||
```
|
|
||||||
|
|
||||||
使用您的技术栈和实施规则编辑它。架构师和实施工作流将自动查找并加载它。
|
- [管理项目上下文(How-to)](../how-to/project-context.md)
|
||||||
|
- [既有项目常见问题](./established-projects-faq.md)
|
||||||
### 架构后生成
|
- [工作流地图](../reference/workflow-map.md)
|
||||||
|
|
||||||
在完成架构后运行 `generate-project-context` 工作流:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
/bmad-bmm-generate-project-context
|
|
||||||
```
|
|
||||||
|
|
||||||
这将扫描您的架构文档和项目文件,生成一个捕获所做决策的上下文文件。
|
|
||||||
|
|
||||||
### 为现有项目生成
|
|
||||||
|
|
||||||
对于现有项目,运行 `generate-project-context` 以发现现有模式:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
/bmad-bmm-generate-project-context
|
|
||||||
```
|
|
||||||
|
|
||||||
该工作流分析您的代码库以识别约定,然后生成一个您可以审查和优化的上下文文件。
|
|
||||||
|
|
||||||
## 为什么重要
|
|
||||||
|
|
||||||
没有 `project-context.md`,智能体会做出可能与您的项目不匹配的假设:
|
|
||||||
|
|
||||||
| 没有上下文 | 有上下文 |
|
|
||||||
|----------------|--------------|
|
|
||||||
| 使用通用模式 | 遵循您的既定约定 |
|
|
||||||
| 用户故事之间风格不一致 | 实施一致 |
|
|
||||||
| 可能错过项目特定的约束 | 尊重所有技术需求 |
|
|
||||||
| 每个智能体独立决策 | 所有智能体遵循相同规则 |
|
|
||||||
|
|
||||||
这对于以下情况尤其重要:
|
|
||||||
- **快速流程** — 跳过 PRD 和架构,因此上下文文件填补了空白
|
|
||||||
- **团队项目** — 确保所有智能体遵循相同的标准
|
|
||||||
- **现有项目** — 防止破坏既定模式
|
|
||||||
|
|
||||||
## 编辑和更新
|
|
||||||
|
|
||||||
`project-context.md` 文件是一个动态文档。在以下情况下更新它:
|
|
||||||
|
|
||||||
- 架构决策发生变化
|
|
||||||
- 建立了新的约定
|
|
||||||
- 模式在实施过程中演变
|
|
||||||
- 您从智能体行为中发现差距
|
|
||||||
|
|
||||||
您可以随时手动编辑它,或者在重大更改后重新运行 `generate-project-context` 来更新它。
|
|
||||||
|
|
||||||
:::note[文件位置]
|
|
||||||
默认位置是 `_bmad-output/project-context.md`。工作流在那里搜索它,并且还会检查项目中任何位置的 `**/project-context.md`。
|
|
||||||
:::
|
|
||||||
|
|
||||||
---
|
|
||||||
## 术语说明
|
|
||||||
|
|
||||||
- **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
|
|
||||||
- **workflow**:工作流。指一系列自动化或半自动化的任务流程。
|
|
||||||
- **PRD**:产品需求文档(Product Requirements Document)。描述产品功能、需求和目标的文档。
|
|
||||||
- **LLM**:大语言模型(Large Language Model)。指基于深度学习的自然语言处理模型。
|
|
||||||
- **singleton**:单例。一种设计模式,确保一个类只有一个实例。
|
|
||||||
- **E2E**:端到端(End-to-End)。指从用户角度出发的完整测试流程。
|
|
||||||
- **MSW**:Mock Service Worker。用于模拟 API 响应的库。
|
|
||||||
- **Vitest**:基于 Vite 的单元测试框架。
|
|
||||||
- **Playwright**:端到端测试框架。
|
|
||||||
- **Zustand**:轻量级状态管理库。
|
|
||||||
- **Redux**:JavaScript 应用状态管理库。
|
|
||||||
- **Tailwind CSS**:实用优先的 CSS 框架。
|
|
||||||
- **TypeScript**:JavaScript 的超集,添加了静态类型。
|
|
||||||
- **React**:用于构建用户界面的 JavaScript 库。
|
|
||||||
- **Node.js**:基于 Chrome V8 引擎的 JavaScript 运行时。
|
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue