diff --git a/.gitignore b/.gitignore index 75becca1..885cb245 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Dependencies -node_modules/ +**/node_modules/ pnpm-lock.yaml bun.lock deno.lock diff --git a/.markdownlint-cli2.yaml b/.markdownlint-cli2.yaml index 12a3c943..c22ff4c5 100644 --- a/.markdownlint-cli2.yaml +++ b/.markdownlint-cli2.yaml @@ -2,7 +2,7 @@ # https://github.com/DavidAnson/markdownlint-cli2 ignores: - - node_modules/** + - "**/node_modules/**" - test/fixtures/** - CODE_OF_CONDUCT.md - _bmad/** diff --git a/README.md b/README.md index 939b03ac..0c78e8d4 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org) [![Discord](https://img.shields.io/badge/Discord-Join%20Community-7289da?logo=discord&logoColor=white)](https://discord.gg/gk8jAdXWmj) -**Build More, Architect Dreams** — An AI-driven agile development framework with 21 specialized agents, 50+ guided workflows, and scale-adaptive intelligence that adjusts from bug fixes to enterprise systems. +**Breakthrough Method of Agile AI Driven Development** — An AI-driven agile development framework with 21 specialized agents, 50+ guided workflows, and scale-adaptive intelligence that adjusts from bug fixes to enterprise systems. **100% free and open source.** No paywalls. No gated content. No gated Discord. We believe in empowering everyone, not just those who can pay. @@ -16,6 +16,7 @@ Traditional AI tools do the thinking for you, producing average results. BMad ag - **Scale-Adaptive**: Automatically adjusts planning depth based on project complexity (Level 0-4) - **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) +- **Party Mode**: Bring multiple agent personas into one session to plan, troubleshoot, or discuss your project collaboratively - **Complete Lifecycle**: From brainstorming to deployment, with just-in-time documentation ## Quick Start @@ -26,34 +27,43 @@ Traditional AI tools do the thinking for you, producing average results. BMad ag npx bmad-method@alpha install ``` -Follow the installer prompts to configure your project. +Follow the installer prompts, then open your AI IDE (Claude Code, Cursor, Windsurf, etc.) in the project folder. -Once you have installed BMad to a folder, launch your tool of choice from where you installed BMad. (We really like Claude Code and Cursor - but there are any that work great with BMad!) +> **Not sure what to do?** Run `/bmad-help` — it tells you exactly what's next and what's optional. You can also ask it questions like `/bmad-help How should I build a web app for XYZ?` -Then its simple as running the command: `/bmad-help` if you do not know what to do. Depending on which modules you have installed, you will have different choices. +The workflows below show the fastest path to working code. You can also load agents directly for a more structured process, extensive planning, or to learn about agile development practices — the agents guide you with menus, explanations, and elicitation at each step. -To make the help more applicable you can even run the `/bmad-help What do you suggest I do to get started building a brand new web application for XYZ`. +### Simple Path (Quick Flow) -The results from BMad Help will be able to suggest and constantly guide you on what to do next - along with the workflows upon completion also making suggestions on what to do next. +Bug fixes, small features, clear scope — 3 commands: -This analyzes your project and recommends a track: +1. `/quick-spec` — analyzes your codebase and produces a tech-spec with stories +2. `/dev-story` — implements each story +3. `/code-review` — validates quality -| Track | Best For | Time to First Story Coding | -| --------------- | ------------------------- | -------------------------- | -| **Quick Flow** | Bug fixes, small features | ~10-30 minutes | -| **BMad Method** | Products and platforms | ~30 minutes - 2 hours | -| **Enterprise** | Compliance-heavy systems | ~1-3 hours | +### Full Planning Path (BMad Method) + +Products, platforms, complex features — structured planning then build: + +1. `/product-brief` — define problem, users, and MVP scope +2. `/create-prd` — full requirements with personas, metrics, and risks +3. `/create-architecture` — technical decisions and system design +4. `/create-epics-and-stories` — break work into prioritized stories +5. `/sprint-planning` — initialize sprint tracking +6. **Repeat per story:** `/create-story` → `/dev-story` → `/code-review` + +Every step tells you what's next. Optional phases (brainstorming, research, UX design) are available when you need them — ask `/bmad-help` anytime. For a detailed walkthrough, see the [Getting Started Tutorial](http://docs.bmad-method.org/tutorials/getting-started/getting-started-bmadv6/). ## Modules BMad Method extends with official modules for specialized domains. Modules are available during installation and can be added to your project at any time. -| Module | GitHub | NPM | Purpose | -|--------|--------|-----|---------| -| **BMad Method (BMM)** | [bmad-code-org/BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) | [bmad-method](https://www.npmjs.com/package/bmad-method) | Core framework with 34+ workflows across 4 development phases | -| **BMad Builder (BMB)** | [bmad-code-org/bmad-builder](https://github.com/bmad-code-org/bmad-builder) | [bmad-builder](https://www.npmjs.com/package/bmad-builder) | Create custom BMad agents, workflows, and domain-specific modules | -| **Game Dev Studio (BMGD)** | [bmad-code-org/bmad-module-game-dev-studio](https://github.com/bmad-code-org/bmad-module-game-dev-studio) | [bmad-game-dev-studio](https://www.npmjs.com/package/bmad-game-dev-studio) | Game development workflows for Unity, Unreal, and Godot | -| **Creative Intelligence Suite (CIS)** | [bmad-code-org/bmad-module-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite) | [bmad-creative-intelligence-suite](https://www.npmjs.com/package/bmad-creative-intelligence-suite) | Innovation, brainstorming, design thinking, and problem-solving | +| Module | GitHub | NPM | Purpose | +| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | +| **BMad Method (BMM)** | [bmad-code-org/BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) | [bmad-method](https://www.npmjs.com/package/bmad-method) | Core framework with 34+ workflows across 4 development phases | +| **BMad Builder (BMB)** | [bmad-code-org/bmad-builder](https://github.com/bmad-code-org/bmad-builder) | [bmad-builder](https://www.npmjs.com/package/bmad-builder) | Create custom BMad agents, workflows, and domain-specific modules | +| **Game Dev Studio (BMGD)** | [bmad-code-org/bmad-module-game-dev-studio](https://github.com/bmad-code-org/bmad-module-game-dev-studio) | [bmad-game-dev-studio](https://www.npmjs.com/package/bmad-game-dev-studio) | Game development workflows for Unity, Unreal, and Godot | +| **Creative Intelligence Suite (CIS)** | [bmad-code-org/bmad-module-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite) | [bmad-creative-intelligence-suite](https://www.npmjs.com/package/bmad-creative-intelligence-suite) | Innovation, brainstorming, design thinking, and problem-solving | ## Documentation diff --git a/docs/index.md b/docs/index.md index abc96030..f0a0ae46 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,6 +13,7 @@ If you're comfortable working with AI coding assistants like Claude, Cursor, or The fastest way to understand BMad is to try it. Choose a tutorial to walk through your first project in about 10 minutes. - **[Get Started with BMad](/docs/tutorials/getting-started/getting-started-bmadv6.md)** — Latest features, still in active development +- **[Workflow Guide](/workflow-guide)** — A simple visual overview of the various BMad tracks that get you going quickly. :::tip[Already familiar with AI-assisted development?] Feel free to skip around. Use the sidebar to jump to any topic, or check out [What Are Agents?](/docs/explanation/core-concepts/what-are-agents.md) to understand how BMad organizes its AI personas. diff --git a/docs/tutorials/getting-started/getting-started-bmadv6.md b/docs/tutorials/getting-started/getting-started-bmadv6.md index ed674cb3..70be60aa 100644 --- a/docs/tutorials/getting-started/getting-started-bmadv6.md +++ b/docs/tutorials/getting-started/getting-started-bmadv6.md @@ -42,9 +42,7 @@ BMad helps you build software through guided workflows with specialized AI agent | 3 | Solutioning | Design architecture *(BMad Method/Enterprise only)* | | 4 | Implementation | Build epic by epic, story by story | -![BMad Method Workflow - Standard Greenfield](./images/workflow-method-greenfield.svg) - -*Complete visual flowchart showing all phases, workflows, and agents for the standard greenfield track.* +**[Open the Interactive Workflow Guide](/workflow-guide)** to explore phases, agents, and outputs for your chosen track. Based on your project's complexity, BMad offers three planning tracks: @@ -86,6 +84,8 @@ your-project/ Having issues? See [Install BMad](/docs/how-to/installation/install-bmad.md) for common solutions. ::: +Open your AI IDE in the project folder. From here, you can run `/bmad-help` anytime to see what to do next — or ask it a question like `/bmad-help How should I build a web app for XYZ?` + ## Step 1: Initialize Your Project Load the **Analyst agent** in your IDE, wait for the menu, then run `workflow-init`. diff --git a/package-lock.json b/package-lock.json index e4cbe9b8..a4cccb83 100644 --- a/package-lock.json +++ b/package-lock.json @@ -244,6 +244,7 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -3972,6 +3973,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4280,6 +4282,7 @@ "integrity": "sha512-6mF/YrvwwRxLTu+aMEa5pwzKUNl5ZetWbTyZCs9Um0F12HUmxUiF5UHiZPy4rifzU3gtpM3xP2DfdmkNX9eZRg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@astrojs/compiler": "^2.13.0", "@astrojs/internal-helpers": "0.7.5", @@ -5347,6 +5350,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -6662,6 +6666,7 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -10223,6 +10228,7 @@ "integrity": "sha512-p3JTemJJbkiMjXEMiFwgm0v6ym5g8K+b2oDny+6xdl300tUKySxvilJQLSea48C6OaYNmO30kH9KxpiAg5bWJw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "globby": "15.0.0", "js-yaml": "4.1.1", @@ -12286,6 +12292,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -12351,6 +12358,7 @@ "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -13179,6 +13187,7 @@ "integrity": "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -14718,6 +14727,7 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -14991,6 +15001,7 @@ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "license": "ISC", + "peer": true, "bin": { "yaml": "bin.mjs" }, @@ -15170,6 +15181,7 @@ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/src/bmm/module-help.csv b/src/bmm/module-help.csv index f8ff2e5c..811da6ad 100644 --- a/src/bmm/module-help.csv +++ b/src/bmm/module-help.csv @@ -1,33 +1,32 @@ module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs, bmm,anytime,Document Project,DP,10,_bmad/bmm/workflows/document-project/workflow.yaml,bmad_bmm_document-project,false,analyst,Create Mode,"Analyze an existing project to produce useful documentation",project-knowledge,*, -bmm,anytime,Tech Spec,TS,20,_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md,bmad_bmm_tech-spec,false,quick-flow-solo-dev,Create Mode,"Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method. Quick one-off tasks small changes simple apps utilities without extensive planning",planning_artifacts,"tech spec", +bmm,anytime,Quick Spec,TS,20,_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md,bmad_bmm_quick-spec,false,quick-flow-solo-dev,Create Mode,"Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method. Quick one-off tasks small changes simple apps utilities without extensive planning",planning_artifacts,"tech spec", bmm,anytime,Quick Dev,QD,30,_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md,bmad_bmm_quick-dev,false,quick-flow-solo-dev,Create Mode,"Quick one-off tasks small changes simple apps utilities without extensive planning - Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method, unless the user is already working through the implementation phase and just requests a 1 off things not already in the plan",,, bmm,anytime,Correct Course,CC,40,_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml,bmad_bmm_correct-course,false,sm,Create Mode,"Anytime: Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories",planning_artifacts,"change proposal", -bmm,1-analysis,Brainstorm Project,BP,10,_bmad/core/workflows/brainstorming/workflow.md,bmad_bmm_brainstorming,false,analyst,"data=_bmad/bmm/data/project-context-template.md","Expert Guided Facilitation through a single or multiple techniques",planning_artifacts,"brainstorming session", -bmm,1-analysis,Market Research,MR,20,_bmad/bmm/workflows/1-analysis/research/workflow.md,bmad_bmm_research,false,analyst,Create Mode,"research_type=""market""","Market analysis competitive landscape customer needs and trends","planning_artifacts|project-knowledge","research documents" -bmm,1-analysis,Domain Research,DR,21,_bmad/bmm/workflows/1-analysis/research/workflow.md,bmad_bmm_research,false,analyst,Create Mode,"research_type=""domain""","Industry domain deep dive subject matter expertise and terminology","planning_artifacts|project-knowledge","research documents" -bmm,1-analysis,Technical Research,TR,22,_bmad/bmm/workflows/1-analysis/research/workflow.md,bmad_bmm_research,false,analyst,Create Mode,"research_type=""technical""","Technical feasibility architecture options and implementation approaches","planning_artifacts|project-knowledge","research documents" +bmm,1-analysis,Brainstorm Project,BP,10,_bmad/core/workflows/brainstorming/workflow.md,bmad_brainstorming,false,analyst,data=_bmad/bmm/data/project-context-template.md,"Expert Guided Facilitation through a single or multiple techniques",planning_artifacts,"brainstorming session", +bmm,1-analysis,Market Research,MR,20,_bmad/bmm/workflows/1-analysis/research/workflow.md,bmad_bmm_research,false,analyst,Create Mode research_type=market,"Market analysis competitive landscape customer needs and trends","planning_artifacts|project-knowledge","research documents" +bmm,1-analysis,Domain Research,DR,21,_bmad/bmm/workflows/1-analysis/research/workflow.md,bmad_bmm_research,false,analyst,Create Mode research_type=domain,"Industry domain deep dive subject matter expertise and terminology","planning_artifacts|project-knowledge","research documents" +bmm,1-analysis,Technical Research,TR,22,_bmad/bmm/workflows/1-analysis/research/workflow.md,bmad_bmm_research,false,analyst,Create Mode research_type=technical,"Technical feasibility architecture options and implementation approaches","planning_artifacts|project-knowledge","research documents" bmm,1-analysis,Create Brief,CB,30,_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md,bmad_bmm_create-brief,false,analyst,Create Mode,"A guided experience to nail down your product idea",planning_artifacts,"product brief", bmm,1-analysis,Validate Brief,VB,40,_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md,bmad_bmm_validate-brief,false,analyst,Validate Mode,"Validates product brief completeness",planning_artifacts,"brief validation report", -bmm,2-planning,Create PRD,CP,10,_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md,bmad_bmm_create-prd,true,pm,Create Mode,"Expert led facilitation to produce your Product Requirements Document",planning_artifacts,prd, -bmm,2-planning,Validate PRD,VP,20,_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md,bmad_bmm_validate-prd,false,pm,Validate Mode,"Validate PRD is comprehensive lean well organized and cohesive",planning_artifacts,"prd validation report", -bmm,2-planning,Create UX,CU,30,_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md,bmad_bmm_create-ux,false,ux-designer,Create Mode,"Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project",planning_artifacts,"ux design", -bmm,2-planning,Validate UX,VU,40,_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md,bmad_bmm_validate-ux,false,ux-designer,Validate Mode,"Validates UX design deliverables",planning_artifacts,"ux validation report", -,,Create Dataflow,CDF,50,_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml,bmad_bmm_create-dataflow,false,ux-designer,Create Mode,"Create data flow diagrams (DFD) in Excalidraw format - can be called standalone or during any workflow to add visual documentation",planning_artifacts,"dataflow diagram", -,,Create Diagram,CED,51,_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml,bmad_bmm_create-diagram,false,ux-designer,Create Mode,"Create system architecture diagrams ERDs UML diagrams or general technical diagrams in Excalidraw format - use anytime or call from architecture workflow to add visual documentation",planning_artifacts,"diagram", -,,Create Flowchart,CFC,52,_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml,bmad_bmm_create-flowchart,false,ux-designer,Create Mode,"Create a flowchart visualization in Excalidraw format for processes pipelines or logic flows - use anytime or during architecture to add process documentation",planning_artifacts,"flowchart", -,,Create Wireframe,CEW,53,_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml,bmad_bmm_create-wireframe,false,ux-designer,Create Mode,"Create website or app wireframes in Excalidraw format - use anytime standalone or call from UX workflow to add UI mockups",planning_artifacts,"wireframe", +bmm,2-planning,Create PRD,CP,10,_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md,bmad_bmm_prd,true,pm,Create Mode,"Expert led facilitation to produce your Product Requirements Document",planning_artifacts,prd, +bmm,2-planning,Validate PRD,VP,20,_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md,bmad_bmm_prd,false,pm,Validate Mode,"Validate PRD is comprehensive lean well organized and cohesive",planning_artifacts,"prd validation report", +bmm,2-planning,Create UX,CU,30,_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md,bmad_bmm_create-ux-design,false,ux-designer,Create Mode,"Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project",planning_artifacts,"ux design", +bmm,2-planning,Validate UX,VU,40,_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md,bmad_bmm_create-ux-design,false,ux-designer,Validate Mode,"Validates UX design deliverables",planning_artifacts,"ux validation report", +,anytime,Create Dataflow,CDF,50,_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml,bmad_bmm_create-excalidraw-dataflow,false,ux-designer,Create Mode,"Create data flow diagrams (DFD) in Excalidraw format - can be called standalone or during any workflow to add visual documentation",planning_artifacts,"dataflow diagram", +,anytime,Create Diagram,CED,51,_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml,bmad_bmm_create-excalidraw-diagram,false,ux-designer,Create Mode,"Create system architecture diagrams ERDs UML diagrams or general technical diagrams in Excalidraw format - use anytime or call from architecture workflow to add visual documentation",planning_artifacts,"diagram", +,anytime,Create Flowchart,CFC,52,_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml,bmad_bmm_create-excalidraw-flowchart,false,ux-designer,Create Mode,"Create a flowchart visualization in Excalidraw format for processes pipelines or logic flows - use anytime or during architecture to add process documentation",planning_artifacts,"flowchart", +,anytime,Create Wireframe,CEW,53,_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml,bmad_bmm_create-excalidraw-wireframe,false,ux-designer,Create Mode,"Create website or app wireframes in Excalidraw format - use anytime standalone or call from UX workflow to add UI mockups",planning_artifacts,"wireframe", bmm,3-solutioning,Create Architecture,CA,10,_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md,bmad_bmm_create-architecture,true,architect,Create Mode,"Guided Workflow to document technical decisions",planning_artifacts,architecture, -bmm,3-solutioning,Validate Architecture,VA,20,_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md,bmad_bmm_validate-architecture,false,architect,Validate Mode,"Validates architecture completeness",planning_artifacts,"architecture validation report", +bmm,3-solutioning,Validate Architecture,VA,20,_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md,bmad_bmm_create-architecture,false,architect,Validate Mode,"Validates architecture completeness",planning_artifacts,"architecture validation report", bmm,3-solutioning,Create Epics and Stories,CE,30,_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md,bmad_bmm_create-epics-and-stories,true,pm,Create Mode,"Create the Epics and Stories Listing",planning_artifacts,"epics and stories", -bmm,3-solutioning,Validate Epics and Stories,VE,40,_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md,bmad_bmm_validate-epics-and-stories,false,pm,Validate Mode,"Validates epics and stories completeness",planning_artifacts,"epics validation report", -bmm,3-solutioning,Test Design,TD,50,_bmad/bmm/workflows/testarch/test-design/workflow.yaml,bmad_bmm_test-design,false,tea,Create Mode,"Create comprehensive test scenarios ahead of development, recommended if string test compliance or assurance is needed. Very critical for distributed applications with separate front ends and backends outside of a monorepo.",planning_artifacts,"test design", -bmm,3-solutioning,Validate Test Design,VT,60,_bmad/bmm/workflows/testarch/test-design/workflow.yaml,bmad_bmm_validate-test-design,false,tea,Validate Mode,"Validates test design coverage",planning_artifacts,"test design validation report", -bmm,3-solutioning,Implementation Readiness,IR,70,_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md,bmad_bmm_implementation-readiness,true,architect,Validate Mode,"Ensure PRD UX Architecture and Epics Stories are aligned",planning_artifacts,"readiness report", +bmm,3-solutioning,Validate Epics and Stories,VE,40,_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md,bmad_bmm_create-epics-and-stories,false,pm,Validate Mode,"Validates epics and stories completeness",planning_artifacts,"epics validation report", +bmm,3-solutioning,Test Design,TD,50,_bmad/bmm/workflows/testarch/test-design/workflow.yaml,bmad_bmm_testarch-test-design,false,tea,Create Mode,"Create comprehensive test scenarios ahead of development, recommended if string test compliance or assurance is needed. Very critical for distributed applications with separate front ends and backends outside of a monorepo.",planning_artifacts,"test design", +bmm,3-solutioning,Check Implementation Readiness,IR,70,_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md,bmad_bmm_check-implementation-readiness,true,architect,Validate Mode,"Ensure PRD UX Architecture and Epics Stories are aligned",planning_artifacts,"readiness report", bmm,4-implementation,Sprint Planning,SP,10,_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml,bmad_bmm_sprint-planning,true,sm,Create Mode,"Generate sprint plan for development tasks - this kicks off the implementation phase by producing a plan the implementation agents will follow in sequence for every story in the plan.",implementation_artifacts,"sprint status", bmm,4-implementation,Sprint Status,SS,20,_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml,bmad_bmm_sprint-status,false,sm,Create Mode,"Anytime: Summarize sprint status and route to next workflow",,, bmm,4-implementation,Create Story,CS,30,_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml,bmad_bmm_create-story,true,sm,Create Mode,"Story cycle start: Prepare first found story in the sprint plan that is next, or if the command is run with a specific epic and story designation with context. Once complete, then VS then DS then CR then back to DS if needed or next CS or ER",implementation_artifacts,story, -bmm,4-implementation,Validate Story,VS,35,_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml,bmad_bmm_validate-story,false,sm,Validate Mode,"Validates story readiness and completeness before development work begins",implementation_artifacts,"story validation report", +bmm,4-implementation,Validate Story,VS,35,_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml,bmad_bmm_create-story,false,sm,Validate Mode,"Validates story readiness and completeness before development work begins",implementation_artifacts,"story validation report", bmm,4-implementation,Dev Story,DS,40,_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml,bmad_bmm_dev-story,true,dev,Create Mode,"Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed",,, bmm,4-implementation,Code Review,CR,50,_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml,bmad_bmm_code-review,false,dev,Create Mode,"Story cycle: If issues back to DS if approved then next CS or ER if epic complete",,, bmm,4-implementation,Retrospective,ER,60,_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml,bmad_bmm_retrospective,false,sm,Create Mode,"Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC",implementation_artifacts,retrospective, diff --git a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md index a5535a42..49618093 100644 --- a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +++ b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md @@ -141,7 +141,7 @@ Display: "**Proceeding to product vision discovery...**" #### Menu Handling Logic: -- After setup report is presented, immediately load, read entire file, then execute {nextStepFile} +- After setup report is presented, without delay, read fully and follow: {nextStepFile} #### EXECUTION RULES: @@ -150,7 +150,7 @@ Display: "**Proceeding to product vision discovery...**" ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [setup completion is achieved and frontmatter properly updated], will you then load and read fully `{nextStepFile}` to execute and begin product vision discovery. +ONLY WHEN [setup completion is achieved and frontmatter properly updated], will you then read fully and follow: `{nextStepFile}` to begin product vision discovery. --- diff --git a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md index 0d541b40..99b2495f 100644 --- a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +++ b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md @@ -125,7 +125,7 @@ Display: "Ready to continue with Step {nextStepNumber}: {nextStepTitle}? #### Menu Handling Logic: -- IF C: Load, read entire file, then execute the appropriate next step file based on `lastStep` +- IF C: Read fully and follow the appropriate next step file based on `lastStep` - IF Any other comments or queries: respond and redisplay menu #### EXECUTION RULES: @@ -136,7 +136,7 @@ Display: "Ready to continue with Step {nextStepNumber}: {nextStepTitle}? ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [current state confirmed], will you then load and read fully the appropriate next step file to resume the workflow. +ONLY WHEN [C continue option] is selected and [current state confirmed], will you then read fully and follow the appropriate next step file to resume the workflow. --- diff --git a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md index 1df56977..f00e18fa 100644 --- a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +++ b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md @@ -156,9 +156,9 @@ Prepare the following structure for document append: #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with current vision content to dive deeper and refine -- IF P: Execute {partyModeWorkflow} to bring different perspectives to positioning and differentiation -- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2], then only then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with current vision content to dive deeper and refine +- IF P: Read fully and follow: {partyModeWorkflow} to bring different perspectives to positioning and differentiation +- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2], then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options) #### EXECUTION RULES: @@ -170,7 +170,7 @@ Prepare the following structure for document append: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [vision content finalized and saved to document with frontmatter updated], will you then load and read fully `{nextStepFile}` to execute and begin target user discovery. +ONLY WHEN [C continue option] is selected and [vision content finalized and saved to document with frontmatter updated], will you then read fully and follow: `{nextStepFile}` to begin target user discovery. --- diff --git a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md index 8493e7d2..cba26641 100644 --- a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +++ b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md @@ -159,9 +159,9 @@ Prepare the following structure for document append: #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with current user content to dive deeper into personas and journeys -- IF P: Execute {partyModeWorkflow} to bring different perspectives to validate user understanding -- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3], then only then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with current user content to dive deeper into personas and journeys +- IF P: Read fully and follow: {partyModeWorkflow} to bring different perspectives to validate user understanding +- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3], then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options) #### EXECUTION RULES: @@ -173,7 +173,7 @@ Prepare the following structure for document append: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [user personas finalized and saved to document with frontmatter updated], will you then load and read fully `{nextStepFile}` to execute and begin success metrics definition. +ONLY WHEN [C continue option] is selected and [user personas finalized and saved to document with frontmatter updated], will you then read fully and follow: `{nextStepFile}` to begin success metrics definition. --- diff --git a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md index 6a3dde46..e6b297c3 100644 --- a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +++ b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md @@ -162,9 +162,9 @@ Prepare the following structure for document append: #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with current metrics content to dive deeper into success metric insights -- IF P: Execute {partyModeWorkflow} to bring different perspectives to validate comprehensive metrics -- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3, 4], then only then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with current metrics content to dive deeper into success metric insights +- IF P: Read fully and follow: {partyModeWorkflow} to bring different perspectives to validate comprehensive metrics +- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3, 4], then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options) #### EXECUTION RULES: @@ -176,7 +176,7 @@ Prepare the following structure for document append: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [success metrics finalized and saved to document with frontmatter updated], will you then load and read fully `{nextStepFile}` to execute and begin MVP scope definition. +ONLY WHEN [C continue option] is selected and [success metrics finalized and saved to document with frontmatter updated], will you then read fully and follow: `{nextStepFile}` to begin MVP scope definition. --- diff --git a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md index b494f2d8..0914b835 100644 --- a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +++ b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md @@ -176,9 +176,9 @@ Prepare the following structure for document append: #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with current scope content to optimize scope definition -- IF P: Execute {partyModeWorkflow} to bring different perspectives to validate MVP scope -- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3, 4, 5], then only then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with current scope content to optimize scope definition +- IF P: Read fully and follow: {partyModeWorkflow} to bring different perspectives to validate MVP scope +- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3, 4, 5], then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options) #### EXECUTION RULES: @@ -190,7 +190,7 @@ Prepare the following structure for document append: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [MVP scope finalized and saved to document with frontmatter updated], will you then load and read fully `{nextStepFile}` to execute and complete the product brief workflow. +ONLY WHEN [C continue option] is selected and [MVP scope finalized and saved to document with frontmatter updated], will you then read fully and follow: `{nextStepFile}` to complete the product brief workflow. --- diff --git a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md index 3540177b..91c1ba66 100644 --- a/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +++ b/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md @@ -128,7 +128,7 @@ Recap that the brief captures everything needed to guide subsequent product deve ### 5. Suggest next steps -Execute task `_bmad/core/tasks/bmad-help.md` with argument `Validate PRD`. +Product Brief complete. Read fully and follow: `_bmad/core/tasks/bmad-help.md` with argument `Validate PRD`. --- diff --git a/src/bmm/workflows/1-analysis/create-product-brief/workflow.md b/src/bmm/workflows/1-analysis/create-product-brief/workflow.md index 0cbcca44..c17b1821 100644 --- a/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +++ b/src/bmm/workflows/1-analysis/create-product-brief/workflow.md @@ -31,7 +31,7 @@ This uses **step-file architecture** for disciplined execution: 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection 4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue) 5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step -6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file +6. **LOAD NEXT**: When directed, read fully and follow the next step file ### Critical Rules (NO EXCEPTIONS) @@ -55,4 +55,4 @@ Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: ### 2. First Step EXECUTION -Load, read the full file and then execute `{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md` to begin the workflow. +Read fully and follow: `{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md` to begin the workflow. diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md index 7acc5f84..7ab275a8 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -159,7 +159,7 @@ Show the generated project understanding content and present choices: ## APPEND TO DOCUMENT: -When user selects 'C', append the content directly to the document. Only after the content is saved to document, load `./step-03-core-experience.md` and execute the instructions. +When user selects 'C', append the content directly to the document. Only after the content is saved to document, read fully and follow: `./step-03-core-experience.md`. ## SUCCESS METRICS: diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md index 593ca02a..c64c8423 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -161,7 +161,7 @@ Show the generated core experience content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current core experience content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current core experience content - Process the enhanced experience insights that come back - Ask user: "Accept these improvements to the core experience definition? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -169,7 +169,7 @@ Show the generated core experience content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current core experience definition +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current core experience definition - Process the collaborative experience improvements that come back - Ask user: "Accept these changes to the core experience definition? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md index 97a5c1a2..247a61e2 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -164,7 +164,7 @@ Show the generated emotional response content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current emotional response content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current emotional response content - Process the enhanced emotional insights that come back - Ask user: "Accept these improvements to the emotional response definition? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -172,7 +172,7 @@ Show the generated emotional response content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current emotional response definition +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current emotional response definition - Process the collaborative emotional insights that come back - Ask user: "Accept these changes to the emotional response definition? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md index 2307fbdb..87fe5603 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -179,7 +179,7 @@ Show the generated inspiration analysis content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current inspiration analysis content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current inspiration analysis content - Process the enhanced pattern insights that come back - Ask user: "Accept these improvements to the inspiration analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -187,7 +187,7 @@ Show the generated inspiration analysis content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current inspiration analysis +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current inspiration analysis - Process the collaborative pattern insights that come back - Ask user: "Accept these changes to the inspiration analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -197,7 +197,7 @@ Show the generated inspiration analysis content and present choices: - Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: append step to end of stepsCompleted array -- Load and execute`./step-06-design-system.md` +- Read fully and follow: `./step-06-design-system.md` ## APPEND TO DOCUMENT: diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md index f9375d19..70d566ad 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -197,7 +197,7 @@ Show the generated design system content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current design system content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current design system content - Process the enhanced design system insights that come back - Ask user: "Accept these improvements to the design system decision? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -205,7 +205,7 @@ Show the generated design system content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design system choice +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design system choice - Process the collaborative design system insights that come back - Ask user: "Accept these changes to the design system decision? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md index c67f2126..7e904b94 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -199,7 +199,7 @@ Show the generated defining experience content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current defining experience content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current defining experience content - Process the enhanced experience insights that come back - Ask user: "Accept these improvements to the defining experience? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -207,7 +207,7 @@ Show the generated defining experience content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current defining experience +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current defining experience - Process the collaborative experience insights that come back - Ask user: "Accept these changes to the defining experience? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md index aa930104..bd764a60 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -169,7 +169,7 @@ Show the generated visual foundation content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current visual foundation content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current visual foundation content - Process the enhanced visual insights that come back - Ask user: "Accept these improvements to the visual foundation? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -177,7 +177,7 @@ Show the generated visual foundation content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current visual foundation +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current visual foundation - Process the collaborative visual insights that come back - Ask user: "Accept these changes to the visual foundation? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md index f1cfceee..a50ed503 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -169,7 +169,7 @@ Show the generated design direction content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current design direction content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current design direction content - Process the enhanced design insights that come back - Ask user: "Accept these improvements to the design direction? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -177,7 +177,7 @@ Show the generated design direction content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design direction +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design direction - Process the collaborative design insights that come back - Ask user: "Accept these changes to the design direction? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md index 6bc9b55c..985577f0 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -187,7 +187,7 @@ Show the generated user journey content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current user journey content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current user journey content - Process the enhanced journey insights that come back - Ask user: "Accept these improvements to the user journeys? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -195,7 +195,7 @@ Show the generated user journey content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current user journeys +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current user journeys - Process the collaborative journey insights that come back - Ask user: "Accept these changes to the user journeys? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md index 410bb5fe..deef19b7 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -193,7 +193,7 @@ Show the generated component strategy content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current component strategy content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current component strategy content - Process the enhanced component insights that come back - Ask user: "Accept these improvements to the component strategy? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -201,7 +201,7 @@ Show the generated component strategy content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current component strategy +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current component strategy - Process the collaborative component insights that come back - Ask user: "Accept these changes to the component strategy? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md index 19fc6484..4708b52a 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -182,7 +182,7 @@ Show the generated UX patterns content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current UX patterns content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current UX patterns content - Process the enhanced pattern insights that come back - Ask user: "Accept these improvements to the UX patterns? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -190,7 +190,7 @@ Show the generated UX patterns content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current UX patterns +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current UX patterns - Process the collaborative pattern insights that come back - Ask user: "Accept these changes to the UX patterns? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md index 8c2e55bd..80b81d4c 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -209,7 +209,7 @@ Show the generated responsive and accessibility content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current responsive/accessibility content +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current responsive/accessibility content - Process the enhanced insights that come back - Ask user: "Accept these improvements to the responsive/accessibility strategy? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -217,7 +217,7 @@ Show the generated responsive and accessibility content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current responsive/accessibility strategy +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current responsive/accessibility strategy - Process the collaborative insights that come back - Ask user: "Accept these changes to the responsive/accessibility strategy? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md index b44f1164..fe784788 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md @@ -82,7 +82,7 @@ Update the main workflow status file: ### 3. Suggest Next Steps -Execute task `_bmad/core/tasks/bmad-help.md` with argument `Create UX`. +UX Design complete. Read fully and follow: `_bmad/core/tasks/bmad-help.md` with argument `Create UX`. ### 5. Final Completion Confirmation diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md index 2ad717de..d74cb487 100644 --- a/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md @@ -40,4 +40,4 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ## EXECUTION - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` -- Load and execute `steps/step-01-init.md` to begin the UX design workflow. +- Read fully and follow: `steps/step-01-init.md` to begin the UX design workflow. diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md index 63a8e7ae..4b53688d 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md @@ -151,7 +151,7 @@ Display menu after setup report: #### Menu Handling Logic: -- IF C: Update output file frontmatter, adding this step name to the end of the list of stepsCompleted, then load, read entire {nextStepFile}, then execute {nextStepFile} +- IF C: Update output file frontmatter, adding this step name to the end of the list of stepsCompleted, then read fully and follow: {nextStepFile} - IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report - IF user asks questions: Answer and redisplay menu @@ -162,7 +162,7 @@ Display menu after setup report: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [frontmatter properly updated with this step added to stepsCompleted and documentCounts], will you then load and read fully `{nextStepFile}` to execute and begin project discovery. +ONLY WHEN [C continue option] is selected and [frontmatter properly updated with this step added to stepsCompleted and documentCounts], will you then read fully and follow: `{nextStepFile}` to begin project discovery. --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md index 5f3999bf..4f9198af 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md @@ -120,7 +120,7 @@ Display: "**Select an Option:** [C] Continue to {next step name}" #### Menu Handling Logic: -- IF C: Load, read entire file, then execute the {nextStepFile} determined in step 3 +- IF C: Read fully and follow the {nextStepFile} determined in step 3 - IF Any other comments or queries: respond and redisplay menu #### EXECUTION RULES: @@ -130,7 +130,7 @@ Display: "**Select an Option:** [C] Continue to {next step name}" ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [current state confirmed], will you then load and read fully the {nextStepFile} to resume the workflow. +ONLY WHEN [C continue option] is selected and [current state confirmed], will you then read fully and follow: {nextStepFile} to resume the workflow. --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md index 49f2557e..4829a4d3 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md @@ -185,9 +185,9 @@ Present the project classification for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Product Vision (Step 2b of 13)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the current classification, process the enhanced insights that come back, ask user if they accept the improvements, if yes update classification then redisplay menu, if no keep original classification then redisplay menu -- IF P: Execute {partyModeWorkflow} with the current classification, process the collaborative insights, ask user if they accept the changes, if yes update classification then redisplay menu, if no keep original classification then redisplay menu -- IF C: Save classification to {outputFile} frontmatter, add this step name to the end of stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the current classification, process the enhanced insights that come back, ask user if they accept the improvements, if yes update classification then redisplay menu, if no keep original classification then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the current classification, process the collaborative insights, ask user if they accept the changes, if yes update classification then redisplay menu, if no keep original classification then redisplay menu +- IF C: Save classification to {outputFile} frontmatter, add this step name to the end of stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -197,7 +197,7 @@ Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Pr ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [classification saved to frontmatter], will you then load and read fully `{nextStepFile}` to explore product vision. +ONLY WHEN [C continue option] is selected and [classification saved to frontmatter], will you then read fully and follow: `{nextStepFile}` to explore product vision. --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md index 90906981..9a3c5e34 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md @@ -175,9 +175,9 @@ Present the success criteria content for user review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to User Journey Mapping (Step 4 of 11)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the current success criteria content, process the enhanced success metrics that come back, ask user "Accept these improvements to the success criteria? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF P: Execute {partyModeWorkflow} with the current success criteria, process the collaborative improvements to metrics and scope, ask user "Accept these changes to the success criteria? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the current success criteria content, process the enhanced success metrics that come back, ask user "Accept these improvements to the success criteria? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the current success criteria, process the collaborative improvements to metrics and scope, ask user "Accept these changes to the success criteria? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md index 765eb8b3..314dab56 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md @@ -155,9 +155,9 @@ Present the user journey content for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Domain Requirements (Step 5 of 11)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the current journey content, process the enhanced journey insights that come back, ask user "Accept these improvements to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF P: Execute {partyModeWorkflow} with the current journeys, process the collaborative journey improvements and additions, ask user "Accept these changes to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the current journey content, process the enhanced journey insights that come back, ask user "Accept these improvements to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the current journeys, process the collaborative journey improvements and additions, ask user "Accept these changes to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md index 36351c64..9539527d 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md @@ -154,9 +154,9 @@ Acknowledge the domain and explore what makes it complex: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue - Save and Proceed to Innovation (Step 6 of 13)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu -- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu -- IF C: Save content to {outputFile}, update frontmatter, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask}, and when finished redisplay the menu +- IF P: Read fully and follow: {partyModeWorkflow}, and when finished redisplay the menu +- IF C: Save content to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#n-present-menu-options) #### EXECUTION RULES: @@ -178,7 +178,7 @@ If step was skipped, append nothing and proceed. ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [content saved or skipped], will you then load and read fully `{nextStepFile}` to explore innovation. +ONLY WHEN [C continue option] is selected and [content saved or skipped], will you then read fully and follow: `{nextStepFile}` to explore innovation. --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md index 85e3d473..440ccf2d 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md @@ -155,9 +155,9 @@ Present the innovation content for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Project Type Analysis (Step 7 of 11)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the current innovation content, process the enhanced innovation insights that come back, ask user "Accept these improvements to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF P: Execute {partyModeWorkflow} with the current innovation content, process the collaborative innovation exploration and ideation, ask user "Accept these changes to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the current innovation content, process the enhanced innovation insights that come back, ask user "Accept these improvements to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the current innovation content, process the collaborative innovation exploration and ideation, ask user "Accept these changes to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -176,7 +176,7 @@ Display: "**Select:** [A] Advanced Elicitation - Let's try to find innovative an ### Menu Handling Logic: - IF A: Proceed with content generation anyway, then return to menu -- IF C: Skip this step, then load, read entire file, then execute {nextStepFile} +- IF C: Skip this step, then read fully and follow: {nextStepFile} ### EXECUTION RULES: - ALWAYS halt and wait for user input after presenting menu diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md index 27650819..c078d6db 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md @@ -172,9 +172,9 @@ Present the project-type content for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Scoping (Step 8 of 11)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the current project-type content, process the enhanced technical insights that come back, ask user "Accept these improvements to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF P: Execute {partyModeWorkflow} with the current project-type requirements, process the collaborative technical expertise and validation, ask user "Accept these changes to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the current project-type content, process the enhanced technical insights that come back, ask user "Accept these improvements to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the current project-type requirements, process the collaborative technical expertise and validation, ask user "Accept these changes to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md index c26ad663..da9230ad 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md @@ -183,9 +183,9 @@ Present the scoping decisions for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Functional Requirements (Step 9 of 11)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the current scoping analysis, process the enhanced insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF P: Execute {partyModeWorkflow} with the scoping context, process the collaborative insights on MVP and roadmap decisions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the current scoping analysis, process the enhanced insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the scoping context, process the collaborative insights on MVP and roadmap decisions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md index 36fb71b4..d689ebf3 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md @@ -181,9 +181,9 @@ Present the functional requirements for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Non-Functional Requirements (Step 10 of 11)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the current FR list, process the enhanced capability coverage that comes back, ask user if they accept the additions, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF P: Execute {partyModeWorkflow} with the current FR list, process the collaborative capability validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the current FR list, process the enhanced capability coverage that comes back, ask user if they accept the additions, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the current FR list, process the collaborative capability validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md index 403a647e..40919635 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md @@ -168,9 +168,9 @@ Present the non-functional requirements for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Polish Document (Step 11 of 12)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF P: Execute {partyModeWorkflow} with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md index 1edbf0bf..23200915 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md @@ -169,9 +169,9 @@ Present the polished document for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Complete PRD (Step 12 of 12)" #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} with the polished document, process the enhanced refinements that come back, ask user "Accept these polish improvements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu -- IF P: Execute {partyModeWorkflow} with the polished document, process the collaborative refinements to flow and coherence, ask user "Accept these polish changes? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu -- IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} with the polished document, process the enhanced refinements that come back, ask user "Accept these polish improvements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu +- IF P: Read fully and follow: {partyModeWorkflow} with the polished document, process the collaborative refinements to flow and coherence, ask user "Accept these polish changes? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu +- IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md index eb50c89a..ec3272ff 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md @@ -87,7 +87,7 @@ Offer validation workflows to ensure PRD is ready for implementation: ### 4. Suggest Next Workflows -Execute task `_bmad/core/tasks/bmad-help.md` with argument `Create PRD`. +PRD complete. Read fully and follow: `_bmad/core/tasks/bmad-help.md` with argument `Create PRD`. ### 5. Final Completion Confirmation diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md index 0a1891c9..64403297 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md @@ -189,7 +189,7 @@ Display: "**Edit Requirements Understood** **Proceeding to deep review and analysis...**" -Load and execute next step (step-e-02-review.md) +Read fully and follow: next step (step-e-02-review.md) **IF PRD is Legacy (Non-Standard) AND no validation report:** @@ -216,7 +216,7 @@ Present MENU OPTIONS below for user selection #### Menu Handling Logic: -- IF C (Convert): Load, read entire file, then execute {altStepFile} (step-e-01b-legacy-conversion.md) +- IF C (Convert): Read fully and follow: {altStepFile} (step-e-01b-legacy-conversion.md) - IF E (Edit As-Is): Display "Proceeding with edits..." then load next step - IF X (Exit): Display summary and exit - IF Any other: help user, then redisplay menu diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md index ce3c32c4..d9073d12 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md @@ -182,7 +182,7 @@ Edit goals: {summary} **Proceeding to deep review...**" -Load and execute {nextStepFile} (step-e-02-review.md) +Read fully and follow: {nextStepFile} (step-e-02-review.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md index d1e0bc63..4be9fbba 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md @@ -204,7 +204,7 @@ Display: "**Change Plan Approved** **Proceeding to edit step...**" -Load and execute {nextStepFile} (step-e-03-edit.md) +Read fully and follow: {nextStepFile} (step-e-03-edit.md) ### 7. Present MENU OPTIONS (If User Wants Discussion) @@ -219,8 +219,8 @@ Load and execute {nextStepFile} (step-e-03-edit.md) #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask}, then return to discussion -- IF P: Execute {partyModeWorkflow}, then return to discussion +- IF A: Read fully and follow: {advancedElicitationTask}, then return to discussion +- IF P: Read fully and follow: {partyModeWorkflow}, then return to discussion - IF C: Document approval, then load {nextStepFile} - IF Any other: discuss, then redisplay menu diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md index 04e21fde..c94880dd 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md @@ -222,7 +222,7 @@ Display: #### Menu Handling Logic: -- IF V (Validate): Display "Starting validation workflow..." then load and execute steps-v/step-v-01-discovery.md +- IF V (Validate): Display "Starting validation workflow..." then read fully and follow: steps-v/step-v-01-discovery.md - IF S (Summary): Present edit summary and exit - IF A (Adjust): Accept additional requirements, loop back to editing - IF X (Exit): Display summary and exit diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md index 780f2694..733f1a52 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md @@ -120,14 +120,14 @@ Display: - Display: "This will run all 13 validation checks on the updated PRD." - Display: "Preparing to validate: {prd_file_path}" - Display: "**Proceeding to validation...**" - - Load, read entire file, then execute {validationWorkflow} (steps-v/step-v-01-discovery.md) + - Read fully and follow: {validationWorkflow} (steps-v/step-v-01-discovery.md) - Note: This hands off to the validation workflow which will run its complete 13-step process - **IF E (Edit More):** - Display: "**Additional Edits**" - Ask: "What additional edits would you like to make?" - Accept input, then display: "**Returning to edit step...**" - - Load and execute step-e-03-edit.md again + - Read fully and follow: step-e-03-edit.md again - **IF S (Summary):** - Display detailed summary including: diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md index 0d198495..b79e12fe 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md @@ -187,9 +187,9 @@ Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Conti #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu -- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu -- IF C: Load, read entire file, then execute {nextStepFile} to begin format detection +- IF A: Read fully and follow: {advancedElicitationTask}, and when finished redisplay the menu +- IF P: Read fully and follow: {partyModeWorkflow}, and when finished redisplay the menu +- IF C: Read fully and follow: {nextStepFile} to begin format detection - IF user provides additional document: Load it, update report, redisplay summary - IF Any other: help user, then redisplay menu diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md index 97566603..a354b5af 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md @@ -136,7 +136,7 @@ Display: "**Format Detected:** {classification} Proceeding to systematic validation checks..." -Immediately load and execute {nextStepFile} (step-v-03-density-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-03-density-validation.md) **IF format is Non-Standard (< 3 core sections):** @@ -161,8 +161,8 @@ Present MENU OPTIONS below for user selection #### Menu Handling Logic: -- IF A (Parity Check): Load, read entire file, then execute {altStepFile} (step-v-02b-parity-check.md) -- IF B (Validate As-Is): Display "Proceeding with validation..." then load, read entire file, then execute {nextStepFile} +- IF A (Parity Check): Read fully and follow: {altStepFile} (step-v-02b-parity-check.md) +- IF B (Validate As-Is): Display "Proceeding with validation..." then read fully and follow: {nextStepFile} - IF C (Exit): Display format findings summary and exit validation - IF Any other: help user respond, then redisplay menu diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md index 3c1cc273..604265a9 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md @@ -180,7 +180,7 @@ Your PRD is missing {count} of 6 core BMAD PRD sections. The overall effort to r #### Menu Handling Logic: -- IF C (Continue): Display "Proceeding with validation..." then load, read entire file, then execute {nextStepFile} +- IF C (Continue): Display "Proceeding with validation..." then read fully and follow: {nextStepFile} - IF E (Exit): Display parity summary and exit validation - IF S (Save): Confirm saved, display summary, exit - IF Any other: help user respond, then redisplay menu diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md index b7d4f330..d00478c1 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md @@ -148,7 +148,7 @@ Severity: {Critical/Warning/Pass} **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} (step-v-04-brief-coverage-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-04-brief-coverage-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md index 909114fe..60ad8684 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md @@ -76,7 +76,7 @@ Display: "**Product Brief Coverage: Skipped** (No Product Brief provided) **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} +Without delay, read fully and follow: {nextStepFile} **IF Product Brief exists:** Continue to step 2 below @@ -186,7 +186,7 @@ Overall Coverage: {assessment} **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} (step-v-05-measurability-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-05-measurability-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md index 18442e8a..a9718718 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md @@ -201,7 +201,7 @@ Total Violations: {count} ({severity}) **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} (step-v-06-traceability-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-06-traceability-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md index 2a2dcc76..84bf9cce 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md @@ -189,7 +189,7 @@ Total Issues: {count} ({severity}) **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} (step-v-07-implementation-leakage-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-07-implementation-leakage-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md index 7d2839b5..923f9969 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md @@ -178,7 +178,7 @@ Total Violations: {count} ({severity}) **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} (step-v-08-domain-compliance-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-08-domain-compliance-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md index 6bc473e7..562697ed 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md @@ -161,7 +161,7 @@ Domain: {domain} (low complexity) **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} +Without delay, read fully and follow: {nextStepFile} ### 6. Report Compliance Findings (High-Complexity Domains) @@ -213,7 +213,7 @@ Compliance Status: {status} **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} (step-v-09-project-type-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-09-project-type-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md index 0aa4a2fb..aea41d92 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md @@ -234,7 +234,7 @@ Compliance: {score}% **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} (step-v-10-smart-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-10-smart-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md index 94918c91..e937c752 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md @@ -179,7 +179,7 @@ FR Quality: {percentage}% with acceptable scores ({severity}) **Proceeding to next validation check...**" -Immediately load and execute {nextStepFile} (step-v-11-holistic-quality-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-11-holistic-quality-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md index 65d41ea1..698b6f65 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md @@ -66,7 +66,7 @@ Assess the PRD as a cohesive, compelling document - evaluating document flow, du "Perform holistic quality assessment on this PRD using multi-perspective evaluation: -**Load and execute Advanced Elicitation workflow:** +**Read fully and follow the Advanced Elicitation workflow:** {advancedElicitationTask} **Evaluate the PRD from these perspectives:** @@ -232,7 +232,7 @@ Overall Rating: {rating}/5 - {label} **Proceeding to final validation checks...**" -Immediately load and execute {nextStepFile} (step-v-12-completeness-validation.md) +Without delay, read fully and follow: {nextStepFile} (step-v-12-completeness-validation.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md index 825fbfe8..00c47798 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md @@ -212,7 +212,7 @@ Overall Completeness: {percentage}% ({severity}) **Proceeding to final step...**" -Immediately load and execute {nextStepFile} (step-v-13-report-complete.md) +Without delay, read fully and follow: {nextStepFile} (step-v-13-report-complete.md) --- diff --git a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md index e67112f9..08465604 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +++ b/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md @@ -181,7 +181,7 @@ Display: - **IF E (Use Edit Workflow):** - Explain: "The Edit workflow (steps-e/) can use this validation report to systematically address issues. Edit mode will guide you through discovering what to edit, reviewing the PRD, and applying targeted improvements." - Offer: "Would you like to launch Edit mode now? It will help you fix validation findings systematically." - - If yes: Load and execute steps-e/step-e-01-discovery.md + - If yes: Read fully and follow: steps-e/step-e-01-discovery.md - If no: Return to menu - **IF F (Fix Simpler Items):** @@ -197,7 +197,7 @@ Display: - **IF X (Exit):** - Display: "**Validation Report Saved:** {validationReportPath}" - Display: "**Summary:** {overall status} - {recommendation}" - - Exit and Execute task `_bmad/core/tasks/bmad-help.md` with argument `Validate PRD`. + - PRD Validation complete. Read fully and follow: `_bmad/core/tasks/bmad-help.md` with argument `Validate PRD`. - **IF Any other:** Help user, then redisplay menu diff --git a/src/bmm/workflows/2-plan-workflows/prd/workflow.md b/src/bmm/workflows/2-plan-workflows/prd/workflow.md index 2658f1e3..be5a7311 100644 --- a/src/bmm/workflows/2-plan-workflows/prd/workflow.md +++ b/src/bmm/workflows/2-plan-workflows/prd/workflow.md @@ -54,17 +54,17 @@ Wait for user selection. **IF Create Mode:** "**Create Mode: Creating a new PRD from scratch.**" -Load, read entire file, then execute: `{nextStep}` (steps-c/step-01-init.md) +Read fully and follow: `{nextStep}` (steps-c/step-01-init.md) **IF Validate Mode:** "**Validate Mode: Validating an existing PRD against BMAD standards.**" Prompt for PRD path: "Which PRD would you like to validate? Please provide the path to the PRD.md file." -Then load, read entire file, and execute: `{validateWorkflow}` (steps-v/step-v-01-discovery.md) +Then read fully and follow: `{validateWorkflow}` (steps-v/step-v-01-discovery.md) **IF Edit Mode:** "**Edit Mode: Improving an existing PRD.**" Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file." -Then load, read entire file, and execute: `{editWorkflow}` (steps-e/step-e-01-discovery.md) +Then read fully and follow: `{editWorkflow}` (steps-e/step-e-01-discovery.md) --- @@ -87,7 +87,7 @@ This uses **step-file architecture** for disciplined execution: 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection 4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue) 5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step -6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file +6. **LOAD NEXT**: When directed, read fully and follow the next step file ### Critical Rules (NO EXCEPTIONS) @@ -137,14 +137,14 @@ Load and read full config from {main_config} and resolve: **IF mode == create:** "**Create Mode: Creating a new PRD from scratch.**" -Load, read entire file, then execute `{nextStep}` (steps-c/step-01-init.md) +Read fully and follow: `{nextStep}` (steps-c/step-01-init.md) **IF mode == validate:** "**Validate Mode: Validating an existing PRD against BMAD standards.**" Prompt for PRD path: "Which PRD would you like to validate? Please provide the path to the PRD.md file." -Then load, read entire file, and execute `{validateWorkflow}` (steps-v/step-v-01-discovery.md) +Then read fully and follow: `{validateWorkflow}` (steps-v/step-v-01-discovery.md) **IF mode == edit:** "**Edit Mode: Improving an existing PRD.**" Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file." -Then load, read entire file, and execute `{editWorkflow}` (steps-e/step-e-01-discovery.md) +Then read fully and follow: `{editWorkflow}` (steps-e/step-e-01-discovery.md) diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md b/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md index c9270cc7..fccb7da2 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +++ b/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md @@ -162,7 +162,7 @@ Display: **Select an Option:** [C] Continue to File Validation #### Menu Handling Logic: -- IF C: Save document inventory to {outputFile}, update frontmatter with completed step and files being included, and only then load read fully and execute {nextStepFile} +- IF C: Save document inventory to {outputFile}, update frontmatter with completed step and files being included, and then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then redisplay menu ## CRITICAL STEP COMPLETION NOTE diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md b/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md index b763d5b3..cc826ee9 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +++ b/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md @@ -115,7 +115,7 @@ The assessment found [number] issues requiring attention. Review the detailed re The implementation readiness workflow is now complete. The report contains all findings and recommendations for the user to consider. -Execute task `_bmad/core/tasks/bmad-help.md` with argument `implementation readiness`. +Implementation Readiness complete. Read fully and follow: `_bmad/core/tasks/bmad-help.md` with argument `implementation readiness`. --- diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md b/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md index a06276fa..d7eb5969 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +++ b/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md @@ -15,7 +15,7 @@ web_bundle: false ### Core Principles - **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time -- **Just-In-Time Loading**: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so +- **Just-In-Time Loading**: Only 1 current step file will be loaded and followed to completion - never load future step files until told to do so - **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed - **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document - **Append-Only Building**: Build documents by appending content as directed to the output file @@ -27,7 +27,7 @@ web_bundle: false 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection 4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue) 5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step -6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file +6. **LOAD NEXT**: When directed, read fully and follow the next step file ### Critical Rules (NO EXCEPTIONS) @@ -52,4 +52,4 @@ Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: ### 2. First Step EXECUTION -Load, read the full file and then execute `./step-01-document-discovery.md` to begin the workflow. +Read fully and follow: `./step-01-document-discovery.md` to begin the workflow. diff --git a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md index 83195452..1e9c6b9a 100644 --- a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +++ b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md @@ -31,8 +31,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -170,7 +170,7 @@ Show the generated content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current context analysis +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current context analysis - Process the enhanced architectural insights that come back - Ask user: "Accept these enhancements to the project context analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -178,7 +178,7 @@ Show the generated content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project context +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project context - Process the collaborative improvements to architectural understanding - Ask user: "Accept these changes to the project context analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md index 8e83b9b1..bccea19d 100644 --- a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +++ b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md @@ -31,8 +31,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -277,7 +277,7 @@ Show the generated content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current starter analysis +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current starter analysis - Process enhanced insights about starter options or custom approaches - Ask user: "Accept these changes to the starter template evaluation? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -285,7 +285,7 @@ Show the generated content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with starter evaluation context +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with starter evaluation context - Process collaborative insights about starter trade-offs - Ask user: "Accept these changes to the starter template evaluation? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md index 1b8ed9c2..c9f5cded 100644 --- a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +++ b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md @@ -32,8 +32,8 @@ This step will generate content and present choices for each decision category: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -264,7 +264,7 @@ Show the generated decisions content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with specific decision categories +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with specific decision categories - Process enhanced insights about particular decisions - Ask user: "Accept these enhancements to the architectural decisions? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -272,7 +272,7 @@ Show the generated decisions content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with architectural decisions context +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with architectural decisions context - Process collaborative insights about decision trade-offs - Ask user: "Accept these changes to the architectural decisions? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md index 921d504d..cbfd99d1 100644 --- a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +++ b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md @@ -32,8 +32,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -305,7 +305,7 @@ Show the generated patterns content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current patterns +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current patterns - Process enhanced consistency rules that come back - Ask user: "Accept these additional pattern refinements? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -313,7 +313,7 @@ Show the generated patterns content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with implementation patterns context +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with implementation patterns context - Process collaborative insights about potential conflicts - Ask user: "Accept these changes to the implementation patterns? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md index 01158cc5..3df89e6c 100644 --- a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +++ b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md @@ -32,8 +32,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -325,7 +325,7 @@ Show the generated project structure content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current project structure +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current project structure - Process enhanced organizational insights that come back - Ask user: "Accept these changes to the project structure? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -333,7 +333,7 @@ Show the generated project structure content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with project structure context +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with project structure context - Process collaborative insights about organization trade-offs - Ask user: "Accept these changes to the project structure? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md index 8e2965c2..b2dc2c46 100644 --- a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +++ b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md @@ -32,8 +32,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml -- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml +- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -305,7 +305,7 @@ Show the validation results and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with validation issues +- Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with validation issues - Process enhanced solutions for complex concerns - Ask user: "Accept these architectural improvements? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -313,7 +313,7 @@ Show the validation results and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with validation context +- Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md with validation context - Process collaborative insights on implementation readiness - Ask user: "Accept these changes to the validation results? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md index 66160ca3..f317bddf 100644 --- a/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +++ b/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md @@ -41,7 +41,7 @@ completedAt: '{{current_date}}' ### 3. Next Steps Guidance -Execute task `_bmad/core/tasks/bmad-help.md` with argument `Create Architecture`. +Architecture complete. Read fully and follow: `_bmad/core/tasks/bmad-help.md` with argument `Create Architecture`. Upon Completion of task output: offer to answer any questions about the Architecture Document. diff --git a/src/bmm/workflows/3-solutioning/create-architecture/workflow.md b/src/bmm/workflows/3-solutioning/create-architecture/workflow.md index da437202..d36c328e 100644 --- a/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +++ b/src/bmm/workflows/3-solutioning/create-architecture/workflow.md @@ -45,6 +45,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ## EXECUTION -Load and execute `steps/step-01-init.md` to begin the workflow. +Read fully and follow: `steps/step-01-init.md` to begin the workflow. **Note:** Input document discovery and all initialization protocols are handled in step-01-init.md. diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md b/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md index ca52d4d2..c8d6b133 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +++ b/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md @@ -229,12 +229,12 @@ Display: `**Confirm the Requirements are complete and correct to [C] continue:** #### Menu Handling Logic: -- IF C: Save all to {outputFile}, update frontmatter, only then load, read entire file, then execute {nextStepFile} +- IF C: Save all to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#10-present-menu-options) ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN C is selected and all requirements are saved to document and frontmatter is updated, will you then load, read entire file, then execute {nextStepFile} to execute and begin epic design step. +ONLY WHEN C is selected and all requirements are saved to document and frontmatter is updated, will you then read fully and follow: {nextStepFile} to begin epic design step. --- diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md b/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md index 65b36627..1b497c2a 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +++ b/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md @@ -194,9 +194,9 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} -- IF P: Execute {partyModeWorkflow} -- IF C: Save approved epics_list to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} +- IF P: Read fully and follow: {partyModeWorkflow} +- IF C: Save approved epics_list to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#8-present-menu-options) #### EXECUTION RULES: @@ -208,7 +208,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN C is selected and the approved epics_list is saved to document, will you then load, read entire file, then execute {nextStepFile} to execute and begin story creation step. +ONLY WHEN C is selected and the approved epics_list is saved to document, will you then read fully and follow: {nextStepFile} to begin story creation step. --- diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md b/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md index 3cdb3bf6..2e13f9b2 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +++ b/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md @@ -231,9 +231,9 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont #### Menu Handling Logic: -- IF A: Execute {advancedElicitationTask} -- IF P: Execute {partyModeWorkflow} -- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile} +- IF A: Read fully and follow: {advancedElicitationTask} +- IF P: Read fully and follow: {partyModeWorkflow} +- IF C: Save content to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile} - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-final-menu-options) #### EXECUTION RULES: @@ -245,7 +245,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [all epics and stories saved to document following the template structure exactly], will you then load and read fully `{nextStepFile}` to execute and begin final validation phase. +ONLY WHEN [C continue option] is selected and [all epics and stories saved to document following the template structure exactly], will you then read fully and follow: `{nextStepFile}` to begin final validation phase. --- diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md b/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md index fcdf1573..19aa73d1 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +++ b/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md @@ -144,6 +144,6 @@ If all validations pass: When C is selected, the workflow is complete and the epics.md is ready for development. -Execute task `_bmad/core/tasks/bmad-help.md` with argument `Create Epics and Stories`. +Epics and Stories complete. Read fully and follow: `_bmad/core/tasks/bmad-help.md` with argument `Create Epics and Stories`. Upon Completion of task output: offer to answer any questions about the Epics and Stories. diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md b/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md index b6906dc7..a1e78a02 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +++ b/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md @@ -19,7 +19,7 @@ This uses **step-file architecture** for disciplined execution: ### Core Principles - **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time -- **Just-In-Time Loading**: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so +- **Just-In-Time Loading**: Only 1 current step file will be loaded and followed to completion - never load future step files until told to do so - **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed - **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document - **Append-Only Building**: Build documents by appending content as directed to the output file @@ -31,7 +31,7 @@ This uses **step-file architecture** for disciplined execution: 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection 4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue) 5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step -6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file +6. **LOAD NEXT**: When directed, read fully and follow the next step file ### Critical Rules (NO EXCEPTIONS) @@ -56,4 +56,4 @@ Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: ### 2. First Step EXECUTION -Load, read the full file and then execute `{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md` to begin the workflow. +Read fully and follow: `{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md` to begin the workflow. diff --git a/src/bmm/workflows/4-implementation/correct-course/instructions.md b/src/bmm/workflows/4-implementation/correct-course/instructions.md index 82e8b6a2..430239a6 100644 --- a/src/bmm/workflows/4-implementation/correct-course/instructions.md +++ b/src/bmm/workflows/4-implementation/correct-course/instructions.md @@ -33,7 +33,7 @@ - Load and execute the systematic analysis from: {checklist} + Read fully and follow the systematic analysis from: {checklist} Work through each checklist section interactively with the user Record status for each checklist item: - [x] Done - Item completed successfully diff --git a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md index b9012da8..dc1b955a 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md @@ -52,7 +52,7 @@ Analyze the user's input to determine mode: - Load the spec, extract tasks/context/AC - Set `{execution_mode}` = "tech-spec" - Set `{tech_spec_path}` = provided path -- **NEXT:** Load `step-03-execute.md` +- **NEXT:** Read fully and follow: `step-03-execute.md` **Mode B: Direct Instructions** @@ -88,43 +88,63 @@ Use holistic judgment, not mechanical keyword matching. ### No Escalation (simple request) -Present choice: +Display: "**Select:** [T] Plan first (tech-spec) [E] Execute directly" -``` -**[t] Plan first** - Create tech-spec then implement -**[e] Execute directly** - Start now -``` +#### Menu Handling Logic: -- **[t]:** Direct user to `{quick_spec_workflow}`. **EXIT Quick Dev.** -- **[e]:** Ask for any additional guidance, then **NEXT:** Load `step-02-context-gathering.md` +- IF T: Direct user to `{quick_spec_workflow}`. **EXIT Quick Dev.** +- IF E: Ask for any additional guidance, then **NEXT:** Read fully and follow: `step-02-context-gathering.md` + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- ONLY proceed when user makes a selection + +--- ### Escalation Triggered - Level 0-2 -``` -This looks like a focused feature with multiple components. +Present: "This looks like a focused feature with multiple components." -**[t] Create tech-spec first** (recommended) -**[w] Seems bigger than quick-dev** - Recommend the Full BMad Flow PRD Process -**[e] Execute directly** -``` +Display: -- **[t]:** Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.** -- **[w]:** Direct user to run the PRD workflow instead. **EXIT Quick Dev.** -- **[e]:** Ask for guidance, then **NEXT:** Load `step-02-context-gathering.md` +**[T] Create tech-spec first** (recommended) +**[W] Seems bigger than quick-dev** - Recommend the Full BMad Flow PRD Process +**[E] Execute directly** + +#### Menu Handling Logic: + +- IF T: Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.** +- IF W: Direct user to run the PRD workflow instead. **EXIT Quick Dev.** +- IF E: Ask for guidance, then **NEXT:** Read fully and follow: `step-02-context-gathering.md` + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- ONLY proceed when user makes a selection + +--- ### Escalation Triggered - Level 3+ -``` -This sounds like platform/system work. +Present: "This sounds like platform/system work." -**[w] Start BMad Method** (recommended) -**[t] Create tech-spec** (lighter planning) -**[e] Execute directly** - feeling lucky -``` +Display: -- **[t]:** Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.** -- **[w]:** Direct user to run the PRD workflow instead. **EXIT Quick Dev.** -- **[e]:** Ask for guidance, then **NEXT:** Load `step-02-context-gathering.md` +**[W] Start BMad Method** (recommended) +**[T] Create tech-spec** (lighter planning) +**[E] Execute directly** - feeling lucky + +#### Menu Handling Logic: + +- IF T: Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.** +- IF W: Direct user to run the PRD workflow instead. **EXIT Quick Dev.** +- IF E: Ask for guidance, then **NEXT:** Read fully and follow: `step-02-context-gathering.md` + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- ONLY proceed when user makes a selection --- @@ -132,9 +152,9 @@ This sounds like platform/system work. **CRITICAL:** When this step completes, explicitly state which step to load: -- Mode A (tech-spec): "**NEXT:** Loading `step-03-execute.md`" -- Mode B (direct, [e] selected): "**NEXT:** Loading `step-02-context-gathering.md`" -- Escalation ([t] or [w]): "**EXITING Quick Dev.** Follow the directed workflow." +- Mode A (tech-spec): "**NEXT:** read fully and follow: `step-03-execute.md`" +- Mode B (direct, [E] selected): "**NEXT:** Read fully and follow: `step-02-context-gathering.md`" +- Escalation ([T] or [W]): "**EXITING Quick Dev.** Follow the directed workflow." --- diff --git a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md index a886b5f5..dffb86a8 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md @@ -99,7 +99,7 @@ Ready to execute? (y/n/adjust) **CRITICAL:** When user confirms ready, explicitly state: -- **y:** "**NEXT:** Loading `step-03-execute.md`" +- **y:** "**NEXT:** Read fully and follow: `step-03-execute.md`" - **n/adjust:** Continue gathering context, then re-present plan --- diff --git a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md index f12113cf..9d728361 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md @@ -91,7 +91,7 @@ For each task: ## NEXT STEP -When ALL tasks are complete (or halted on blocker), load `step-04-self-check.md`. +When ALL tasks are complete (or halted on blocker), read fully and follow: `step-04-self-check.md`. --- diff --git a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md index db03665f..50c786d0 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md @@ -65,7 +65,7 @@ With `{diff_output}` constructed, invoke the review task. If possible, use infor Review {diff_output} using {project-root}/_bmad/core/tasks/review-adversarial-general.xml ``` -**Platform fallback:** If task invocation not available, load the task file and execute its instructions inline, passing `{diff_output}` as the content. +**Platform fallback:** If task invocation not available, load the task file and follow its instructions inline, passing `{diff_output}` as the content. The task should: review `{diff_output}` and return a list of findings. @@ -85,7 +85,7 @@ If TodoWrite or similar tool is available, turn each finding into a TODO, includ ## NEXT STEP -With findings in hand, load `step-06-resolve-findings.md` for user to choose resolution approach. +With findings in hand, read fully and follow: `step-06-resolve-findings.md` for user to choose resolution approach. --- diff --git a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md index fcc5146e..7f9457fa 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md @@ -25,15 +25,24 @@ From previous steps: ## RESOLUTION OPTIONS -Present choice to user: +Present: "How would you like to handle these findings?" -``` -How would you like to handle these findings? +Display: **[1] Walk through** - Discuss each finding individually **[2] Auto-fix** - Automatically fix issues classified as "real" **[3] Skip** - Acknowledge and proceed to commit -``` + +### Menu Handling Logic: + +- IF 1: Execute OPTION 1 (Walk Through) below +- IF 2: Execute OPTION 2 (Auto-fix) below +- IF 3: Execute OPTION 3 (Skip) below + +### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- ONLY proceed when user makes a selection --- diff --git a/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md b/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md index 5d9769c3..3fbeb13b 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md @@ -47,4 +47,4 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ## EXECUTION -Load and execute `steps/step-01-mode-detection.md` to begin the workflow. +Read fully and follow: `steps/step-01-mode-detection.md` to begin the workflow. diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md b/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md index c321dcc7..508df714 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md @@ -47,20 +47,20 @@ Hey {user_name}! Found a tech-spec in progress: Is this what you're here to continue? -[y] Yes, pick up where I left off -[n] No, archive it and start something new +[Y] Yes, pick up where I left off +[N] No, archive it and start something new ``` 4. **HALT and wait for user selection.** a) **Menu Handling:** -- **[y] Continue existing:** +- **[Y] Continue existing:** - Jump directly to the appropriate step based on `stepsCompleted`: - `[1]` → Load `{nextStepFile}` (Step 2) - `[1, 2]` → Load `{skipToStepFile}` (Step 3) - `[1, 2, 3]` → Load `./step-04-review.md` (Step 4) -- **[n] Archive and start fresh:** +- **[N] Archive and start fresh:** - Rename `{wipFile}` to `{implementation_artifacts}/tech-spec-{slug}-archived-{date}.md` ### 1. Greet and Ask for Initial Request @@ -162,19 +162,22 @@ b) **Report to user:** a) **Display menu:** -``` -[a] Advanced Elicitation - dig deeper into requirements -[c] Continue - proceed to next step -[p] Party Mode - bring in other experts -``` +Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Deep Investigation (Step 2 of 4)" b) **HALT and wait for user selection.** -#### Menu Handling: +#### Menu Handling Logic: -- **[a]**: Load and execute `{advanced_elicitation}`, then return here and redisplay menu -- **[c]**: Load and execute `{nextStepFile}` (Map Technical Constraints) -- **[p]**: Load and execute `{party_mode_exec}`, then return here and redisplay menu +- IF A: Read fully and follow: `{advanced_elicitation}` with current tech-spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu +- IF P: Read fully and follow: `{party_mode_exec}` with current tech-spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu +- IF C: Verify `{wipFile}` has `stepsCompleted: [1]`, then read fully and follow: `{nextStepFile}` +- IF Any other comments or queries: respond helpfully then redisplay menu + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- ONLY proceed to next step when user selects 'C' +- After A or P execution, return to this menu --- @@ -186,4 +189,4 @@ b) **HALT and wait for user selection.** - [ ] WIP check performed FIRST before any greeting. - [ ] `{wipFile}` created with correct frontmatter, Overview, Context for Development, and `stepsCompleted: [1]`. -- [ ] User selected [c] to continue. +- [ ] User selected [C] to continue. diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md b/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md index 1cb2ee40..f1bd280e 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md @@ -115,21 +115,22 @@ Fill in: ### 4. Present Checkpoint Menu -**Display menu:** - -``` -[a] Advanced Elicitation - explore more context -[c] Continue - proceed to Generate Spec -[p] Party Mode - bring in other experts -``` +Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Generate Spec (Step 3 of 4)" **HALT and wait for user selection.** -#### Menu Handling: +#### Menu Handling Logic: -- **[a]**: Load and execute `{advanced_elicitation}`, then return here and redisplay menu -- **[c]**: Verify frontmatter updated with `stepsCompleted: [1, 2]`, then load and execute `{nextStepFile}` -- **[p]**: Load and execute `{party_mode_exec}`, then return here and redisplay menu +- IF A: Read fully and follow: `{advanced_elicitation}` with current tech-spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu +- IF P: Read fully and follow: `{party_mode_exec}` with current tech-spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu +- IF C: Verify frontmatter updated with `stepsCompleted: [1, 2]`, then read fully and follow: `{nextStepFile}` +- IF Any other comments or queries: respond helpfully then redisplay menu + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- ONLY proceed to next step when user selects 'C' +- After A or P execution, return to this menu --- diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md b/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md index 4a33c7a1..3f3caed5 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md @@ -114,7 +114,7 @@ stepsCompleted: [1, 2, 3] --- ``` -c) **Load and execute `{nextStepFile}` (Step 4)** +c) **Read fully and follow: `{nextStepFile}` (Step 4)** ## REQUIRED OUTPUTS: diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md b/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md index 3e612d9b..848df729 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md @@ -43,23 +43,24 @@ wipFile: '{implementation_artifacts}/tech-spec-wip.md' **Present review menu:** -``` -[y] Approve - finalize the spec -[c] Changes - request modifications -[q] Questions - ask about any section -[a] Advanced Elicitation - dig deeper before approving -[p] Party Mode - get expert feedback before approving -``` +Display: "**Select:** [Y] Approve [C] Changes [Q] Questions [A] Advanced Elicitation [P] Party Mode" **HALT and wait for user selection.** -#### Menu Handling: +#### Menu Handling Logic: -- **[y]**: Proceed to Section 3 (Finalize the Spec) -- **[c]**: Proceed to Section 2 (Handle Review Feedback), then return here and redisplay menu -- **[q]**: Answer questions, then redisplay this menu -- **[a]**: Load and execute `{advanced_elicitation}`, then return here and redisplay menu -- **[p]**: Load and execute `{party_mode_exec}`, then return here and redisplay menu +- IF Y: Proceed to Section 3 (Finalize the Spec) +- IF C: Proceed to Section 2 (Handle Review Feedback), then return here and redisplay menu +- IF Q: Answer questions, then redisplay this menu +- IF A: Read fully and follow: `{advanced_elicitation}` with current spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update spec then redisplay menu, if no keep original then redisplay menu +- IF P: Read fully and follow: `{party_mode_exec}` with current spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update spec then redisplay menu, if no keep original then redisplay menu +- IF Any other comments or queries: respond helpfully then redisplay menu + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- ONLY proceed to finalize when user selects 'Y' +- After other menu items execution, return to this menu ### 2. Handle Review Feedback @@ -114,11 +115,11 @@ Saved to: {finalFile} **Next Steps:** -[a] Advanced Elicitation - refine further -[r] Adversarial Review - critique of the spec (highly recommended) -[b] Begin Development - start implementing now (not recommended) -[d] Done - exit workflow -[p] Party Mode - get expert feedback before dev +[A] Advanced Elicitation - refine further +[R] Adversarial Review - critique of the spec (highly recommended) +[B] Begin Development - start implementing now (not recommended) +[D] Done - exit workflow +[P] Party Mode - get expert feedback before dev --- @@ -135,17 +136,26 @@ This ensures the dev agent has clean context focused solely on implementation. b) **HALT and wait for user selection.** -#### Menu Handling: +#### Menu Handling Logic: -- **[a]**: Load and execute `{advanced_elicitation}`, then return here and redisplay menu -- **[b]**: Load and execute `{quick_dev_workflow}` with the final spec file (warn: fresh context is better) -- **[d]**: Exit workflow - display final confirmation and path to spec -- **[p]**: Load and execute `{party_mode_exec}`, then return here and redisplay menu -- **[r]**: Execute Adversarial Review: - 1. **Invoke Adversarial Review Task**: +- IF A: Read fully and follow: `{advanced_elicitation}` with current spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update spec then redisplay menu, if no keep original then redisplay menu +- IF B: Load and execute `{quick_dev_workflow}` with the final spec file (warn: fresh context is better) +- IF D: Exit workflow - display final confirmation and path to spec +- IF P: Read fully and follow: `{party_mode_exec}` with current spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update spec then redisplay menu, if no keep original then redisplay menu +- IF R: Execute Adversarial Review (see below) +- IF Any other comments or queries: respond helpfully then redisplay menu + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- After A, P, or R execution, return to this menu + +#### Adversarial Review [R] Process: + +1. **Invoke Adversarial Review Task**: > With `{finalFile}` constructed, invoke the review task. If possible, use information asymmetry: run this task, and only it, in a separate subagent or process with read access to the project, but no context except the `{finalFile}`. Review {finalFile} using {project-root}/_bmad/core/tasks/review-adversarial-general.xml - > **Platform fallback:** If task invocation not available, load the task file and execute its instructions inline, passing `{finalFile}` as the content. + > **Platform fallback:** If task invocation not available, load the task file and follow its instructions inline, passing `{finalFile}` as the content. > The task should: review `{finalFile}` and return a list of findings. 2. **Process Findings**: @@ -161,7 +171,7 @@ b) **HALT and wait for user selection.** ### 5. Exit Workflow -**When user selects [d]:** +**When user selects [D]:** "**All done!** Your tech-spec is ready at: diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md b/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md index dcda8a91..bb6c877a 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +++ b/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md @@ -47,9 +47,9 @@ This uses **step-file architecture** for disciplined execution: 1. **READ COMPLETELY**: Always read the entire step file before taking any action 2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection -4. **CHECK CONTINUATION**: Only proceed to next step when user selects [c] (Continue) +4. **CHECK CONTINUATION**: Only proceed to next step when user selects [C] (Continue) 5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step -6. **LOAD NEXT**: When directed, load and read entire next step file, then execute +6. **LOAD NEXT**: When directed, read fully and follow the next step file ### Critical Rules (NO EXCEPTIONS) @@ -76,4 +76,4 @@ Load and read full config from `{main_config}` and resolve: ### 2. First Step Execution -Load, read the full file, and then execute `steps/step-01-understand.md` to begin the workflow. +Read fully and follow: `steps/step-01-understand.md` to begin the workflow. diff --git a/src/bmm/workflows/document-project/instructions.md b/src/bmm/workflows/document-project/instructions.md index f2482775..2f567fa3 100644 --- a/src/bmm/workflows/document-project/instructions.md +++ b/src/bmm/workflows/document-project/instructions.md @@ -97,11 +97,11 @@ Your choice [1/2/3]: Display: "Resuming {{workflow_mode}} from {{current_step}} with cached project type(s): {{cached_project_types}}" - Load and execute: {installed_path}/workflows/deep-dive-instructions.md with resume context + Read fully and follow: {installed_path}/workflows/deep-dive-instructions.md with resume context - Load and execute: {installed_path}/workflows/full-scan-instructions.md with resume context + Read fully and follow: {installed_path}/workflows/full-scan-instructions.md with resume context @@ -148,7 +148,7 @@ Your choice [1/2/3]: Set workflow_mode = "full_rescan" Display: "Starting full project rescan..." - Load and execute: {installed_path}/workflows/full-scan-instructions.md + Read fully and follow: {installed_path}/workflows/full-scan-instructions.md After sub-workflow completes, continue to Step 4 @@ -156,7 +156,7 @@ Your choice [1/2/3]: Set workflow_mode = "deep_dive" Set scan_level = "exhaustive" Display: "Starting deep-dive documentation mode..." - Load and execute: {installed_path}/workflows/deep-dive-instructions.md + Read fully and follow: {installed_path}/workflows/deep-dive-instructions.md After sub-workflow completes, continue to Step 4 @@ -169,7 +169,7 @@ Your choice [1/2/3]: Set workflow_mode = "initial_scan" Display: "No existing documentation found. Starting initial project scan..." - Load and execute: {installed_path}/workflows/full-scan-instructions.md + Read fully and follow: {installed_path}/workflows/full-scan-instructions.md After sub-workflow completes, continue to Step 4 diff --git a/src/bmm/workflows/testarch/test-design/checklist.md b/src/bmm/workflows/testarch/test-design/checklist.md index 3dadfbbb..7c4475ca 100644 --- a/src/bmm/workflows/testarch/test-design/checklist.md +++ b/src/bmm/workflows/testarch/test-design/checklist.md @@ -80,23 +80,29 @@ - [ ] Owners assigned where applicable - [ ] No duplicate coverage (same behavior at multiple levels) -### Execution Order +### Execution Strategy -- [ ] Smoke tests defined (<5 min target) -- [ ] P0 tests listed (<10 min target) -- [ ] P1 tests listed (<30 min target) -- [ ] P2/P3 tests listed (<60 min target) -- [ ] Order optimizes for fast feedback +**CRITICAL: Keep execution strategy simple, avoid redundancy** + +- [ ] **Simple structure**: PR / Nightly / Weekly (NOT complex smoke/P0/P1/P2 tiers) +- [ ] **PR execution**: All functional tests unless significant infrastructure overhead +- [ ] **Nightly/Weekly**: Only performance, chaos, long-running, manual tests +- [ ] **No redundancy**: Don't re-list all tests (already in coverage plan) +- [ ] **Philosophy stated**: "Run everything in PRs if <15 min, defer only if expensive/long" +- [ ] **Playwright parallelization noted**: 100s of tests in 10-15 min ### Resource Estimates -- [ ] P0 hours calculated (count × 2 hours) -- [ ] P1 hours calculated (count × 1 hour) -- [ ] P2 hours calculated (count × 0.5 hours) -- [ ] P3 hours calculated (count × 0.25 hours) -- [ ] Total hours summed -- [ ] Days estimate provided (hours / 8) -- [ ] Estimates include setup time +**CRITICAL: Use intervals/ranges, NOT exact numbers** + +- [ ] P0 effort provided as interval range (e.g., "~25-40 hours" NOT "36 hours") +- [ ] P1 effort provided as interval range (e.g., "~20-35 hours" NOT "27 hours") +- [ ] P2 effort provided as interval range (e.g., "~10-30 hours" NOT "15.5 hours") +- [ ] P3 effort provided as interval range (e.g., "~2-5 hours" NOT "2.5 hours") +- [ ] Total effort provided as interval range (e.g., "~55-110 hours" NOT "81 hours") +- [ ] Timeline provided as week range (e.g., "~1.5-3 weeks" NOT "11 days") +- [ ] Estimates include setup time and account for complexity variations +- [ ] **No false precision**: Avoid exact calculations like "18 tests × 2 hours = 36 hours" ### Quality Gate Criteria @@ -126,11 +132,16 @@ ### Priority Assignment Accuracy -- [ ] P0: Truly blocks core functionality -- [ ] P0: High-risk (score ≥6) -- [ ] P0: No workaround exists -- [ ] P1: Important but not blocking -- [ ] P2/P3: Nice-to-have or edge cases +**CRITICAL: Priority classification is separate from execution timing** + +- [ ] **Priority sections (P0/P1/P2/P3) do NOT include execution context** (e.g., no "Run on every commit" in headers) +- [ ] **Priority sections have only "Criteria" and "Purpose"** (no "Execution:" field) +- [ ] **Execution Strategy section** is separate and handles timing based on infrastructure overhead +- [ ] P0: Truly blocks core functionality + High-risk (≥6) + No workaround +- [ ] P1: Important features + Medium-risk (3-4) + Common workflows +- [ ] P2: Secondary features + Low-risk (1-2) + Edge cases +- [ ] P3: Nice-to-have + Exploratory + Benchmarks +- [ ] **Note at top of Test Coverage Plan**: Clarifies P0/P1/P2/P3 = priority/risk, NOT execution timing ### Test Level Selection @@ -176,58 +187,90 @@ - [ ] 🚨 BLOCKERS - Team Must Decide (Sprint 0 critical path items) - [ ] ⚠️ HIGH PRIORITY - Team Should Validate (recommendations for approval) - [ ] 📋 INFO ONLY - Solutions Provided (no decisions needed) -- [ ] **Risk Assessment** section +- [ ] **Risk Assessment** section - **ACTIONABLE** - [ ] Total risks identified count - [ ] High-priority risks table (score ≥6) with all columns: Risk ID, Category, Description, Probability, Impact, Score, Mitigation, Owner, Timeline - [ ] Medium and low-priority risks tables - [ ] Risk category legend included -- [ ] **Testability Concerns** section (if system has architectural constraints) - - [ ] Blockers to fast feedback table - - [ ] Explanation of why standard CI/CD may not apply (if applicable) - - [ ] Tiered testing strategy table (if forced by architecture) - - [ ] Architectural improvements needed (or acknowledgment system supports testing well) +- [ ] **Testability Concerns and Architectural Gaps** section - **ACTIONABLE** + - [ ] **Sub-section: 🚨 ACTIONABLE CONCERNS** at TOP + - [ ] Blockers to Fast Feedback table (WHAT architecture must provide) + - [ ] Architectural Improvements Needed (WHAT must be changed) + - [ ] Each concern has: Owner, Timeline, Impact + - [ ] **Sub-section: Testability Assessment Summary** at BOTTOM (FYI) + - [ ] What Works Well (passing items) + - [ ] Accepted Trade-offs (no action required) + - [ ] This section only included if worth mentioning; otherwise omitted - [ ] **Risk Mitigation Plans** for all high-priority risks (≥6) - [ ] Each plan has: Strategy (numbered steps), Owner, Timeline, Status, Verification + - [ ] **Only Backend/DevOps/Arch/Security mitigations** (production code changes) + - [ ] QA-owned mitigations belong in QA doc instead - [ ] **Assumptions and Dependencies** section + - [ ] **Architectural assumptions only** (SLO targets, replication lag, system design) - [ ] Assumptions list (numbered) - [ ] Dependencies list with required dates - [ ] Risks to plan with impact and contingency + - [ ] QA execution assumptions belong in QA doc instead - [ ] **NO test implementation code** (long examples belong in QA doc) +- [ ] **NO test scripts** (no Playwright test(...) blocks, no assertions, no test setup code) +- [ ] **NO NFR test examples** (NFR sections describe WHAT to test, not HOW to test) - [ ] **NO test scenario checklists** (belong in QA doc) -- [ ] **Cross-references to QA doc** where appropriate +- [ ] **NO bloat or repetition** (consolidate repeated notes, avoid over-explanation) +- [ ] **Cross-references to QA doc** where appropriate (instead of duplication) +- [ ] **RECIPE SECTIONS NOT IN ARCHITECTURE DOC:** + - [ ] NO "Test Levels Strategy" section (unit/integration/E2E split belongs in QA doc only) + - [ ] NO "NFR Testing Approach" section with detailed test procedures (belongs in QA doc only) + - [ ] NO "Test Environment Requirements" section (belongs in QA doc only) + - [ ] NO "Recommendations for Sprint 0" section with test framework setup (belongs in QA doc only) + - [ ] NO "Quality Gate Criteria" section (pass rates, coverage targets belong in QA doc only) + - [ ] NO "Tool Selection" section (Playwright, k6, etc. belongs in QA doc only) ### test-design-qa.md -- [ ] **Purpose statement** at top (execution recipe for QA team) -- [ ] **Quick Reference for QA** section - - [ ] Before You Start checklist - - [ ] Test Execution Order - - [ ] Need Help? guidance -- [ ] **System Architecture Summary** (brief overview of services and data flow) -- [ ] **Test Environment Requirements** in early section (section 1-3, NOT buried at end) - - [ ] Table with Local/Dev/Staging environments - - [ ] Key principles listed (shared DB, randomization, parallel-safe, self-cleaning, shift-left) - - [ ] Code example provided -- [ ] **Testability Assessment** with prerequisites checklist - - [ ] References Architecture doc blockers (not duplication) -- [ ] **Test Levels Strategy** with unit/integration/E2E split - - [ ] System type identified - - [ ] Recommended split percentages with rationale - - [ ] Test count summary (P0/P1/P2/P3 totals) +**REQUIRED SECTIONS:** + +- [ ] **Purpose statement** at top (test execution recipe) +- [ ] **Executive Summary** with risk summary and coverage summary +- [ ] **Dependencies & Test Blockers** section in POSITION 2 (right after Executive Summary) + - [ ] Backend/Architecture dependencies listed (what QA needs from other teams) + - [ ] QA infrastructure setup listed (factories, fixtures, environments) + - [ ] Code example with playwright-utils if config.tea_use_playwright_utils is true + - [ ] Test from '@seontechnologies/playwright-utils/api-request/fixtures' + - [ ] Expect from '@playwright/test' (playwright-utils does not re-export expect) + - [ ] Code examples include assertions (no unused imports) +- [ ] **Risk Assessment** section (brief, references Architecture doc) + - [ ] High-priority risks table + - [ ] Medium/low-priority risks table + - [ ] Each risk shows "QA Test Coverage" column (how QA validates) - [ ] **Test Coverage Plan** with P0/P1/P2/P3 sections - - [ ] Each priority has: Execution details, Purpose, Criteria, Test Count - - [ ] Detailed test scenarios WITH CHECKBOXES - - [ ] Coverage table with columns: Requirement | Test Level | Risk Link | Test Count | Owner | Notes -- [ ] **Sprint 0 Setup Requirements** - - [ ] Architecture/Backend blockers listed with cross-references to Architecture doc - - [ ] QA Test Infrastructure section (factories, fixtures) - - [ ] Test Environments section (Local, CI/CD, Staging, Production) - - [ ] Sprint 0 NFR Gates checklist - - [ ] Sprint 1 Items clearly separated -- [ ] **NFR Readiness Summary** (reference to Architecture doc, not duplication) - - [ ] Table with NFR categories, status, evidence, blocker, next action -- [ ] **Cross-references to Architecture doc** (not duplication) -- [ ] **NO architectural theory** (just reference Architecture doc) + - [ ] Priority sections have ONLY "Criteria" (no execution context) + - [ ] Note at top: "P0/P1/P2/P3 = priority, NOT execution timing" + - [ ] Test tables with columns: Test ID | Requirement | Test Level | Risk Link | Notes +- [ ] **Execution Strategy** section (organized by TOOL TYPE) + - [ ] Every PR: Playwright tests (~10-15 min) + - [ ] Nightly: k6 performance tests (~30-60 min) + - [ ] Weekly: Chaos & long-running (~hours) + - [ ] Philosophy: "Run everything in PRs unless expensive/long-running" +- [ ] **QA Effort Estimate** section (QA effort ONLY) + - [ ] Interval-based estimates (e.g., "~1-2 weeks" NOT "36 hours") + - [ ] NO DevOps, Backend, Data Eng, Finance effort + - [ ] NO Sprint breakdowns (too prescriptive) +- [ ] **Appendix A: Code Examples & Tagging** +- [ ] **Appendix B: Knowledge Base References** + +**DON'T INCLUDE (bloat):** +- [ ] ❌ NO Quick Reference section +- [ ] ❌ NO System Architecture Summary +- [ ] ❌ NO Test Environment Requirements as separate section (integrate into Dependencies) +- [ ] ❌ NO Testability Assessment section (covered in Dependencies) +- [ ] ❌ NO Test Levels Strategy section (obvious from test scenarios) +- [ ] ❌ NO NFR Readiness Summary +- [ ] ❌ NO Quality Gate Criteria section (teams decide for themselves) +- [ ] ❌ NO Follow-on Workflows section (BMAD commands self-explanatory) +- [ ] ❌ NO Approval section +- [ ] ❌ NO Infrastructure/DevOps/Finance effort tables (out of scope) +- [ ] ❌ NO Sprint 0/1/2/3 breakdown tables +- [ ] ❌ NO Next Steps section ### Cross-Document Consistency @@ -238,6 +281,40 @@ - [ ] Dates and authors match across documents - [ ] ADR and PRD references consistent +### Document Quality (Anti-Bloat Check) + +**CRITICAL: Check for bloat and repetition across BOTH documents** + +- [ ] **No repeated notes 10+ times** (e.g., "Timing is pessimistic until R-005 fixed" on every section) +- [ ] **Repeated information consolidated** (write once at top, reference briefly if needed) +- [ ] **No excessive detail** that doesn't add value (obvious concepts, redundant examples) +- [ ] **Focus on unique/critical info** (only document what's different from standard practice) +- [ ] **Architecture doc**: Concerns-focused, NOT implementation-focused +- [ ] **QA doc**: Implementation-focused, NOT theory-focused +- [ ] **Clear separation**: Architecture = WHAT and WHY, QA = HOW +- [ ] **Professional tone**: No AI slop markers + - [ ] Avoid excessive ✅/❌ emojis (use sparingly, only when adding clarity) + - [ ] Avoid "absolutely", "excellent", "fantastic", overly enthusiastic language + - [ ] Write professionally and directly +- [ ] **Architecture doc length**: Target ~150-200 lines max (focus on actionable concerns only) +- [ ] **QA doc length**: Keep concise, remove bloat sections + +### Architecture Doc Structure (Actionable-First Principle) + +**CRITICAL: Validate structure follows actionable-first, FYI-last principle** + +- [ ] **Actionable sections at TOP:** + - [ ] Quick Guide (🚨 BLOCKERS first, then ⚠️ HIGH PRIORITY, then 📋 INFO ONLY last) + - [ ] Risk Assessment (high-priority risks ≥6 at top) + - [ ] Testability Concerns (concerns/blockers at top, passing items at bottom) + - [ ] Risk Mitigation Plans (for high-priority risks ≥6) +- [ ] **FYI sections at BOTTOM:** + - [ ] Testability Assessment Summary (what works well - only if worth mentioning) + - [ ] Assumptions and Dependencies +- [ ] **ASRs categorized correctly:** + - [ ] Actionable ASRs included in 🚨 or ⚠️ sections + - [ ] FYI ASRs included in 📋 section or omitted if obvious + ## Completion Criteria **All must be true:** @@ -295,9 +372,20 @@ If workflow fails: - **Solution**: Use test pyramid - E2E for critical paths only -**Issue**: Resource estimates too high +**Issue**: Resource estimates too high or too precise -- **Solution**: Invest in fixtures/factories to reduce per-test setup time +- **Solution**: + - Invest in fixtures/factories to reduce per-test setup time + - Use interval ranges (e.g., "~55-110 hours") instead of exact numbers (e.g., "81 hours") + - Widen intervals if high uncertainty exists + +**Issue**: Execution order section too complex or redundant + +- **Solution**: + - Default: Run everything in PRs (<15 min with Playwright parallelization) + - Only defer to nightly/weekly if expensive (k6, chaos, 4+ hour tests) + - Don't create smoke/P0/P1/P2/P3 tier structure + - Don't re-list all tests (already in coverage plan) ### Best Practices @@ -305,7 +393,9 @@ If workflow fails: - High-priority risks (≥6) require immediate mitigation - P0 tests should cover <10% of total scenarios - Avoid testing same behavior at multiple levels -- Include smoke tests (P0 subset) for fast feedback +- **Use interval-based estimates** (e.g., "~25-40 hours") instead of exact numbers to avoid false precision and provide flexibility +- **Keep execution strategy simple**: Default to "run everything in PRs" (<15 min with Playwright), only defer if expensive/long-running +- **Avoid execution order redundancy**: Don't create complex tier structures or re-list tests --- diff --git a/src/bmm/workflows/testarch/test-design/instructions.md b/src/bmm/workflows/testarch/test-design/instructions.md index fbee3103..1eae05be 100644 --- a/src/bmm/workflows/testarch/test-design/instructions.md +++ b/src/bmm/workflows/testarch/test-design/instructions.md @@ -157,7 +157,13 @@ TEA test-design workflow supports TWO modes, detected automatically: 1. **Review Architecture for Testability** - Evaluate architecture against these criteria: + **STRUCTURE PRINCIPLE: CONCERNS FIRST, PASSING ITEMS LAST** + + Evaluate architecture against these criteria and structure output as: + 1. **Testability Concerns** (ACTIONABLE - what's broken/missing) + 2. **Testability Assessment Summary** (FYI - what works well) + + **Testability Criteria:** **Controllability:** - Can we control system state for testing? (API seeding, factories, database reset) @@ -174,8 +180,18 @@ TEA test-design workflow supports TWO modes, detected automatically: - Can we reproduce failures? (deterministic waits, HAR capture, seed data) - Are components loosely coupled? (mockable, testable boundaries) + **In Architecture Doc Output:** + - **Section A: Testability Concerns** (TOP) - List what's BROKEN or MISSING + - Example: "No API for test data seeding → Cannot parallelize tests" + - Example: "Hardcoded DB connection → Cannot test in CI" + - **Section B: Testability Assessment Summary** (BOTTOM) - List what PASSES + - Example: "✅ API-first design supports test isolation" + - Only include if worth mentioning; otherwise omit this section entirely + 2. **Identify Architecturally Significant Requirements (ASRs)** + **CRITICAL: ASRs must indicate if ACTIONABLE or FYI** + From PRD NFRs and architecture decisions, identify quality requirements that: - Drive architecture decisions (e.g., "Must handle 10K concurrent users" → caching architecture) - Pose testability challenges (e.g., "Sub-second response time" → performance test infrastructure) @@ -183,21 +199,60 @@ TEA test-design workflow supports TWO modes, detected automatically: Score each ASR using risk matrix (probability × impact). + **In Architecture Doc, categorize ASRs:** + - **ACTIONABLE ASRs** (require architecture changes): Include in "Quick Guide" 🚨 or ⚠️ sections + - **FYI ASRs** (already satisfied by architecture): Include in "Quick Guide" 📋 section OR omit if obvious + + **Example:** + - ASR-001 (Score 9): "Multi-region deployment requires region-specific test infrastructure" → **ACTIONABLE** (goes in 🚨 BLOCKERS) + - ASR-002 (Score 4): "OAuth 2.1 authentication already implemented in ADR-5" → **FYI** (goes in 📋 INFO ONLY or omit) + + **Structure Principle:** Actionable ASRs at TOP, FYI ASRs at BOTTOM (or omit) + 3. **Define Test Levels Strategy** + **IMPORTANT: This section goes in QA doc ONLY, NOT in Architecture doc** + Based on architecture (mobile, web, API, microservices, monolith): - Recommend unit/integration/E2E split (e.g., 70/20/10 for API-heavy, 40/30/30 for UI-heavy) - Identify test environment needs (local, staging, ephemeral, production-like) - Define testing approach per technology (Playwright for web, Maestro for mobile, k6 for performance) -4. **Assess NFR Testing Approach** + **In Architecture doc:** Only mention test level split if it's an ACTIONABLE concern + - Example: "API response time <100ms requires load testing infrastructure" (concern) + - DO NOT include full test level strategy table in Architecture doc - For each NFR category: - - **Security**: Auth/authz tests, OWASP validation, secret handling (Playwright E2E + security tools) - - **Performance**: Load/stress/spike testing with k6, SLO/SLA thresholds - - **Reliability**: Error handling, retries, circuit breakers, health checks (Playwright + API tests) +4. **Assess NFR Requirements (MINIMAL in Architecture Doc)** + + **CRITICAL: NFR testing approach is a RECIPE - belongs in QA doc ONLY** + + **In Architecture Doc:** + - Only mention NFRs if they create testability CONCERNS + - Focus on WHAT architecture must provide, not HOW to test + - Keep it brief - 1-2 sentences per NFR category at most + + **Example - Security NFR in Architecture doc (if there's a concern):** + ✅ CORRECT (concern-focused, brief, WHAT/WHY only): + - "System must prevent cross-customer data access (GDPR requirement). Requires test infrastructure for multi-tenant isolation in Sprint 0." + - "OAuth tokens must expire after 1 hour (ADR-5). Requires test harness for token expiration validation." + + ❌ INCORRECT (too detailed, belongs in QA doc): + - Full table of security test scenarios + - Test scripts with code examples + - Detailed test procedures + - Tool selection (e.g., "use Playwright E2E + OWASP ZAP") + - Specific test approaches (e.g., "Test approach: Playwright E2E for auth/authz") + + **In QA Doc (full NFR testing approach):** + - **Security**: Full test scenarios, tooling (Playwright + OWASP ZAP), test procedures + - **Performance**: Load/stress/spike test scenarios, k6 scripts, SLO thresholds + - **Reliability**: Error handling tests, retry logic validation, circuit breaker tests - **Maintainability**: Coverage targets, code quality gates, observability validation + **Rule of Thumb:** + - Architecture doc: "What NFRs exist and what concerns they create" (1-2 sentences) + - QA doc: "How to test those NFRs" (full sections with tables, code, procedures) + 5. **Flag Testability Concerns** Identify architecture decisions that harm testability: @@ -228,22 +283,54 @@ TEA test-design workflow supports TWO modes, detected automatically: **Standard Structures (REQUIRED):** **test-design-architecture.md sections (in this order):** + + **STRUCTURE PRINCIPLE: Actionable items FIRST, FYI items LAST** + 1. Executive Summary (scope, business context, architecture, risk summary) 2. Quick Guide (🚨 BLOCKERS / ⚠️ HIGH PRIORITY / 📋 INFO ONLY) - 3. Risk Assessment (high/medium/low-priority risks with scoring) - 4. Testability Concerns and Architectural Gaps (if system has constraints) - 5. Risk Mitigation Plans (detailed for high-priority risks ≥6) - 6. Assumptions and Dependencies + 3. Risk Assessment (high/medium/low-priority risks with scoring) - **ACTIONABLE** + 4. Testability Concerns and Architectural Gaps - **ACTIONABLE** (what arch team must do) + - Sub-section: Blockers to Fast Feedback (ACTIONABLE - concerns FIRST) + - Sub-section: Architectural Improvements Needed (ACTIONABLE) + - Sub-section: Testability Assessment Summary (FYI - passing items LAST, only if worth mentioning) + 5. Risk Mitigation Plans (detailed for high-priority risks ≥6) - **ACTIONABLE** + 6. Assumptions and Dependencies - **FYI** + + **SECTIONS THAT DO NOT BELONG IN ARCHITECTURE DOC:** + - ❌ Test Levels Strategy (unit/integration/E2E split) - This is a RECIPE, belongs in QA doc ONLY + - ❌ NFR Testing Approach with test examples - This is a RECIPE, belongs in QA doc ONLY + - ❌ Test Environment Requirements - This is a RECIPE, belongs in QA doc ONLY + - ❌ Recommendations for Sprint 0 (test framework setup, factories) - This is a RECIPE, belongs in QA doc ONLY + - ❌ Quality Gate Criteria (pass rates, coverage targets) - This is a RECIPE, belongs in QA doc ONLY + - ❌ Tool Selection (Playwright, k6, etc.) - This is a RECIPE, belongs in QA doc ONLY + + **WHAT BELONGS IN ARCHITECTURE DOC:** + - ✅ Testability CONCERNS (what makes it hard to test) + - ✅ Architecture GAPS (what's missing for testability) + - ✅ What architecture team must DO (blockers, improvements) + - ✅ Risks and mitigation plans + - ✅ ASRs (Architecturally Significant Requirements) - but clarify if FYI or actionable **test-design-qa.md sections (in this order):** - 1. Quick Reference for QA (Before You Start, Execution Order, Need Help) - 2. System Architecture Summary (brief overview) - 3. Test Environment Requirements (MOVE UP - section 3, NOT buried at end) - 4. Testability Assessment (lightweight prerequisites checklist) - 5. Test Levels Strategy (unit/integration/E2E split with rationale) - 6. Test Coverage Plan (P0/P1/P2/P3 with detailed scenarios + checkboxes) - 7. Sprint 0 Setup Requirements (blockers, infrastructure, environments) - 8. NFR Readiness Summary (reference to Architecture doc) + 1. Executive Summary (risk summary, coverage summary) + 2. **Dependencies & Test Blockers** (CRITICAL: RIGHT AFTER SUMMARY - what QA needs from other teams) + 3. Risk Assessment (scored risks with categories - reference Arch doc, don't duplicate) + 4. Test Coverage Plan (P0/P1/P2/P3 with detailed scenarios + checkboxes) + 5. **Execution Strategy** (SIMPLE: Organized by TOOL TYPE: PR (Playwright) / Nightly (k6) / Weekly (chaos/manual)) + 6. QA Effort Estimate (QA effort ONLY - no DevOps, Data Eng, Finance, Backend) + 7. Appendices (code examples with playwright-utils, tagging strategy, knowledge base refs) + + **SECTIONS TO EXCLUDE FROM QA DOC:** + - ❌ Quality Gate Criteria (pass/fail thresholds - teams decide for themselves) + - ❌ Follow-on Workflows (bloat - BMAD commands are self-explanatory) + - ❌ Approval section (unnecessary formality) + - ❌ Test Environment Requirements (remove as separate section - integrate into Dependencies if needed) + - ❌ NFR Readiness Summary (bloat - covered in Risk Assessment) + - ❌ Testability Assessment (bloat - covered in Dependencies) + - ❌ Test Levels Strategy (bloat - obvious from test scenarios) + - ❌ Sprint breakdowns (too prescriptive) + - ❌ Infrastructure/DevOps/Data Eng effort tables (out of scope) + - ❌ Mitigation plans for non-QA work (belongs in Arch doc) **Content Guidelines:** @@ -252,26 +339,46 @@ TEA test-design workflow supports TWO modes, detected automatically: - ✅ Clear ownership (each blocker/ASR has owner + timeline) - ✅ Testability requirements (what architecture must support) - ✅ Mitigation plans (for each high-risk item ≥6) - - ✅ Short code examples (5-10 lines max showing what to support) + - ✅ Brief conceptual examples ONLY if needed to clarify architecture concerns (5-10 lines max) + - ✅ **Target length**: ~150-200 lines max (focus on actionable concerns only) + - ✅ **Professional tone**: Avoid AI slop (excessive ✅/❌ emojis, "absolutely", "excellent", overly enthusiastic language) - **Architecture doc (DON'T):** - - ❌ NO long test code examples (belongs in QA doc) - - ❌ NO test scenario checklists (belongs in QA doc) - - ❌ NO implementation details (how QA will test) + **Architecture doc (DON'T) - CRITICAL:** + - ❌ NO test scripts or test implementation code AT ALL - This is a communication doc for architects, not a testing guide + - ❌ NO Playwright test examples (e.g., test('...', async ({ request }) => ...)) + - ❌ NO assertion logic (e.g., expect(...).toBe(...)) + - ❌ NO test scenario checklists with checkboxes (belongs in QA doc) + - ❌ NO implementation details about HOW QA will test + - ❌ Focus on CONCERNS, not IMPLEMENTATION **QA doc (DO):** - ✅ Test scenario recipes (clear P0/P1/P2/P3 with checkboxes) - - ✅ Environment setup (Sprint 0 checklist with blockers) - - ✅ Tool setup (factories, fixtures, frameworks) + - ✅ Full test implementation code samples when helpful + - ✅ **IMPORTANT: If config.tea_use_playwright_utils is true, ALL code samples MUST use @seontechnologies/playwright-utils fixtures and utilities** + - ✅ Import test fixtures from '@seontechnologies/playwright-utils/api-request/fixtures' + - ✅ Import expect from '@playwright/test' (playwright-utils does not re-export expect) + - ✅ Use apiRequest fixture with schema validation, retry logic, and structured responses + - ✅ Dependencies & Test Blockers section RIGHT AFTER Executive Summary (what QA needs from other teams) + - ✅ **QA effort estimates ONLY** (no DevOps, Data Eng, Finance, Backend effort - out of scope) - ✅ Cross-references to Architecture doc (not duplication) + - ✅ **Professional tone**: Avoid AI slop (excessive ✅/❌ emojis, "absolutely", "excellent", overly enthusiastic language) **QA doc (DON'T):** - ❌ NO architectural theory (just reference Architecture doc) - ❌ NO ASR explanations (link to Architecture doc instead) - ❌ NO duplicate risk assessments (reference Architecture doc) + - ❌ NO Quality Gate Criteria section (teams decide pass/fail thresholds for themselves) + - ❌ NO Follow-on Workflows section (bloat - BMAD commands are self-explanatory) + - ❌ NO Approval section (unnecessary formality) + - ❌ NO effort estimates for other teams (DevOps, Backend, Data Eng, Finance - out of scope, QA effort only) + - ❌ NO Sprint breakdowns (too prescriptive - e.g., "Sprint 0: 40 hours, Sprint 1: 48 hours") + - ❌ NO mitigation plans for Backend/Arch/DevOps work (those belong in Architecture doc) + - ❌ NO architectural assumptions or debates (those belong in Architecture doc) **Anti-Patterns to Avoid (Cross-Document Redundancy):** + **CRITICAL: NO BLOAT, NO REPETITION, NO OVERINFO** + ❌ **DON'T duplicate OAuth requirements:** - Architecture doc: Explain OAuth 2.1 flow in detail - QA doc: Re-explain why OAuth 2.1 is required @@ -280,6 +387,24 @@ TEA test-design workflow supports TWO modes, detected automatically: - Architecture doc: "ASR-1: OAuth 2.1 required (see QA doc for 12 test scenarios)" - QA doc: "OAuth tests: 12 P0 scenarios (see Architecture doc R-001 for risk details)" + ❌ **DON'T repeat the same note 10+ times:** + - Example: "Timing is pessimistic until R-005 is fixed" repeated on every P0, P1, P2 section + - This creates bloat and makes docs hard to read + + ✅ **DO consolidate repeated information:** + - Write once at the top: "**Note**: All timing estimates are pessimistic pending R-005 resolution" + - Reference briefly if needed: "(pessimistic timing)" + + ❌ **DON'T include excessive detail that doesn't add value:** + - Long explanations of obvious concepts + - Redundant examples showing the same pattern + - Over-documentation of standard practices + + ✅ **DO focus on what's unique or critical:** + - Document only what's different from standard practice + - Highlight critical decisions and risks + - Keep explanations concise and actionable + **Markdown Cross-Reference Syntax Examples:** ```markdown @@ -330,6 +455,24 @@ TEA test-design workflow supports TWO modes, detected automatically: - Cross-reference between docs (no duplication) - Validate against checklist.md (System-Level Mode section) +**Common Over-Engineering to Avoid:** + + **In QA Doc:** + 1. ❌ Quality gate thresholds ("P0 must be 100%, P1 ≥95%") - Let teams decide for themselves + 2. ❌ Effort estimates for other teams - QA doc should only estimate QA effort + 3. ❌ Sprint breakdowns ("Sprint 0: 40 hours, Sprint 1: 48 hours") - Too prescriptive + 4. ❌ Approval sections - Unnecessary formality + 5. ❌ Assumptions about architecture (SLO targets, replication lag) - These are architectural concerns, belong in Arch doc + 6. ❌ Mitigation plans for Backend/Arch/DevOps - Those belong in Arch doc + 7. ❌ Follow-on workflows section - Bloat, BMAD commands are self-explanatory + 8. ❌ NFR Readiness Summary - Bloat, covered in Risk Assessment + + **Test Coverage Numbers Reality Check:** + - With Playwright parallelization, running ALL Playwright tests is as fast as running just P0 + - Don't split Playwright tests by priority into different CI gates - it adds no value + - Tool type matters, not priority labels + - Defer based on infrastructure cost, not importance + **After System-Level Mode:** Workflow COMPLETE. System-level outputs (test-design-architecture.md + test-design-qa.md) are written in this step. Steps 2-4 are epic-level only - do NOT execute them in system-level mode. --- @@ -540,12 +683,51 @@ TEA test-design workflow supports TWO modes, detected automatically: 8. **Plan Mitigations** + **CRITICAL: Mitigation placement depends on WHO does the work** + For each high-priority risk: - Define mitigation strategy - Assign owner (dev, QA, ops) - Set timeline - Update residual risk expectation + **Mitigation Plan Placement:** + + **Architecture Doc:** + - Mitigations owned by Backend, DevOps, Architecture, Security, Data Eng + - Example: "Add authorization layer for customer-scoped access" (Backend work) + - Example: "Configure AWS Fault Injection Simulator" (DevOps work) + - Example: "Define CloudWatch log schema for backfill events" (Architecture work) + + **QA Doc:** + - Mitigations owned by QA (test development work) + - Example: "Create factories for test data with randomization" (QA work) + - Example: "Implement polling with retry for async validation" (QA test code) + - Brief reference to Architecture doc mitigations (don't duplicate) + + **Rule of Thumb:** + - If mitigation requires production code changes → Architecture doc + - If mitigation is test infrastructure/code → QA doc + - If mitigation involves multiple teams → Architecture doc with QA validation approach + + **Assumptions Placement:** + + **Architecture Doc:** + - Architectural assumptions (SLO targets, replication lag, system design assumptions) + - Example: "P95 <500ms inferred from <2s timeout (requires Product approval)" + - Example: "Multi-region replication lag <1s assumed (ADR doesn't specify SLA)" + - Example: "Recent Cache hit ratio >80% assumed (not in PRD/ADR)" + + **QA Doc:** + - Test execution assumptions (test infrastructure readiness, test data availability) + - Example: "Assumes test factories already created" + - Example: "Assumes CI/CD pipeline configured" + - Brief reference to Architecture doc for architectural assumptions + + **Rule of Thumb:** + - If assumption is about system architecture/design → Architecture doc + - If assumption is about test infrastructure/execution → QA doc + --- ## Step 3: Design Test Coverage @@ -594,6 +776,8 @@ TEA test-design workflow supports TWO modes, detected automatically: 3. **Assign Priority Levels** + **CRITICAL: P0/P1/P2/P3 indicates priority and risk level, NOT execution timing** + **Knowledge Base Reference**: `test-priorities-matrix.md` **P0 (Critical)**: @@ -601,25 +785,28 @@ TEA test-design workflow supports TWO modes, detected automatically: - High-risk areas (score ≥6) - Revenue-impacting - Security-critical - - **Run on every commit** + - No workaround exists + - Affects majority of users **P1 (High)**: - Important user features - Medium-risk areas (score 3-4) - Common workflows - - **Run on PR to main** + - Workaround exists but difficult **P2 (Medium)**: - Secondary features - Low-risk areas (score 1-2) - Edge cases - - **Run nightly or weekly** + - Regression prevention **P3 (Low)**: - Nice-to-have - Exploratory - Performance benchmarks - - **Run on-demand** + - Documentation validation + + **NOTE:** Priority classification is separate from execution timing. A P1 test might run in PRs if it's fast, or nightly if it requires expensive infrastructure (e.g., k6 performance test). See "Execution Strategy" section for timing guidance. 4. **Outline Data and Tooling Prerequisites** @@ -629,13 +816,55 @@ TEA test-design workflow supports TWO modes, detected automatically: - Environment setup - Tools and dependencies -5. **Define Execution Order** +5. **Define Execution Strategy** (Keep It Simple) - Recommend test execution sequence: - 1. **Smoke tests** (P0 subset, <5 min) - 2. **P0 tests** (critical paths, <10 min) - 3. **P1 tests** (important features, <30 min) - 4. **P2/P3 tests** (full regression, <60 min) + **IMPORTANT: Avoid over-engineering execution order** + + **Default Philosophy:** + - Run **everything** in PRs if total duration <15 minutes + - Playwright is fast with parallelization (100s of tests in ~10-15 min) + - Only defer to nightly/weekly if there's significant overhead: + - Performance tests (k6, load testing) - expensive infrastructure + - Chaos engineering - requires special setup (AWS FIS) + - Long-running tests - endurance (4+ hours), disaster recovery + - Manual tests - require human intervention + + **Simple Execution Strategy (Organized by TOOL TYPE):** + + ```markdown + ## Execution Strategy + + **Philosophy**: Run everything in PRs unless significant infrastructure overhead. + Playwright with parallelization is extremely fast (100s of tests in ~10-15 min). + + **Organized by TOOL TYPE:** + + ### Every PR: Playwright Tests (~10-15 min) + All functional tests (from any priority level): + - All E2E, API, integration, unit tests using Playwright + - Parallelized across {N} shards + - Total: ~{N} tests (includes P0, P1, P2, P3) + + ### Nightly: k6 Performance Tests (~30-60 min) + All performance tests (from any priority level): + - Load, stress, spike, endurance + - Reason: Expensive infrastructure, long-running (10-40 min per test) + + ### Weekly: Chaos & Long-Running (~hours) + Special infrastructure tests (from any priority level): + - Multi-region failover, disaster recovery, endurance + - Reason: Very expensive, very long (4+ hours) + ``` + + **KEY INSIGHT: Organize by TOOL TYPE, not priority** + - Playwright (fast, cheap) → PR + - k6 (expensive, long) → Nightly + - Chaos/Manual (very expensive, very long) → Weekly + + **Avoid:** + - ❌ Don't organize by priority (smoke → P0 → P1 → P2 → P3) + - ❌ Don't say "P1 runs on PR to main" (some P1 are Playwright/PR, some are k6/Nightly) + - ❌ Don't create artificial tiers - organize by tool type and infrastructure overhead --- @@ -661,34 +890,66 @@ TEA test-design workflow supports TWO modes, detected automatically: | Login flow | E2E | P0 | R-001 | 3 | QA | ``` -3. **Document Execution Order** +3. **Document Execution Strategy** (Simple, Not Redundant) + + **IMPORTANT: Keep execution strategy simple and avoid redundancy** ```markdown - ### Smoke Tests (<5 min) + ## Execution Strategy - - Login successful - - Dashboard loads + **Default: Run all functional tests in PRs (~10-15 min)** + - All Playwright tests (parallelized across 4 shards) + - Includes E2E, API, integration, unit tests + - Total: ~{N} tests - ### P0 Tests (<10 min) + **Nightly: Performance & Infrastructure tests** + - k6 load/stress/spike tests (~30-60 min) + - Reason: Expensive infrastructure, long-running - - [Full P0 list] - - ### P1 Tests (<30 min) - - - [Full P1 list] + **Weekly: Chaos & Disaster Recovery** + - Endurance tests (4+ hours) + - Multi-region failover (requires AWS FIS) + - Backup restore validation + - Reason: Special infrastructure, very long-running ``` + **DO NOT:** + - ❌ Create redundant smoke/P0/P1/P2/P3 tier structure + - ❌ List all tests again in execution order (already in coverage plan) + - ❌ Split tests by priority unless there's infrastructure overhead + 4. **Include Resource Estimates** + **IMPORTANT: Use intervals/ranges, not exact numbers** + + Provide rough estimates with intervals to avoid false precision: + ```markdown ### Test Effort Estimates - - P0 scenarios: 15 tests × 2 hours = 30 hours - - P1 scenarios: 25 tests × 1 hour = 25 hours - - P2 scenarios: 40 tests × 0.5 hour = 20 hours - - **Total:** 75 hours (~10 days) + - P0 scenarios: 15 tests (~1.5-2.5 hours each) = **~25-40 hours** + - P1 scenarios: 25 tests (~0.75-1.5 hours each) = **~20-35 hours** + - P2 scenarios: 40 tests (~0.25-0.75 hours each) = **~10-30 hours** + - **Total:** **~55-105 hours** (~1.5-3 weeks with 1 QA engineer) ``` + **Why intervals:** + - Avoids false precision (estimates are never exact) + - Provides flexibility for complexity variations + - Accounts for unknowns and dependencies + - More realistic and less prescriptive + + **Guidelines:** + - P0 tests: 1.5-2.5 hours each (complex setup, security, performance) + - P1 tests: 0.75-1.5 hours each (standard integration, API tests) + - P2 tests: 0.25-0.75 hours each (edge cases, simple validation) + - P3 tests: 0.1-0.5 hours each (exploratory, documentation) + + **Express totals as:** + - Hour ranges: "~55-105 hours" + - Week ranges: "~1.5-3 weeks" + - Avoid: Exact numbers like "75 hours" or "11 days" + 5. **Add Gate Criteria** ```markdown diff --git a/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md b/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md index 3cf8be46..571f6f20 100644 --- a/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md +++ b/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md @@ -108,54 +108,51 @@ ### Testability Concerns and Architectural Gaps -**IMPORTANT**: {If system has constraints, explain them. If standard CI/CD achievable, state that.} +**🚨 ACTIONABLE CONCERNS - Architecture Team Must Address** -#### Blockers to Fast Feedback +{If system has critical testability concerns, list them here. If architecture supports testing well, state "No critical testability concerns identified" and skip to Testability Assessment Summary} -| Blocker | Impact | Current Mitigation | Ideal Solution | -|---------|--------|-------------------|----------------| -| **{Blocker name}** | {Impact description} | {How we're working around it} | {What architecture should provide} | +#### 1. Blockers to Fast Feedback (WHAT WE NEED FROM ARCHITECTURE) -#### Why This Matters +| Concern | Impact | What Architecture Must Provide | Owner | Timeline | +|---------|--------|--------------------------------|-------|----------| +| **{Concern name}** | {Impact on testing} | {Specific architectural change needed} | {Team} | {Sprint} | -**Standard CI/CD expectations:** -- Full test suite on every commit (~5-15 min feedback) -- Parallel test execution (isolated test data per worker) -- Ephemeral test environments (spin up → test → tear down) -- Fast feedback loop (devs stay in flow state) +**Example:** +- **No API for test data seeding** → Cannot parallelize tests → Provide POST /test/seed endpoint (Backend, Sprint 0) -**Current reality for {Feature}:** -- {Actual situation - what's different from standard} +#### 2. Architectural Improvements Needed (WHAT SHOULD BE CHANGED) -#### Tiered Testing Strategy - -{If forced by architecture, explain. If standard approach works, state that.} - -| Tier | When | Duration | Coverage | Why Not Full Suite? | -|------|------|----------|----------|---------------------| -| **Smoke** | Every commit | <5 min | {N} tests | Fast feedback, catch build-breaking changes | -| **P0** | Every commit | ~{X} min | ~{N} tests | Critical paths, security-critical flows | -| **P1** | PR to main | ~{X} min | ~{N} tests | Important features, algorithm accuracy | -| **P2/P3** | Nightly | ~{X} min | ~{N} tests | Edge cases, performance, NFR | - -**Note**: {Any timing assumptions or constraints} - -#### Architectural Improvements Needed - -{If system has technical debt affecting testing, list improvements. If architecture supports testing well, acknowledge that.} +{List specific improvements that would make the system more testable} 1. **{Improvement name}** - - {What to change} - - **Impact**: {How it improves testing} + - **Current problem**: {What's wrong} + - **Required change**: {What architecture must do} + - **Impact if not fixed**: {Consequences} + - **Owner**: {Team} + - **Timeline**: {Sprint} -#### Acceptance of Trade-offs +--- -For {Feature} Phase 1, the team accepts: -- **{Trade-off 1}** ({Reasoning}) -- **{Trade-off 2}** ({Reasoning}) -- ⚠️ **{Known limitation}** ({Why acceptable for now}) +### Testability Assessment Summary -This is {**technical debt** OR **acceptable for Phase 1**} that should be {revisited post-GA OR maintained as-is}. +**📊 CURRENT STATE - FYI** + +{Only include this section if there are passing items worth mentioning. Otherwise omit.} + +#### What Works Well + +- ✅ {Passing item 1} (e.g., "API-first design supports parallel test execution") +- ✅ {Passing item 2} (e.g., "Feature flags enable test isolation") +- ✅ {Passing item 3} + +#### Accepted Trade-offs (No Action Required) + +For {Feature} Phase 1, the following trade-offs are acceptable: +- **{Trade-off 1}** - {Why acceptable for now} +- **{Trade-off 2}** - {Why acceptable for now} + +{This is technical debt OR acceptable for Phase 1} that {should be revisited post-GA OR maintained as-is} --- diff --git a/src/bmm/workflows/testarch/test-design/test-design-qa-template.md b/src/bmm/workflows/testarch/test-design/test-design-qa-template.md index a055736b..037856b7 100644 --- a/src/bmm/workflows/testarch/test-design/test-design-qa-template.md +++ b/src/bmm/workflows/testarch/test-design/test-design-qa-template.md @@ -1,314 +1,286 @@ # Test Design for QA: {Feature Name} -**Purpose:** Test execution recipe for QA team. Defines test scenarios, coverage plan, tooling, and Sprint 0 setup requirements. Use this as your implementation guide after architectural blockers are resolved. +**Purpose:** Test execution recipe for QA team. Defines what to test, how to test it, and what QA needs from other teams. **Date:** {date} **Author:** {author} -**Status:** Draft / Ready for Implementation +**Status:** Draft **Project:** {project_name} -**PRD Reference:** {prd_link} -**ADR Reference:** {adr_link} + +**Related:** See Architecture doc (test-design-architecture.md) for testability concerns and architectural blockers. --- -## Quick Reference for QA +## Executive Summary -**Before You Start:** -- [ ] Review Architecture doc (test-design-architecture.md) - understand blockers and risks -- [ ] Verify Sprint 0 blockers resolved (see Sprint 0 section below) -- [ ] Confirm test infrastructure ready (factories, fixtures, environments) +**Scope:** {Brief description of testing scope} -**Test Execution Order:** -1. **Smoke tests** (<5 min) - Fast feedback on critical paths -2. **P0 tests** (~{X} min) - Critical paths, security-critical flows -3. **P1 tests** (~{X} min) - Important features, algorithm accuracy -4. **P2/P3 tests** (~{X} min) - Edge cases, performance, NFR +**Risk Summary:** +- Total Risks: {N} ({X} high-priority score ≥6, {Y} medium, {Z} low) +- Critical Categories: {Categories with most high-priority risks} -**Need Help?** -- Blockers: See Architecture doc "Quick Guide" for mitigation plans -- Test scenarios: See "Test Coverage Plan" section below -- Sprint 0 setup: See "Sprint 0 Setup Requirements" section +**Coverage Summary:** +- P0 tests: ~{N} (critical paths, security) +- P1 tests: ~{N} (important features, integration) +- P2 tests: ~{N} (edge cases, regression) +- P3 tests: ~{N} (exploratory, benchmarks) +- **Total**: ~{N} tests (~{X}-{Y} weeks with 1 QA) --- -## System Architecture Summary +## Dependencies & Test Blockers -**Data Pipeline:** -{Brief description of system flow} +**CRITICAL:** QA cannot proceed without these items from other teams. -**Key Services:** -- **{Service 1}**: {Purpose and key responsibilities} -- **{Service 2}**: {Purpose and key responsibilities} -- **{Service 3}**: {Purpose and key responsibilities} +### Backend/Architecture Dependencies (Sprint 0) -**Data Stores:** -- **{Database 1}**: {What it stores} -- **{Database 2}**: {What it stores} +**Source:** See Architecture doc "Quick Guide" for detailed mitigation plans -**Expected Scale** (from ADR): -- {Key metrics: RPS, volume, users, etc.} +1. **{Dependency 1}** - {Team} - {Timeline} + - {What QA needs} + - {Why it blocks testing} ---- +2. **{Dependency 2}** - {Team} - {Timeline} + - {What QA needs} + - {Why it blocks testing} -## Test Environment Requirements +### QA Infrastructure Setup (Sprint 0) -**{Company} Standard:** Shared DB per Environment with Randomization (Shift-Left) +1. **Test Data Factories** - QA + - {Entity} factory with faker-based randomization + - Auto-cleanup fixtures for parallel safety -| Environment | Database | Test Data Strategy | Purpose | -|-------------|----------|-------------------|---------| -| **Local** | {DB} (shared) | Randomized (faker), auto-cleanup | Local development | -| **Dev (CI)** | {DB} (shared) | Randomized (faker), auto-cleanup | PR validation | -| **Staging** | {DB} (shared) | Randomized (faker), auto-cleanup | Pre-production, E2E | +2. **Test Environments** - QA + - Local: {Setup details} + - CI/CD: {Setup details} + - Staging: {Setup details} -**Key Principles:** -- **Shared database per environment** (no ephemeral) -- **Randomization for isolation** (faker-based unique IDs) -- **Parallel-safe** (concurrent test runs don't conflict) -- **Self-cleaning** (tests delete their own data) -- **Shift-left** (test against real DBs early) - -**Example:** +**Example factory pattern:** ```typescript -import { faker } from "@faker-js/faker"; +import { test } from '@seontechnologies/playwright-utils/api-request/fixtures'; +import { expect } from '@playwright/test'; +import { faker } from '@faker-js/faker'; -test("example with randomized test data @p0", async ({ apiRequest }) => { +test('example test @p0', async ({ apiRequest }) => { const testData = { id: `test-${faker.string.uuid()}`, - customerId: `test-customer-${faker.string.alphanumeric(8)}`, - // ... unique test data + email: faker.internet.email(), }; - // Seed, test, cleanup + const { status } = await apiRequest({ + method: 'POST', + path: '/api/resource', + body: testData, + }); + + expect(status).toBe(201); }); ``` --- -## Testability Assessment +## Risk Assessment -**Prerequisites from Architecture Doc:** +**Note:** Full risk details in Architecture doc. This section summarizes risks relevant to QA test planning. -Verify these blockers are resolved before test development: -- [ ] {Blocker 1} (see Architecture doc Quick Guide → 🚨 BLOCKERS) -- [ ] {Blocker 2} -- [ ] {Blocker 3} +### High-Priority Risks (Score ≥6) -**If Prerequisites Not Met:** Coordinate with Architecture team (see Architecture doc for mitigation plans and owner assignments) +| Risk ID | Category | Description | Score | QA Test Coverage | +|---------|----------|-------------|-------|------------------| +| **{R-ID}** | {CAT} | {Brief description} | **{Score}** | {How QA validates this risk} | ---- +### Medium/Low-Priority Risks -## Test Levels Strategy - -**System Type:** {API-heavy / UI-heavy / Mixed backend system} - -**Recommended Split:** -- **Unit Tests: {X}%** - {What to unit test} -- **Integration/API Tests: {X}%** - ⭐ **PRIMARY FOCUS** - {What to integration test} -- **E2E Tests: {X}%** - {What to E2E test} - -**Rationale:** {Why this split makes sense for this system} - -**Test Count Summary:** -- P0: ~{N} tests - Critical paths, run on every commit -- P1: ~{N} tests - Important features, run on PR to main -- P2: ~{N} tests - Edge cases, run nightly/weekly -- P3: ~{N} tests - Exploratory, run on-demand -- **Total: ~{N} tests** (~{X} weeks for 1 QA, ~{Y} weeks for 2 QAs) +| Risk ID | Category | Description | Score | QA Test Coverage | +|---------|----------|-------------|-------|------------------| +| {R-ID} | {CAT} | {Brief description} | {Score} | {How QA validates this risk} | --- ## Test Coverage Plan -**Repository Note:** {Where tests live - backend repo, admin panel repo, etc. - and how CI pipelines are organized} +**IMPORTANT:** P0/P1/P2/P3 = **priority and risk level** (what to focus on if time-constrained), NOT execution timing. See "Execution Strategy" for when tests run. -### P0 (Critical) - Run on every commit (~{X} min) +### P0 (Critical) -**Execution:** CI/CD on every commit, parallel workers, smoke tests first (<5 min) +**Criteria:** Blocks core functionality + High risk (≥6) + No workaround + Affects majority of users -**Purpose:** Critical path validation - catch build-breaking changes and security violations immediately +| Test ID | Requirement | Test Level | Risk Link | Notes | +|---------|-------------|------------|-----------|-------| +| **P0-001** | {Requirement} | {Level} | {R-ID} | {Notes} | +| **P0-002** | {Requirement} | {Level} | {R-ID} | {Notes} | -**Criteria:** Blocks core functionality OR High risk (≥6) OR No workaround - -**Key Smoke Tests** (subset of P0, run first for fast feedback): -- {Smoke test 1} - {Duration} -- {Smoke test 2} - {Duration} -- {Smoke test 3} - {Duration} - -| Requirement | Test Level | Risk Link | Test Count | Owner | Notes | -|-------------|------------|-----------|------------|-------|-------| -| {Requirement 1} | {Level} | {R-ID} | {N} | QA | {Notes} | -| {Requirement 2} | {Level} | {R-ID} | {N} | QA | {Notes} | - -**Total P0:** ~{N} tests (~{X} weeks) - -#### P0 Test Scenarios (Detailed) - -**1. {Test Category} ({N} tests) - {CRITICALITY if applicable}** - -- [ ] {Scenario 1 with checkbox} -- [ ] {Scenario 2} -- [ ] {Scenario 3} - -**2. {Test Category 2} ({N} tests)** - -- [ ] {Scenario 1} -- [ ] {Scenario 2} - -{Continue for all P0 categories} +**Total P0:** ~{N} tests --- -### P1 (High) - Run on PR to main (~{X} min additional) +### P1 (High) -**Execution:** CI/CD on pull requests to main branch, runs after P0 passes, parallel workers +**Criteria:** Important features + Medium risk (3-4) + Common workflows + Workaround exists but difficult -**Purpose:** Important feature coverage - algorithm accuracy, complex workflows, Admin Panel interactions +| Test ID | Requirement | Test Level | Risk Link | Notes | +|---------|-------------|------------|-----------|-------| +| **P1-001** | {Requirement} | {Level} | {R-ID} | {Notes} | +| **P1-002** | {Requirement} | {Level} | {R-ID} | {Notes} | -**Criteria:** Important features OR Medium risk (3-4) OR Common workflows - -| Requirement | Test Level | Risk Link | Test Count | Owner | Notes | -|-------------|------------|-----------|------------|-------|-------| -| {Requirement 1} | {Level} | {R-ID} | {N} | QA | {Notes} | -| {Requirement 2} | {Level} | {R-ID} | {N} | QA | {Notes} | - -**Total P1:** ~{N} tests (~{X} weeks) - -#### P1 Test Scenarios (Detailed) - -**1. {Test Category} ({N} tests)** - -- [ ] {Scenario 1} -- [ ] {Scenario 2} - -{Continue for all P1 categories} +**Total P1:** ~{N} tests --- -### P2 (Medium) - Run nightly/weekly (~{X} min) +### P2 (Medium) -**Execution:** Scheduled nightly run (or weekly for P3), full infrastructure, sequential execution acceptable +**Criteria:** Secondary features + Low risk (1-2) + Edge cases + Regression prevention -**Purpose:** Edge case coverage, error handling, data integrity validation - slow feedback acceptable +| Test ID | Requirement | Test Level | Risk Link | Notes | +|---------|-------------|------------|-----------|-------| +| **P2-001** | {Requirement} | {Level} | {R-ID} | {Notes} | -**Criteria:** Secondary features OR Low risk (1-2) OR Edge cases - -| Requirement | Test Level | Risk Link | Test Count | Owner | Notes | -|-------------|------------|-----------|------------|-------|-------| -| {Requirement 1} | {Level} | {R-ID} | {N} | QA | {Notes} | -| {Requirement 2} | {Level} | {R-ID} | {N} | QA | {Notes} | - -**Total P2:** ~{N} tests (~{X} weeks) +**Total P2:** ~{N} tests --- -### P3 (Low) - Run on-demand (exploratory) +### P3 (Low) -**Execution:** Manual trigger or weekly scheduled run, performance testing +**Criteria:** Nice-to-have + Exploratory + Performance benchmarks + Documentation validation -**Purpose:** Full regression, performance benchmarks, accessibility validation - no time pressure +| Test ID | Requirement | Test Level | Notes | +|---------|-------------|------------|-------| +| **P3-001** | {Requirement} | {Level} | {Notes} | -**Criteria:** Nice-to-have OR Exploratory OR Performance benchmarks - -| Requirement | Test Level | Test Count | Owner | Notes | -|-------------|------------|------------|-------|-------| -| {Requirement 1} | {Level} | {N} | QA | {Notes} | -| {Requirement 2} | {Level} | {N} | QA | {Notes} | - -**Total P3:** ~{N} tests (~{X} days) +**Total P3:** ~{N} tests --- -### Coverage Matrix (Requirements → Tests) +## Execution Strategy -| Requirement | Test Level | Priority | Risk Link | Test Count | Owner | -|-------------|------------|----------|-----------|------------|-------| -| {Requirement 1} | {Level} | {P0-P3} | {R-ID} | {N} | {Owner} | -| {Requirement 2} | {Level} | {P0-P3} | {R-ID} | {N} | {Owner} | +**Philosophy:** Run everything in PRs unless there's significant infrastructure overhead. Playwright with parallelization is extremely fast (100s of tests in ~10-15 min). + +**Organized by TOOL TYPE:** + +### Every PR: Playwright Tests (~10-15 min) + +**All functional tests** (from any priority level): +- All E2E, API, integration, unit tests using Playwright +- Parallelized across {N} shards +- Total: ~{N} Playwright tests (includes P0, P1, P2, P3) + +**Why run in PRs:** Fast feedback, no expensive infrastructure + +### Nightly: k6 Performance Tests (~30-60 min) + +**All performance tests** (from any priority level): +- Load, stress, spike, endurance tests +- Total: ~{N} k6 tests (may include P0, P1, P2) + +**Why defer to nightly:** Expensive infrastructure (k6 Cloud), long-running (10-40 min per test) + +### Weekly: Chaos & Long-Running (~hours) + +**Special infrastructure tests** (from any priority level): +- Multi-region failover (requires AWS Fault Injection Simulator) +- Disaster recovery (backup restore, 4+ hours) +- Endurance tests (4+ hours runtime) + +**Why defer to weekly:** Very expensive infrastructure, very long-running, infrequent validation sufficient + +**Manual tests** (excluded from automation): +- DevOps validation (deployment, monitoring) +- Finance validation (cost alerts) +- Documentation validation --- -## Sprint 0 Setup Requirements +## QA Effort Estimate -**IMPORTANT:** These items **BLOCK test development**. Complete in Sprint 0 before QA can write tests. +**QA test development effort only** (excludes DevOps, Backend, Data Eng, Finance work): -### Architecture/Backend Blockers (from Architecture doc) +| Priority | Count | Effort Range | Notes | +|----------|-------|--------------|-------| +| P0 | ~{N} | ~{X}-{Y} weeks | Complex setup (security, performance, multi-step) | +| P1 | ~{N} | ~{X}-{Y} weeks | Standard coverage (integration, API tests) | +| P2 | ~{N} | ~{X}-{Y} days | Edge cases, simple validation | +| P3 | ~{N} | ~{X}-{Y} days | Exploratory, benchmarks | +| **Total** | ~{N} | **~{X}-{Y} weeks** | **1 QA engineer, full-time** | -**Source:** See Architecture doc "Quick Guide" for detailed mitigation plans +**Assumptions:** +- Includes test design, implementation, debugging, CI integration +- Excludes ongoing maintenance (~10% effort) +- Assumes test infrastructure (factories, fixtures) ready -1. **{Blocker 1}** 🚨 **BLOCKER** - {Owner} - - {What needs to be provided} - - **Details:** Architecture doc {Risk-ID} mitigation plan - -2. **{Blocker 2}** 🚨 **BLOCKER** - {Owner} - - {What needs to be provided} - - **Details:** Architecture doc {Risk-ID} mitigation plan - -### QA Test Infrastructure - -1. **{Factory/Fixture Name}** - QA - - Faker-based generator: `{function_signature}` - - Auto-cleanup after tests - -2. **{Entity} Fixtures** - QA - - Seed scripts for {states/scenarios} - - Isolated {id_pattern} per test - -### Test Environments - -**Local:** {Setup details - Docker, LocalStack, etc.} - -**CI/CD:** {Setup details - shared infrastructure, parallel workers, artifacts} - -**Staging:** {Setup details - shared multi-tenant, nightly E2E} - -**Production:** {Setup details - feature flags, canary transactions} - -**Sprint 0 NFR Gates** (MUST complete before integration testing): -- [ ] {Gate 1}: {Description} (Owner) 🚨 -- [ ] {Gate 2}: {Description} (Owner) 🚨 -- [ ] {Gate 3}: {Description} (Owner) 🚨 - -### Sprint 1 Items (Not Sprint 0) - -- **{Item 1}** ({Owner}): {Description} -- **{Item 2}** ({Owner}): {Description} - -**Sprint 1 NFR Gates** (MUST complete before GA): -- [ ] {Gate 1}: {Description} (Owner) -- [ ] {Gate 2}: {Description} (Owner) +**Dependencies from other teams:** +- See "Dependencies & Test Blockers" section for what QA needs from Backend, DevOps, Data Eng --- -## NFR Readiness Summary +## Appendix A: Code Examples & Tagging -**Based on Architecture Doc Risk Assessment** +**Playwright Tags for Selective Execution:** -| NFR Category | Status | Evidence Status | Blocker | Next Action | -|--------------|--------|-----------------|---------|-------------| -| **Testability & Automation** | {Status} | {Evidence} | {Sprint} | {Action} | -| **Test Data Strategy** | {Status} | {Evidence} | {Sprint} | {Action} | -| **Scalability & Availability** | {Status} | {Evidence} | {Sprint} | {Action} | -| **Disaster Recovery** | {Status} | {Evidence} | {Sprint} | {Action} | -| **Security** | {Status} | {Evidence} | {Sprint} | {Action} | -| **Monitorability, Debuggability & Manageability** | {Status} | {Evidence} | {Sprint} | {Action} | -| **QoS & QoE** | {Status} | {Evidence} | {Sprint} | {Action} | -| **Deployability** | {Status} | {Evidence} | {Sprint} | {Action} | +```typescript +import { test } from '@seontechnologies/playwright-utils/api-request/fixtures'; +import { expect } from '@playwright/test'; -**Total:** {N} PASS, {N} CONCERNS across {N} categories +// P0 critical test +test('@P0 @API @Security unauthenticated request returns 401', async ({ apiRequest }) => { + const { status, body } = await apiRequest({ + method: 'POST', + path: '/api/endpoint', + body: { data: 'test' }, + skipAuth: true, + }); + + expect(status).toBe(401); + expect(body.error).toContain('unauthorized'); +}); + +// P1 integration test +test('@P1 @Integration data syncs correctly', async ({ apiRequest }) => { + // Seed data + await apiRequest({ + method: 'POST', + path: '/api/seed', + body: { /* test data */ }, + }); + + // Validate + const { status, body } = await apiRequest({ + method: 'GET', + path: '/api/resource', + }); + + expect(status).toBe(200); + expect(body).toHaveProperty('data'); +}); +``` + +**Run specific tags:** + +```bash +# Run only P0 tests +npx playwright test --grep @P0 + +# Run P0 + P1 tests +npx playwright test --grep "@P0|@P1" + +# Run only security tests +npx playwright test --grep @Security + +# Run all Playwright tests in PR (default) +npx playwright test +``` --- -**End of QA Document** +## Appendix B: Knowledge Base References -**Next Steps for QA Team:** -1. Verify Sprint 0 blockers resolved (coordinate with Architecture team if not) -2. Set up test infrastructure (factories, fixtures, environments) -3. Begin test implementation following priority order (P0 → P1 → P2 → P3) -4. Run smoke tests first for fast feedback -5. Track progress using test scenario checklists above +- **Risk Governance**: `risk-governance.md` - Risk scoring methodology +- **Test Priorities Matrix**: `test-priorities-matrix.md` - P0-P3 criteria +- **Test Levels Framework**: `test-levels-framework.md` - E2E vs API vs Unit selection +- **Test Quality**: `test-quality.md` - Definition of Done (no hard waits, <300 lines, <1.5 min) -**Next Steps for Architecture Team:** -1. Monitor Sprint 0 blocker resolution -2. Provide support for QA infrastructure setup if needed -3. Review test results and address any newly discovered testability gaps +--- + +**Generated by:** BMad TEA Agent +**Workflow:** `_bmad/bmm/testarch/test-design` +**Version:** 4.0 (BMad v6) diff --git a/src/core/agents/bmad-master.agent.yaml b/src/core/agents/bmad-master.agent.yaml index 50debe2c..66e9d37f 100644 --- a/src/core/agents/bmad-master.agent.yaml +++ b/src/core/agents/bmad-master.agent.yaml @@ -17,8 +17,7 @@ agent: - "Load resources at runtime never pre-load, and always present numbered lists for choices." critical_actions: - - "Load into memory {project-root}/_bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language" - - "ALWAYS communicate in {communication_language}" + - "Always greet the user and let them know they can use `/bmad-help` at any time to get advice on what to do next, and they can combine that with what they need help with `/bmad-help where should I start with an idea I have that does XYZ`" menu: - trigger: "LT or fuzzy match on list-tasks" diff --git a/src/core/module-help.csv b/src/core/module-help.csv index 71bcc718..e3ce44b0 100644 --- a/src/core/module-help.csv +++ b/src/core/module-help.csv @@ -1,10 +1,8 @@ module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs -core,,Advanced Elicitation,AE,10,_bmad/core/workflows/advanced-elicitation/workflow.xml,bmad_advanced-elicitation,false,,,"Apply elicitation methods iteratively to enhance content being generated, presenting options and allowing reshuffle or full method listing for comprehensive content improvement",, core,,Brainstorming,BS,20,_bmad/core/workflows/brainstorming/workflow.md,bmad_brainstorming,false,analyst,,Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods,{output_folder}/brainstorming/brainstorming-session-{{date}}.md,, core,,Party Mode,PM,30,_bmad/core/workflows/party-mode/workflow.md,bmad_party-mode,false,party-mode facilitator,,Orchestrates group discussions between all installed BMAD agents enabling natural multi-agent conversations,, -core,,bmad-help,BH,40,_bmad/core/tasks/bmad-help.md,bmad_help,false,system,,Get unstuck by showing what workflow steps come next or answering questions about what to do in the BMad Method,, +core,,bmad-help,BH,40,_bmad/core/tasks/help.md,bmad_help,false,system,,Get unstuck by showing what workflow steps come next or answering questions about what to do in the BMad Method,, core,,Index Docs,ID,50,_bmad/core/tasks/index-docs.xml,bmad_index-docs,false,llm,,Generates or updates an index.md of all documents in the specified directory,, -core,,Execute Workflow,WF,60,_bmad/core/tasks/workflow.xml,bmad_workflow,false,llm,,Execute given workflow by loading its configuration following instructions and producing output,, core,,Shard Document,SD,70,_bmad/core/tasks/shard-doc.xml,bmad_shard-doc,false,llm,,Splits large markdown documents into smaller organized files based on level 2 sections,, core,,Editorial Review - Prose,EP,80,_bmad/core/tasks/editorial-review-prose.xml,bmad_editorial-review-prose,false,llm,reader_type,Clinical copy-editor that reviews text for communication issues,,"three-column markdown table with suggested fixes", core,,Editorial Review - Structure,ES,90,_bmad/core/tasks/editorial-review-structure.xml,bmad_editorial-review-structure,false,llm,,Structural editor that proposes cuts reorganization and simplification while preserving comprehension,, diff --git a/src/core/tasks/editorial-review-prose.xml b/src/core/tasks/editorial-review-prose.xml index f6714b43..7ef28f90 100644 --- a/src/core/tasks/editorial-review-prose.xml +++ b/src/core/tasks/editorial-review-prose.xml @@ -1,12 +1,16 @@ + standalone="true"> Review text for communication issues that impede comprehension and output suggested fixes in a three-column table + @@ -32,7 +36,11 @@ No conflicts: Merge overlapping fixes into single entries Respect author voice: Preserve intentional stylistic choices - + STYLE GUIDE OVERRIDE: If a style_guide input is provided, + it overrides ALL generic principles in this task (including the Microsoft + Writing Style Guide baseline and reader_type-specific priorities). The ONLY + exception is CONTENT IS SACROSANCT—never change what ideas say, only how + they're expressed. When style guide conflicts with this task, style guide wins. @@ -54,6 +62,7 @@ + Consult style_guide now and note its key requirements—these override default principles for this review Review all prose sections (skip code blocks, frontmatter, structural markup) Identify communication issues that impede comprehension For each issue, determine the minimal fix that achieves clarity diff --git a/src/core/tasks/editorial-review-structure.xml b/src/core/tasks/editorial-review-structure.xml index 26ef400a..aac169ee 100644 --- a/src/core/tasks/editorial-review-structure.xml +++ b/src/core/tasks/editorial-review-structure.xml @@ -5,12 +5,16 @@ name="Editorial Review - Structure" description="Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension" - standalone="false"> + standalone="true"> Review document structure and propose substantive changes to improve clarity and flow-run this BEFORE copy editing + @@ -41,6 +45,12 @@ Propose, don't execute: Output recommendations-user decides what to accept CONTENT IS SACROSANCT: Never challenge ideas—only optimize how they're organized. + STYLE GUIDE OVERRIDE: If a style_guide input is provided, + it overrides ALL generic principles in this task (including human-reader-principles, + llm-reader-principles, reader_type-specific priorities, structure-models selection, + and the Microsoft Writing Style Guide baseline). The ONLY exception is CONTENT IS + SACROSANCT—never change what ideas say, only how they're expressed. When style + guide conflicts with this task, style guide wins. These elements serve human comprehension and engagement-preserve unless clearly wasteful: Visual aids: Diagrams, images, and flowcharts anchor understanding @@ -122,6 +132,7 @@ Note reader_type and which principles apply (human-reader-principles or llm-reader-principles) + Consult style_guide now and note its key requirements—these override default principles for this analysis Map the document structure: list each major section with its word count Evaluate structure against the selected model's primary rules (e.g., 'Does recommendation come first?' for Pyramid) diff --git a/src/core/tasks/bmad-help.md b/src/core/tasks/help.md similarity index 99% rename from src/core/tasks/bmad-help.md rename to src/core/tasks/help.md index 9d7f947c..3df95fd5 100644 --- a/src/core/tasks/bmad-help.md +++ b/src/core/tasks/help.md @@ -1,5 +1,5 @@ --- -name: bmad-help +name: help description: Get unstuck by showing what workflow steps come next or answering questions about what to do standalone: true --- diff --git a/src/core/tasks/review-adversarial-general.xml b/src/core/tasks/review-adversarial-general.xml index 4af77a66..0ebe5cdf 100644 --- a/src/core/tasks/review-adversarial-general.xml +++ b/src/core/tasks/review-adversarial-general.xml @@ -1,7 +1,7 @@ - + Cynically review content and produce findings diff --git a/src/core/tasks/workflow.xml b/src/core/tasks/workflow.xml index 09f5d04a..137b6dd5 100644 --- a/src/core/tasks/workflow.xml +++ b/src/core/tasks/workflow.xml @@ -1,4 +1,4 @@ - + Execute given workflow by loading its configuration, following instructions, and producing output diff --git a/src/core/workflows/brainstorming/workflow.md b/src/core/workflows/brainstorming/workflow.md index 9ba92d61..3190c983 100644 --- a/src/core/workflows/brainstorming/workflow.md +++ b/src/core/workflows/brainstorming/workflow.md @@ -53,6 +53,6 @@ Load config from `{project-root}/_bmad/core/config.yaml` and resolve: ## EXECUTION -Load and execute `steps/step-01-session-setup.md` to begin the workflow. +Read fully and follow: `steps/step-01-session-setup.md` to begin the workflow. **Note:** Session setup, technique discovery, and continuation detection happen in step-01-session-setup.md. diff --git a/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md b/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md index f328a410..361c1937 100644 --- a/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +++ b/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md @@ -136,7 +136,7 @@ Check for exit conditions before continuing: #### If 'E' (Exit Party Mode): -- Load read and execute: `./step-03-graceful-exit.md` +- Read fully and follow: `./step-03-graceful-exit.md` ## SUCCESS METRICS: diff --git a/src/utility/agent-components/activation-steps.txt b/src/utility/agent-components/activation-steps.txt index 860be6a7..24def0af 100644 --- a/src/utility/agent-components/activation-steps.txt +++ b/src/utility/agent-components/activation-steps.txt @@ -8,6 +8,7 @@ Remember: user's name is {user_name} {AGENT_SPECIFIC_STEPS} Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section + -Let {user_name} know they can type command `/bmad-help` at any time to get advice on what to do next, and that they can combine that with what they need help with `/bmad-help where should I start with an idea I have that does XYZ` STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match - On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized" - When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions \ No newline at end of file + On user input: Number → process menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized" + When processing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions \ No newline at end of file diff --git a/src/utility/agent-components/handler-action.txt b/src/utility/agent-components/handler-action.txt index 21dd31e1..db31f485 100644 --- a/src/utility/agent-components/handler-action.txt +++ b/src/utility/agent-components/handler-action.txt @@ -1,4 +1,4 @@ - When menu item has: action="#id" → Find prompt with id="id" in current agent XML, execute its content - When menu item has: action="text" → Execute the text directly as an inline instruction + When menu item has: action="#id" → Find prompt with id="id" in current agent XML, follow its content + When menu item has: action="text" → Follow the text directly as an inline instruction \ No newline at end of file diff --git a/src/utility/agent-components/handler-exec.txt b/src/utility/agent-components/handler-exec.txt index 5dbc1368..1c8459a6 100644 --- a/src/utility/agent-components/handler-exec.txt +++ b/src/utility/agent-components/handler-exec.txt @@ -1,6 +1,6 @@ When menu item or handler has: exec="path/to/file.md": - 1. Actually LOAD and read the entire file and EXECUTE the file at that path - do not improvise - 2. Read the complete file and follow all instructions within it + 1. Read fully and follow the file at that path + 2. Process the complete file and follow all instructions within it 3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context. \ No newline at end of file diff --git a/src/utility/agent-components/handler-multi.txt b/src/utility/agent-components/handler-multi.txt index 7c8f535a..f33a73fe 100644 --- a/src/utility/agent-components/handler-multi.txt +++ b/src/utility/agent-components/handler-multi.txt @@ -4,7 +4,7 @@ 2. Parse all nested handlers within the multi item 3. For each nested handler: - Use the 'match' attribute for fuzzy matching user input (or Exact Match of character code in brackets []) - - Execute based on handler attributes (exec, workflow, action) + - Process based on handler attributes (exec, workflow, action) 4. When user input matches a handler's 'match' pattern: - For exec="path/to/file.md": follow the `handler type="exec"` instructions - For workflow="path/to/workflow.yaml": follow the `handler type="workflow"` instructions diff --git a/src/utility/agent-components/handler-workflow.txt b/src/utility/agent-components/handler-workflow.txt index 84c0d9ea..1be1dcbe 100644 --- a/src/utility/agent-components/handler-workflow.txt +++ b/src/utility/agent-components/handler-workflow.txt @@ -1,10 +1,10 @@ When menu item has: workflow="path/to/workflow.yaml": - + 1. CRITICAL: Always LOAD {project-root}/_bmad/core/tasks/workflow.xml - 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 2. Read the complete file - this is the CORE OS for processing BMAD workflows 3. Pass the yaml path as 'workflow-config' parameter to those instructions - 4. Execute workflow.xml instructions precisely following all steps + 4. Follow workflow.xml instructions precisely following all steps 5. Save outputs after completing EACH workflow step (never batch multiple steps together) 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/shared/path-utils.js b/tools/cli/installers/lib/ide/shared/path-utils.js index ad56d8d2..dc564774 100644 --- a/tools/cli/installers/lib/ide/shared/path-utils.js +++ b/tools/cli/installers/lib/ide/shared/path-utils.js @@ -5,37 +5,49 @@ * - Underscore format (bmad_module_name.md) - Windows-compatible universal format */ -// Type segments to filter out from paths -const TYPE_SEGMENTS = ['agents', 'workflows', 'tasks', 'tools']; +// Type segments - agents are included in naming, others are filtered out +const TYPE_SEGMENTS = ['workflows', 'tasks', 'tools']; +const AGENT_SEGMENT = 'agents'; /** * Convert hierarchical path to flat underscore-separated name - * Converts: 'bmm/agents/pm.md' → 'bmad_bmm_pm.md' - * Converts: 'bmm/workflows/correct-course.md' → 'bmad_bmm_correct-course.md' + * Converts: 'bmm', 'agents', 'pm' → 'bmad_bmm_agent_pm.md' + * Converts: 'bmm', 'workflows', 'correct-course' → 'bmad_bmm_correct-course.md' + * Converts: 'core', 'agents', 'brainstorming' → 'bmad_agent_brainstorming.md' (core items skip module prefix) * * @param {string} module - Module name (e.g., 'bmm', 'core') - * @param {string} type - Artifact type ('agents', 'workflows', 'tasks', 'tools') - filtered out - * @param {string} name - Artifact name (e.g., 'pm', 'correct-course') - * @returns {string} Flat filename like 'bmad_bmm_pm.md' + * @param {string} type - Artifact type ('agents', 'workflows', 'tasks', 'tools') + * @param {string} name - Artifact name (e.g., 'pm', 'brainstorming') + * @returns {string} Flat filename like 'bmad_bmm_agent_pm.md' or 'bmad_bmm_correct-course.md' */ function toUnderscoreName(module, type, name) { - return `bmad_${module}_${name}.md`; + const isAgent = type === AGENT_SEGMENT; + // For core module, skip the module prefix: use 'bmad_name.md' instead of 'bmad_core_name.md' + if (module === 'core') { + return isAgent ? `bmad_agent_${name}.md` : `bmad_${name}.md`; + } + return isAgent ? `bmad_${module}_agent_${name}.md` : `bmad_${module}_${name}.md`; } /** * Convert relative path to flat underscore-separated name - * Converts: 'bmm/agents/pm.md' → 'bmad_bmm_pm.md' + * Converts: 'bmm/agents/pm.md' → 'bmad_bmm_agent_pm.md' * Converts: 'bmm/workflows/correct-course.md' → 'bmad_bmm_correct-course.md' + * Converts: 'core/agents/brainstorming.md' → 'bmad_agent_brainstorming.md' (core items skip module prefix) * * @param {string} relativePath - Path like 'bmm/agents/pm.md' - * @returns {string} Flat filename like 'bmad_bmm_pm.md' + * @returns {string} Flat filename like 'bmad_bmm_agent_pm.md' or 'bmad_brainstorming.md' */ function toUnderscorePath(relativePath) { const withoutExt = relativePath.replace('.md', ''); const parts = withoutExt.split(/[/\\]/); - // Filter out type segments (agents, workflows, tasks, tools) - const filtered = parts.filter((p) => !TYPE_SEGMENTS.includes(p)); - return `bmad_${filtered.join('_')}.md`; + + const module = parts[0]; + const type = parts[1]; + const name = parts.slice(2).join('_'); + + // Use toUnderscoreName for consistency + return toUnderscoreName(module, type, name); } /** @@ -60,7 +72,10 @@ function isUnderscoreFormat(filename) { /** * Extract parts from an underscore-formatted filename - * Parses: 'bmad_bmm_pm.md' → { prefix: 'bmad', module: 'bmm', name: 'pm' } + * Parses: 'bmad_bmm_agent_pm.md' → { prefix: 'bmad', module: 'bmm', type: 'agents', name: 'pm' } + * Parses: 'bmad_bmm_correct-course.md' → { prefix: 'bmad', module: 'bmm', type: 'workflows', name: 'correct-course' } + * Parses: 'bmad_agent_brainstorming.md' → { prefix: 'bmad', module: 'core', type: 'agents', name: 'brainstorming' } (core agents) + * Parses: 'bmad_brainstorming.md' → { prefix: 'bmad', module: 'core', type: 'workflows', name: 'brainstorming' } (core workflows) * * @param {string} filename - Underscore-formatted filename * @returns {Object|null} Parsed parts or null if invalid format @@ -69,14 +84,52 @@ function parseUnderscoreName(filename) { const withoutExt = filename.replace('.md', ''); const parts = withoutExt.split('_'); - if (parts.length < 3 || parts[0] !== 'bmad') { + if (parts.length < 2 || parts[0] !== 'bmad') { return null; } + // Check if this is an agent file (has 'agent' as one of the parts) + const agentIndex = parts.indexOf('agent'); + + if (agentIndex !== -1) { + // This is an agent file + // Format: bmad_agent_name (core) or bmad_module_agent_name + if (agentIndex === 1) { + // Core agent: bmad_agent_name + return { + prefix: parts[0], + module: 'core', + type: 'agents', + name: parts.slice(agentIndex + 1).join('_'), + }; + } else { + // Module agent: bmad_module_agent_name + return { + prefix: parts[0], + module: parts[1], + type: 'agents', + name: parts.slice(agentIndex + 1).join('_'), + }; + } + } + + // Not an agent file - must be a workflow/tool/task + // If only 2 parts (bmad_name), it's a core workflow/tool/task + if (parts.length === 2) { + return { + prefix: parts[0], + module: 'core', + type: 'workflows', // Default to workflows for non-agent core items + name: parts[1], + }; + } + + // Otherwise, it's a module workflow/tool/task (bmad_module_name) return { prefix: parts[0], module: parts[1], - name: parts.slice(2).join('_'), // Handle names that might contain underscores + type: 'workflows', // Default to workflows for non-agent module items + name: parts.slice(2).join('_'), }; } @@ -108,4 +161,5 @@ module.exports = { parseColonName, parseDashName, TYPE_SEGMENTS, + AGENT_SEGMENT, }; diff --git a/tools/validate-doc-links.js b/tools/validate-doc-links.js index 5b0a018a..55b23fd7 100644 --- a/tools/validate-doc-links.js +++ b/tools/validate-doc-links.js @@ -27,6 +27,9 @@ const LINK_REGEX = /\[([^\]]*)\]\((\/[^)]+)\)/g; // File extensions that are static assets, not markdown docs const STATIC_ASSET_EXTENSIONS = ['.zip', '.txt', '.pdf', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.ico']; +// Custom Astro page routes (not part of the docs content collection) +const CUSTOM_PAGE_ROUTES = new Set(['/workflow-guide']); + // Regex to extract headings for anchor validation const HEADING_PATTERN = /^#{1,6}\s+(.+)$/gm; @@ -210,6 +213,11 @@ function processFile(filePath) { continue; } + // Skip custom Astro page routes + if (CUSTOM_PAGE_ROUTES.has(linkPath)) { + continue; + } + // Validate the link target exists const targetFile = resolveLink(linkPath); diff --git a/website/astro.config.mjs b/website/astro.config.mjs index e7b111fe..22c89e1e 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -213,7 +213,7 @@ export default defineConfig({ credits: false, // Pagination - pagination: true, + pagination: false, // Custom components components: { diff --git a/website/src/components/WorkflowGuide.astro b/website/src/components/WorkflowGuide.astro new file mode 100644 index 00000000..d9dc7e19 --- /dev/null +++ b/website/src/components/WorkflowGuide.astro @@ -0,0 +1,444 @@ +--- +--- + +
+
+ /bmad-help + Run this anytime to see what to do next — or ask it a question like "what should I do to build a web app?" +
+ +

Loading agents is optional. If your IDE supports slash commands, you can run workflows directly.

+ +
+
+ + + +
+
+ +
+

Select a track above to see the workflow.

+ +
+ +
Analysis
+ +
+ /brainstorm-project + Analyst + +

Guided ideation using 60+ techniques to explore your project idea and create brainstorm notes.

+
+
+ +
+ /research + Analyst + +

Market, technical, or competitive research producing a structured research document.

+
+
+ +
+ /product-brief + Analyst + +

Combines brainstorm and research into a foundation document covering problem, users, and MVP scope.

+
+
+ + +
Planning
+ +
+ /quick-spec + Barry + +

Analyzes your codebase, auto-detects stack, and produces tech-spec.md with implementation-ready story files.

+
+
+ +
+ /create-prd + PM + +

Creates PRD.md with user personas, requirements, success metrics, and risks.

+
+
+ +
+ /create-ux-design + UX Designer + +

Creates ux-design.md with user journeys, wireframes, and a design system.

+
+
+ + +
Solutioning
+ +
+ /create-architecture + Architect + +

Designs system architecture with ADRs covering data, API, security, and deployment decisions.

+
+
+ +
+ /create-epics-and-stories + PM + +

Breaks PRD and architecture into epic files with prioritized, technically-informed stories.

