A tile-based programming language for creative coding applications.
Mindcraft programs are built by arranging tiles -- typed, composable tokens -- into rules. Each rule has a WHEN side (condition) and a DO side (action). A collection of rules forms a brain that drives an autonomous actor. Host applications extend the language with custom types, sensors, and actuators.
The core library compiles to Roblox (Luau), Node.js, and browser (ESM) targets from a single TypeScript codebase.
The companion mindcraft-mcu repository extends Mindcraft to embedded hardware, starting with the BBC micro:bit: a native C++ implementation of the bytecode VM that runs brains on the device, plus a browser simulator and CODAL-inspired web device runtime for authoring and testing. A brain you build and test in the browser flashes to a real micro:bit over WebUSB and runs unchanged.
Mindcraft draws inspiration from other tile-based programming systems past and present, including Kodu Game Lab, Project Spark (Wiki), and MicroCode.
- Ecosystem Sim -- carnivores, herbivores, and plants driven by user-editable Mindcraft brains
- Code a BBC micro:bit -- program a micro:bit with Mindcraft in your browser, then flash the brain to real hardware (mindcraft-mcu)
| Package | Description |
|---|---|
| @mindcraft-lang/core | Mindcraft Language runtime -- tiles, parser, compiler, VM (multi-target: Roblox, Node.js, ESM) |
| @mindcraft-lang/app-host | Project management, workspace storage, and IDB persistence for Mindcraft apps |
| @mindcraft-lang/ui | Shared React UI -- shadcn/ui primitives + brain editor components |
| @mindcraft-lang/docs | Shared documentation subsystem -- renders as in-app sidebar or full-screen SPA |
| @mindcraft-lang/ts-compiler | TypeScript-to-Mindcraft bytecode compiler |
| @mindcraft-lang/assistant-bridge | Assistant bridge -- the open tool contract, catalog digest, trace summarizer, target adapter interface, and rehearsal adapter kit |
| @mindcraft-lang/assistant-relay | Assistant relay protocol -- the session handshake, turn events, and tool-call wire an assistant service speaks with a client |
| @mindcraft-lang/service-api | Request/response schemas, shared enums, error shapes, and serialization formats for backend service APIs |
| @mindcraft-lang/cli | Command-line tools for Mindcraft projects |
| @mindcraft-lang/bridge-protocol | VS Code bridge network protocol types and schemas |
| @mindcraft-lang/bridge-client | Client SDK for the VS Code bridge |
| @mindcraft-lang/bridge-app | Opinionated layer atop bridge-client for the VS Code bridge |
| App | Description |
|---|---|
| Ecosystem Sim | Demo: carnivores, herbivores, and plants driven by user-editable Mindcraft brains |
| Ecosystem Sim for Roblox | Roblox projection of the Ecosystem Sim, built on the core library's Luau target |
| VS Code Extension | Author Mindcraft sensors and actuators in TypeScript using VS Code Web (Marketplace) |
| VS Code Bridge | Bridge server that relays between the VS Code extension and Mindcraft apps |
Install the packages you need:
# Core only (language runtime, compiler, VM)
npm install @mindcraft-lang/core
# Core + UI (adds brain editor and shadcn/ui components)
npm install @mindcraft-lang/core @mindcraft-lang/ui
# Full stack (adds documentation sidebar and renderer)
npm install @mindcraft-lang/core @mindcraft-lang/ui @mindcraft-lang/docs
# For VS Code integration, see apps/ecosim for example implementation.For full setup instructions -- Vite config, TypeScript paths, Tailwind, and component usage -- see the Integration Guide.
Documentation is a work in progress. Browse the sim demo's language documentation online. See also the core package README for language architecture, the ui package README for the shared React components, and the docs package README for the documentation system.
To report a bug or request a feature, please open an issue.
