kiribuild
The reusable GitHub Action — Node 24 + the kiri CLI + kiri export. See the docs for how it fits into a deploy workflow.
Every package in the monorepo, its role, and its license — plus the satellite repos around it.
Kirigami is an npm workspaces monorepo. Every package below is published under the @kirigami scope from a single repo, and released together in dependency order — the version numbers below are fetched live from npm at build time, not typed by hand.
| Package | Role | Version | License |
|---|---|---|---|
@kirigami/cli |
The kiri command: build / export / watch / serve / run / mcp / create / install / cache / phpinfo. | v0.1.14 | GPL-3.0-or-later |
@kirigami/kirigami |
The engine: the Project API behind the CLI, the VS Code extension and the MCP server. | v3.2.7 | GPL-3.0-or-later |
@kirigami/mcp |
Model Context Protocol server, for AI assistants. | v0.1.12 | GPL-3.0-or-later |
@kirigami/php-prepros |
The PHP → HTML compiler and PHP class library. | v3.2.4 | GPL-3.0-or-later |
@kirigami/php-wasm |
PHP 8.5 compiled to WebAssembly for Node (JSPI, no browser support). | v8.5.11-3 | GPL-2.0-or-later |
@kirigami/struct-walker |
Recursive YAML/JSON walker: file refs, data URIs. | v1.0.6 | GPL-3.0-or-later |
@kirigami/sdk |
Plugin hook registry, and the on-disk Cache. | v0.3.1 | GPL-3.0-or-later |
@kirigami/canva |
Shared Sass/JS design system, this site included. | v2.7.0 | GPL-3.0-or-later |
@kirigami/plugin-highlight |
Build-time syntax highlighting, 0 runtime JS. | v0.3.0 | GPL-3.0-or-later |
@kirigami/plugin-extlink |
External link preview cards, SCRAPER-backed, cached to disk. | v0.2.1 | GPL-3.0-or-later |
@kirigami/plugin-embed |
YouTube / Vimeo oEmbed video cards, resolved client-side. | v0.2.2 | GPL-3.0-or-later |
@kirigami/plugin-player |
Audio players and playlists, waveform baked at build time. | v0.1.1 | GPL-3.0-or-later |
@kirigami/plugin-clip |
Local video players and silent loops, poster picked at build time. | v0.1.1 | GPL-3.0-or-later |
@kirigami/plugin-educ |
Course components: checklists, callout bubbles, link cards, colour pills, quotes, tool cards, CodePen embeds. | v0.3.0 | GPL-3.0-or-later |
@kirigami/audiowaveform-wasm |
BBC's audiowaveform compiled to WebAssembly: waveform peaks, SVG, ID3 tags. | v1.2.0 | GPL-3.0-or-later |
@kirigami/bestframe |
Picks the best still frame of a video with a tiny embedded aesthetic model, in WebAssembly. | v0.2.0 | LGPL-2.1-or-later |
Every internal @kirigami/* dependency is pinned to an exact version — bumping canva, say, means also bumping the dep range of every package that depends on it (kirigami, plugin-highlight, plugin-embed, …), even if nothing else about them changed. The release script topologically sorts the graph and walks it in that order, skipping a package outright if that exact version is already published:
sdk → canva → struct-walker → php-prepros → kirigami
→ plugin-highlight → plugin-extlink → plugin-embed
audiowaveform-wasm → plugin-player
bestframe → plugin-clip
sdk → plugin-educ
For each one still needing a release: run its build script, npm pack it into packs/, npm publish, then move to the next. Once everything is out, it purges the jsDelivr cache for kirigami.schema.json and every plugin's kirigami.optionsSchema — both are served from GitHub @main, and an editor would otherwise keep the stale copy for up to 12h after a schema change.
Outside the monorepo, all under the same php-kirigami GitHub org:
The reusable GitHub Action — Node 24 + the kiri CLI + kiri export. See the docs for how it fits into a deploy workflow.
The minimal starter template. npx kiri create default.
A full feature tour template. npx kiri create demo.
A blog with one Markdown page per post. npx kiri create blog.
Course documentation, with the plugin-educ components. npx kiri create kiridoc.
The desktop app that lets a site owner edit and publish: see Kiri Studio.
Builds the PHP 8.5 WebAssembly binary and the @kirigami/phpext-* packages. See PHP-WASM.
Four extensions written for Kirigami and built into the runtime: php-jsonk, php-mdhtml, php-navicat and php-norm.
The WebAssembly builds behind the media plugins: audiowaveform-wasm-compiler for plugin-player and libbestframe for plugin-clip.
This site — the one you're reading right now, built with Kirigami itself.