Skip to main content

Duck CLI

Command-line tool for scaffolding projects and installing gentleduck/ui components. Five commands: init, add, update, diff, list.

6 commands

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 button

Free & 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.

Become a Sponsor