Experimental API
Which parts of Kiira's rule, plugin, and programmatic APIs are experimental, what that means for your plugin, and how to protect it with a test that runs check().
What is experimental
- Rules, plugins, and presets, and the
kiira-core/pluginentry that types them. - The three rule scopes and everything a rule's
ctxexposes:frontmatter,program,checker,project,fs, and the rest. editsfixes and how--fixand--fix --dry-runapply them.- The per-file
typescripthook for plugins and presets. check()fromkiira-core.
The JSON reporter's output has a schemaVersion, so a script that reads it can tell when the shape changes.
What is not
The CLI flags, exit codes, and config options that existed before rules and plugins are not part of this. rules, plugins, presets, and --rule are.
Build on it safely
- Pin
kiiraandkiira-coreto the same version, and update them together. - Keep a test that runs
check()on a small fixture and asserts the diagnostics your rules report. A change that breaks your plugin then fails your CI, not a reader's docs build. - Read the release notes before a minor update. A change to this API is listed there.
- Program rules only run on the classic engine. Set
engine: "classic"if your plugin needs one.
Next: Rules and presets reference, then Writing a plugin.