Add comprehensive protected branch workflow documentation (bd-5ce8)
Created complete documentation suite for using beads with protected branches: 1. **docs/PROTECTED_BRANCHES.md** - Comprehensive 600+ line guide covering: - Quick start and setup - How git worktrees work - Daily workflow for agents and humans - Merging strategies (PR and direct) - Troubleshooting common issues - Platform-specific notes (GitHub, GitLab, Bitbucket) - Advanced topics (CI/CD, multi-clone sync, etc.) 2. **AGENTS.md** - Added "Protected Branch Workflow" section: - Quick reference for agents - No changes needed to agent workflows - Commands for setup and merging - Link to detailed docs 3. **README.md** - Updated with: - Protected branch support feature flag - Quick start instructions with --branch flag - Link to comprehensive guide 4. **examples/protected-branch/** - Working example with: - Step-by-step demo - Multi-clone sync workflow - GitHub Actions integration example - Directory structure explanation - Troubleshooting tips All commands verified: - bd init --branch <name> - bd config get/set sync.branch - bd sync --status - bd sync --merge Documentation is platform-agnostic and works with GitHub, GitLab, Bitbucket, or any git platform with branch protection. Closes bd-5ce8 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
51
AGENTS.md
51
AGENTS.md
@@ -508,6 +508,57 @@ beads/
|
||||
|
||||
The 30-second debounce provides a **transaction window** for batch operations - multiple issue changes within 30 seconds get flushed together, avoiding commit spam.
|
||||
|
||||
### Protected Branch Workflow
|
||||
|
||||
**If your repository uses protected branches (GitHub, GitLab, etc.)**, beads can commit to a separate branch instead of `main`:
|
||||
|
||||
```bash
|
||||
# Initialize with separate sync branch
|
||||
bd init --branch beads-metadata
|
||||
|
||||
# Or configure existing setup
|
||||
bd config set sync.branch beads-metadata
|
||||
```
|
||||
|
||||
**How it works:**
|
||||
- Beads commits issue updates to `beads-metadata` instead of `main`
|
||||
- Uses git worktrees (lightweight checkouts) in `.git/beads-worktrees/`
|
||||
- Your main working directory is never affected
|
||||
- Periodically merge `beads-metadata` back to `main` via pull request
|
||||
|
||||
**Daily workflow (unchanged for agents):**
|
||||
|
||||
```bash
|
||||
# Agents work normally - no changes needed!
|
||||
bd create "Fix authentication" -t bug -p 1
|
||||
bd update bd-a1b2 --status in_progress
|
||||
bd close bd-a1b2 "Fixed"
|
||||
```
|
||||
|
||||
All changes automatically commit to `beads-metadata` branch (if daemon is running with `--auto-commit`).
|
||||
|
||||
**Merging to main (humans):**
|
||||
|
||||
```bash
|
||||
# Check what's changed
|
||||
bd sync --status
|
||||
|
||||
# Option 1: Create pull request
|
||||
git push origin beads-metadata
|
||||
# Then create PR on GitHub/GitLab
|
||||
|
||||
# Option 2: Direct merge (if allowed)
|
||||
bd sync --merge
|
||||
```
|
||||
|
||||
**Benefits:**
|
||||
- ✅ Works with protected `main` branches
|
||||
- ✅ No disruption to agent workflows
|
||||
- ✅ Platform-agnostic (works on any git platform)
|
||||
- ✅ Backward compatible (opt-in via config)
|
||||
|
||||
**See [docs/PROTECTED_BRANCHES.md](docs/PROTECTED_BRANCHES.md) for complete setup guide, troubleshooting, and examples.**
|
||||
|
||||
### Agent Session Workflow
|
||||
|
||||
**IMPORTANT for AI agents:** When you finish making issue changes, always run:
|
||||
|
||||
Reference in New Issue
Block a user