$git clone https://github.com/crbnos/carbonWe built Carbon after years of building end-to-end manufacturing systems with off-the-shelf solutions. We realized that:
| 1 | <p align="center"> |
| 2 | <a href="https://carbon.ms"> |
| 3 | <img width="auto" height="100" alt="Carbon Logo" src="https://github.com/user-attachments/assets/177634ca-5c37-43e2-8d55-1b9f490866d5" /> |
| 4 | </a> |
| 5 | </p> |
| 6 | |
| 7 | <p align="center"> |
| 8 | The open core for manufacturing |
| 9 | <br /> |
| 10 | <br /> |
| 11 | <a href="https://discord.gg/yGUJWhNqzy">Discord</a> |
| 12 | · |
| 13 | <a href="https://carbon.ms">Website</a> |
| 14 | · |
| 15 | <a href="https://docs.carbon.ms">Documentation</a> |
| 16 | </p> |
| 17 | </p> |
| 18 | <p align="center"> |
| 19 | <img src="https://img.shields.io/badge/Supabase-3ECF8E?style=for-the-badge&logo=supabase&logoColor=white" alt="Supabase" /> |
| 20 | <img src="https://img.shields.io/badge/Typescript-1a67f3?style=for-the-badge&logo=react&logoColor=white" alt="Typescript" /> |
| 21 | <img src="https://img.shields.io/badge/React-23272F?style=for-the-badge&logo=react&logoColor=white" alt="React" /> |
| 22 | </p> |
| 23 | |
| 24 |  |
| 25 | |
| 26 |  |
| 27 | |
| 28 | ## Does the world need another ERP? |
| 29 | |
| 30 | We built Carbon after years of building end-to-end manufacturing systems with off-the-shelf solutions. We realized that: |
| 31 | |
| 32 | - Modern, API-first tooling didn't exist |
| 33 | - Vendor lock-in bordered on extortion |
| 34 | - There is no "perfect ERP" because each company is unique |
| 35 | |
| 36 | We built Carbon to solve these problems ☝️ |
| 37 | |
| 38 | ## Architecture |
| 39 | |
| 40 | Carbon is designed to make it easy for you to extend the platform by building your own apps through our API. We provide some examples to get you started in the [examples](https://github.com/crbnos/carbon/blob/main/examples) folder. |
| 41 | |
| 42 |  |
| 43 | |
| 44 |  |
| 45 | |
| 46 | Features: |
| 47 | |
| 48 | - [x] ERP |
| 49 | - [x] MES |
| 50 | - [x] QMS |
| 51 | - [x] Custom Fields |
| 52 | - [x] Nested BoM |
| 53 | - [x] Traceability |
| 54 | - [x] MRP |
| 55 | - [x] Configurator |
| 56 | - [x] MCP Client/Server |
| 57 | - [x] API |
| 58 | - [x] Webhooks |
| 59 | - [x] Accounting |
| 60 | - [ ] Capacity Planning |
| 61 | - [ ] Simulation |
| 62 | - [ ] [Full Roadmap](https://github.com/orgs/crbnos/projects/1/views/1) |
| 63 | |
| 64 | Technical highlights: |
| 65 | |
| 66 | - [x] Unified auth and permissions across apps |
| 67 | - [x] Full-stack type safety (Database → UI) |
| 68 | - [x] Realtime database subscriptions |
| 69 | - [x] Attribute-based access control (ABAC) |
| 70 | - [x] Role-based access control (Customer, Supplier, Employee) |
| 71 | - [x] Row-level security (RLS) |
| 72 | - [x] Composable user groups |
| 73 | - [x] Dependency graph for operations |
| 74 | - [x] Third-party integrations |
| 75 | |
| 76 | ## Techstack |
| 77 | |
| 78 | - [React Router](https://reactrouter.com) – framework |
| 79 | - [Typescript](https://www.typescriptlang.org/) – language |
| 80 | - [Tailwind](https://tailwindcss.com) – styling |
| 81 | - [Radix UI](https://radix-ui.com) - behavior |
| 82 | - [Supabase](https://supabase.com) - database |
| 83 | - [Supabase](https://supabase.com) – auth |
| 84 | - [Redis](https://redis.io) - cache |
| 85 | - [Inngest](https://inngest.com) - jobs |
| 86 | - [Resend](https://resend.com) – email |
| 87 | - [Lingui](https://lingui.dev) - i18n |
| 88 | - [Vercel](https://vercel.com) – hosting |
| 89 | - [Stripe](https://stripe.com) - billing |
| 90 | - [Rust](https://www.rust-lang.org) – geometry service (FCL collision + OpenCASCADE CAD) |
| 91 | |
| 92 | |
| 93 | ## Codebase |
| 94 | |
| 95 | The monorepo follows the Turborepo convention of grouping packages into one of two folders. |
| 96 | |
| 97 | 1. `/apps` for applications |
| 98 | 2. `/packages` for shared code |
| 99 | |
| 100 | ### `/apps` |
| 101 | |
| 102 | | Package Name | Description | How to run | |
| 103 | | ------------ | --------------- | --------------------------------------------------- | |
| 104 | | `erp` | ERP Application | `pnpm dev` (boots stack + ERP via `crbn up` picker) | |
| 105 | | `mes` | MES | `pnpm dev` (select MES in picker, or both) | |
| 106 | | `academy` | Academy | `pnpm dev:academy` | |
| 107 | | `starter` | Starter | `pnpm dev:starter` | |
| 108 | | `assembler` | Geometry service (Rust): STEP → GLB + assembly motion planning | spawned by |