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 start                # in the current directory
manicure start ~/my-project   # in a specific working directory

# Proxy-only (bring your own client)
manicure start --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 start

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

uv run --project api manicure start

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.6.tar.gz (250.7 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.6-py3-none-any.whl (210.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: manicure-0.2.6.tar.gz
  • Upload date:
  • Size: 250.7 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.6.tar.gz
Algorithm Hash digest
SHA256 a61f415e88cb70d0a7ada435d20d1622e7bb55450061256d24b8f80f21e3ce38
MD5 7adb3fca510822919b00162149e51530
BLAKE2b-256 3cf4700432ca13346df78885c6700084bc1e97f926f6afbbe52647273b3cdd42

See more details on using hashes here.

Provenance

The following attestation bundles were made for manicure-0.2.6.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.6-py3-none-any.whl.

File metadata

  • Download URL: manicure-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 210.6 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bebf9ceb09fd048d1ec3c75d29efd6ee28e9a622b665e58084e5a8d4f24439c2
MD5 90fd78987f593a3e1fde60c556bfe618
BLAKE2b-256 317f380df49b88e798241bdc27418408e2abe8fe7aff44074a2bb596fa143332

See more details on using hashes here.

Provenance

The following attestation bundles were made for manicure-0.2.6-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