CLI
npx sketchxflow is Taste's own installer, new in October 2026: init adds your theme, add installs any item by name, login unlocks your Starter items.
sketchxflow is a small CLI on npm (no dependencies, Node.js 18.18 or newer). Run it with npx, pnpm dlx or bunx— nothing to install first. It's new (October 2026), so tell us what breaks.
init
Checks the project (package.json, the framework, src/, Tailwind v4 — if it's missing you get the exact install steps), finds your global stylesheet and writes your theme into it between /* sketchxflow:taste-theme start */ and end markers. It adds cn() at lib/utils.ts if missing (with clsx and tailwind-merge), saves its settings in sketchxflow.json and prints the font line for your layout.
$ npx sketchxflow init--brand <hex>, --corners sharp|soft|round and --font <id> pick the system (the command above already has yours); --css <path>names the stylesheet if it isn't found; --yes skips the question.
add
Adds one or more items by name — every item page shows its command. It writes components/taste/<name>.tsx with the imports pointed at your alias, adds the theme and cn()if the project doesn't have them, and installs the item's packages with npm, pnpm, yarn or bun (from your lockfile). It never replaces a file that differs without --overwrite (in a terminal it asks).
$ npx sketchxflow add button--dir <path> puts components somewhere else; --no-install prints the package command instead of running it.
login
For the Originals' code and templates (SketchXFlow Starter and up). It opens sketchxflow.com in your browser; once you're signed in, the terminal receives a CLI key that lasts 30 days. The key is saved in your user config folder — never in your project, never printed. logout removes it. Cancelling the plan turns Starter items off, even with a live key.
$ npx sketchxflow loginFor CI or a machine without a browser, make a key on sketchxflow.com/taste/cli and set it as SKETCHXFLOW_TOKEN, or put it in the project's .env.local (never commit it):
TASTE_TOKEN=<your key>list
Every name you can add, by shelf, with Starter items marked. --shelf and --search narrow it down:
$ npx sketchxflow list --shelf originalsOptions
--help on any command shows its options; --cwd <dir> runs it in another folder. Exit codes: 0 done, 1 failed, 2 bad usage, 3 sign-in or plan needed.
Using the shadcn CLI instead?
The shadcn CLI also works
Taste's registry uses the shadcn format, so the shadcn CLI can read it too. The theme and any free item install straight from a URL:
npx shadcn@latest add https://sketchxflow.com/taste/r/taste-theme.json
npx shadcn@latest add https://sketchxflow.com/taste/r/button.jsonTo add items by name, put the @taste registry in components.json:
{
"registries": {
"@taste": "https://sketchxflow.com/taste/r/{name}.json"
}
}For Starter items, use this form with your key as TASTE_TOKEN in .env.local (the shadcn CLI stops when the variable isn't set):
{
"registries": {
"@taste": {
"url": "https://sketchxflow.com/taste/r/{name}.json",
"headers": {
"Authorization": "Bearer ${TASTE_TOKEN}"
}
}
}
}npx shadcn@latest add @taste/ink-toggle