Duck CLI
Command-line tool for scaffolding projects and installing gentleduck/ui components. Five commands: init, add, update, diff, list.
Components as source, not as a dependency
Duck CLI copies registry source into your project. You own every file. `update` pulls new revisions without forcing breaking changes on you.
init
Writes a `duck-ui.config.json`, wires Tailwind, installs base dependencies, and detects your framework.
add
Install registry components by name. Resolves dependencies, writes source into your project, and respects your tsconfig aliases.
update
Pulls the latest registry source into components you already installed. Stay in sync without hand-editing 50 files.
diff
Diffs your local copy against the registry. Review upstream changes before running `update`.
list
Browse the registry from your terminal. Categories, names, and current versions in one view.
Monorepo-aware
Pass `--monorepo` at init and `--workspace apps/web` on every command. The CLI scaffolds per-workspace.
Install
Works with Next.js, Vite, Remix, and Astro.
# Scaffold your project
npx @gentleduck/cli init
# Add components
npx @gentleduck/cli add buttonFree & open source
gentleduck is MIT licensed and will always be free and open source. Every package ships with full source access — fork it, modify it, own it.