cate-extensions
July 26, 2026 · View on GitHub
Extensions for Cate. One folder per extension
under extensions/, published to the catalog Cate ships by default.
Extensions
- AI —
cate.aisession(session file viewer),cate.mcp(MCP server manager),cate.usage(agent usage and cost) - Data —
cate.sqlite(read-only SQLite browser) - Design —
cate.excalidraw(whiteboard),cate.mermaid(diagram editor) - Development —
cate.frontendkit,cate.kitchensink(reference apps,"dev": true, sideload only)
Layout
extensions/<id>/— one extensionkit/— shared UI kit: tokens, theme bridge, host typings, ServiceConnection, proxy api-client, server scaffolding (seekit/README.md)scripts/sync-kit.mjs— copieskit/into consumers'src/_kit/scripts/gen-catalog.mjs— buildsdist/catalog/index.jsonbuild.sh— sync-kit, npm builds, tars artifacts, generates the catalog
Development
./build.sh, then add the absolute path ofdist/catalog/index.jsonas a catalog source in Cate. Local entries re-provision on panel open.- Single extension: sideload its folder via Settings, Extensions, "Add local folder...".
Contributing
Authoring (manifest, scopes, window.cate API, server contract) lives in the
Cate repo: docs/extensions.md,
skills/cate-extension/SKILL.md.
Here:
extensions/<id>/withmanifest.json; a README's first line is the catalog description fallback.categoryin the manifest:ai,development,data,design,productivity,communication,sales,other. Pick by what it is for, not how it is built. The list stays short; useotherrather than adding one.- With a
buildscript, the artifact shipsmanifest.json+dist/; otherwise the folder as-is. - Kit consumers: add the id in
scripts/sync-kit.mjs, run it, commitsrc/_kit/(never edit it directly).--checkreports stale copies. - Not meant for users yet:
"dev": truekeeps it out of the catalog. ./build.shmust pass; bumpversionfor every published change.
Publishing
PR CI runs ./build.sh; merging to main rebuilds and uploads index.json
plus the artifact tarballs to the rolling catalog release.