원클릭으로
forgecad-project
// ForgeCAD project CLI workflow — creating, managing, syncing projects and files on forgecad.io. Covers init, push, pull, file operations, member management, publishing, and sharing.
// ForgeCAD project CLI workflow — creating, managing, syncing projects and files on forgecad.io. Covers init, push, pull, file operations, member management, publishing, and sharing.
Reconstruct a parametric ForgeCAD model from an existing 3D CAD or mesh file such as STL, OBJ, 3MF, STEP, or STP; inspect the source asset directly, author real ForgeCAD geometry, and iteratively score the candidate with `forgecad score reconstruction`.
Create rough high-level ForgeCAD concept models from simple primitives to explore layout, proportions, motion, and part relationships without production detail. Use when asked for a quick model sketch, blockout, spatial mockup, or intuitive low-detail 3D concept.
Write a high-level design document (HLD) for a model, mechanism, or assembly before detailed specification or coding. Use when starting a new design, rethinking an existing one, or when the user asks to spec out, plan, or think through a model at a high level. Works backwards from requirements — defines the problem, explores alternatives, records decisions. Produces a right-sized design document for review and iteration.
Build real ForgeCAD geometry from one or more reference images by treating images as evidence, inferring the object, then validating against both reference-matched and canonical views.
Create manufacture-realistic prototype ForgeCAD (.forge.js) models in the active CAD project. Handles file placement, invokes the forgecad skill for API guidance, and validates the result.
Analyze, verify, and grade ForgeCAD or CAD-as-code models against a user requirement, design brief, prompt, reference, or acceptance criteria. Use when asked to evaluate, judge, QA, benchmark, score, rate, or compare a CAD model; render it from multiple angles, run targeted inspections when needed, visually verify the evidence, and produce a 0-10 score with concise justification.
| name | forgecad-project |
| description | ForgeCAD project CLI workflow — creating, managing, syncing projects and files on forgecad.io. Covers init, push, pull, file operations, member management, publishing, and sharing. |
| forgecad-public | true |
forgecad.io is the primary platform for ForgeCAD projects. The CLI is the main way AI agents interact with it — creating projects, managing files, publishing models, and collaborating. forgecad studio <project-path> [project-path ...] opens the installed local editor for users; forgecad dev <project-path> [project-path ...] is mainly for ForgeCAD source development.
forgecad login # Choose email/password or API token
forgecad login --server http://localhost:5174 # Local dev server
forgecad logout
forgecad whoami # Show user, server, license
cd path/to/my-models
forgecad project init "My Project Name"
forgecad project init "My Project" --slug my-project --visibility public
Creates the project on the server, writes forgecad.json locally, and pushes any existing local files.
forgecad project clone <slug>
Downloads into a new local directory.
forgecad project push [--force] # Upload local changes
forgecad project pull [--force] # Download remote changes
forgecad project status # Show local vs remote diff
Sync is content-hash-based (SHA-256) — no timestamps, no git. --force skips confirmation.
forgecad project list # List all your projects
forgecad project info # Name, visibility, files, URL
forgecad project rename "New Name" # Rename
forgecad project set-visibility public # private | shared | public
forgecad project delete [--force] # Permanently delete
forgecad project open # Open in browser
Prefer forgecad project status, forgecad project pull, and forgecad project push for normal local sync. Use direct remote file commands only when you need a single hosted file operation without a full push/pull cycle:
forgecad project file list [path] # List remote files
forgecad project file read <path> # Print contents to stdout
forgecad project file save <path> # Upload local file (same relative path)
forgecad project file save <path> --content "const x = box(10, 10, 10); return x;"
cat model.forge.js | forgecad project file save model.forge.js --stdin
forgecad project file delete <path> [--force] # Delete remote file
forgecad project file rename <old> <new> # Rename/move
forgecad project file mkdir <path> # Create directory
forgecad project file copy <source-slug> <path> [--dest <dest-path>] # Copy from another project
All file commands require being inside an initialized project (has forgecad.json).
forgecad project members # List members
forgecad project add-member alice@example.com # Add as editor (default)
forgecad project add-member bob@example.com --role viewer
forgecad project remove-member alice@example.com
forgecad project set-role bob@example.com editor
Roles: owner (full control), editor (read/write), viewer (read-only).
forgecad project publish model.forge.js --title "My Model" # Publish, get URL
forgecad project publish model.forge.js --no-sync # Skip auto-push
forgecad project shares list # List published models
forgecad project shares delete <share-id> [--force] # Unpublish
forgecad link <gist-url-or-id> # Share from Gist
Published models are viewable at forgecad.io/m/<shareId>. Shares are live references to project files — they always show the current version, not a snapshot. Publishing requires a project context.
# 1. Authenticate
forgecad login
# 2. Create project
mkdir my-gadget && cd my-gadget
forgecad project init "My Gadget" --visibility private
# 3. Create a model
forgecad new housing --template part
# 4. Edit and push
# ... edit housing.forge.js ...
forgecad project push --force
# 5. Or save directly to remote
forgecad project file save housing.forge.js --content "$(cat housing.forge.js)"
# 6. Validate
forgecad run housing.forge.js
# 7. Publish
forgecad project publish housing.forge.js --title "Gadget Housing"
.forge.js, .js, .svg), hashes each with SHA-256 (16-char prefix)/api/projects/:projectId/files, hashes them the same wayadded (local only), deleted (remote only), modified (hash mismatch), unchanged