LAU-MARS

Cadorange — Development skill for Claude Code

Development community

Agent-native CAD runtime in TypeScript, powered by occt.ts (OCCT/WASM).

How to install Cadorange

This entry records only its repository, not the path inside it, so there is no exact command to give. Open LAU-MARS/cadorange and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Cadorange does

Agent-native CAD runtime in TypeScript, powered by occt.ts (OCCT/WASM). Headless, embeddable, in-process: snapshots & rollback, structured errors, headless rendering. Zero Python, just npm i. Plugs into Claude Code, Codex, dsh and any MCP agent.

Alternatives in Development

  • Agent Skills Platform — Build tested agent skills and govern their lifecycle through a user-defined marketplace: evidence, discovery 2.4k ★
  • Agent Skill Creator — Build tested agent skills and govern their lifecycle through a user-defined marketplace: evidence, discovery 2.3k ★
  • Agentic Stack — One brain, many harnesses 2.2k ★

README

cadorange

cadorange

Agent-native CAD runtime in TypeScript, powered by occt.ts (OCCT/WASM).
Headless · Embeddable · Zero Python · Just npm i

npm license

English | 简体中文

What is cadorange?

cadorange is a code-CAD kernel and runtime built for AI agents. It runs anywhere JavaScript runs, including Node, Bun, Deno, browsers, Web Workers and sandboxes. It gives agents a real B-Rep CAD engine (OpenCASCADE, compiled to WASM via occt.ts), along with the runtime features agents need:

  • Snapshots, forks and rollback. Every model is an operation log, so you can try a change, inspect the result and roll back if it fails.
  • Structured errors. Failures are returned as JSON with the failing op, a reason and a suggested fix. You don't have to parse an OCCT stack trace.
  • Headless rendering. Multi-view PNG/SVG renders without a GPU or a browser window, so vision models can check their own work.
  • Deterministic output. The same code produces the same geometry, hashes and renders. This makes it suitable for evals and RL.
  • Introspection. describe() returns volumes, bounding boxes, face and edge counts and topology summaries as plain JSON.
  • Embeddable. It runs in-process, with no Python, no conda, no subprocess and no server required.

It works as a plain library, as a CLI (`cado`) or as an MCP server. That means it can plug into Claude Code, Codex, dsh and any other MCP-capable agent.

Quick start

As a library

npm i cadorange
import { init, Box, Cylinder, Axis, fillet } from "c