New
Apps 954Makers 953This week 954
Promote your app−30%
Carbon screenshot 1
0views in
the last 30 days

Carbon

Open-source manufacturing system combining ERP, MRP, MES and QMS.

Built with Claude Code

by crbnos · added Oct 29, 2026
no ratings0 comments
Carbon

Build hardware at the speed of software

Carbon combines ERP, MRP, MES and QMS.
Plan materials, run the shop floor, manage quality and track actual costs in one system.

Hard tech unicorns build on Carbon.

Start 30-day trial · Self-host · Docs · API · MCP · Discord · Roadmap

GitHub stars Discord TypeScript React Postgres Rust License: AGPL-3.0


Carbon assembly instructions: step-by-step 3D work instructions authored from the CAD model
Sales orders list with status, linked jobs and order totals

One record from quote to cash. Link quotes, orders, jobs and invoices.

Multi-level bill of materials with planning and supersession

Generate configurations from rules. Control BOMs, routings and revisions.

Lot and serial traceability graph

Trace every unit to its source. Follow lot and serial genealogy in both directions.


Contents


Why Carbon

Manufacturing teams often run planning, production, quality and accounting in separate systems. That creates predictable problems:

  • BOMs and revisions are re-keyed between engineering and production
  • Material shortages surface after work has started
  • Job costs and quality records are reconstructed after the fact
  • Integrations depend on vendor-specific tools and consultants

Carbon puts ERP, MRP, MES and QMS in one Postgres database you can inspect, own and extend. Engineering, planning, production, quality and accounting update the same data, without synchronization jobs between separate product databases.

Carbon is an open-source alternative to NetSuite, Epicor, SAP Business One, Plex, Odoo and ERPNext. It supports complex assembly, contract manufacturing, configure-to-order and high-mix, low-volume production. See all comparisons.


Features

ERP — Inventory & Costing Quotes, orders, purchasing, inventory, invoicing and actual job costs
MRP — Planning Demand, supply planning, versioned BOMs and routings, finite-capacity scheduling
MES — Execution Digital travelers, operator terminals, 3D instructions, barcode and labor capture
QMS — Quality Inspections, FAI, nonconformance, CAPA, calibration and risk management
Traceability Forward and backward lot and serial genealogy
Engineering Multi-level BOMs, revisions, change orders, supersession and product configuration
Accounting General ledger, journals, multi-entity, multi-currency and accounting integrations
Workflows Rule-based automation with triggers, actions and run history
Maintenance & Assets Scheduled maintenance, fixed assets and kanban replenishment
API, Webhooks & MCP Typed REST operations, event-driven webhooks and a permission-aware MCP server
Custom Fields Extend records without changing the core schema
Integrations Onshape, SolidWorks, Paperless Parts, Linear, Jira, Slack, Ramp, Stripe and Zebra

See the full roadmap for what's next.

Technical highlights

  • Generated types shared by the database, application and API
  • Postgres row-level security and tenant-scoped records
  • Role- and attribute-based access for employees, customers and suppliers
  • Realtime database subscriptions
  • Shared identity and permissions across the application, API and MCP server
  • Explicit dependency graphs for manufacturing operations
  • Rust geometry services for STEP conversion and assembly motion planning

Get Carbon

Carbon Cloud Managed application, database, updates and backups. Start a 30-day trial without a sales call.
Self-hosted Run Carbon in your VPC, on-prem or air-gapped. See the self-hosting guide.
Develop locally Run the application and supporting services from source. Follow Local Development.

API & MCP

The Carbon API exposes the same manufacturing operations used by the application. Each operation validates its input, updates dependent records and enforces the authenticated identity's permissions. Operations are available through two interfaces with the same arguments:

  • HTTP: POST https://app.carbon.ms/api/v1/{module}/{operation}, with a published OpenAPI spec for generating a typed client in any language
  • MCP: as tools for hosted or local AI agents, scoped to the permissions of the API key or signed-in user

Create a key under Settings → API Keys, then:

curl -X POST https://app.carbon.ms/api/v1/sales/getSalesOrders \
  -H "Authorization: Bearer $CARBON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "args": { "limit": 10 } }'

Self-hosted deployments serve the same API at /api/v1. The Data API provides direct access to permitted tables and views when an operation is not available in the service layer.

API keys and MCP are included with Business and Enterprise plans. Using them in a self-hosted deployment requires a commercial license.


Architecture

ERP and MES are React Router apps over a single Postgres database. Permissions (row-level security), computed totals and change events live in the database itself; background work runs through Inngest, which calls back into the ERP to execute jobs. The architecture guide follows one click all the way down.

How Carbon fits together: shop floor, office and customers reach the MES and ERP, which read and write Postgres; subscribed writes queue Inngest jobs that run back in the ERP

Building E2E Systems

Carbon is intended to be the core of a bespoke end-to-end manufacturing system. We provide an apps/starter and allow you to build a custom sales and shop-floor engine with Carbon at the center.

Carbon Functionality

Carbon Architecture


Tech Stack

