Repo of the Day
Formsmith746/SketchForge-3D: A local-first browser 3D design editor for building, cutting, importing STL files, and exporting models.
Published: Aug 27, 2026
Open repository ↗A local-first browser 3D design editor for building, cutting, importing STL files, and exporting models. - Formsmith746/SketchForge-3D
Summary
SketchForge is a local-first, browser-based 3D design editor written in TypeScript that lets users build shapes, cut holes, import STL files, and export STL, OBJ, or STEP models. It is open source under AGPL-3.0, built on Next.js, React, Three.js, and Manifold/CSG, and ships with Docker images, a macOS DMG, and a local MCP bridge for AI tooling.
What it is useful for
SketchForge targets a quick "drop a shape, cut, group, export" loop as a lighter alternative to heavyweight desktop CAD. Engineers can:
- Build parts from primitives including boxes, cylinders, spheres, cones, pyramids, wedges, text, roofs, half spheres, torus shapes, and tubes
- Mark a shape as a hole or use Boolean Intersection to keep only the overlap of solid and hole shapes
- Apply chamfer and fillet to selected edges, with history controls to revert edge features; box topology is preserved through one-, two-, or three-axis rotations
- Import an existing STL and continue editing it in the same scene
- Round-trip STEP/B-Rep geometry alongside STL and OBJ export
- Run a classroom or FabLab workspace over LAN via Docker, where shared
.skffiles live server-side while private work stays in the user's browser
How engineers can use it
For local development, the README requires Node.js 20+ and npm. From the cloned repo:
npm install
npm run dev
Then open http://127.0.0.1:3000/. Other documented scripts include npm run typecheck, npm run test, npm run build, npm run export, and npm run mcp:sketchforge.
For shared hosting, the recommended Docker Compose path is:
docker compose -f deploy/docker/compose.yaml up --build -d
The container listens on port 3000 and serves a shared .skf library under /data/projects. Saving back checks the server revision and refuses to overwrite if another user has changed the file, so this is file-based sharing, not real-time collaboration. Updates run git pull and the same up --build -d command without --volumes, so existing projects are preserved.
The MCP bridge only runs against npm run dev and is disabled in production builds and Docker. It exposes tools like sketchforge_list_editors, sketchforge_read_scene, sketchforge_create_shape, sketchforge_list_edges, sketchforge_apply_edge_treatment, and sketchforge_capture_image, which let Codex or Claude Desktop inspect and modify a running editor tab.
Documented limitations: shared projects use revision-checked files rather than simultaneous editing, and the macOS DMG is unsigned, so first launch requires xattr -dr com.apple.quarantine /Applications/SketchForge.app. If anything in setup is unclear, the README points to .github/CONTRIBUTING.md and docs/skills/sketchforge-mcp-skill for more detail.