banira is built for CI: a smoke test that needs no per-component code, and a manifest diff that suggests the release type.
banira test compiles and mounts every element in your sources and asserts each one
registers and upgrades to an HTMLElement. It exits non-zero on the first failure, so it's a one-line CI gate:
$ banira test src/*.tsCommit the generated custom-elements.json, then on each change compare the new manifest against the
committed baseline. banira diff classifies the change:
$ banira diff baseline/custom-elements.json custom-elements.json--json to consume the diff programmatically in a release script.This very site is built and deployed by GitHub Actions: the static pages plus a freshly generated
TypeDoc API reference, published to GitHub Pages on every push to main. Per-component
reference pages come from banira doc, which defaults to PicoCSS but can inline a local
stylesheet for a fully offline page.
Ship the compiled output plus the generated .d.ts from banira types
so consumers get typed querySelector/createElement with no runtime import. banira itself
publishes to npm with provenance via Trusted Publishing (OIDC) — no long-lived token stored.