docs: Add comprehensive GitHub installation guide for TDD methodology
This commit is contained in:
parent
873ba8789c
commit
15298d0bb6
|
|
@ -0,0 +1,305 @@
|
||||||
|
# Install BMAD with TDD Methodology from GitHub
|
||||||
|
|
||||||
|
This guide provides complete installation steps for BMAD-METHOD with the TDD methodology expansion pack directly from the GitHub fork.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- **Node.js:** v20+ required
|
||||||
|
- **Git:** For cloning repositories
|
||||||
|
- **NPM:** For package management
|
||||||
|
- **IDE:** Cursor, Windsurf, or compatible IDE (optional)
|
||||||
|
|
||||||
|
## Installation Methods
|
||||||
|
|
||||||
|
### Method 1: Direct Installation from GitHub Fork (Recommended)
|
||||||
|
|
||||||
|
This method installs your complete BMAD fork that includes the TDD methodology expansion pack.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Create new project directory
|
||||||
|
mkdir my-tdd-project && cd my-tdd-project
|
||||||
|
|
||||||
|
# 2. Clone the BMAD fork with TDD expansion
|
||||||
|
git clone https://github.com/vforvaick/BMAD-METHOD.git
|
||||||
|
cd BMAD-METHOD
|
||||||
|
|
||||||
|
# 3. Switch to the TDD methodology branch
|
||||||
|
git checkout expansion/tdd-methodology
|
||||||
|
|
||||||
|
# 4. Install dependencies
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# 5. Build the framework (includes TDD expansion pack)
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
# 6. Go back to project root and install BMAD from local clone
|
||||||
|
cd ..
|
||||||
|
node BMAD-METHOD/tools/installer/bin/bmad.js install --full
|
||||||
|
|
||||||
|
# 7. Install TDD expansion pack
|
||||||
|
cp -r BMAD-METHOD/expansion-packs/bmad-tdd-methodology .bmad-tdd-methodology
|
||||||
|
|
||||||
|
# 8. Set up development environment
|
||||||
|
npm init -y
|
||||||
|
npm install --save-dev jest
|
||||||
|
|
||||||
|
# 9. Create project structure
|
||||||
|
mkdir -p src tests stories
|
||||||
|
|
||||||
|
# 10. Update package.json test script
|
||||||
|
sed -i '' 's/"test": "echo \\"Error: no test specified\\" && exit 1"/"test": "jest"/g' package.json
|
||||||
|
```
|
||||||
|
|
||||||
|
### Method 2: NPX Installation with GitHub TDD Expansion
|
||||||
|
|
||||||
|
This method uses official BMAD core with TDD expansion from GitHub.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Create project directory
|
||||||
|
mkdir my-tdd-project && cd my-tdd-project
|
||||||
|
|
||||||
|
# 2. Install BMAD core (official)
|
||||||
|
npx bmad-method install --full
|
||||||
|
|
||||||
|
# 3. Clone TDD expansion from GitHub
|
||||||
|
git clone https://github.com/vforvaick/BMAD-METHOD.git temp-bmad
|
||||||
|
cd temp-bmad && git checkout expansion/tdd-methodology && cd ..
|
||||||
|
|
||||||
|
# 4. Copy TDD expansion pack
|
||||||
|
cp -r temp-bmad/expansion-packs/bmad-tdd-methodology .bmad-tdd-methodology
|
||||||
|
|
||||||
|
# 5. Clean up temporary clone
|
||||||
|
rm -rf temp-bmad
|
||||||
|
|
||||||
|
# 6. Set up development environment
|
||||||
|
npm init -y
|
||||||
|
npm install --save-dev jest
|
||||||
|
mkdir -p src tests stories
|
||||||
|
|
||||||
|
# 7. Update package.json for Jest
|
||||||
|
sed -i '' 's/"test": "echo \\"Error: no test specified\\" && exit 1"/"test": "jest"/g' package.json
|
||||||
|
```
|
||||||
|
|
||||||
|
### Method 3: Local Development Installation
|
||||||
|
|
||||||
|
For contributors working on the BMAD-METHOD itself.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Clone your fork
|
||||||
|
git clone https://github.com/vforvaick/BMAD-METHOD.git
|
||||||
|
cd BMAD-METHOD
|
||||||
|
git checkout expansion/tdd-methodology
|
||||||
|
|
||||||
|
# 2. Install development dependencies
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# 3. Build the framework
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
# 4. Create test project
|
||||||
|
cd ..
|
||||||
|
mkdir test-project && cd test-project
|
||||||
|
|
||||||
|
# 5. Install from local repository
|
||||||
|
node ../BMAD-METHOD/tools/installer/bin/bmad.js install --full
|
||||||
|
cp -r ../BMAD-METHOD/expansion-packs/bmad-tdd-methodology .bmad-tdd-methodology
|
||||||
|
|
||||||
|
# 6. Set up test environment
|
||||||
|
npm init -y
|
||||||
|
npm install --save-dev jest
|
||||||
|
mkdir -p src tests stories
|
||||||
|
```
|
||||||
|
|
||||||
|
## Post-Installation Setup
|
||||||
|
|
||||||
|
### 1. IDE Configuration (Optional)
|
||||||
|
|
||||||
|
If you installed with IDE support, your IDE should now have BMAD agent rules:
|
||||||
|
|
||||||
|
**Cursor:**
|
||||||
|
|
||||||
|
- Rules available in `.cursor/rules/bmad/`
|
||||||
|
- Use `@bmad Apply QA Agent (Quinn) persona` to activate TDD-enhanced QA agent
|
||||||
|
|
||||||
|
**Windsurf:**
|
||||||
|
|
||||||
|
- Workflows available in `.windsurf/workflows/`
|
||||||
|
- Access BMAD agents through workflow menu
|
||||||
|
|
||||||
|
### 2. Verify Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check BMAD core installation
|
||||||
|
ls -la .bmad-core
|
||||||
|
|
||||||
|
# Check TDD expansion installation
|
||||||
|
ls -la .bmad-tdd-methodology
|
||||||
|
|
||||||
|
# Verify TDD agents are available
|
||||||
|
cat .bmad-tdd-methodology/agents/qa.md | grep "tdd-start\|write-failing-tests"
|
||||||
|
|
||||||
|
# Test your setup
|
||||||
|
npm test
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Create Your First TDD Story
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Copy TDD story template
|
||||||
|
cp .bmad-tdd-methodology/templates/story-tdd-template.md stories/1.1-my-first-story.md
|
||||||
|
|
||||||
|
# Edit the story file with your requirements
|
||||||
|
# Use your IDE or text editor to customize the template
|
||||||
|
```
|
||||||
|
|
||||||
|
## Available TDD Commands
|
||||||
|
|
||||||
|
Once installed, your enhanced QA agent supports these TDD-specific commands:
|
||||||
|
|
||||||
|
- `*tdd-start {story}` - Initialize TDD process for a story
|
||||||
|
- `*write-failing-tests {story}` - Create failing tests (Red phase)
|
||||||
|
- `*tdd-refactor {story}` - Participate in refactor phase
|
||||||
|
- `*help` - Show all available commands
|
||||||
|
|
||||||
|
## Project Structure After Installation
|
||||||
|
|
||||||
|
```
|
||||||
|
your-project/
|
||||||
|
├── .bmad-core/ # Standard BMAD framework
|
||||||
|
├── .bmad-tdd-methodology/ # TDD expansion pack
|
||||||
|
│ ├── agents/ # Enhanced QA & Dev agents
|
||||||
|
│ │ ├── qa.md # TDD-enhanced QA agent
|
||||||
|
│ │ └── dev.md # TDD-enhanced Dev agent
|
||||||
|
│ ├── tasks/ # TDD-specific tasks
|
||||||
|
│ │ ├── write-failing-tests.md
|
||||||
|
│ │ └── tdd-refactor.md
|
||||||
|
│ ├── templates/ # TDD templates
|
||||||
|
│ │ └── story-tdd-template.md
|
||||||
|
│ └── config.yaml # Expansion configuration
|
||||||
|
├── .cursor/ # IDE rules (if configured)
|
||||||
|
├── .windsurf/ # IDE workflows (if configured)
|
||||||
|
├── src/ # Your source code
|
||||||
|
├── tests/ # Your test files
|
||||||
|
├── stories/ # User stories
|
||||||
|
└── package.json # Project configuration
|
||||||
|
```
|
||||||
|
|
||||||
|
## Quick Start Example
|
||||||
|
|
||||||
|
Here's a complete example to get started quickly:
|
||||||
|
|
||||||
|
````bash
|
||||||
|
# 1. Create and setup project
|
||||||
|
mkdir calculator-tdd && cd calculator-tdd
|
||||||
|
|
||||||
|
# 2. Install BMAD + TDD from GitHub
|
||||||
|
git clone https://github.com/vforvaick/BMAD-METHOD.git temp-bmad
|
||||||
|
cd temp-bmad && git checkout expansion/tdd-methodology && cd ..
|
||||||
|
|
||||||
|
# 3. Install BMAD core
|
||||||
|
npx bmad-method install --full
|
||||||
|
|
||||||
|
# 4. Add TDD expansion
|
||||||
|
cp -r temp-bmad/expansion-packs/bmad-tdd-methodology .bmad-tdd-methodology
|
||||||
|
rm -rf temp-bmad
|
||||||
|
|
||||||
|
# 5. Setup development environment
|
||||||
|
npm init -y
|
||||||
|
npm install --save-dev jest
|
||||||
|
mkdir -p src tests stories
|
||||||
|
sed -i '' 's/"test": "echo \\"Error: no test specified\\" && exit 1"/"test": "jest"/g' package.json
|
||||||
|
|
||||||
|
# 6. Create sample TDD story
|
||||||
|
cat > stories/1.1-calculator-add.md << 'EOF'
|
||||||
|
# Story 1.1: Calculator Addition
|
||||||
|
|
||||||
|
## Story Metadata
|
||||||
|
```yaml
|
||||||
|
story:
|
||||||
|
epic: '1'
|
||||||
|
number: '1.1'
|
||||||
|
title: 'Calculator Addition'
|
||||||
|
status: 'draft'
|
||||||
|
priority: 'high'
|
||||||
|
tdd:
|
||||||
|
status: 'red'
|
||||||
|
cycle: 1
|
||||||
|
coverage_target: 95.0
|
||||||
|
tests: []
|
||||||
|
````
|
||||||
|
|
||||||
|
## Story Description
|
||||||
|
|
||||||
|
**As a** calculator user
|
||||||
|
**I want** to add two numbers
|
||||||
|
**So that** I can perform arithmetic calculations
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
|
||||||
|
```gherkin
|
||||||
|
Scenario: Add two positive numbers
|
||||||
|
Given I have numbers 5 and 3
|
||||||
|
When I add them
|
||||||
|
Then I should get 8
|
||||||
|
```
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# 7. Verify installation
|
||||||
|
|
||||||
|
echo "✅ Installation complete! Your TDD-enabled BMAD project is ready."
|
||||||
|
echo "🚀 Next steps:"
|
||||||
|
echo " 1. Open your IDE in this directory"
|
||||||
|
echo " 2. Activate QA agent: @bmad Apply QA Agent (Quinn) persona"
|
||||||
|
echo " 3. Run: \*write-failing-tests 1.1"
|
||||||
|
echo " 4. Implement code to make tests pass"
|
||||||
|
echo " 5. Run: npm test"
|
||||||
|
|
||||||
|
````
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Issue: TDD commands not available
|
||||||
|
**Solution:** Verify TDD expansion pack installation:
|
||||||
|
```bash
|
||||||
|
ls -la .bmad-tdd-methodology/agents/
|
||||||
|
cat .bmad-tdd-methodology/agents/qa.md | grep "tdd-start"
|
||||||
|
````
|
||||||
|
|
||||||
|
### Issue: Tests not running
|
||||||
|
|
||||||
|
**Solution:** Ensure Jest is configured:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install --save-dev jest
|
||||||
|
# Check package.json has "test": "jest"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Issue: IDE not showing BMAD agents
|
||||||
|
|
||||||
|
**Solution:** Reinstall with IDE configuration:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method install --full -i cursor windsurf
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
If you want to contribute to the TDD methodology expansion:
|
||||||
|
|
||||||
|
1. Fork the repository: https://github.com/vforvaick/BMAD-METHOD
|
||||||
|
2. Create a feature branch from `expansion/tdd-methodology`
|
||||||
|
3. Make your changes
|
||||||
|
4. Test with the installation methods above
|
||||||
|
5. Submit a pull request
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- **GitHub Issues:** https://github.com/vforvaick/BMAD-METHOD/issues
|
||||||
|
- **Original BMAD:** https://github.com/bmad-code-org/BMAD-METHOD
|
||||||
|
- **Documentation:** Check `.bmad-core/user-guide.md` after installation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Installation Status:** Ready for use with complete TDD methodology support!
|
||||||
|
**Last Updated:** 2025-09-02
|
||||||
Loading…
Reference in New Issue