Provider-neutral context control plane for coding agents
Project description
manicure
manifest + curate. Care for the cargo your coding agent carries.
A provider-neutral context control plane for coding agents. Sits as a reverse proxy in front of Claude, captures every /v1/messages exchange, normalises payloads into an internal representation, runs them through a deterministic curation pipeline, and optionally pauses for manual editing in a schema-aware editor.
No cert install. No system proxy settings. No sudo.
Install
uv tool install manicure # recommended
pipx install manicure # alternative
Or via the bootstrap script (installs uv first if missing):
curl -fsSL https://github.com/srobinson/manicure/releases/latest/download/install.sh | bash
Quick start
# Start the workbench (proxy + web UI)
manicure start
# In another terminal, point your coding agent at it
ANTHROPIC_BASE_URL=http://localhost:8787 claude
Open http://localhost:8788 to see the live log, the rules UI, and the breakpoint editor.
What it does
Every /v1/messages request your agent sends gets:
- Captured — full request and response, logged to
~/.manicure/exchanges/. - Curated — a deterministic pipeline applies your rules (strip tools, truncate system parts, rewrite descriptions, drop thinking blocks).
- Paused (optional) — arm the breakpoint to edit the next request in a schema-aware editor before it forwards upstream.
All visible in a web UI at http://localhost:8788.
Why
A single Claude Code session routinely sends 285 KB payloads: 147 tools, 3 system parts, 5 message turns. Tools alone account for 67% of that. Manicure gives you visibility into what's being sent, a pipeline to strip and rewrite it, and a breakpoint to intervene before it hits the API.
Documentation
Full docs, architecture, and contributing guide: https://github.com/srobinson/manicure
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 manicure-0.2.2.tar.gz.
File metadata
- Download URL: manicure-0.2.2.tar.gz
- Upload date:
- Size: 156.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 |
5c72fa57d95ff24453da50888f3e1b762980ad510e23b1ff074b44d888fc3b1c
|
|
| MD5 |
8e8acaad262b1cefcdaf1fb68356a46e
|
|
| BLAKE2b-256 |
af84890e3bf3d4ebdfc161fca69dbe44d70a43dfd2c0d1b3a38cb4a683304855
|
Provenance
The following attestation bundles were made for manicure-0.2.2.tar.gz:
Publisher:
release.yml on srobinson/manicure
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
manicure-0.2.2.tar.gz -
Subject digest:
5c72fa57d95ff24453da50888f3e1b762980ad510e23b1ff074b44d888fc3b1c - Sigstore transparency entry: 1293815221
- Sigstore integration time:
-
Permalink:
srobinson/manicure@37a648bee2bc6db543c611812c3c5ed754774c41 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/srobinson
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@37a648bee2bc6db543c611812c3c5ed754774c41 -
Trigger Event:
push
-
Statement type:
File details
Details for the file manicure-0.2.2-py3-none-any.whl.
File metadata
- Download URL: manicure-0.2.2-py3-none-any.whl
- Upload date:
- Size: 144.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 |
27d0ff72235c853708ee1829d95b6af12cdc5c11084607a0bda1deb39605f761
|
|
| MD5 |
fa1baa1d62300c9d7e85357a88634a43
|
|
| BLAKE2b-256 |
f99b4cb73d989633e47af4e3d69f86625962c2ed750268a79828f8570eb83b8d
|
Provenance
The following attestation bundles were made for manicure-0.2.2-py3-none-any.whl:
Publisher:
release.yml on srobinson/manicure
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
manicure-0.2.2-py3-none-any.whl -
Subject digest:
27d0ff72235c853708ee1829d95b6af12cdc5c11084607a0bda1deb39605f761 - Sigstore transparency entry: 1293815276
- Sigstore integration time:
-
Permalink:
srobinson/manicure@37a648bee2bc6db543c611812c3c5ed754774c41 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/srobinson
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@37a648bee2bc6db543c611812c3c5ed754774c41 -
Trigger Event:
push
-
Statement type: