Form
Build hardware from ideas.
Form is an open-source AI hardware design workspace. Describe a design, add reference images, and iterate toward CAD models, wiring diagrams, bills of materials, and assembly instructions.
Try Form · Browse projects · Run locally · Documentation
See it in action
Mechanical design and motion previews:
| Hexapod walking | Screw-driven arm | Robotic 3D printer |
|---|---|---|
Watch the full walkthrough: designing a security camera →
What you can build
- CAD you can take with you. Preview mechanical designs in 3D and export STEP, STL, 3MF, and OBJ from supported native CAD builds.
- Electronics with the details attached. Generate a bill of materials, interactive wiring diagrams, and assembly instructions. Rule-based checks flag shorts, voltage mismatches, pin conflicts, and other electrical issues.
- Designs you can keep refining. Use follow-up instructions to change geometry, dimensions, placement, and requirements within an existing project.
- Mechanisms you can inspect. Play, pause, and scrub supported joint-driven motion previews, including the two meshing gears example.
- Hardware workflows for your agents. Use Forma through the web app, Python package, CLI, or MCP. The shared skill works with OpenCode, Claude Code, Codex, OpenClaw, and NemoClaw.
Forma is an alpha research prototype for makers and developers. Electrical validation focuses on 3.3–5 V educational projects; CAD and motion previews still need engineering review before fabrication. See scope and validation.
Quick start
Use Form in your browser, or run it locally with OpenCode. Local authoring, validation, rendering, and project status do not require a Forma account.
Run locally with OpenCode
You need Python 3.11+, Node.js and npm (Node.js 22+ recommended), Git, and OpenCode with a working model connection. Your model provider's usage charges still apply.
macOS / Linux
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/caid-technologies/Forma-OSS/main/scripts/development/install-opencode.sh | bash
Windows PowerShell
irm https://raw.githubusercontent.com/caid-technologies/Forma-OSS/main/scripts/development/install-opencode.ps1 | iex
The installer creates ~/forma-workspace, adds the Forma skill and MCP connection, installs missing app dependencies, and starts the backend and frontend. Keep that terminal open, then open a second terminal:
cd ~/forma-workspace
opencode mcp list
opencode
Try a first prompt:
Design a 3.3 V temperature monitor with an OLED display. Include a bill of materials, wiring, and an enclosure.
Open the local UI at localhost:3000. CAD generation and exports also require the native OpenCAD setup. For installation details and troubleshooting, see the setup guide.
Develop from source, use Docker, or install the Python core
Clone the repository and start the app:
git clone https://github.com/caid-technologies/Forma-OSS.git
cd Forma-OSS
./scripts/development/dev.sh
On Windows, replace the last command with .\scripts\development\dev.ps1.
The launcher starts the API and UI with local authentication and SQLite. Configure an agent connection or a model provider for live generation.
For Docker, run docker compose up --build from the repository root. See Docker setup for configuration and persistence.
For the reusable Python core and CLIs:
pip install caid-forma-core
forma-core --help
forma-oss --help
See the CLI and runtime reference for generation, iteration, local credentials, and cloud sync.
Install Forma for Cursor / Grok Bot
Install the Cursor plugin to discover the shared
forma-hardware skill and local Streamable HTTP MCP connection. The guide covers
local installation, protected cloud authentication, CLI-only use, and compatible
Grok Bot deployments. Marketplace publication requires a separate maintainer
submission and review; the repository includes the packaging and checklist.
How it works
- Describe the project. Start with requirements and optional reference images; refine the design through conversation.
- Author a structured design. An agent produces Hardware Intermediate Representation, Forma's typed, versioned representation of components, connections, geometry, and project history.
- Compile and inspect. Forma validates the design and produces schematics, previews, and supported CAD artifacts. Iterate on the saved project as your requirements change.
With the local agent workflow, your host agent supplies the model and Forma performs deterministic compilation. The reusable forma_core package also supports server-side generation. See architecture and agent integrations.
Go deeper
| I want to… | Start here |
|---|---|
| Install or self-host Form | Setup · CLI and runtime reference |
| Connect my own agent | Agent integrations · Model and image configuration |
| Understand the project format | Hardware Intermediate Representation · Architecture |
| Explore examples and motion | Examples · Gear motion preview |
| Reconstruct CAD history in Onshape, NX, or Fusion | AI-assisted CAD migrations |
| Contribute or evaluate results | Contributing · Development · Evaluations |
All documentation · Roadmap · Report a bug
Build with us
Try a design, share what worked, or help improve CAD generation, validation, examples, and the interface. Read CONTRIBUTING.md for the contribution workflow.
If you want open-source hardware design to be easier, star Forma to follow its progress and help other builders find it.
Built by Caid Technologies. Licensed under the Mozilla Public License 2.0.
Metadata
Release files for caid-forma-core 0.3.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| caid_forma_core-0.3.6.tar.gz | 496.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| caid_forma_core-0.3.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / caid_forma_core-0.3.6.tar.gz
| Download URL | caid_forma_core-0.3.6.tar.gz |
|---|---|
| Size | 496.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
048fd320e6024ff8b60451d1ff021a1c7be30a902e66e52cd05215ab7d33b6fb
|
|
BLAKE2b-256 checksum How to use checksums |
cc3aaafa12ddffea40297ca991dd9f715ac6ffe8d2e6ecb9e4fa55a1bf8f74ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / caid_forma_core-0.3.6-py3-none-any.whl
| Download URL | caid_forma_core-0.3.6-py3-none-any.whl |
|---|---|
| Size | 571.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae59dbb725eeb33b159a095a10b40af9888c31374cee2fa5488abc614ceeea35
|
|
BLAKE2b-256 checksum How to use checksums |
5feafcceb244b8a94c026fd85d2b0114aa0169a916033b2469abb1d270eb3027
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|