Skip to main content

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

# One command: starts the proxy + Claude Code together
manicure claude               # in the current directory
manicure claude ~/my-project  # in a specific working directory

# Proxy-only (bring your own client)
manicure claude --no-claude

# then in another terminal
ANTHROPIC_BASE_URL=http://localhost:8787 claude

From source

For day to day contributor work, install the local checkout as an editable uv tool:

just tool-install-editable

Then from any project directory:

manicure claude

If you want to run directly from source without installing a tool, run the API project explicitly:

uv run --project api manicure claude

From the repo root, just start is equivalent and is the preferred source run entry point.

To validate the packaged artifact instead of the editable checkout, build and install the wheel separately before release.

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:

  1. Captured — full request and response, logged to ~/.manicure/exchanges/.
  2. Curated — a deterministic pipeline applies your rules (strip tools, truncate system parts, rewrite descriptions, drop thinking blocks).
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manicure-0.2.11.tar.gz (361.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manicure-0.2.11-py3-none-any.whl (297.2 kB view details)

Uploaded Python 3

File details

Details for the file manicure-0.2.11.tar.gz.

File metadata

  • Download URL: manicure-0.2.11.tar.gz
  • Upload date:
  • Size: 361.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for manicure-0.2.11.tar.gz
Algorithm Hash digest
SHA256 7126642780fafa3bc248fa49400e3e4e72b613270330658ba15da8c1a9496f4e
MD5 292fdea7fa242d4459ba2c9bfb101220
BLAKE2b-256 21c9018f5b95b1964d5ef6ac0a27ba511ed7ba46b720f651951f168d1eb94387

See more details on using hashes here.

Provenance

The following attestation bundles were made for manicure-0.2.11.tar.gz:

Publisher: release.yml on srobinson/manicure

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file manicure-0.2.11-py3-none-any.whl.

File metadata

  • Download URL: manicure-0.2.11-py3-none-any.whl
  • Upload date:
  • Size: 297.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for manicure-0.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 bf649e7b74c9a6a140fd34883ded981cd19fa447a4575c7b468b447190cf2087
MD5 15db41c5a239286c998e7c52a6590d6a
BLAKE2b-256 c5cc8dcfc3b74ed4dfa2545ddb53f1cef633e16c4d7438a61ab3d4709e2fb59f

See more details on using hashes here.

Provenance

The following attestation bundles were made for manicure-0.2.11-py3-none-any.whl:

Publisher: release.yml on srobinson/manicure

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