← all repositories
copperheadhq/copperhead

A coding agent, except the codebase is a circuit board

Copperhead applies the propose-edit-verify loop of AI coding agents to KiCad schematics and PCBs, with ERC/DRC as the test suite.

★547 stars TypeScript Coding AssistantsAgentsDomain Apps
copperhead
Collecting fresh signals — velocity needs a few days of history.
collecting data…
star history

What it does

Copperhead is a CLI agent that treats hardware design like software: it reads and edits real .kicad_sch and .kicad_pcb files (plain s-expression text), keeps markdown design docs as its memory, and runs kicad-cli ERC/DRC checks after every edit until they pass. copperhead do "<change>" works on an existing KiCad repo the way Cursor works on a codebase; copperhead create goes from a natural-language brief all the way to gerbers, a firmware scaffold, and a dev plan.

The interesting bit

The discipline is the product. Two hard gates: the agent literally cannot touch a KiCad file until a validated change proposal exists, and nothing counts as done until the ERC/DRC tools agree. Propagation — the boring step where you change one value and it must ripple through every doc and schematic that references it — is exactly what they’ve automated.

Key highlights

  • Spec-gated in, verification-gated out: every edit traces to a documented intent, and drift becomes a build failure
  • copperhead check runs ERC, DRC, doc-drift, and spec validation with no LLM calls — CI-safe
  • export bom produces supplier-ready CSVs for JLCPCB, DigiKey, and Mouser, deterministically and offline, and refuses to export if BOM.md disagrees with the schematic
  • Model-agnostic: works with Claude Code, Cursor Agent, or Codex saved logins, or plain OpenAI/Anthropic API keys, plus any OpenAI-compatible endpoint
  • Every real decision gets a one-line rationale written next to it, so future changes don’t quietly undo past reasoning

Caveats

  • Self-described as early: Phase 1 is implemented, and the spec is the source of truth — expect the surface to move before 1.0
  • copperhead create still uses hardcoded stages rather than the skill system
  • The Codex sandbox can technically read files like .env, and Codex session logs live outside copperhead’s redaction boundary — worth knowing for sensitive repos

Verdict

If you maintain a KiCad project and already live in an AI coding agent, this is a genuinely fresh application of the pattern. If you don’t know what ERC stands for, move along.

Frequently asked

What is copperheadhq/copperhead?
Copperhead applies the propose-edit-verify loop of AI coding agents to KiCad schematics and PCBs, with ERC/DRC as the test suite.
Is copperhead open source?
Yes — copperheadhq/copperhead is open source, released under the Apache-2.0 license.
What language is copperhead written in?
copperheadhq/copperhead is primarily written in TypeScript.
How popular is copperhead?
copperheadhq/copperhead has 547 stars on GitHub.
Where can I find copperhead?
copperheadhq/copperhead is on GitHub at https://github.com/copperheadhq/copperhead.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.