Gremorie CLI
Scaffold registry items into your project. One binary, three commands.
The Gremorie CLI is how primitives land in your project. It reads the registry, resolves cross-item dependencies, detects your framework, and writes the source where you expect it.
It does not download a package. The files become yours: edit them, own them, commit them.
Install
The CLI runs via your package runner. No global install is required.
npx gremorie@latest <command>pnpm dlx gremorie@latest <command>yarn dlx gremorie@latest <command>bunx gremorie@latest <command>Commands
init
Initialize Gremorie in a project. Detects your package manager, installs
the core dependencies (the tokens and framework core packages plus
class-variance-authority, clsx, and tailwind-merge), adds the
theme import to your global stylesheet, and prints the next steps.
npx gremorie@latest initFlags:
--dry-run-- print what would be installed and written without touching anything
add <items...>
Install one or more registry items, plus any cross-item dependencies.
npx gremorie@latest add ng-prompt-input ng-conversation ng-messageFlags:
--framework <angular|react>-- override detection (e.g. install a React primitive into a project the CLI labeled as Angular)--dry-run-- print the files that would be written without writing them
list
Print every primitive available in the registry, grouped by category.
npx gremorie@latest listUse this to discover what is shippable today. The output mirrors the Components catalog.
Framework auto-detection
When you run add without --framework, the CLI inspects your
package.json:
@angular/corepresent -> Angular edition (ng-*)reactpresent -> React edition (rx-*)- Both present (e.g. monorepo) -> CLI prompts which one
You can pass --framework to skip the prompt in CI or scripts.
Output paths
Each registry item declares its own target path, and the CLI writes the source there:
- React items --
src/components/gremorie/<category>/<name>/(e.g.src/components/gremorie/forms/button/button.tsx) - Angular items --
src/app/gremorie/<name>/(e.g.src/app/gremorie/button/button.ts)
The files become part of your project; move them and update the imports if you prefer a different layout.
Source
The CLI source lives in packages/cli on GitHub. PRs welcome -- see Contributing.