| name | vibeflow-tdd |
| description | Execute TDD Red-Green-Refactor cycle. Use when implementing features with test-driven development. |
VibeFlow TDD Cycle
When to Use
- When implementing new features
- When fixing bugs with regression tests
- When refactoring with test coverage
The Red-Green-Refactor Cycle
Phase 1: Red (Write Failing Tests)
Goal: Define expected behavior through tests that don't pass yet.
- Read the issue file and acceptance criteria
- Create test files:
- Unit tests:
tests/ or src/**/__tests__/
- Integration tests:
tests/integration/
- E2E tests:
e2e/ or tests/e2e/
- Write tests that define expected behavior
- Run tests and confirm they fail (RED)
- Commit:
test: Add failing tests for <feature>
Checklist:
Phase 2: Green (Make Tests Pass)
Goal: Write minimal code to pass all tests.
- Write the simplest code that makes tests pass
- Run tests after each small change
- Do NOT over-engineer at this stage
- Do NOT add features not covered by tests
- Commit:
feat: Implement <feature>
Checklist:
Phase 3: Refactor (Improve Code Quality)
Goal: Improve code structure while keeping tests green.
- Identify code smells:
- Duplication
- Long functions
- Poor naming
- Missing abstractions
- Make one refactoring change at a time
- Run tests after EVERY change
- Keep tests GREEN throughout
- Commit:
refactor: Improve <feature> code structure
Checklist:
Common Test Patterns
Unit Test Pattern
describe('<Component/Function>', () => {
it('should <expected behavior> when <condition>', () => {
// Arrange
// Act
// Assert
});
});
Edge Cases to Consider
- Empty inputs
- Null/undefined values
- Boundary values
- Error conditions
- Concurrent operations
Examples
- "Implement user login with TDD"
- "Add validation with TDD cycle"
- "Refactor payment module keeping tests green"