gitcad / docs

gitcad docs

Agent-first, headless, git-native CAD. Models are canonical text; STEP,

drawings, and Gerbers are build artifacts.

install

pip install gitcad            # mech + ecad + MCP server + exact kernel (0.9.13)

One install brings the whole platform: gitcad-core, gitcad-mech,

gitcad-ecad, the gitcad-mcp MCP server, and the exact-arithmetic

forge kernel (forgekernel, with the

forgekernel_rs native build on common platforms). No OCCT — the kernel refuses

by name rather than approximate (ADR-0020).

a part in five calls

from gitcad.mcp.server import REGISTRY as tools

m = tools["model_new"]()["model"]
r = tools["feature_add"](model=m, op="box", params={"dx":60,"dy":40,"dz":8})
m = r["model"]

tools["model_validate"](model=m)          # machine-readable checks
tools["model_export"](model=m, path="part.step")
tools["model_drawing"](model=m, path="part.pdf")   # dimensioned 4-view drawing

a board to fab

from gitcad.ecad import Board, MountingHole, export_fab

b = Board(name="blinky", outline=[(0,0),(30,0),(30,20),(0,20)])
b.mounting_holes += [MountingHole("mnt_1", 3, 3, 3.2, thread="M3")]
export_fab(b, "fab/")   # Gerber X2, Excellon (PTH+NPTH), pick-and-place

Every mounting hole is simultaneously fab data and a published mech.bolt

port in the board's derived part.json — the enclosure mates against it.

See the Part standard.

see it

gitcad-view part.gitcad.json     # live 3D viewer at localhost:8137
gitcad-view board.gitcad.json    # 2D board render

Zero-dependency WebGL viewer with live reload — edit the model text (or let

an agent edit it) and the view updates in a second.

the examples

reference