Layer Technology
Apps React Router 7 on Vite, TypeScript
UI Tailwind 4, Radix, React Aria, TanStack Table and Query
Forms Zod with @carbon/form
Database Postgres with row-level security, PostgREST and Kysely
API oRPC with OpenAPI, MCP server
AI AI SDK (Anthropic, OpenAI)
Jobs & events Inngest
Cache Redis
3D & CAD three.js / react-three-fiber; Rust with OpenCASCADE and FCL
Documents React PDF, React Email, TipTap
i18n Lingui
Tooling pnpm, Turborepo, Biome, Vitest
Docs Next.js + Fumadocs
Hosting AWS via SST, or self-hosted with Docker

Monorepo

A pnpm + Turborepo monorepo:

carbon
├── apps         # ERP, MES and the Rust assembler
├── packages     # shared TypeScript packages
├── crates       # Rust crates behind the assembler (CAD conversion, collision, motion planning)
└── docs         # docs.carbon.ms, with content and glossary as @carbon/content

/apps

App Description
erp ERP: sales, purchasing, inventory, planning, quality, accounting
mes MES: the shop floor app, run on tablets next to the machines
assembler Rust geometry service: STEP → GLB and assembly motion planning
academy Training
starter Example app built on the API

/packages

Package Description
@carbon/database Schema, migrations, generated types and database clients
@carbon/auth Authentication, RBAC, sessions, API keys and OAuth
@carbon/api API contract: the generated operation manifest behind the Carbon API and MCP
@carbon/react Shared UI components (Radix, React Aria, Tailwind)
@carbon/form ValidatedForm and field components for zod + FormData
@carbon/jobs Inngest background jobs: events, integrations, notifications, workflows
@carbon/planning MRP and scheduling engines
@carbon/documents PDFs, email templates, ZPL labels, QR and barcodes
@carbon/printing Printer routing, label queue and ProxyBox delivery
@carbon/viewer 3D models and animated assembly instructions (react-three-fiber)
@carbon/files File handling: images, HEIC, CAD formats
@carbon/tiptap Rich-text editor extensions and components
@carbon/onboarding Implementation Hub: guided company setup
@carbon/notifications Notification event taxonomy shared by apps and jobs
@carbon/workflows-core Community-licensed contracts for workflow triggers
@carbon/locale Lingui i18n runtime for ERP and MES
@carbon/lib Server utilities: event system, Inngest client, SMTP, Slack
@carbon/kv Redis client and rate limiting
@carbon/env Validated environment variables, secrets kept server-side
@carbon/logger Isomorphic logger built on LogTape
@carbon/utils Pure shared utilities (dates, precision, BOM, formatting)
@carbon/stripe Stripe billing (Carbon Cloud only)
@carbon/ee Enterprise features and integrations (commercial license)
@carbon/checks Conformance checks that keep the codebase consistent
@carbon/dev The crbn dev CLI: worktrees, Docker stacks, dev URLs
@carbon/harness Harness for AI coding agents working on this repo
@carbon/config Shared Vitest, TypeScript and Tailwind configuration

Local Development

Prerequisites: Docker, Node.js 22 and pnpm (via Corepack). On Windows, use WSL or Git Bash.

git clone https://github.com/crbnos/carbon.git && cd carbon
corepack enable && pnpm install
cp .env.example .env
pnpm dev

pnpm dev boots the whole backend in Docker (Postgres, PostgREST, auth, storage, realtime, Inngest, Redis and a mail catcher), applies migrations, generates types and starts the apps:

Sign in as test@carbon.ms: the dev stack seeds that user and skips the magic link. To fill a company with a full demo story (items, BOMs, orders, jobs, inspections, journals), seed one of the industry datasets (satellite, robotics, precision, motor):

pnpm db:seed:dev -- --email test@carbon.ms --dataset satellite

No external accounts are needed to run locally. Email, Google/Microsoft sign-in, Stripe, PostHog and AI providers are all optional and configured in .env; see environment variables.

Worktrees and the crbn CLI

pnpm dev is shorthand for crbn up --no-portless. Run source ./setup.sh once to put crbn on your PATH and you get a separate, isolated stack per git worktree, so several branches can run side by side, each on its own HTTPS .dev URLs via portless:

crbn checkout -b feat/my-thing   # new branch + worktree off HEAD
crbn up                          # boot this worktree's stack at erp.<branch>.dev
crbn checkout 760                # check out PR #760 into its own worktree
crbn status | down | reset       # ports and health, stop, wipe and reboot

The full command reference is in the local development guide.

Optional: the assembler geometry service

assembler is a Rust service (STEP → GLB + assembly motion planning) over C++ FCL and OpenCASCADE. ERP/MES run fine without it — set it up only if you need the 3D /convert and /plan endpoints.

  1. Toolchain + native build deps (macOS):

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh   # Rust, if not already installed
    brew install fcl cmake ninja draco                               # collision libs (+ libccd/eigen/octomap), build tools, Draco mesh compression
    

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#erp · #manufacturing · #open-source