+
+
+ +
+ /implementation-readiness + Architect + +

Validates cohesion across all planning documents to confirm you're ready to build.

+
+
+ + +
Implementation
+ +
+ /sprint-planning + SM + +

Initializes sprint-status.yaml to track all stories through development. Run once.

+
+
+ + +
+ ↻ Repeat for each story + +
+ /create-story + SM + +

Prepares a story file with full context and acceptance criteria from the epic.

+
+
+ +
+ /dev-story + DEV + +

Implements production code and tests following architecture patterns.

+
+
+ +
+ /code-review + DEV + +

Reviews code for quality, architecture alignment, tests, and security.

+
+
+
+ +
+ /epic-retrospective + SM + +

Captures learnings from a completed epic to improve the next one.

+
+
+
+
+ + + + diff --git a/website/src/pages/workflow-guide.astro b/website/src/pages/workflow-guide.astro new file mode 100644 index 00000000..f9f929df --- /dev/null +++ b/website/src/pages/workflow-guide.astro @@ -0,0 +1,17 @@ +--- +import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro'; +import WorkflowGuide from '../components/WorkflowGuide.astro'; +--- + + +

+ This interactive guide helps you understand which workflows to run, which agents to use, and what outputs to expect at each phase. Select your project's track to see the relevant path. +

+ +