Sandbox
@ForgeCAD/forgecad-public-kit

ForgeCAD skills and examples for agent CAD work

This repository packages ForgeCAD's public agent skills, example models, and docs links in one place. The skills live under `skills/`, while runnable CAD scripts and benchmarks live under `examples/`; you install the skills with `forgecad skill install` and open the examples with `forgecad studio examples`.

932 stars105 forksPythonUpdated 3mo ago
Who it's for

Builders who use ForgeCAD to create parametric CAD with coding agents and want shared workflows plus example models.

What it delivers

You can install ForgeCAD modeling skills and work from examples instead of starting each CAD task from scratch.

What it does

Installable skill library

Provides the core `forgecad` skill and public workflow skills such as `forgecad-build-model`, `forgecad-design-spec`, `forgecad-inspect-model`, and `forgecad-project-sync`.

Runnable CAD examples

Ships ready-to-run `.forge.js` files under `examples/api`, `examples/mechanical`, `examples/products`, `examples/generative`, `examples/constraints`, and `examples/compiler-corpus`.

CLI workflow guidance

Documents commands like `forgecad project clone`, `forgecad project init`, `forgecad studio`, `forgecad run`, `forgecad render`, `forgecad inspect`, and `forgecad export`.

Agent evidence loop

Shows a workflow where the agent edits `.forge.js`, runs `forgecad run`, inspects evidence, and iterates.

Public issue tracking

Points builders to GitHub issues for bugs, feature requests, and public roadmap input.

How to get it

  1. 1Install the CLI
    npm install -g forgecad
  2. 2Start from the hosted starter project
    forgecad login
    forgecad project clone start-here
    cd start-here
    forgecad studio .
  3. 3Create a new project locally
    mkdir spool-adapter
    cd spool-adapter
    forgecad project init "Spool Adapter" --visibility private
    forgecad new adapter --template part
    forgecad studio .
  4. 4Explore the public examples locally
    git clone https://github.com/KoStard/forgecad-public-kit.git
    cd forgecad-public-kit
    forgecad studio examples
    forgecad run examples/products/cup.forge.js
    forgecad render 3d examples/products/cup.forge.js
  5. 5Open more than one local project at once
    forgecad studio examples path/to/another-project
  6. 6Then run
    forgecad run starter.forge.js
    forgecad studio .

README

ForgeCAD Public Kit

Robot Hand V2

Public examples, agent skills, docs links, and issue tracking for ForgeCAD.

ForgeCAD is code-first parametric CAD for JavaScript/TypeScript: a normal .forge.js file becomes a live model with parameters, assemblies, validation, renders, inspections, and exports.

This repository is the public companion kit. It is intentionally focused on assets people can use directly: example models, installable agent skills, public issues, docs links, and historical benchmark artifacts.

TypeScript is the file format. The browser is the CAD system.

Try ForgeCADDocsExamplesAgent skillsOpen an issue

Start Here

If you want to...Go here
Use the CAD appforgecad.io
Learn the APIDocs
Run example modelsexamples/
Install agent workflowsskills/
Report a bug or request an APIIssues
Check commercial termsPricing

Repository Scope

This public kit containsThe hosted product contains
Ready-to-run .forge.js examplesBrowser workbench and project storage
Agent skills and workflow promptsCore app source and infrastructure
Public bug reports and feature requestsAccount, billing, and usage systems
Historical benchmark artifactsProduct roadmap execution and customer projects

The npm package, CLI, hosted app, and backend/application usage are governed by ForgeCAD's product terms. This public kit itself is MIT licensed.

Get Started

Install the CLI:

npm install -g forgecad

Start from the hosted starter project:

forgecad login
forgecad project clone start-here
cd start-here
forgecad studio .

forgecad login guides you through email/password or API-token sign-in. Choose API token for GitHub/Google accounts.

A ForgeCAD project is a dedicated local folder linked to the hosted app by forgecad.json. Use forgecad project clone <slug> to download an existing project, or run forgecad project init inside a folder you want to make into a new ForgeCAD project.

Create a new project locally:

mkdir spool-adapter
cd spool-adapter
forgecad project init "Spool Adapter" --visibility private
forgecad new adapter --template part
forgecad studio .

Do not point forgecad studio at your home directory, downloads folder, desktop, or a huge source tree. It requires an explicit project path; use . for the current project folder.

Explore the public examples locally:

git clone https://github.com/KoStard/forgecad-public-kit.git
cd forgecad-public-kit
forgecad studio examples
forgecad run examples/products/cup.forge.js
forgecad render 3d examples/products/cup.forge.js

Open more than one local project at once:

