Universal plugins
One Plugin trait unifies libraries, targets, operations, rules, and options.
Learn more
Build your toolchain one plugin at a time.
One Plugin trait unifies libraries, targets, operations, rules, and options.
Learn more
The Host is an empty composer that loads kits, resolves dependencies, and runs capabilities.
Build one
Curated, version-pinned kits make language toolchains reproducible and swappable.
Explore kits
contribute::
(rule) is checked at compile time, so a Format rule cannot reach a Linter.
See how it works
Options are declared by the plugins that own them and resolved from kit, host, and user config.
Read about options
Targets are plugins, so the same language can compile to native, wasm, JS, or an interpreter.
View architecture
This documentation follows the Diátaxis framework, which separates documentation into four purposes: