CLI reference
One binary, five commands. validate and build accept both single products
(schema: product/v1) and assemblies (schema: assembly/v1) — the CLI
dispatches on the document’s schema: marker.
forge validate
Section titled “forge validate”forge validate <product.yaml> [--strict] [--debug-ir] [-o out]The pre-CAD golden gate: catalog load with fail-fast name binding, parameter
resolution, capability report, Form IR build, modifiers, and every form-time
validator. Never imports cadquery; writes nothing (--debug-ir dumps the IR
for inspection). Exits non-zero on critical failure in strict mode.
forge build
Section titled “forge build”forge build <product.yaml> [-o out] [--strict]Everything validate does, then: CAD compile, geometry validators
(topology / region / manufacturing), contract + score, honesty report, and
STL/STEP export with the print orientation baked in. Output lands in
out/<product-id>/ (assemblies: per-part subdirectories plus a top-level
assembly_report.yaml and posed assembled.step).
forge edit
Section titled “forge edit”forge edit <product.yaml> --intent make_support_free -o outforge edit <product.yaml> --patch changes.yaml -o outSemantic edit — a rebuild from the YAML source, never mesh surgery. Typed
patches carry a preserve contract (listed parameters must come out of the
rebuild numerically identical; checked, not promised). Intents v1:
make_support_free, make_biomorphic, remove_perforation,
make_stronger. An intent may even migrate the product between archetypes of
one object class when that is what it takes.
forge ui
Section titled “forge ui”forge ui # requires the [web] extraLaunches the local Product Cockpit — a visual debugger of engineering truth:
live CAD-free validation with sliders, section view rendered from exact IR
segments, region and honesty lenses. An Anthropic key enables the optional
natural-language intent translator; without one the cockpit honestly shows
LLM: OFF and works deterministically.
forge compat
Section titled “forge compat”forge compat [--yaml]Prints the interface-compatibility matrix of the loaded catalog — derived from declared interfaces and their published datums; there is no hand-written matrix by design.