diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index a6aea30c..5da771f5 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -11,8 +11,8 @@ "plugins": [ { "name": "compound-engineering", - "description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 29 specialized agents, 22 commands, and 20 skills.", - "version": "2.38.1", + "description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 29 specialized agents, 23 commands, and 20 skills.", + "version": "2.39.0", "author": { "name": "Kieran Klaassen", "url": "https://github.com/kieranklaassen", diff --git a/plugins/compound-engineering/.claude-plugin/plugin.json b/plugins/compound-engineering/.claude-plugin/plugin.json index e659557f..82c2bd9b 100644 --- a/plugins/compound-engineering/.claude-plugin/plugin.json +++ b/plugins/compound-engineering/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "compound-engineering", - "version": "2.38.1", - "description": "AI-powered development tools. 29 agents, 22 commands, 20 skills, 1 MCP server for code review, research, design, and workflow automation.", + "version": "2.39.0", + "description": "AI-powered development tools. 29 agents, 23 commands, 20 skills, 1 MCP server for code review, research, design, and workflow automation.", "author": { "name": "Kieran Klaassen", "email": "kieran@every.to", diff --git a/plugins/compound-engineering/CHANGELOG.md b/plugins/compound-engineering/CHANGELOG.md index e7664980..5b7ddb04 100644 --- a/plugins/compound-engineering/CHANGELOG.md +++ b/plugins/compound-engineering/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to the compound-engineering plugin will be documented in thi The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.39.0] - 2026-03-02 + +### Added + +- **`/lfg-ext` command** — LFG variant that delegates execution to external tools (Codex, Gemini CLI, OpenCode) running in parallel git worktrees instead of CE swarm agents. Token-efficient alternative to `/slfg` for teams that have external AI coding tools installed or want to preserve Claude Max20 budget for planning and review. Includes tool availability check with graceful fallback to `/slfg`, worktree isolation via the CE `git-worktree` skill's `worktree-manager.sh`, and a decision table for when to use `/lfg-ext` vs `/slfg`. Validated against a real Rust feature implementation. + +--- + ## [2.38.1] - 2026-03-01 ### Fixed diff --git a/plugins/compound-engineering/README.md b/plugins/compound-engineering/README.md index 33a4ea15..edc90fe4 100644 --- a/plugins/compound-engineering/README.md +++ b/plugins/compound-engineering/README.md @@ -7,7 +7,7 @@ AI-powered development tools that get smarter with every use. Make each unit of | Component | Count | |-----------|-------| | Agents | 29 | -| Commands | 22 | +| Commands | 23 | | Skills | 20 | | MCP Servers | 1 | @@ -91,6 +91,7 @@ Core workflow commands use `ce:` prefix to unambiguously identify them as compou |---------|-------------| | `/lfg` | Full autonomous engineering workflow | | `/slfg` | Full autonomous workflow with swarm mode for parallel execution | +| `/lfg-ext` | LFG with external delegates (Codex/Gemini/OpenCode) in parallel worktrees — token-efficient alternative to /slfg | | `/deepen-plan` | Enhance plans with parallel research agents for each section | | `/changelog` | Create engaging changelogs for recent merges | | `/create-agent-skill` | Create or edit Claude Code skills | diff --git a/plugins/compound-engineering/commands/lfg-ext.md b/plugins/compound-engineering/commands/lfg-ext.md new file mode 100644 index 00000000..520235f6 --- /dev/null +++ b/plugins/compound-engineering/commands/lfg-ext.md @@ -0,0 +1,96 @@ +--- +name: lfg-ext +description: LFG with external delegates (Codex/Gemini CLI) in parallel worktrees — preserves Claude token budget while maintaining parallel execution +argument-hint: "[feature description]" +disable-model-invocation: true +--- + +External-delegate LFG. Uses CE for planning and review; replaces `/ce:work` swarm with external AI tools running in isolated git worktrees. Preserves Claude token budget for planning and review where it adds the most value. + +Run these steps in order. Do not stop between steps — complete every step through to the end. + +## Phase 1: Plan + +1. `/ce:plan $ARGUMENTS` +2. `/compound-engineering:deepen-plan` +3. **Commit the plan** — worktrees only see committed git history, not the working tree. Uncommitted plan files are invisible to delegates. + + ```bash + git add docs/plans/ && git commit -m "plan: " + ``` + +## Phase 2: Check tools & decompose + +4. **Check which external tools are available:** + + ```bash + command -v codex && echo "codex: available" || echo "codex: not installed" + command -v gemini && echo "gemini: available" || echo "gemini: not installed" + ``` + + If neither is installed, **stop here and run `/slfg` instead** — there's no point creating worktrees without delegates to fill them. + +5. Read the generated plan. Identify tasks that target **different files/modules with no shared state**. + + Good signal: tasks write to non-overlapping files. + Bad signal: tasks share a model, schema, config, or any single file — don't force it, fall back to `/slfg` or sequential `/ce:work`. + + Aim for 2–4 parallel streams. More rarely helps. + +## Phase 3: External Swarm + +6. **Create one worktree per task** using the CE worktree manager: + + ```bash + bash ${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/scripts/worktree-manager.sh create + ``` + + The script handles `.env` file copying, `.gitignore` management, and directory setup automatically. + +7. **Launch all delegates in parallel** — one per worktree, all backgrounded simultaneously. + + Assign tasks to tools by type: + + | Task type | Preferred tool | Command | + |-----------|----------------|---------| + | Multi-file, repo navigation, test loops | **Codex** | `cd .worktrees/ && codex exec --full-auto ""` | + | Algorithmic, isolated logic | **Gemini CLI** | `cd .worktrees/ && gemini -p "" --yolo` | + + Each delegate prompt must include: + - Absolute file paths (let the delegate read — don't inline file contents) + - Constraints: "don't modify X", "keep existing patterns" + - Verification: "run `npm test` / `bin/rails test` / `pytest` to verify" + - "Implement fully. No stubs, no TODOs, no simplified versions." + +8. **Wait for all delegates to complete.** + +## Phase 4: Merge + +9. For each worktree — review scope before merging: + + ```bash + git diff --stat # check for unexpected file changes + git merge + bash ${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/scripts/worktree-manager.sh cleanup + ``` + + Merge conflicts mean tasks weren't fully independent. Resolve manually, then continue. + +## Phase 5: Review & Ship + +10. `/ce:review` +11. `/compound-engineering:resolve_todo_parallel` + +> Note: `/lfg-ext` omits `/feature-video` — external delegates don't produce a reviewable PR automatically, so a video walkthrough isn't meaningful until you've raised one manually. + +--- + +## When to use vs /slfg + +| Signal | Use | +|--------|-----| +| Want fully hands-off, token cost not a concern | `/slfg` | +| Token budget constrained, or tasks decompose cleanly by file | `/lfg-ext` | +| Tasks share files or state | `/slfg` or sequential `/ce:work` | +| Want Codex repo navigation or Gemini algorithmic strength | `/lfg-ext` | +| No external tools installed | `/slfg` |