Skip to main content

Craft bounded multi-agent workflows with git-native worktrees

Project description

wtcraft - Worktree Craft

wtcraft icon

npm install -g wtcraft

wtcraft is a lightweight, git-native harness for solo developers orchestrating multiple coding agents on a limited budget.

Keywords: Solo Dev · Budget-Aware · Agent Handoff · Boundaries · Lightweight

The goal is simple:

  • keep agent work isolated with git worktree
  • make agent handoffs explicit with a task contract
  • keep file and task boundaries easy to verify
  • stay usable from CLI + any IDE

No hosted platform is required. No custom runtime is required.

Why

Parallel agents are useful, but raw parallelism creates four common problems:

  • unclear handoff between planner and executor agents
  • context pollution across tasks
  • file ownership collisions
  • review overload from too many noisy PRs

wtcraft focuses on handoff, boundaries, and budget-aware sequencing, not maximum concurrency.

For the design story behind this project, read: Beyond Worktrees: A Budget-Aware Multi-Agent Coding Harness for Solo Developers.

Core Model

  1. Planner defines a bounded task contract.
  2. Executor works only inside that contract.
  3. Verifier checks scope, off-limits, and completion gates.
  4. Finisher handles push/PR/cleanup.

This supports a DAG workflow:

  • merge shared foundation tasks first
  • run file-disjoint tasks in parallel
  • serialize tasks that touch shared files

Project Status

Early public bootstrap.

Current scope:

  • open documentation for workflow and roadmap
  • starter contract and command specs
  • CLI MVP available (init, status, check)

Requirements

Dependency Required Notes
bash yes macOS / Linux
git yes worktree support (git ≥ 2.5)
Claude Code CLI no optional planner / finisher agent
Codex CLI no optional executor agent
Node.js / npm no only needed for npm install distribution

Claude Code and Codex are agent tools that use wtcraft — they are not prerequisites for the CLI itself.

Install

npm (global):

npm install -g wtcraft

pip / pipx:

pipx install wtcraft        # recommended — isolated venv, no conflicts
# or
pip install --user wtcraft

Homebrew (tap):

brew tap zywkloo/wtcraft https://github.com/zywkloo/wtcraft
brew install wtcraft

From source (no package manager needed):

git clone https://github.com/zywkloo/wtcraft.git
chmod +x wtcraft/scripts/wtcraft
# add wtcraft/scripts to PATH, or run directly:
wtcraft/scripts/wtcraft init

Quick Start

wtcraft init                            # scaffold harness into current repo
wtcraft init --patch-agent-files        # also append routing stubs to CLAUDE.md / AGENTS.md
wtcraft new feat/my-task                # create worktree + task contract
wtcraft status                          # list active worktree contracts
wtcraft check <worktree-name-or-path>   # verify Scope / Off-limits
wtcraft verify <worktree-name-or-path>  # run Verification commands
wtcraft help [command]                  # per-command usage

What init scaffolds:

  • .agent-harness/planner.md
  • .agent-harness/executor.md
  • .agent-harness/finisher.md
  • .claude/commands/planwt.md
  • .claude/commands/finishwt.md
  • .worktree-task.template.md

init is non-destructive: existing files are not overwritten. By default init does not modify CLAUDE.md or AGENTS.md. Use --patch-agent-files to append managed routing stubs to existing files.

new defaults to base branch develop. Set WTCRAFT_BASE_BRANCH=main (or another branch) when needed.

Docs

Testing

chmod +x tests/smoke.sh
tests/smoke.sh

License

Apache-2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wtcraft-0.3.1.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wtcraft-0.3.1-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file wtcraft-0.3.1.tar.gz.

File metadata

  • Download URL: wtcraft-0.3.1.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wtcraft-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a1c0164a8662a23ddc1436ffb2a86eeed0d9ea08488c5fd7d327e2f8a6064853
MD5 1558b6a8f609fadac9cba57bbf83248b
BLAKE2b-256 c7dae9f31d26a5f596b3886a961f21ec4ea7b725ddb0cbfbb2cd2f24b790b71e

See more details on using hashes here.

Provenance

The following attestation bundles were made for wtcraft-0.3.1.tar.gz:

Publisher: publish.yml on zywkloo/wtcraft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wtcraft-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: wtcraft-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wtcraft-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2072ea7e9e03f2ff40b139c786148752c9e85c72395d29a14cb66cb19034bdba
MD5 0e3149024f19438fc0548c4028e73729
BLAKE2b-256 3ff41c6d704507ac824af34b9d9b3937f125ec8168157cb50060e341baef945f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wtcraft-0.3.1-py3-none-any.whl:

Publisher: publish.yml on zywkloo/wtcraft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page