forgecad studio examples path/to/another-project

Keep one long-running forgecad studio <project-path> [project-path ...] process open with every active project folder listed in its arguments; the user opens the single printed localhost port once, and AI agents should only create or edit files under those folders so the browser updates live without starting more servers.

First Script

Inside a cloned or initialized ForgeCAD project, drop this into starter.forge.js:

const width = Param.number("Width", 90, { min: 50, max: 160, unit: "mm" });
const depth = Param.number("Depth", 56, { min: 32, max: 100, unit: "mm" });
const height = Param.number("Height", 12, { min: 6, max: 32, unit: "mm" });
const holeRadius = Param.number("Hole Radius", 5, { min: 2, max: 10, unit: "mm" });

const base = box(width, depth, height).color("#5f87c6");
const hole = cylinder(height * 3, holeRadius).translate(0, 0, -height);

return {
  "starter plate": base.subtract(hole),
};

Then run:

forgecad run starter.forge.js
forgecad studio .

Repository Contents

This repository is ForgeCAD's public companion kit for:

  • Issues and discussion — bugs, feature requests, questions, and public roadmap input.
  • Examples — ready-to-run .forge.js scripts under examples/.
  • Agent skills — the generated ForgeCAD modeling skill plus companion workflows under skills/.
  • Benchmarks — examples of how current language models handle code-first CAD prompts.
  • Docs links — full user documentation lives at forgecad.io/docs.

If there is a component you want opened up sooner, file an issue.

Examples To Try

AreaStart here
API basicsexamples/api/boolean-operations.forge.js, examples/api/constrained-sketch-basics.forge.js
Assembliesexamples/api/static-assembly-connectors.forge.js, examples/mechanical/5-finger-robot-hand.forge.js
Exact and surface workflowsexamples/api/exact-surface-studio.forge.js, examples/exact-arc-housing.forge.js
Generative formsexamples/generative/voronoi-lampshade.forge.js, examples/api/sdf-shapes.forge.js
Productsexamples/products/chess-set.forge.js, examples/products/classical-piano.forge.js
Solver casesexamples/constraints/, examples/compiler-corpus/

CLI Workflows

TaskCommand
Clone a hosted projectforgecad project clone <slug>
Create a new hosted project from the current folderforgecad project init "Project Name"
Open one or more local projectsforgecad studio <project-path> [project-path ...]
Validate a scriptforgecad run file.forge.js
Render a PNGforgecad render 3d file.forge.js
Inspect a modelforgecad inspect collisions file.forge.js
Render a sectionforgecad render section file.forge.js --plane XZ
Export STLforgecad export stl file.forge.js
Export STEPforgecad export step file.forge.js
Sweep parametersforgecad check params file.forge.js --samples 10

forgecad project init creates the remote project, writes forgecad.json, and uploads local source files. forgecad project push syncs an already initialized project; it does not create a remote project from a random folder.

Run forgecad doctor if render or exact export dependencies need checking.

AI And Agent Workflows

ForgeCAD is built to work well with coding agents because CAD models are just code. The strongest loop is:

agent edits .forge.js -> forgecad run -> forgecad inspect <evidence> -> iterate

The full setup, approved model list, installed skills, flattened skill files, and completion criteria are in the AI Usage guide.

Install the ForgeCAD public skill library:

forgecad skill install

That installs the core forgecad skill plus public workflow skills such as forgecad-build-model, forgecad-design-spec, and forgecad-inspect-model into ~/.agents/skills. Use --target when you want to update a different agent location:

forgecad skill install --target claude    # ~/.claude/skills
forgecad skill install --target codex     # ~/.codex/skills
forgecad skill install --target opencode  # ~/.config/opencode/skills

The library includes public prompts for:

The generated core modeling skill is checked in at skills/forgecad/SKILL.md. The full public skill index is skills/README.md.

Start the agent inside the initialized project folder and require command evidence:

Use the ForgeCAD skills. Work in this project folder. Build real ForgeCAD
geometry, validate with forgecad run, render or inspect the result, run
parameter checks when relevant, and push with forgecad project push when done.

For chat tools without local shell access, generate a single context file:

forgecad skill one-file ~/Desktop/forgecad-context.md

LLM Benchmarks

Historical benchmark archive only. These rows are not recommendations and are not the approved model list. For current supported AI workflows, use the approved models in the AI Usage guide.

