Skip the lazy part,
work hard and smart.
The fastest way to bootstrap, build, and ship Minecraft Bedrock add-ons.
npx create-mc-bedrock
Run in your terminal after installing Node.js.
// pain
Leave us the lazy setup work, focus on building.
Spend your time creating, not setting up. All the essentials are handled for you, so you can jump straight into development.
Manual deploy loop
TS-compile, copy to com.mojang, reload the world, repeat. Forever.
bedrock-build deploy --watch rebuilds and re-syncs on save.
bedrock-build deploy --watch
No manual zipping
Packaging an addon meant hand-zipping folders and praying the structure was right.
bedrock-build pack produces a clean .mcaddon in one command.
bedrock-build pack
// paths
One CLI, three starting points
Pick the source that matches your goal. You can always switch later.
keyyard/bedrock-build
Full-featured workspace with our compiler. Pick this if you want hot reload, .mcaddon packaging, and TypeScript out of the box.
Best for: shipping serious add-ons fast.
Microsoft Samples
Official Microsoft scripting samples, unmodified. Pick this if you're following an MS tutorial verbatim.
Best for: learning the raw API the way Microsoft demos it.
Community Templates
Curated starters contributed by the community. Pick this for specialized starters like custom items, entities, or minigames.
Best for: niche projects with a head start.
// features
Everything a professional Bedrock dev needs.
From an 8 year experienced developer who worked on the official Minecraft x Cut the Rope DLC.
One command to scaffold
Pick a source, get a manifest, install deps, done. No copy-paste setup.
$ npx create-mc-bedrock ? Project name › my-addon ? Source › Custom (recommended) ? Install deps? › yes ✓ workspace ready in my-addon/
Hot reload to com.mojang
Edit, save, see it in Minecraft. No alt-tab, no manual copy.
$ bedrock-build deploy --watch → watching packs/ and src/ → build OK · synced BP + RP → build OK · synced BP + RP
Production builds
Minified, sourcemap-free bundles ready for Marketplace, CurseForge, or anywhere.
$ bedrock-build pack → build --release → packaged dist/my-addon-1.0.0.mcaddon
TypeScript first
Strict types against @minecraft/server. Autocomplete and refactor like a real codebase.
import { world } from "@minecraft/server"; world.afterEvents.playerSpawn.subscribe((e) => { e.player.sendMessage("Welcome!"); });
Fresh UUIDs every time
Manifests are regenerated at scaffold time. Two projects never collide on import.
{ "header": { "name": "my-addon", "uuid": "9c1d…<auto>", "version": [1, 0, 0] } }
Config you can actually read
One bedrock.config.json controls entry, pack paths, deploy target, and engine version.
{ "name": "my-addon", "entry": "src/main.ts", "packs": { "bp": "packs/BP", "rp": "packs/RP" }, "deploy": { "target": "retail" } }
// comparison
How the sources stack up
Different starting points, different trade-offs. Custom is our opinionated default, but it's not the right answer for every project.
| Feature | keyyard/bedrock-build | Microsoft Samples | Community Templates | Raw Setup |
|---|---|---|---|---|
| Hot reload | ✓Built-in --watch | ✓Gulp watcher to com.mojang | ~Template-dependent | ✕DIY |
| .mcaddon packaging | ✓One command | ✕Not included | ~Sometimes scripted | ✕Zip by hand |
| TypeScript | ✓Strict, pre-wired | ~Some samples only | ~Varies | ✕Set it up yourself |
| Manifest UUIDs handled | ✓Auto-generated | ✕Copy-paste risk | ~Per template | ✕Manual |
| Deploy automation | ✓Retail + custom path | ✕Not included | ~Sometimes | ✕Not included |
| Learning curve | ✓Low: 4 commands | ~Medium | ~Varies | ✕Steep |
keyyard/bedrock-build
Default- ✓Hot reloadBuilt-in --watch
- ✓.mcaddon packagingOne command
- ✓TypeScriptStrict, pre-wired
- ✓Manifest UUIDs handledAuto-generated
- ✓Deploy automationRetail + custom path
- ✓Learning curveLow: 4 commands
Microsoft Samples
- ✓Hot reloadGulp watcher to com.mojang
- ✕.mcaddon packagingNot included
- ~TypeScriptSome samples only
- ✕Manifest UUIDs handledCopy-paste risk
- ✕Deploy automationNot included
- ~Learning curveMedium
Community Templates
- ~Hot reloadTemplate-dependent
- ~.mcaddon packagingSometimes scripted
- ~TypeScriptVaries
- ~Manifest UUIDs handledPer template
- ~Deploy automationSometimes
- ~Learning curveVaries
Raw Setup
- ✕Hot reloadDIY
- ✕.mcaddon packagingZip by hand
- ✕TypeScriptSet it up yourself
- ✕Manifest UUIDs handledManual
- ✕Deploy automationNot included
- ✕Learning curveSteep
Note: tools like Regolith are powerful for advanced multi-pack pipelines. We just optimize for fast onboarding instead.
Ready to ship your add-on?
One command to scaffold, one command to deploy, one command to pack. That's the whole pitch.
npx create-mc-bedrock