TeamIDE-methodology/templates/TauriStarter/docs/TEMPLATE-build-plan.md

122 lines
2.8 KiB
Markdown

# [Project Name] - Build Plan
## Executor Config
```yaml
default_branch_prefix: feat/phase
test_before_commit: true
require_passing_tests: true
max_test_retries: 3
```
## Phase 1: [Phase Name]
**repo**: [repository-name]
**branch**: feat/phase-1-[slug]
### 1.1 [Task Name]
- **task**: [Description of what to do. Be specific and actionable.
Include context about existing code to use or patterns to follow.]
- **test**: `[command to verify success]`
- **commit**: "[Commit message]"
### 1.2 [Task Name]
- **task**: [Description]
- **test**: `[test command]`
- **commit**: "[Commit message]"
### 1.3 Documentation
- **task**: Update documentation for phase 1 changes.
Add any new files to docs/ folder.
- **test**: none
- **commit**: "Document phase 1"
---
## Phase 2: [Phase Name]
**repo**: [repository-name]
**branch**: feat/phase-2-[slug]
**depends_on**: Phase 1
### 2.1 [Task Name]
- **task**: [Description]
- **test**: `[test command]`
- **commit**: "[Commit message]"
### 2.2 Documentation
- **task**: Update documentation for phase 2 changes.
- **test**: none
- **commit**: "Document phase 2"
---
## Current Status
**Phase**: 1 - [Phase Name]
**Task**: [Current task]
---
## Template Instructions
> Remove this section when using this template
### Plan Format
Each plan consists of:
1. **Executor Config** (optional) - YAML block with settings
2. **Phases** - Major milestones (`## Phase N: Name`)
3. **Tasks** - Individual work items (`### N.N Task Name`)
### Phase Metadata
| Field | Required | Description |
|-------|----------|-------------|
| `**repo**` | Yes | Repository to work in |
| `**branch**` | No | Branch to create (default: `{prefix}-{N}`) |
| `**depends_on**` | No | Phase that must complete first |
### Task Fields
| Field | Required | Description |
|-------|----------|-------------|
| `- **task**` | Yes | What the agent should do |
| `- **test**` | No | Command to verify (`none` to skip) |
| `- **commit**` | No | Commit message (agent decides if omitted) |
### Writing Good Tasks
**Be specific:**
```markdown
# Bad
- **task**: Add authentication
# Good
- **task**: Add JWT authentication with /api/login and /api/logout endpoints.
Use bcrypt for password hashing. Store tokens in httpOnly cookies.
```
**Include context:**
```markdown
- **task**: Create dashboard component at /dashboard showing:
- User's recent activity (last 10 items)
- Account settings link
Use the existing UserCard component for the header.
```
**Use testable tests:**
```markdown
# Bad
- **test**: Check that it works
# Good
- **test**: `pnpm test && pnpm build`
```
### Tips
1. **One thing per task** - Don't combine unrelated work
2. **Tests are checkpoints** - Use them to verify progress
3. **Commits are savepoints** - Small, focused commits
4. **Phases are milestones** - Each should be independently useful
5. **End phases with docs** - Document as you go