UNPKG

@docyrus/cli

Version:

DocyUI unified CLI tool for all frameworks

149 lines (106 loc) 3.11 kB
# @docyrus/cli DocyUI unified CLI tool for managing components across multiple frameworks. ## Installation ```bash npm install -g @docyrus/cli # or pnpm add -g @docyrus/cli ``` ## Usage ### End User Commands Initialize project setup: ```bash 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: ```bash 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`): ```bash # React individual packages (@docyrus/react-*) pnpm --filter @docyrus/cli create:individual:react # Vue individual packages (@docyrus/vue-*) pnpm --filter @docyrus/cli create:individual:vue # Svelte individual packages (@docyrus/svelte-*) pnpm --filter @docyrus/cli create:individual:svelte # React Native individual packages (@docyrus/rn-*) pnpm --filter @docyrus/cli create:individual:rn # Default (React) pnpm --filter @docyrus/cli create:individual ``` #### Monolithic Packages Create all-in-one packages containing all components (e.g., `@docyrus/react`, `@docyrus/vue`): ```bash # React monolithic package (@docyrus/react) pnpm --filter @docyrus/cli create:monolithic:react # Vue monolithic package (@docyrus/vue) pnpm --filter @docyrus/cli create:monolithic:vue # Svelte monolithic package (@docyrus/svelte) pnpm --filter @docyrus/cli create:monolithic:svelte # React Native monolithic package (@docyrus/react-native) pnpm --filter @docyrus/cli create:monolithic:rn # Default (React) 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:** ```javascript 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:** ```javascript import { DocyAccordion } from "@docyrus/react/docy-accordion" import { DocyButton } from "@docyrus/react/docy-button" ``` **Vue:** ```javascript import { DocyAccordion } from "@docyrus/vue/docy-accordion" ``` ## Development ```bash # Build CLI pnpm build # Lint pnpm lint # Type check pnpm type-check ``` ## Supported Frameworks - React (18+) - Vue (3+) - Svelte (4+) - React Native (0.70+) ## License MIT