Ecosystem

Ecosystem

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/kirigami The kiri CLI — build / export / watch / serve / run / create / install / cache / phpinfo. v2.0.0 MIT
@kirigami/php-prepros The PHP → HTML compiler and PHP class library. v2.0.0 MIT
@kirigami/php-wasm PHP 8.5 compiled to WebAssembly for Node (JSPI, no browser support). v8.5.10-5 GPL-2.0-or-later
@kirigami/struct-walker Recursive YAML/JSON walker — file refs, data URIs. v1.0.5 MIT
@kirigami/sdk Plugin hook registry, and the on-disk Cache. v0.2.1 MIT
@kirigami/canva Shared Sass/JS design system — this site included. v2.6.0 MIT
@kirigami/plugin-highlight Build-time syntax highlighting, 0 runtime JS. v0.1.7 MIT
@kirigami/plugin-extlink External link preview cards, SCRAPER-backed, cached to disk. v0.1.3 MIT
@kirigami/plugin-embed YouTube / Vimeo oEmbed video cards, resolved client-side. v0.1.5 MIT

Release order

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
                    

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.


Satellite repos

Outside the monorepo, all under the same php-kirigami GitHub org:

kiribuild

The reusable GitHub Action — Node 24 + the kiri CLI + kiri export. See the docs for how it fits into a deploy workflow.

template-demo

A full feature tour template. npx kiri create demo.