Cute traces.
Tidy boards.
Write the circuit as a few lines of text. CuTrace places the parts, routes the copper, checks DRC against the fab you actually order from, and writes Gerbers and KiCad. Your traces are parallel. Your DRC is clean.
blinky_555.cut below. Not a mockup.A board is a text file
Every part has a ref, a footprint and a value. Every net lists every pin. Pin what matters and the solver places the rest around it. It diffs cleanly and lives in git beside your firmware.
# blinky_555.cut board blinky555 40x30 2L use psu.cut as PSU part U1 SOIC8 NE555 part R1 R0805 4k7 part R2 R0805 10k part C1 C0805 10u part D1 LED0805 red # … N_TH L0 :: C1.2 <--> R2.2 <--> U1.2 <--> U1.6 VCC L0 w0.5 :: R1.1 <--> U1.4 <--> U1.8 fix PSU_J1 at 3 15 keep U1 near C1 3 power VCC GND
$ python -m apps.cutrace run --placer compact \ --router maze boards/blinky_555.cut blinky555: cost=282.1 segs=157 errors=0 warnings=0 13 files + 15 renders → boards/out pdn (DC, 1oz): GND 0.0658Ω, VCC 0.071Ω ✓ DRC clean # Gerbers, drill, BOM + CPL for assembly, # .kicad_pcb, schematic SVG, glTF, STEP
From idea to order, in one loop
Every stage is a swappable plugin: placers, routers, DRC rules, exporters and simulators.
Checked against your fab
DRC profiles for JLCPCB, PCBWay, OSH Park, Seeed, Aisler, Eurocircuits and more. Price comparison across them with cutrace quote.
Keeps your KiCad
Import .kicad_pcb, Eagle, EasyEDA or tscircuit boards, and write .kicad_pcb back out. Specctra DSN for freerouting.
A studio to drag it into shape
Editor, PCB, schematic, 3D and DRC side by side. Drag a part and it stays put while everything else re-solves. Share a link to co-edit live.
Built for agents too
An MCP server exposes load, place, route, check, diff and export, so any MCP client can drive a board with undo on every edit.
Try it
Needs Python 3.14 and make. The blinky-555 template is a 555 LED blinker with a transient simulation that checks its own blink period.
$ git clone https://github.com/maci0/ocdcircuit cutrace $ cd cutrace && make setup $ .venv/bin/python -m apps.cutrace new demo --from blinky-555 $ .venv/bin/python -m apps.cutrace run demo/demo.cut demo: cost=288.2 segs=103 errors=0 warnings=0 ✓ DRC clean $ .venv/bin/python -m apps.studio demo/demo.cut # studio → http://localhost:8077
Where it stands
- worksText to placed, routed, DRC-clean 1 to 32 layer boards; Gerbers, KiCad and assembly files; studio; MCP server.
- pre-1.0Version 0.3. The
.cutlanguage, Python API and CLI may still change between minor releases. - source onlyNot on PyPI yet. Install from the repository as shown above.