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

Uploaded Python 3

File details

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

File metadata

  • Download URL: manicure-0.2.8.tar.gz
  • Upload date:
  • Size: 254.2 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.8.tar.gz
Algorithm Hash digest
SHA256 95bf9f5ea89a16cd0781928de4226f44fcd88b4b4dada97f2bef04140578b399
MD5 24b434f5def27d967c9cf43a2466225c
BLAKE2b-256 ec4dd963372660f5c0400e215a31c16a175926e5b17216b1f9522ba58fddff71

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: manicure-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 212.1 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ff3b7b5b5c64e7c1bdf76c004c10e453ad021f96d1aa59c6289d365323df200b
MD5 d58d863066f1de1da74ed80d63a82f27
BLAKE2b-256 7639c35ca1b2c2c4f679044b1621c68708d03dfdb48b1d6fa393fe231b4b0b5c

See more details on using hashes here.

Provenance

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