Bedrock CLI: Skip the lazy part, work hard and smart.

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.

VersionNode.jsLicense

// 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.

How we fix it

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.

How we fix it

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.

Recommended

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.

bash
$ 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.

bash
$ 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.

bash
$ 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.

typescript
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.

json
{
  "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.

json
{
  "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.

keyyard/bedrock-build

Default
  • Hot reload
    Built-in --watch
  • .mcaddon packaging
    One command
  • TypeScript
    Strict, pre-wired
  • Manifest UUIDs handled
    Auto-generated
  • Deploy automation
    Retail + custom path
  • Learning curve
    Low: 4 commands

Microsoft Samples

  • Hot reload
    Gulp watcher to com.mojang
  • .mcaddon packaging
    Not included
  • ~
    TypeScript
    Some samples only
  • Manifest UUIDs handled
    Copy-paste risk
  • Deploy automation
    Not included
  • ~
    Learning curve
    Medium

Community Templates

  • ~
    Hot reload
    Template-dependent
  • ~
    .mcaddon packaging
    Sometimes scripted
  • ~
    TypeScript
    Varies
  • ~
    Manifest UUIDs handled
    Per template
  • ~
    Deploy automation
    Sometimes
  • ~
    Learning curve
    Varies

Raw Setup

  • Hot reload
    DIY
  • .mcaddon packaging
    Zip by hand
  • TypeScript
    Set it up yourself
  • Manifest UUIDs handled
    Manual
  • Deploy automation
    Not included
  • Learning curve
    Steep

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