4.1 KiB
| name | description | workflow_path | nextStepFile | wipFile |
|---|---|---|---|---|
| step-02-investigate | Map technical constraints and anchor points within the codebase | {project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec | {workflow_path}/steps/step-03-generate.md | {implementation_artifacts}/tech-spec-wip.md |
Step 2: Map Technical Constraints & Anchor Points
Progress: Step 2 of 4 - Next: Generate Plan
RULES:
- MUST NOT skip steps.
- MUST NOT optimize sequence.
- MUST follow exact instructions.
- MUST NOT generate the full spec yet (that's Step 3).
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config
{communication_language}
CONTEXT:
- Requires
{wipFile}from Step 1 with the "Problem Statement" defined. - Focus: Map the problem statement to specific anchor points in the codebase.
- Output: Exact files to touch, classes/patterns to extend, and technical constraints identified.
- Objective: Provide the implementation-ready ground truth for the plan.
SEQUENCE OF INSTRUCTIONS
1. Load Current State
Read {wipFile} and extract:
- Problem statement and scope from Overview section
- Any context gathered in Step 1
2. Execute Investigation Path
Universal Code Investigation:
Isolate deep exploration in sub-agents/tasks where available. Return distilled summaries only to prevent context snowballing.
a) Build on Step 1's Quick Scan
Review what was found in Step 1's orient scan. Then ask:
"Based on my quick look, I see [files/patterns found]. Are there other files or directories I should investigate deeply?"
b) Read and Analyze Code
For each file/directory provided:
- Read the complete file(s)
- Identify patterns, conventions, coding style
- Note dependencies and imports
- Find related test files
If NO relevant code is found (Clean Slate):
- Identify the target directory where the feature should live.
- Scan parent directories for architectural context.
- Identify standard project utilities or boilerplate that SHOULD be used.
- Document this as "Confirmed Clean Slate" - establishing that no legacy constraints exist.
c) Document Technical Context
Capture and confirm with user:
- Tech Stack: Languages, frameworks, libraries
- Code Patterns: Architecture patterns, naming conventions, file structure
- Files to Modify/Create: Specific files that will need changes or new files to be created
- Test Patterns: How tests are structured, test frameworks used
d) Look for project-context.md
If **/project-context.md exists and wasn't loaded in Step 1:
- Load it now
- Extract patterns and conventions
- Note any rules that must be followed
3. Update WIP File
Update {wipFile} frontmatter:
---
# ... existing frontmatter ...
stepsCompleted: [1, 2]
tech_stack: ['{captured_tech_stack}']
files_to_modify: ['{captured_files}']
code_patterns: ['{captured_patterns}']
test_patterns: ['{captured_test_patterns}']
---
Update the Context for Development section:
Fill in:
- Codebase Patterns (from investigation)
- Files to Reference table (files reviewed)
- Technical Decisions (any decisions made during investigation)
Report to user:
"Context Gathered:
- Tech Stack: {tech_stack_summary}
- Files to Modify: {files_count} files identified
- Patterns: {patterns_summary}
- Tests: {test_patterns_summary}"
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
HALT and wait for user selection.
Menu Handling:
- [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
REQUIRED OUTPUTS:
- MUST document technical context (stack, patterns, files identified).
- MUST update
{wipFile}with functional context.
VERIFICATION CHECKLIST:
- Technical mapping performed and documented.
stepsCompleted: [1, 2]set in frontmatter.