Latest benchmark iterations from ForgeCADBenchmark/results/* (version_{n}.forge.js with highest n per run folder).

model namepromptGIF
3dprinter-gpt52codex
2026-02-13 14-36-06 • v2
Make a detailed home 3D printer, showing the internal details of how it should work. Add some params for controlling positions, etc.3dprinter-gpt52codex
amazon-nova-2-lite-v1
2026-02-13 00-15-44 • v1
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.amazon-nova-2-lite-v1
amazon-nova-premier-v1
2026-02-13 00-36-50 • v1
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.GIF generation failed (script runtime error).
aurora_alpha
2026-02-12 15-19-30 • v2
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.GIF generation failed (script runtime error).
bytedance-seed-seed-1.6
2026-02-13 00-14-02 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.bytedance-seed-seed-1.6
deepseek-deepseek-v3.2
2026-02-13 00-30-04 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.deepseek-deepseek-v3.2
gemini3flash
2026-02-12 23-53-27 • v5
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.gemini3flash
glm5
2026-02-12 14-58-52 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.glm5
glm5
2026-02-12 23-04-12 • v4
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.glm5
google-gemini-3-pro-preview
2026-02-13 00-36-12 • v2
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.google-gemini-3-pro-preview
gpt52codex
2026-02-13 00-04-30 • v2
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.gpt52codex
gpt52codex
2026-02-13 12-40-31 • v2
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Include as many details as you safely can. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.gpt52codex
haiku_4_5
2026-02-12 21-49-51 • v1
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.haiku_4_5
haiku_4_5
2026-02-12 21-54-22 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.haiku_4_5
kimi25
2026-02-12 13-50-22 • v4
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.kimi25
kimi25
2026-02-12 14-58-53 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.kimi25
manual-gemini-flash
2026-02-12 23-44-23 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.manual-gemini-flash
minimax25
2026-02-12 14-32-24 • v5
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.minimax25
minimax25
2026-02-12 23-05-17 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.minimax25
minimax25
2026-02-13 12-37-52 • v4
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.minimax25
openai-gpt-oss-120b
2026-02-13 00-38-15 • v1
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.openai-gpt-oss-120b
opus_4_6
2026-02-13 11-47-54 • v5
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.opus_4_6
prime-intellect-intellect-3
2026-02-13 00-31-28 • v1
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.prime-intellect-intellect-3
qwen3.5-397b-a17b
2026-02-16 14-29-22 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.qwen3.5-397b-a17b
qwen3maxthinking
2026-02-12 23-16-41 • v2
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.qwen3maxthinking
robot-hand-gpt52codex
2026-02-14 00-51-41 • v1
Make a fully functional robot hand. Should be easy to build, maybe even at home with some good tools. Show all the mechanics. Should be able to hold arbitrary shape objects. Don't be a perfectionist, but be an artist and an engineer. As this is a complex task, break it down to simpler ones, solve them, combine, iterate.robot-hand-gpt52codex
sonnet_4_5
2026-02-12 21-58-26 • v3
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.sonnet_4_5
x-ai-grok-4.1-fast
2026-02-13 00-26-36 • v2
Make a home AC unit, showing both pieces on different sides of the wall (inside and outside). The external piece should have a fan positioned on its external face vertically. Implement whatever features/methods you are missing in the script itself for your convenience. Use the simpler primitives when unsure.x-ai-grok-4.1-fast

Capability Snapshot

  • Browser CAD workbench with Monaco editing, live parameters, and a real-time 3D viewport.
  • Code-first modeling API for primitives, sketches, booleans, transforms, offsets, constraints, patterns, and SDF/level-set workflows.
  • Named shapes, face/edge references, fillet/chamfer helpers, geometry inspection, dimensions, BOMs, and report-oriented annotations.
  • Assembly modeling with parts, connectors, joints, coupled motion, and collision/clearance checks.
  • CLI validation, parameter sweeps, viewport renders, inspection bundles, mesh export, exact export workflows, and project sync.
  • Agent context that can be installed locally or inspected directly from this repository.

Documentation

Full documentation is available at forgecad.io/docs. Useful starting points:

License

This public kit is available under the MIT License. The ForgeCAD npm package, CLI, hosted app, and commercial/backend usage are covered separately by ForgeCAD's product terms and pricing at forgecad.io/pricing.

Files in the repo

Repository payload4 top-level entries
  • examples
  • skills
  • LICENSE
  • README.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More skills

obra/
superpowers

An agentic skills framework & software development methodology that works.

285k
1 add

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.

117k
1 add
Vincentwei1021/
anything2explainer

Topic in, narrated explainer video out. A Claude Code / Codex skill that turns any topic into a black-canvas motion-graphics explainer video with TTS voiceover, subtitles and a chapter progress bar. Chinese or English; every frame drawn in code with Remotion.

666

Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)

71k