Skip to content

Repository files navigation

RoarCAD

RoarCAD is a local-first browser PCB workbench where people and AI agents operate the same versioned BoardGraph. It supports custom 1–10 layer boards, exact parts and pin maps, library or embedded footprints, nets, differential pairs, placement, checks, editable PCB and schematic views, engineering/fabrication exports, four page-bound WebMCP tools, and immutable team checkpoints.

The two-layer indicator proves the fabrication-ready path. The included eight-layer PocketRoar Capture Bridge proves the same generic compiler on a routed feasibility slice that has zero compiler/checker errors and exports a clearly marked engineering package. A third environmental-monitor sample proves that a new structured brief uses the same compiler without a project-name branch. PocketRoar remains incomplete and cannot request a quote until its full schematic, differential-pair, electrical, physical, licensing, and compatibility gates are proven.

The current product status, precise readiness vocabulary, retained research, and PocketRoar verification ladder are collected in the wrap-up checkpoint. The interface now pairs each general part type with a plain-English definition while keeping exact technical data visible.

Run

Requires Bun.

bun install
bun run dev

Quality gates:

bun run typecheck
bun run check
bun test
bun run eval:webmcp
bun run build

Workflow

  1. Draft or import a structured custom BoardGraph containing geometry, parts, footprints, pins, nets, and constraints.
  2. Inspect requirements, exact MPNs, official evidence, and unresolved risks.
  3. Preview a structured change or explicitly unlock placement and drag a PCB component. The canvas is locked by default and a preview never mutates stored design state.
  4. A person approves and applies the preview in the visible UI to create an immutable revision.
  5. Validate the graph and generated Circuit JSON.
  6. Prepare engineering or fabrication Gerber, BOM, placement, validation, digital-verification, project, and hash-manifest artifacts.
  7. Explicitly download the package or request a JLCPCB quote.

Browsers without WebMCP retain the complete manual workflow. Agents cannot order, pay, store an address, or accept a substitution.

WebMCP tools

  • draft_board
  • inspect_design
  • preview_design_change
  • validate_and_export

draft_board accepts requirements plus an optional structured design. inspect_design returns one focused, paginated section at a time. preview_design_change accepts allowlisted operations but cannot commit them. Supplier, agent, and shared-checkpoint evidence always enters unreviewed; only the visible manual UI can approve evidence, parts, footprints, or a pending change.

The complete structured schemas are exposed on the registered tools and are revalidated by Zod inside the application. Reproducible prompts for requirements-only, custom-board, change, export, and PocketRoar journeys are in sample prompts.

In Chrome, enable chrome://flags/#enable-webmcp-testing and relaunch before opening the hosted app. Unsupported browsers show Manual mode and retain the full workflow. Direct tool calls use the current Chrome contract: resolve the registered tool with await document.modelContext.getTools(), then call document.modelContext.executeTool(tool, JSON.stringify(input)).

Team checkpoints

Copy checkpoint link packages the current immutable revision and ancestry into a gzip-compressed URL fragment. The fragment is not sent to Vercel, but anyone who receives it can read the design. A .roarcad-checkpoint.json download is available as a portable fallback.

A recipient reviews the checkpoint before choosing Continue as local fork. They can make and human-approve changes, then share a new checkpoint back. The original author sees the common ancestor and semantic diff before choosing Adopt as new revision. Divergent PCB graphs are never auto-merged, checkpoint integrity does not prove sender identity, and all incoming review claims are reset to unreviewed.

Manufacturing status

The JLCPCB server boundary receives the current project and configuration, revalidates the revision, recompiles its artifacts, and rejects anything below fabrication-ready. It supports bare-PCB and PCBA configurations, server-side JLC signing, and expiring confirmed handoff tokens. Without an approved account-specific quote endpoint, it returns no invented price and directs the human to JLCPCB's upload flow.

Server variables:

JLCPCB_APP_ID
JLCPCB_ACCESS_KEY
JLCPCB_SECRET_KEY
JLCPCB_TOKENIZATION_PUBLIC_KEY
JLCPCB_TOKENIZATION_PRIVATE_KEY
JLCPCB_QUOTE_ENABLED=false

The tokenization keys remain unused unless an approved endpoint explicitly requires them. Protect /api/manufacturing/jlcpcb/quote with a Vercel WAF fixed-window rule of three requests per ten minutes per IP before enabling live quoting.

PocketRoar remains an engineering-only UVC bridge study. Its product target is iPhone, while USB-C iPad is the documented UVC comparison case. The routed feasibility slice has zero compiler/checker errors, but its eleven nets are not a complete schematic and its differential-pair impedance, coupling, and skew are not yet verified. The current graph also does not implement or prove the SeeMo-class compression and app-compatible iPhone transport that the product needs. The iPhone inspiration research, electrical completion brief, and verification ladder record the transport, connector, power, firmware, simulation, compliance, manufacturing, and physical-test gates that still block fabrication and quoting.

Screenshots

RoarCAD demo thumbnail

Fabrication-ready indicator workflow

PocketRoar engineering-only workflow

See the domain glossary, architecture, safety limits, sample prompts, demo script, and final video packet.

MIT © Jonathan Gan

About

Transparent WebMCP-assisted PCB design and manufacturing handoff

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages