docs(crew): Work off main, no feature branches

Crew workers are trusted maintainers who push directly to main:
- Own their clones (no isolation needed)
- Fast work cycles (10-15 min) make branch overhead wasteful
- Branches go stale with context cycling
- Polecats use branches/MRs; crew does not need review

Also updated two-level beads docs (removed stale rig-level references).

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-20 18:35:02 -08:00
parent 5f206348a5
commit bc4cec1494
2 changed files with 53 additions and 17 deletions

View File

@@ -67,20 +67,37 @@ go test ./...
- `gt mail send mayor/ -s "Subject" -m "Message"` - To Mayor - `gt mail send mayor/ -s "Subject" -m "Message"` - To Mayor
- `gt mail send gastown/crew/max -s "Subject" -m "Message"` - To yourself (handoff) - `gt mail send gastown/crew/max -s "Subject" -m "Message"` - To yourself (handoff)
## Beads Database ## Git Workflow: Work Off Main
**Two-level beads architecture** - understand this to avoid confusion: **Crew workers push directly to main. No feature branches.**
| Level | Location | sync-branch | Prefix | Purpose | Why:
|-------|----------|-------------|--------|---------| - You own your clone - no isolation needed
| Town | `~/gt/.beads/` | NOT set | `hq-*` | Mayor mail, HQ coordination | - Work is fast (10-15 min) - branch overhead exceeds value
| Rig | `crew/max/.beads/` (this clone) | `beads-sync` | `gt-*` | Project issues | - Branches go stale with context cycling - main is always current
- You're a trusted maintainer, not a contributor needing review
Workflow:
```bash
git pull # Start fresh
# ... do work ...
git add -A && git commit -m "description"
git push # Direct to main
```
If push fails (someone else pushed): `git pull --rebase && git push`
## Two-Level Beads Architecture
| Level | Location | Prefix | Purpose |
|-------|----------|--------|---------|
| Town | `~/gt/.beads/` | `hq-*` | ALL mail and coordination |
| Clone | `crew/max/.beads/` | `gt-*` | Project issues only |
**Key points:** **Key points:**
- You're in a **gastown.git clone** - your `.beads/` is tracked in the gastown repo - Mail ALWAYS uses town beads - `gt mail` routes there automatically
- The rig-level `~/gt/gastown/.beads/` is **gitignored** (local runtime state) - Project issues use your clone's beads - `bd` commands use local `.beads/`
- Your beads sync via `beads-sync` branch to coordinate with other clones - Run `bd sync` to push/pull beads changes via the `beads-sync` branch
- Run `bd sync` to push/pull beads changes
Issue prefix: `gt-` Issue prefix: `gt-`

View File

@@ -33,14 +33,14 @@ Town ({{ .TownRoot }})
## Two-Level Beads Architecture ## Two-Level Beads Architecture
| Level | Location | sync-branch | Prefix | Purpose | | Level | Location | Prefix | Purpose |
|-------|----------|-------------|--------|---------| |-------|----------|--------|---------|
| Town | `~/gt/.beads/` | NOT set | `hq-*` | Mayor mail, HQ coordination | | Town | `~/gt/.beads/` | `hq-*` | ALL mail and coordination |
| Rig | `crew/{{ .Polecat }}/.beads/` | `beads-sync` | project prefix | Project issues | | Clone | `crew/{{ .Polecat }}/.beads/` | project prefix | Project issues only |
**Key points:** **Key points:**
- You're in a project git clone - your `.beads/` is tracked in the project repo - Mail ALWAYS uses town beads - `gt mail` routes there automatically
- The rig-level `{{ .RigName }}/.beads/` is **gitignored** (local runtime state) - Project issues use your clone's beads - `bd` commands use local `.beads/`
- Run `bd sync` to push/pull beads changes via the `beads-sync` branch - Run `bd sync` to push/pull beads changes via the `beads-sync` branch
## Your Workspace ## Your Workspace
@@ -50,6 +50,26 @@ You work from: {{ .WorkDir }}
This is a full git clone of the project repository. You have complete autonomy This is a full git clone of the project repository. You have complete autonomy
over this workspace. over this workspace.
## Git Workflow: Work Off Main
**Crew workers push directly to main. No feature branches.**
Why:
- You own your clone - no isolation needed
- Work is fast (10-15 min) - branch overhead exceeds value
- Branches go stale with context cycling - main is always current
- You're a trusted maintainer, not a contributor needing review
Workflow:
```bash
git pull # Start fresh
# ... do work ...
git add -A && git commit -m "description"
git push # Direct to main
```
If push fails (someone else pushed): `git pull --rebase && git push`
## Key Commands ## Key Commands
### Finding Work ### Finding Work
@@ -91,7 +111,6 @@ When your context fills up, cycle to a fresh session:
gt mail send {{ .RigName }}/crew/{{ .Polecat }} -s "🤝 HANDOFF: Work in progress" -m " gt mail send {{ .RigName }}/crew/{{ .Polecat }} -s "🤝 HANDOFF: Work in progress" -m "
## Current State ## Current State
Working on: <issue-id or description> Working on: <issue-id or description>
Branch: <current branch>
Status: <what's done, what remains> Status: <what's done, what remains>
## Next Steps ## Next Steps