Files
auto-build/plugin/rules/auto-build-patterns.md
Marius Mutu 940c6a9f58 feat: Move specs and memory to git for multi-developer collaboration (v1.0.6)
BREAKING CHANGE: Specs, plans, and memory moved from .auto-build-data/ (gitignored)
to .auto-build/ (git-tracked) to enable team collaboration.

Changes:
- Specs/plans now in .auto-build/specs/ (shared with team)
- Memory (patterns, gotchas) now in .auto-build/memory/ (shared with team)
- .auto-build-data/ now only contains local data (worktrees, cache)
- Added /ab:migrate command for existing projects
- Removed symlinks from worktree-create.sh (no longer needed)

Benefits:
- Any developer can continue a plan started by another
- Patterns and gotchas shared across team
- Works on Windows/Linux/Mac without symlinks
- Full version history in git

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 17:44:52 +02:00

116 lines
3.5 KiB
Markdown

---
paths: .auto-build/**/*
---
# Auto-Build Patterns and Rules
These rules apply to all Auto-Build related files and workflows.
## Core Principles
### 1. Portability First
- All paths must be relative or dynamically determined
- No hardcoded project-specific values
- Shared data (specs, plans, memory) lives in `.auto-build/` (git-tracked)
- Local data (worktrees, cache) lives in `.auto-build-data/` (gitignored)
### 2. Minimal Footprint
- Never modify files outside the current task scope
- Keep changes focused and reversible
- Prefer editing existing files over creating new ones
### 3. Pattern Consistency
- Match existing codebase patterns exactly
- Use the same error handling approach throughout
- Follow naming conventions from the host project
## Command Execution Rules
### When Running /ab:spec
- Always analyze the codebase before writing spec
- Include at least 3 acceptance criteria
- Identify affected files explicitly
- Save to `.auto-build/specs/{name}/` (git-tracked, shared with team)
### When Running /ab:build
- Check for existing spec before proceeding
- Offer worktree creation for multi-file changes
- Track progress in status.json after each task
- Never skip the planning phase
### When Running /ab:qa-review
- Review all modified files from the build
- Classify issues by severity (error/warning/info)
- Stop at 50 iterations to prevent infinite loops
- Save iteration history for debugging
### When Running Memory Commands
- Deduplicate entries before saving
- Keep patterns.json under 100 entries
- Always include tags for searchability
- Update usageCount when patterns are referenced
## Agent Guidelines
### spec-writer Agent
- Focus on WHAT, not HOW
- Include out-of-scope section
- Map to existing codebase patterns
- Flag risks and open questions
### planner Agent
- Create atomic, testable tasks
- Explicit dependencies between tasks
- First task is always setup/scaffolding
- Include testing as explicit tasks
### coder Agent
- Read files before modifying
- Match existing code style
- Handle all error cases from spec
- Report changes made clearly
### qa-reviewer Agent
- Check correctness, patterns, security, performance
- Provide actionable suggestions
- Reference existing code for patterns
- Don't flag style preferences as errors
### qa-fixer Agent
- Make minimal changes only
- Don't refactor beyond the fix
- Verify fix doesn't introduce new issues
- Escalate if fix is not straightforward
## File Formats
### status.json States
```
SPEC_DRAFT → SPEC_COMPLETE → PLANNING → PLANNING_COMPLETE →
IMPLEMENTING → IMPLEMENTATION_COMPLETE → QA_REVIEW → COMPLETE
```
### Memory Files (`.auto-build/memory/` - git-tracked)
- patterns.json: Reusable code patterns (shared with team)
- gotchas.json: Problems and solutions (shared with team)
- sessions/*.json: Session history (shared with team)
### Local Data Files (`.auto-build-data/` - gitignored)
- worktrees/worktree-registry.json: Local worktree tracking
- cache/qa-iterations/*.json: Temporary QA cache
## Git Worktree Rules
- Create worktrees outside project: ../ab-worktrees/
- Branch naming: feature/ab-{feature-name}
- Registry tracking in `.auto-build-data/worktrees/worktree-registry.json`
- No symlinks needed - specs/plans/memory are in git, available in all worktrees
- Cleanup only merged branches automatically
## Error Handling
- Log errors with context
- Provide recovery instructions
- Never leave status in inconsistent state
- Offer rollback options when appropriate