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>
This commit is contained in:
2025-12-22 17:44:52 +02:00
parent f324b43a85
commit 940c6a9f58
15 changed files with 298 additions and 97 deletions

View File

@@ -13,15 +13,15 @@ Orchestrate the complete implementation of a feature using its specification. Th
## Prerequisites
- Spec must exist at `.auto-build-data/specs/{feature-name}/spec.md`
- Spec must exist at `.auto-build/specs/{feature-name}/spec.md`
- Status must be `SPEC_COMPLETE` or `PLANNING_COMPLETE` or `IMPLEMENTING`
## Workflow
### 1. Load Specification
- Read `.auto-build-data/specs/{feature-name}/spec.md`
- Read `.auto-build-data/specs/{feature-name}/status.json`
- Read `.auto-build/specs/{feature-name}/spec.md`
- Read `.auto-build/specs/{feature-name}/status.json`
- Validate spec exists and is complete
- If status is `IMPLEMENTING`, resume from current task
@@ -37,18 +37,17 @@ Create an isolated git worktree? (recommended for larger features)
If yes:
- Run: `bash ${CLAUDE_PLUGIN_ROOT}/scripts/worktree-create.sh {feature-name}`
- Update status.json with worktree path
- **IMPORTANT**: After worktree creation and planning, display clear next steps:
- Display next steps:
```
════════════════════════════════════════════════════════════════
WORKTREE CREATED - ACTION REQUIRED
WORKTREE CREATED
════════════════════════════════════════════════════════════════
✅ Worktree created at: ../ab-worktrees/{project}-{feature-name}/
✅ Branch: feature/ab-{feature-name}
✅ Plan created: .auto-build-data/specs/{feature-name}/plan.md
⚠️ NEXT STEPS (you must do this to continue):
⚠️ NEXT STEPS:
1. Open a NEW VSCode window in the worktree:
@@ -58,11 +57,9 @@ If yes:
/ab:build {feature-name}
(It will detect the plan and start implementation)
────────────────────────────────────────────────────────────────
Why? Claude Code sessions are tied to the current directory.
To work in the isolated worktree, you need a new session there.
Note: Specs and plans in .auto-build/ are already available in
the worktree (they're in git). No symlinks needed!
════════════════════════════════════════════════════════════════
```
@@ -78,15 +75,15 @@ To work in the isolated worktree, you need a new session there.
**If status is `SPEC_COMPLETE`**:
1. Load memory context (if exists):
- Read `.auto-build-data/memory/patterns.json`
- Read `.auto-build-data/memory/gotchas.json`
- Read `.auto-build/memory/patterns.json`
- Read `.auto-build/memory/gotchas.json`
2. Launch **planner** agent with:
- The complete spec.md content
- Relevant patterns from memory
- Instruction to create ordered implementation tasks
3. The planner creates `.auto-build-data/specs/{feature-name}/plan.md`:
3. The planner creates `.auto-build/specs/{feature-name}/plan.md`:
```markdown
# Implementation Plan: {feature-name}
@@ -204,3 +201,16 @@ If status is already `IMPLEMENTING`:
- If coder fails on a task: Mark task as failed, ask user to continue or fix manually
- If worktree creation fails: Continue without worktree, warn user
- If spec not found: "Spec not found. Create with: /ab:spec {name}"
## Note on Team Collaboration
Since specs and plans are stored in `.auto-build/` (committed to git), any team member can:
1. Clone the repo and see existing specs/plans
2. Continue implementation from where another developer left off
3. Share memory (patterns, gotchas) with the team
After making progress, commit changes to share with team:
```bash
git add .auto-build/
git commit -m "build: {feature-name} - completed task X/Y"
```