pcbkit

Code-first PCB workflow where a Python project generates the KiCad schematic, routed board, design checks and fab files, with agent instructions for coding tools.

ToolchainOpen sourceMaintainedECAD

What it does and how it connects

pcbkit designs, places, routes, checks, and exports KiCad boards from Python. A board is a small project of plain Python modules and one pcbkit.toml file; the schematic, placement, routed copper, fab files, and a suite of design checks are all generated from it, so a change to a board is a code change that can be reviewed, rebuilt, and checked. It is built and tested on macOS with KiCad 10.0.6, makes two-layer boards, routes them with Freerouting, and knows PCBWay limits and order forms.

Commands come in two tiers because KiCad's pcbnew Python module only imports under the Python that ships inside KiCad. Tier 1 needs no pcbnew and runs anywhere: new, doctor, setup, sch, report, quote, and shots. Tier 2 imports pcbnew and runs in the board project's own virtual environment: build, route, promote, finalize, check, mutants, and compare. The pipeline runs from build (schematic, ERC, netlist, placement) through route (Freerouting, ground pours, DRC) to finalize (rebuild from the golden route, DRC, Gerbers, BOM, renders).

The repository is also a Claude Code plugin, with skills for starting a board, running the build loop, adding a check, reviewing a layout, and ordering from PCBWay, plus two helper agents and hooks that stop edits to generated folders. Requirements are KiCad 10, Java 17 or newer, ngspice, librsvg, and uv.

  • atopile

    Describes boards in the atopile language and compiles them to KiCad, rather than generating KiCad boards from Python.

  • tscircuit core

    Creates electronics with TypeScript and React and compiles to Circuit JSON, rather than generating KiCad boards from Python.

  • diodeinc/pcb

    Describes schematics in Zener, a Starlark-based language, and generates KiCad layouts, rather than writing boards in Python.

  • circuit-json-to-kicad

    Converts Circuit JSON into KiCad schematics and layouts, rather than generating the design from Python code.

  • tscircuit

    The full code-based PCB toolchain in TypeScript and React, rather than a Python project that generates KiCad boards.

Recurring errors it addresses

Error Index entries this tool is built to reduce or work around.

Sources

  1. 1READMEgithub.com
  2. 2GitHub repo statsapi.github.com
  3. 3Latest releasegithub.com
  4. 4Documentationbruk-io.github.io

Not verified

  • Pricing: none stated on the repo or docs site.
  • Real user voices: recent issues are all by the owner.

Last verified November 6, 2026. Listings are informational. The evidence score measures public, verifiable evidence and is not an endorsement or a compatibility claim.