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

Uploaded Python 3

File details

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

File metadata

  • Download URL: manicure-0.2.12.tar.gz
  • Upload date:
  • Size: 373.6 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.12.tar.gz
Algorithm Hash digest
SHA256 d7c2d5f6a5bee402055f96d2d099522519eff24dafd79500f46e536fbf1aed67
MD5 358a6fba49d5aa56186005e866fce49c
BLAKE2b-256 f9861b38bcc60d1532543731e082d6cb141b4ecc1f33610a7f89f6ed5148fe5d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: manicure-0.2.12-py3-none-any.whl
  • Upload date:
  • Size: 299.5 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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 560a444c0a688b5ac0da8013daca48f7a3dd9b5a4400d9a27042278731d449cf
MD5 5af9dc6f0d85d7e603263beebb9ea855
BLAKE2b-256 4c5ae8ac186e3b6c328da1b5a4a7a401c854a72c52e909a727c0c040537ac42c

See more details on using hashes here.

Provenance

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