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

Uploaded Python 3

File details

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

File metadata

  • Download URL: manicure-0.2.7.tar.gz
  • Upload date:
  • Size: 253.3 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.7.tar.gz
Algorithm Hash digest
SHA256 ba3e40720a54b1195d2015a10b1d4d148bed28869ea1a75ebfca447b3bf10fa9
MD5 cf8e41d5d700eab55f7d8d7332e61adf
BLAKE2b-256 82000df89772c22ab228fe3877b56c6c25da5552de145f2c65835bbf01ab6d38

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: manicure-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 211.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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f0cad7eda25d403a8a7237d4b4e6ab60ddae0df7ee65e58fb942c747664c50fe
MD5 ba97795bc64837452cf0a48d1ba39bc3
BLAKE2b-256 c2efcceb29ed96d6ddcc2195864bc0fd827cb8fb379ed571328ec0e47dce4be3

See more details on using hashes here.

Provenance

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