compadcn is a modern CLI wrapper around shadcn-ui that adds presets, remove support, linting, and an interactive TUI for blazing-fast component workflows.
https://github.com/lirena00/compadcn.git
A powerful CLI tool for installing and managing ShadCN UI components with preset functionality.
npm install -g compadcn
# or
pnpm add -g compadcn
# or
yarn global add compadcn
compadcn add [components...]Add ShadCN components to your project.
# Interactive mode - select components from a non installed components list
compadcn add
# Add specific components
compadcn add button card dialog
compadcn remove [components...]Remove ShadCN components from your project.
# Interactive mode - select installed components to remove
compadcn remove
# Remove specific components
compadcn remove button card
Features:
compadcn lintFind and remove unused ShadCN components from your project.
compadcn lint
Features:
compadcn presetManage component presets - collections of commonly used components.
# Interactive preset manager
compadcn preset
# List all available presets
compadcn preset list
compadcn preset list --builtin # Show only builtin presets
compadcn preset list --custom # Show only custom presets
# Show components in a preset
compadcn preset show core
compadcn preset show "My Custom Preset"
# Install all components from a preset
compadcn preset install dashboard
compadcn preset install mobile
# Create a custom preset
compadcn preset create "my-preset" button card input
compadcn preset create "my-preset" --description "My custom components"
compadcn preset create "my-preset" --base core,form # Extend multiple existing presets
compadcn preset create "dashboard-mobile" --base dashboard,mobile --description "Mobile dashboard components"
# Delete a custom preset
compadcn preset delete "my-preset"
components.json filecomponents.json file to understand your project structurecompadcn works with the standard ShadCN project structure:
your-project/
โโโ components.json # ShadCN configuration
โโโ src/
โ โโโ components/
โ โโโ ui/ # Components directory
โ โโโ button.tsx
โ โโโ card.tsx
โ โโโ ...
โโโ package.json
Custom presets are stored in ~/.compadcn/custom-presets.json and can be:
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)