Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Experimental Features

These features are off by default and may change between releases. Each one is enabled with a command-line flag or a key under [experimental] in cobble.toml.

FeatureFlagcobble.toml
Resource-pack output--experimental-resource-packresource_pack = true
Plugin diagnosticscobble check --experimental-pluginsplugins = true
Python compatibility reportcobble check --experimental-python-compatpython_compat = true
Editor symbolscobble check --json --symbols

Resource-pack output has its own page: Resource Packs.

Plugin Diagnostics

Plugins are lint manifests in plugins/*.toml. Cobble reads them and runs the built-in rules they list. It never loads or runs code from a plugin. Start from the template:

cobble init --template plugin-diagnostics --name linted-pack
cd linted-pack
cobble check --experimental-plugins
plugin_version = 1
name = "example_lints"
kind = "diagnostics"
description = "Example diagnostics-only lint manifest"
minimum_cobble_version = "0.10.0"
diagnostic_rules = [
    "example_lints.no_tellraw",
    "example_lints.no_raw_op",
    "example_lints.no_gamemode_creative",
    "example_lints.max_raw_command_length",
]

[capabilities]
read_project_metadata = true
read_source_text = true
emit_diagnostics = true

Rules only run when the manifest grants both read_source_text and emit_diagnostics. Unknown manifest fields and capabilities are errors. With --json, findings appear under experimental_plugins.diagnostics[] with kind = "experimental-plugin-diagnostic".

Python Compatibility Report

cobble check --experimental-python-compat adds a report of the Python-like constructs Cobble supports, the ones your sources use, and the unsupported ones it found. Unsupported constructs stay errors; an entry includes a suggested_cobble_alternative when there is a direct rewrite. With --json, the report is the experimental_python_compat object. The browser compiler has the same report behind its Python compatibility toggle.

Editor Symbols

cobble check --json --symbols adds an experimental_symbols array of document symbols for editor integrations. The rest of the JSON report keeps its stable schema_version.