PATH first:
npm i -g @tappify/cli installs the same CLI.
Tappify Extension Tools for Claude Code
This Claude Code plugin is for extension developers. It does not let workspace members access or operate Tappify through Claude. Install it from its GitHub repository:/reload-plugins.
To load a local checkout instead:
/extension-tools:new-extension scaffolds an extension, runs it on the sandbox
project, and publishes the first release.
The MCP server
The CLI serves it:tappify login wrote.
Every result carries
ok: true beside the keys above, which are the keys the
matching command’s --json prints where a command matches. A failure is
{ "ok": false, "error": { "what": …, "why": …, "fix": … } }. cwd is
optional everywhere it appears, and falls back to the directory the server
started in.
extension_doctor runs the whole set: the manifest and registry checks, then
your build, typecheck, lint, tests and the axe pass. extension_validate runs
only the four that need no build and no network beyond the cached registry, so
it is the one to call in a loop while you write the manifest.
extension_publish never publishes on the first call. It runs the project’s
build script when there is one, then the checks without the tooling set — no
typecheck, lint, tests or axe pass, which is why extension_doctor comes
first. Called with confirm: false it returns what would ship —
the bundle size, the entries, the scopes, the notes — and only confirm: true
uploads. Describing a release registers nothing: the extension id is claimed,
and Tappify’s own checks run against the bundle, only on the call you confirm.
notes is required on both calls, up to 1000 characters.
The VS Code extension
It is not on the Marketplace yet. Build thevsix from the checkout and
install that:
tappify.extension.json against the published schema and
completes every field. A manifest with a $schema line uses the hosted schema;
one without falls back to the copy bundled in the extension, so the file
validates with no network.
Twenty-one snippets write manifest entries under the tap- prefix:
tap-manifest for a whole manifest, and one for each contribution kind, from
tap-widget to tap-work.
Five commands run the CLI in a terminal named Tappify, reused across
commands, in the first folder of the workspace:
Add a contribution asks which kind in the editor and passes it on the command
line. Publish asks for nothing in the editor: the CLI asks for the release
notes in the terminal, where what you type goes to the CLI and not to your
shell.
What a model reads
Any page also serves its Markdown source: add
.md to the URL.
Rules an agent should hold
An agent building an extension is bound by the same rules a person is, and two of them are worth stating outright:- The registry is the source of truth for pages, slots, charts, tables, scopes,
categories and events. Read it with
extension_registry; a guessed slot fails the checks. src/tappify.d.tsis generated. Change the manifest or a schema and reruntappify extension types; a hand edit is overwritten by the next command.