Git-native agent governance core — task contracts and deterministic scope/verification checks that keep coding agents in their lanes
Project description
wtcraft
Git-native agent governance core.
wtcraftis a lightweight governance core for worktree-based agent workflows. It defines task contracts, tracks lifecycle state, and exposes deterministic scope and verification checks for CLIs, agents, and graphical clients.
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
Short alias available after install: wtc
Quick Start
wtcraft --version # print the installed CLI version
wtcraft init # scaffold harness into current repo
wtcraft init --local # scaffold locally; ignore via .git/info/exclude
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 new --base origin/main feat/x # override the base branch/ref explicitly
wtcraft status # list active worktree contracts
wtcraft capabilities --json # discover machine-protocol features
wtcraft status --json --repo /repo # machine-readable status for a target repo
wtcraft check <worktree-name-or-path> # verify Scope / Off-limits
wtcraft verify <worktree-name-or-path> # run Verification commands
wtcraft new resolves its base in this order: --base, then
WTCRAFT_BASE_BRANCH, then origin/HEAD, then local main, local master,
local develop, and finally the current branch.
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
-
Orchestrator (e.g., Gemini 3.5 Flash): Sits at the top of the workflow. Highly tool-agentic, low-latency, and coordinates the overall project state. It focuses on environment orchestration, git logistics, verification suites, and telemetry. Core features like cross-repository worktree monitoring, automated session summarization, and active agent handoff routing are coming soon (upcoming role integration).
-
Planner (e.g., Claude Opus 4.8): The slow, high-reasoning "architect". It reads the requirement, analyzes the code context, and designs the bounded execution contract (
.worktree-task.md) specifying Scope, Off-limits, and Verification steps. -
Executor (e.g., GPT-5.4): The precision coder. It is budget-friendly, highly focused, and operates strictly inside the isolated worktree sandbox, adhering strictly to the contract boundaries.
-
Verifier (e.g., Claude Opus Fable 5): The quality gatekeeper. It automatically conducts code reviews, checks for style/security constraints, and runs PR-level checks. If verification fails, it can trigger a feedback loop back to the Planner or Executor.
-
Finisher (e.g., Gemini Flash 3.5): Performs deterministic boundary validation (
wtcraft check), test suite verification (wtcraft verify), and cleans up local worktree assets after a successful merge to keep the development disk clean. Additionally, in an upcoming release (integrating with PR #12), the Finisher will aggregate and report token telemetry to track cost, budget, and API usage per agent model (Coming Soon).
Commands
| Command | Arguments | What it does |
|---|---|---|
wtcraft init |
[--patch-agent-files] [--local] [--repo <path>] |
Scaffold harness files. Does not overwrite. --local keeps scaffold clone-local via Git-resolved .git/info/exclude. |
wtcraft patch |
[--repo <path>] |
Alias for init --patch-agent-files. Appends routing stubs to CLAUDE.md / AGENTS.md. |
wtcraft unpatch |
[--repo <path>] |
Remove the routing stub from CLAUDE.md / AGENTS.md. |
wtcraft lang |
install|remove [--repo <path>] |
Add or remove language enforcement rules (e.g. install --lang zh-CN). |
wtcraft new |
[--repo <path>] [--base <branch>] <type/name> |
Create a worktree and local .worktree-task.md contract. |
wtcraft status |
[--json] [--repo <path>] |
List active worktree tasks and their status. --json is the machine-readable status surface. |
wtcraft check |
[--json] [--repo <path>] <worktree-path-or-name> |
Verify the worktree's changes stay within Scope / Off-limits boundaries. |
wtcraft verify |
[--json] [--repo <path>] <worktree-path-or-name> |
Run the Verification commands declared in the worktree's contract. |
wtcraft capabilities |
--json |
Report supported machine-protocol features for external launchers. |
wtcraft --version |
— | Print the installed CLI version. |
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
- Protocol Contracts
- Rust Core Extraction ADR
- Roadmap
- Gotchas & Coding Survival Guide
- Principles
- Migration Notes
- Changelog
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.3.tar.gz.
File metadata
- Download URL: wtcraft-0.4.3.tar.gz
- Upload date:
- Size: 32.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06ad4bf68577a88037ad05a11b613cce54ffd95f4c869f9971a4ec66b3fa919c
|
|
| MD5 |
d98df05b18f7a7845503d4a1b0ce438f
|
|
| BLAKE2b-256 |
83da66a76c7c36d7378e796a33d4b0e7faee714425e866c261518e8de190b8c0
|
Provenance
The following attestation bundles were made for wtcraft-0.4.3.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.3.tar.gz -
Subject digest:
06ad4bf68577a88037ad05a11b613cce54ffd95f4c869f9971a4ec66b3fa919c - Sigstore transparency entry: 1941619218
- Sigstore integration time:
-
Permalink:
zywkloo/wtcraft@b3eac8f2f719a795488d783c516a21aaf6508e99 -
Branch / Tag:
refs/tags/v0.4.3 - Owner: https://github.com/zywkloo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b3eac8f2f719a795488d783c516a21aaf6508e99 -
Trigger Event:
push
-
Statement type:
File details
Details for the file wtcraft-0.4.3-py3-none-any.whl.
File metadata
- Download URL: wtcraft-0.4.3-py3-none-any.whl
- Upload date:
- Size: 36.9 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 |
5b08fd182372ea5302014c85db3380e2c8c6ab922b4a4c4ef6ccdf37b5e21d3d
|
|
| MD5 |
0aafd7bf095cba94d3da4c7c9ae28615
|
|
| BLAKE2b-256 |
7b27cbb265be315f44c1baf2bb384c45733cc5851c60d85dfe612ad055c9e6ba
|
Provenance
The following attestation bundles were made for wtcraft-0.4.3-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.3-py3-none-any.whl -
Subject digest:
5b08fd182372ea5302014c85db3380e2c8c6ab922b4a4c4ef6ccdf37b5e21d3d - Sigstore transparency entry: 1941619325
- Sigstore integration time:
-
Permalink:
zywkloo/wtcraft@b3eac8f2f719a795488d783c516a21aaf6508e99 -
Branch / Tag:
refs/tags/v0.4.3 - Owner: https://github.com/zywkloo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b3eac8f2f719a795488d783c516a21aaf6508e99 -
Trigger Event:
push
-
Statement type: