Skip to main content

Budget-Aware Multi-Agent Coding Harness for git-native worktrees

Project description

wtcraft

npm version PyPI version CI GitHub release License

Budget-Aware Multi-Agent Harness

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: wtcraft — Budget-Aware Multi-Agent Harness.

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 only (Windows is currently not supported)
git yes worktree support (git ≥ 2.5)
Claude + Codex access yes (for full workflow) both are expected for planner/finisher + executor roles; either CLI or App usage is acceptable
Package manager (npm / pipx|pip / Homebrew) yes (choose one) use at least one installation path

For the full multi-agent workflow in this repo, both Claude and Codex are expected. You can use their CLI variants or app-based workflows, but the role split assumes both tools are available.

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. If CLAUDE.md or AGENTS.md do not exist, wtcraft will create them with a managed stub.

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

Prior Art and References

The term harness engineering was defined by Martin Fowler as the infrastructure and orchestration layer that wraps a coding agent — tooling, state management, error recovery, and boundary enforcement. wtcraft is a solo-developer implementation of that concept.

Production-scale validation:

Source Scale Key insight
Fowler — "Harness engineering for coding agent users" Conceptual definition Harness = the layer between human intent and model execution
OpenAI — "Harness engineering: leveraging Codex in an agent-first world" 1M+ lines, 1,500+ PRs / 5 months Context engineering + architectural constraints + entropy management
Stripe — "Minions: one-shot, end-to-end coding agents" 1,300+ AI PRs / week Deterministic [D] + agentic [A] step tagging; 2-round CI cap

Fowler describes what harness engineering is. Stripe and OpenAI describe how it works at enterprise scale. wtcraft brings the same pattern to a solo developer with a limited budget.

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.4.tar.gz (17.6 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.4-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wtcraft-0.3.4.tar.gz
  • Upload date:
  • Size: 17.6 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.4.tar.gz
Algorithm Hash digest
SHA256 3e0d3513c3a66aa68985905c9b5958c715a4608a6c6329c08fcb10ecad1e3b61
MD5 289dd7b48b5c4f6d0a8eb2e858bd479f
BLAKE2b-256 40b926f8396af06cc55728d3d17b9fe0258ee31258246ff75f638e9965c27ab1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wtcraft-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 16.6 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 05b09649ddec306c953d6f1e60c9cde52378015b8f3f93bf60dd963e6f58ac51
MD5 416bd76de235c756b55a721db3fa9b5f
BLAKE2b-256 82e494a2d8d0f3566f506fd6add7a7a7f7b88d248bdd0dd73b0d46b0c9aa3202

See more details on using hashes here.

Provenance

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