@docyrus/cli
DocyUI unified CLI tool for managing components across multiple frameworks.
Installation
npm install -g @docyrus/cli
pnpm add -g @docyrus/cli
Usage
End User Commands
Initialize project setup:
npx @docyrus/cli --framework react init
npx @docyrus/cli --framework vue init
npx @docyrus/cli --framework svelte init
npx @docyrus/cli --framework react-native init
Add components to your project:
npx @docyrus/cli --framework react add button
npx @docyrus/cli --framework vue add button
npx @docyrus/cli --framework svelte add button
npx @docyrus/cli --framework react-native add button
Maintainer Commands
These commands are for DocyUI maintainers to generate packages for NPM publishing:
Individual Component Packages
Create individual NPM packages for each component (e.g., @docyrus/react-button, @docyrus/vue-accordion):
pnpm --filter @docyrus/cli create:individual:react
pnpm --filter @docyrus/cli create:individual:vue
pnpm --filter @docyrus/cli create:individual:svelte
pnpm --filter @docyrus/cli create:individual:rn
pnpm --filter @docyrus/cli create:individual
Monolithic Packages
Create all-in-one packages containing all components (e.g., @docyrus/react, @docyrus/vue):
pnpm --filter @docyrus/cli create:monolithic:react
pnpm --filter @docyrus/cli create:monolithic:vue
pnpm --filter @docyrus/cli create:monolithic:svelte
pnpm --filter @docyrus/cli create:monolithic:rn
pnpm --filter @docyrus/cli create:monolithic
Package Structure
Individual Packages
Each component is published as a separate NPM package:
React:
@docyrus/react-accordion - Accordion component
@docyrus/react-button - Button component
@docyrus/react-card - Card component
- etc.
Usage:
import { DocyAccordion } from "@docyrus/react-accordion"
import { DocyButton } from "@docyrus/react-button"
Vue:
@docyrus/vue-accordion
@docyrus/vue-button
- etc.
Svelte:
@docyrus/svelte-accordion
@docyrus/svelte-button
- etc.
React Native:
@docyrus/rn-accordion
@docyrus/rn-button
- etc.
Monolithic Packages
All components bundled in framework-specific packages:
React:
import { DocyAccordion } from "@docyrus/react/docy-accordion"
import { DocyButton } from "@docyrus/react/docy-button"
Vue:
import { DocyAccordion } from "@docyrus/vue/docy-accordion"
Development
pnpm build
pnpm lint
pnpm type-check
Supported Frameworks
- React (18+)
- Vue (3+)
- Svelte (4+)
- React Native (0.70+)
License
MIT