Files
ForgeLM/.agents/workflows/2-implement.md
T

101 lines
2.4 KiB
Markdown

---
description: Implement phase - TDD cycle for writing code
---
# Phase 2: Implement
## Purpose
Write production code following Test-Driven Development (TDD).
## Prerequisites
- Phase 1 (Research) completed
- Research log exists at `docs/research_logs/{feature_name}.md`
- Mark task as `[/]` in task.md
## Steps
**Set Mode:** Use `task_boundary` to set mode to **EXECUTION**.
### 1. Create Test File
Co-locate with implementation:
- Go: `*_test.go`
- TypeScript: `*.spec.ts`
### 2. Write Failing Test (Red)
```go
func TestCreateTask_Success(t *testing.T) {
// Arrange
mockStore := NewMockStorage()
service := NewService(mockStore, logger)
// Act
task, err := service.Create(ctx, userID, req)
// Assert
require.NoError(t, err)
assert.Equal(t, "Test Task", task.Title)
}
```
Run test to confirm it fails:
```bash
# Go
go test -v ./internal/features/{feature}/...
# Frontend
pnpm run test -- --watch
```
### 3. Write Minimal Code (Green)
Write ONLY enough code to make the test pass.
Run test to confirm it passes:
```bash
go test -v ./internal/features/{feature}/...
```
### 4. Refactor (Blue)
Improve the code while keeping tests green:
- Improve names and structure
- Remove duplication
- **Follow predefined agent rules** (read applicable `.agents/rules/*.md`)
- **Handle errors** per Error Handling Principles
- **Add logging** per Logging and Observability Mandate
- If the refactoring is complex, activate the **Sequential Thinking** skill
- If debugging a failing test, activate the **Debugging Protocol** skill
- Ensure tests still pass
### 5. Repeat
Continue Red-Green-Refactor for each behavior.
## Unit Test Requirements
- Mock all dependencies (interfaces)
- Test happy path, error paths AND edge cases
- Target >85% coverage on domain logic
## Development Commands
```bash
# Run specific test
go test -v -run TestCreateTask ./internal/features/task/...
# Run with coverage
go test -cover ./internal/features/task/...
# Frontend tests
pnpm run test
pnpm run test -- --coverage
```
## Completion Criteria
- [ ] Unit tests written and passing
- [ ] Implementation complete
- [ ] Error handling follows principles
- [ ] Logging added to operations
- [ ] Code follows project patterns
- [ ] List all I/O adapters modified or created (storage files, external API clients)
- [ ] If adapters were modified: Phase 3 is MANDATORY — do not skip
## Next Phase
Proceed to **Phase 3: Integrate** (`/3-integrate`)