4.0 KiB
| title | description |
|---|---|
| Brownfield Development | How to use BMad Method on existing codebases |
How to effectively use BMad Method when working on existing projects and legacy codebases.
What is Brownfield Development?
Brownfield refers to working on existing projects with established codebases and patterns, as opposed to greenfield which means starting from scratch with a clean slate.
This tutorial covers the essential workflow for onboarding to brownfield projects with BMad Method.
Prerequisites
- BMad Method installed (
npx bmad-method install) - An existing codebase you want to work on
- Access to an AI-powered IDE (Claude Code, Cursor, or Windsurf)
Step 1: Clean Up Completed Planning Artifacts
If you have completed all PRD epics and stories through the BMad process, clean up those files. Archive them, delete them, or rely on version history if needed. Do not keep these files in:
docs/_bmad-output/planning-artifacts/_bmad-output/implementation-artifacts/
Step 2: Maintain Quality Project Documentation
Your docs/ folder should contain succinct, well-organized documentation that accurately represents your project:
- Intent and business rationale
- Business rules
- Architecture
- Any other relevant project information
For complex projects, consider using the document-project workflow. It offers runtime variants that will scan your entire project and document its actual current state.
Step 3: Initialize for Brownfield Work
Run workflow-init. It should recognize you are in an existing project. If not, explicitly clarify that this is brownfield development for a new feature.
Choosing Your Approach
You have two primary options depending on the scope of changes:
| Scope | Recommended Approach |
|---|---|
| Small updates or additions | Use quick-flow-solo-dev to create a tech-spec and implement the change. The full four-phase BMad method is likely overkill. |
| Major changes or additions | Start with the BMad method, applying as much or as little rigor as needed. |
During PRD Creation
When creating a brief or jumping directly into the PRD, ensure the agent:
- Finds and analyzes your existing project documentation
- Reads the proper context about your current system
You can guide the agent explicitly, but the goal is to ensure the new feature integrates well with your existing system.
UX Considerations
UX work is optional. The decision depends not on whether your project has a UX, but on:
- Whether you will be working on UX changes
- Whether significant new UX designs or patterns are needed
If your changes amount to simple updates to existing screens you are happy with, a full UX process is unnecessary.
Architecture Considerations
When doing architecture, ensure the architect:
- Uses the proper documented files
- Scans the existing codebase
Pay close attention here to prevent reinventing the wheel or making decisions that misalign with your existing architecture.
Next Steps
- Document Existing Project - How to document your brownfield codebase
- Add Feature to Existing Project - Adding new functionality
- Quick Fix in Brownfield - Bug fixes and ad-hoc changes
- Brownfield FAQ - Common questions about brownfield development
Related Documentation
- Quick Start Guide - Getting started with BMM
- Quick Spec Flow - Fast path for small changes