Docyrus CLI
Official command-line interface for Docyrus - authentication, project scaffolding, and code generation tools.
Usage
npx @docyrus/cli <command>
Commands
Authentication
login
Log in to Docyrus using browser-based SSO (default).
npx @docyrus/cli login
npx @docyrus/cli login --email
npx @docyrus/cli login -e user@example.com
logout
Log out from Docyrus and clear stored credentials.
npx @docyrus/cli logout
whoami
Display the currently logged-in user.
npx @docyrus/cli whoami
Project Creation
create [name]
Create a new Docyrus project from a template.
npx @docyrus/cli create
npx @docyrus/cli create my-app
npx @docyrus/cli create my-app --nextjs
npx @docyrus/cli create my-app --nextjs --shadcn
npx @docyrus/cli create my-app --react --shadcn
npx @docyrus/cli create my-app --vue --shadcn
npx @docyrus/cli create my-app --nextjs --shadcn --zustand --eslint --pnpm
Framework Options:
--nextjs | Use Next.js 16+ (App Router) |
--react | Use React 19+ with Vite |
--vue | Use Vue 3.5+ with Vite |
UI Library Options (optional - defaults to plain Tailwind if not specified):
--shadcn | Next.js, React (shadcn/ui) / Vue (shadcn-vue) |
State Management Options (optional):
--zustand | Next.js, React |
--tanstack-query | Next.js, React |
--tanstack-vue-query | Vue |
Linter Options:
--eslint | Use ESLint for linting |
--biome | Use Biome for linting |
--no-linter | Skip linter configuration |
Package Manager Options:
--pnpm | Use pnpm (recommended) |
--npm | Use npm |
--yarn | Use yarn |
--bun | Use bun |
Styling Options (shadcn only):
--style <style> | Component style (vega, nova, maia, lyra, mira) |
--base-color <color> | Base color theme (zinc, slate, neutral, stone, gray) |
--rtl | Enable RTL (right-to-left) support |
Other Options:
-p, --path <path> | Target directory path |
--alias <prefix> | Custom import alias prefix (must start with @) |
--local | Use local templates (development only) |
Each template includes:
- Pre-configured OAuth2 authentication via
@docyrus/signin
- Docyrus API client integration
- Modern TypeScript setup
- Linter configuration (ESLint or Biome)
Component Registry
Registry uç noktalarını özelleştirme:
DOCYRUS_REGISTRY_URL (varsayılan: https://ui.docy.app/r)
DOCYRUS_SHADCN_REGISTRY_URL (varsayılan: https://ui.docy.app/r/shadcn)
DOCYRUS_PLATE_REGISTRY_URL (varsayılan: https://ui.docy.app/r/plate)
add [items...]
Add Docyrus UI components, hooks, or utilities to your project.
Prerequisite: Run npx shadcn@latest init first to create components.json.
npx @docyrus/cli add button
npx @docyrus/cli add button dialog
npx @docyrus/cli add --all
npx @docyrus/cli add hooks-debounce
npx @docyrus/cli add utils-cn
npx @docyrus/cli add button --dry-run
npx @docyrus/cli add button -o
npx @docyrus/cli add button -p ./src/ui
What happens:
- Resolves components and their dependencies from the Docyrus registry
- Installs vendor primitives by fetching vendor registry items (shadcn/Plate) and writing files via
components.json aliases
- Writes Docyrus component files to
components/docyrus/
- Installs npm dependencies
- Bundled lib/hook files are shared across components (written once, skipped if exists)
- Plate installs always include core editor primitives (
editor, editor-kit) for editor/static compatibility
- Vendor-component files (e.g. editor/) are bundled with the component
Registry Names:
button | @docyrus/ui-button |
hooks-debounce | @docyrus/hooks-debounce |
utils-cn | @docyrus/utils-cn |
Options:
-a, --all | Install all available components from the registry |
-o, --overwrite | Overwrite existing files without prompting |
-d, --dry-run | Show what would be installed without making changes |
-p, --path <path> | Custom target path for files |
update
Update all installed Docyrus components to the latest version from the registry. Detects and optionally removes components that were deleted from the registry.
npx @docyrus/cli update
npx @docyrus/cli update --prune
npx @docyrus/cli update --dry-run
Scans components/docyrus/ and components/docyrus-native/ to detect installed components, resolves latest versions from the registry, and updates all files including new vendor primitives and npm dependencies. Components that no longer exist in the registry are reported as stale — use --prune to remove them.
Options:
-d, --dry-run | Show what would be updated without making changes |
--prune | Remove locally installed components that no longer exist in the registry |
list
List available Docyrus UI registry items (components, hooks, utilities) or published npm packages.
npx @docyrus/cli list
npx @docyrus/cli list --packages
npx @docyrus/cli list --json
Options:
--packages | List published @docyrus npm packages instead |
themes
Browse and manage Docyrus UI themes.
themes list
List all available theme presets.
npx @docyrus/cli themes list
themes add [name]
Apply a theme to your project's globals.css.
npx @docyrus/cli themes add midnight
npx @docyrus/cli themes add --url <share-url>
npx @docyrus/cli themes add --file ./theme.json
Options:
--url <url> | Apply theme from a share URL (overrides name argument) |
--file <path> | Apply theme from a local JSON file (overrides name argument) |
themes current
Display current :root and .dark CSS variables from your globals.css.
npx @docyrus/cli themes current
Code Generation
generate db [spec]
Generate TanStack Query collections from an OpenAPI 3.1.0 specification.
npx @docyrus/cli generate db
npx @docyrus/cli generate db ./api/openapi.json
npx @docyrus/cli generate db ./spec.json -o ./src/api
Options:
-o, --output <dir> | Output directory (defaults to src in spec file folder) |
Project Setup
commitlint
Set up commitlint, husky, and lint-staged in your project.
npx @docyrus/cli commitlint
CLI Management
upgrade
Upgrade the CLI to the latest version. Automatically detects your package manager (npm, pnpm, yarn, bun).
npx @docyrus/cli upgrade
info
Display CLI version, system information, and authentication status.
npx @docyrus/cli info
Global Options
--json
Output results in JSON format. Useful for scripting and CI/CD pipelines.
npx @docyrus/cli whoami --json
npx @docyrus/cli generate db ./spec.json --json
-v, --version
Display the CLI version.
-h, --help
Display help information.
npx @docyrus/cli --help
npx @docyrus/cli create --help
Environment Variables
DOCYRUS_API_URL | Override the API base URL |
DOCYRUS_OAUTH_CLIENT_ID | Override the OAuth2 client ID |
DOCYRUS_OAUTH_SCOPES | Override the OAuth2 scopes |
Token Storage
Credentials are securely stored using:
- macOS/Linux: System keychain (via
keytar)
- Fallback: Encrypted file in
~/.docyrus/
License
MIT