Validation CLI for Minecraft Bedrock content. Checks add-ons, world templates, skin packs, texture packs, persona pieces, and emotes, and reports every problem with a stable ID such as MANIFEST/601.
Node 22 or later.
npm install --global @sprightgames/spyglass
Or run without installing:
npx @sprightgames/spyglass check addon --input ./MyAddon
spyglass check addon --input ./MyAddon
spyglass check world --input ./MyWorld.mctemplate
spyglass check skin --input ./MySkins --layout marketplace --fail-on warning
spyglass --list-rules
The content type follows check: addon, world, skin, texture, or persona. --input takes a folder, a .mcaddon, .mctemplate, .mcworld, .mcpack, .mcpersona, or a .zip. spyglass with no command prints the help.
Every setting can also go in spyglass.config.json in the current folder. Command line options override it.
{
"$schema": "https://unpkg.com/@sprightgames/spyglass@0.5.0/schema/spyglass.config.schema.json",
"contentType": "addon",
"input": "build/validate",
"failOn": "warning"
}With this file, spyglass check validates build/validate as an add-on. The $schema line is optional. It lets an editor complete keys and show allowed values.
The exit code is 0 when nothing at or above --fail-on was found and 1 otherwise, so the command can be used directly in CI to block a build.
- Getting started
- Command line options, config file, output formats, exit codes
- Checks every check by group, with what it checks and how to fix it
- Layouts the folder structure of each content type
- Contributing architecture and how to add a check
MIT