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.3.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.3-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wtcraft-0.3.3.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.3.tar.gz
Algorithm Hash digest
SHA256 b4e7f41ccc924807f95e45fb44b6efab293a09aa859a7a4b3456db71698989fa
MD5 f45ae26b291c123e95dad37567d75165
BLAKE2b-256 5e385ce16b866f23c4d9b5051bbd415f4342b685b6c3bd4e3b9426bb7f2b9573

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wtcraft-0.3.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c35a5063120eac33e88395cd061f1af04916bac7d0f134c6f091f4b7670631bf
MD5 42aa5547b1730ea71585ce04b633989a
BLAKE2b-256 a8dc92d50375d74935a742d4d59916d17ce0725b619d10ee920cd76043b71875

See more details on using hashes here.

Provenance

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