Comparable to Fusion / SolidWorks
Mechanical engineer
Parametric history, OCCT-grade B-rep, integrated CAM and FEA. A full feature tree with persistent face IDs that survive fillets and booleans.
Mechanical, BIM, electronics, silicon, aerospace, jewelry, marine, composites — 37 engineering domains in one workspace, all driven by chat. A complete, free CAD that runs entirely on your own machine.
Python 3.11+ · Postgres · or curl kerf.sh/install.sh | sh
Built on open kernels
one project, one file format per stage — every hop is a plain file an LLM (or you) can open and edit
Built for engineers in every discipline
Whether you design circuit boards, buildings, mechanical assemblies, or jewelry — Kerf has purpose-built depth for your workflow. Not a generic tool with plug-in paywalls.
Comparable to Fusion / SolidWorks
Parametric history, OCCT-grade B-rep, integrated CAM and FEA. A full feature tree with persistent face IDs that survive fillets and booleans.
Comparable to KiCad / Altium
Schematic + PCB + signal integrity + EMC + PDN, no extension paywalls. Two authoring styles, one fabrication target.
Comparable to Revit / ArchiCAD
IFC4 round-trip; walls, slabs, MEP, schedules. Code-first BIM authoring that compiles straight to IFC4 via IfcOpenShell.
Comparable to Matrix / MatrixGold
A 40-module jewelry vertical, a gem catalog with 30+ cuts, casting export, PBR materials — and one-click Workshop publish.
Domain spotlights
Kerf ships real domain depth across 18 flagship disciplines — not a generic mesh editor. Every sector has dedicated modules, correct output formats, and domain-fluent chat tooling.
Sketcher → STEP
tscircuit JSX + atopile + KiCad
BIM walls / slabs / IFC
Gem cuts + composites + Workshop
Class-A surfaces + zebra
VLM + orbital + propulsion + composites
VHDL / Verilog → SKY130 GDS-II
Arduino → ESP32 → .hex
Ladder + ST + sim + HMI
CFRP layup + ABD matrix
Crowns + aligners + guides
Lens design + ray-trace
Escapement + gear-train
Hydrostatics + GZ stability
Joinery + cut-list
Pattern blocks + grading + drape
Alignment + corridor + earthwork
RK4 multibody + 6 joints
every domain — MIT, self-hosted, no billing surface, ever
How the chat workflow works
Describe a feature in plain language. Kerf edits the feature tree, validates against doc-search, and re-renders the diff — a small fixed tool surface, no black-box geometry. Or skip chat and drive the same surface from Python with kerf-sdk.
LLM → tools → kernel → diff
file ops · object ops · validation · BOM · 4 create_* scaffolders
search_kerf_docs reads /docs/llm/*.md before editing
kerf-sdk on PyPI · JSON-RPC over /v1/rpc · bring your own LLM
Sketch → solid → drawings → fab
Step 1
Sketch with constraints
planegcs solver, 12+ constraint types
Step 2
Feature shortcuts
Boss, cut, hole pattern — one LLM call
Step 3
Solidify in OCCT
Extrude a sketch → JSCAD or B-rep
Step 4
Project to drawings
TechDraw sheets, GD&T, hand off to fab
Beyond CAD
Kerf is not just a geometry editor. Simulation, toolpath generation, and version control live in the same workspace — driven by the same chat interface, all open-source solvers under the hood.
Simulation
FEM analysis
FEniCSx + CalculiX, linear-static & modal
Topology optimisation
SIMP density-field → STEP out
SPICE simulation
ngspice, V/I probes on the schematic
RF / S-parameters
scikit-rf, Smith chart, Touchstone
Manufacturing
CAM toolpaths
OpenCAMlib 2.5D + 3D, posted G-code
Workshop publish
Fork and share over an open protocol
Collaboration
Local git history
pygit2 backend, multi-lane lattice graph
Python SDK
pip install kerf-sdk, JSON-RPC over /v1/rpc
Fine-grained undo
Every keystroke in file_revisions
Architecture · BIM that compiles
A code-first BIM authoring loop — walls, slabs, openings, spaces, levels, families, schedules, views, sheets, MEP routing and curtain walls — compiled via IfcOpenShell and rendered with web-ifc in the browser.
Families, schedules, views, sheets. Categories + hosted refs, type vs instance, phasing, view filters — authored as plain files.
Stairs, railings, curtain walls, and MEP routing for ducts, pipes and conduits — with sheet revisions tracked in local git.
What stays true after every edit
Most chat-driven CAD tools draw triangles. Kerf carries a real topological model behind every feature — so the things you build on top of each other don’t fall apart when you go back and change a parameter.
Parametric history
Parametric edits survive across fillets and booleans via persistent face IDs. Change a ring size, a stock thickness, a stone diameter — downstream fillets, holes and chamfers re-resolve to the same logical faces instead of breaking.
persistent face IDs · feature DAG re-evaluation
Tolerant booleans
Union, difference and intersection on solids are validated for closed-shell topology before they return. No silent invalid-solid dead-ends from a fuse that almost-but-didn’t match at a tolerance boundary.
closed-shell validation on every result
Continuity-graded fillets
Rolling-ball fillets are sewn back into a validated body with an explicit continuity classifier against the supporting faces. You see the continuity grade the surface actually achieves — not a checkbox the UI claims.
G1 / G2 continuity classifier
Parametric edit · before / after
Fillet-A’s reference to TopCap is a name, not an index. Re-evaluate with a new height — the fillet re-resolves to the same logical face on the new body.
Quiet credibility
Engineering rigor
The details that separate engineering software from a renderer: worst-case / RSS / Monte-Carlo tolerance chains, assembly mate constraints, and a viewport built for assemblies with hundreds of identical instances.
Worst-case, RSS, and Monte-Carlo tolerance stacks. tolerance_auto_chain walks the assembly-mate graph by BFS and builds the dimension chain for you.
Frustum culling + InstancedMesh batching in Three.js. Assemblies with hundreds of identical components render at interactive frame rates.
Sharing a part shouldn’t require an account on someone else’s platform. Kerf’s Workshop is built on DMTAP-PUB, an open protocol for publishing signed, content-addressed objects — the same idea behind Nostr’s feeds and IPFS’s content addressing, purpose-built for engineering artifacts.
Install
No account, no cloud, no external service beyond a Postgres database you already control. Pick whichever front door fits your machine.
$ curl -fsSL https://kerf.sh/install.sh | sh
$ git clone https://github.com/vul-os/kerf $ cd kerf $ pip install -e .[mech] # swap [mech] for [full] $ kerf-server --migrate # then open :8080
$ git clone https://github.com/vul-os/kerf $ cd kerf $ docker compose up # app + postgres + redis
The one-liner downloads the latest GitHub release, unpacks it, and sets up a Python venv — then open http://localhost:8080.
Every tag ships kerf-vX.Y.Z-macos-arm64.tar.gz, -macos-x64, -linux-x64, a universal -src, and a SHA256SUMS manifest.
Vite + React frontend, Python / FastAPI backend, MIT top to bottom.
$ pip install -e .[mech] $ npm install $ npm run dev # :5173 + :8080
$ pytest packages/ -n auto $ npm test $ npm run lint