A lightweight, git-native scaffolding for bounded multi-agent coding
Project description
wtcraft
Zero-trust containment and governance for AI-generated code. Provide a definitive safety harness for agentic coding. Let your AI write code;
wtcraftensures it strictly obeys boundaries, scopes, and verification rules before it ever touches your main branch.
Install
pipx install wtcraft # pip / pipx (recommended — isolated venv)
npm install -g wtcraft # npm (global)
brew tap zywkloo/wtcraft https://github.com/zywkloo/wtcraft && brew install wtcraft
Quick Start
wtcraft init # scaffold harness into current repo
wtcraft patch # append routing stubs to CLAUDE.md / AGENTS.md
wtcraft lang install --lang zh-CN # enforce output language in CLAUDE.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
After running wtcraft init, you can use these slash commands in Claude Code:
/planwt <task description>: Plan task + create worktree/finishwt <worktree-name>: Run verification and finish/statuswt: List active worktree task files
The Layered Agent Team
graph TD
Orchestrator["Orchestrator (gemini:Gemini 3.5 Flash)"] -->|Subtask| Planner["Planner (claude:Claude Opus 4.8)"]
Planner -->|Task Contract| Executor["Executor (codex:GPT-5.4)"]
Executor -->|PR| Verifier["Verifier (claude:Claude Opus Fable 5)"]
Verifier -.->|Retry| Planner
Verifier -.->|Retry| Executor
Verifier -->|Merge| Finisher["Finisher (gemini:Gemini Flash 3.5)"]
Commands
| Command | Arguments | What it does |
|---|---|---|
wtcraft init |
[--patch-agent-files] |
Scaffold harness files. Does not overwrite. |
wtcraft patch |
— | Alias for init --patch-agent-files. Appends routing stubs to CLAUDE.md / AGENTS.md. |
wtcraft unpatch |
— | Remove the routing stub from CLAUDE.md / AGENTS.md. |
wtcraft lang |
install|remove |
Add or remove language enforcement rules (e.g. install --lang zh-CN). |
wtcraft new |
<type/name> |
Create a worktree and local .worktree-task.md contract. |
wtcraft status |
— | List active worktree tasks and their status. |
wtcraft check |
<worktree-path-or-name> |
Verify the worktree's changes stay within Scope / Off-limits boundaries. |
wtcraft verify |
<worktree-path-or-name> |
Run the Verification commands declared in the worktree's contract. |
wtcraft help |
[command] |
Show usage. |
Why
AI agents (and human contributors) hallucinate, over-engineer, and accidentally break unrelated code. While parallel agents are useful, raw parallelism creates common problems: unclear handoffs, context pollution, and file collisions.
wtcraft provides a definitive safety harness. It focuses on handoff, boundaries, and deterministic containment, not just concurrency.
- Git-Native Containment: Keep agent work physically isolated with
git worktree. - Task Contracts: Make agent handoffs explicit with a per-task whitelist in
.worktree-task.md. - Deterministic Gating: Enforce scope boundaries at the commit/PR level. If a task isn't in scope, the code doesn't merge.
- Budget-Aware: Avoid infinite LLM loops and track API usage per worktree.
No hosted platform is required. No custom runtime is required. You can use Aider, Cursor, Claude, or Devin — wtcraft simply wraps your working directory in a zero-trust governance layer.
Docs
Testing
bash tests/run_all.sh
License
Apache-2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wtcraft-0.4.0.tar.gz.
File metadata
- Download URL: wtcraft-0.4.0.tar.gz
- Upload date:
- Size: 22.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1eac244c1e501fa0ad259c8becbd63a76c106ba30e1cdcecf96283692b2a678
|
|
| MD5 |
ce65a904ba8a16542d88aa3b5815a476
|
|
| BLAKE2b-256 |
18af8903806e91868c34e231c21fbc00da0ae3decf70e4a607c67bd9eccb8fa8
|
Provenance
The following attestation bundles were made for wtcraft-0.4.0.tar.gz:
Publisher:
publish.yml on zywkloo/wtcraft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wtcraft-0.4.0.tar.gz -
Subject digest:
b1eac244c1e501fa0ad259c8becbd63a76c106ba30e1cdcecf96283692b2a678 - Sigstore transparency entry: 1788336035
- Sigstore integration time:
-
Permalink:
zywkloo/wtcraft@e65b8e1d2b060bee6cd1a03afd49772eeaeac29a -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/zywkloo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e65b8e1d2b060bee6cd1a03afd49772eeaeac29a -
Trigger Event:
push
-
Statement type:
File details
Details for the file wtcraft-0.4.0-py3-none-any.whl.
File metadata
- Download URL: wtcraft-0.4.0-py3-none-any.whl
- Upload date:
- Size: 27.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f682e184f44ddd856294876dbdba1dc0c3b5e013124deb5a8a7700152b676ac2
|
|
| MD5 |
75f8dbbfdd68233d10687527f8d0be0b
|
|
| BLAKE2b-256 |
617dde69c193fd5471b5a9c99c6f6378e045e246d8ab452d664b3b475920bd48
|
Provenance
The following attestation bundles were made for wtcraft-0.4.0-py3-none-any.whl:
Publisher:
publish.yml on zywkloo/wtcraft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wtcraft-0.4.0-py3-none-any.whl -
Subject digest:
f682e184f44ddd856294876dbdba1dc0c3b5e013124deb5a8a7700152b676ac2 - Sigstore transparency entry: 1788336118
- Sigstore integration time:
-
Permalink:
zywkloo/wtcraft@e65b8e1d2b060bee6cd1a03afd49772eeaeac29a -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/zywkloo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e65b8e1d2b060bee6cd1a03afd49772eeaeac29a -
Trigger Event:
push
-
Statement type: