COPPICE

CODEBASE GOVERNANCE FOR CURSOR

Coppice

Keep prompting. Coppice keeps one architecture, no duplicate work, and no known-bad packages.

Agents forget what the last session built. Coppice scans the repo, writes a short contract, and injects it into the next Cursor session. This site is history for your GitHub projects — not a second IDE.

Scans run in Cursor. This page is the public site — dashboard login needs the Coppice API.

HOW IT WORKS

  1. 01

    Authorize GitHub

    Coppice asks GitHub for your identity and repo list. You land on the dashboard. No Cursor API key on this site.

  2. 02

    Link a project

    Pick the GitHub repo you already vibe in. Coppice does not clone or scan GitHub as the product.

  3. 03

    Scan in Cursor

    Run Scan Workspace (free) or Agent Scan. After sign-in, the extension can upload contract + findings here.

WHAT COPPICE HOLDS

  • Architecture

    One structure, one pattern, one library per job. Keep src/app/ or frontend/ + backend/. Do not invent src/modules/.

  • Duplicates

    Auth already exists? Extend it. Do not add a sibling login. Next app/api is a route, not a feature.

  • Orphans

    Unused files, exports, and packages get pruned. Config and CSS count. Toolchain peers stay.

  • Security

    CVE at the exact lockfile version via OSV. Bump the winner, or remove if unused. Never add a second library to “fix” it.

LOCAL SCAN

Scan Workspace

Free. No API key. Full JS/TS coverage and a first pass for Python (poetry, uv, pinned requirements.txt). Writes COPPICE.md and a Cursor rule so the next agent extends what exists.

AGENT SCAN

Python and other languages

On-demand Cursor SDK for Laravel, Go, Rails, and deeper Python. Billed to your Cursor Models pool (Composer 2.5). Same finding JSON. Does not invent CVEs. Never asked on a JS/TS-only local scan.

See projects and agent scans in one place

After GitHub authorization, the dashboard lists linked repos and scan history (local engine vs Agent Scan). The gardener still lives in Cursor.