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.2.tar.gz (15.9 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.2-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wtcraft-0.3.2.tar.gz
  • Upload date:
  • Size: 15.9 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.2.tar.gz
Algorithm Hash digest
SHA256 2a90ff311d1851e23ba69f825eaed8fc04713cb374d02105c135b04b4bb19633
MD5 8e3cf02db19ca0ee466339364b94de39
BLAKE2b-256 9000391f289e7cf6fc0ecbce3d08d371fc418fabb42e70ca702aae70991c82e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for wtcraft-0.3.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: wtcraft-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 15.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 66a5c4bc8d56564338d793186db96c0fcafa1b2fc051c4c9b10f774c452c49da
MD5 f48ce0d9feee53127b85341a4a04c40b
BLAKE2b-256 b1cf6b3d4c0d2e8211d65c9216ce3f4387245d4c167f88b85a63ca9fad398f27

See more details on using hashes here.

Provenance

The following attestation bundles were made for wtcraft-0.3.2-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