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 --heroui
npx @docyrus/cli create my-app --react --diceui
npx @docyrus/cli create my-app --vue --shadcn
npx @docyrus/cli create my-app --electron --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 |
--electron | Use Electron + React + Vite |
UI Library Options (optional - defaults to plain Tailwind if not specified):
--shadcn | Next.js, React, Electron (shadcn/ui) / Vue (shadcn-vue) |
--diceui | Next.js, React, Electron |
--heroui | Next.js, React |
State Management Options (optional):
--zustand | Next.js, React, Electron |
--tanstack-query | Next.js, React, Electron |
--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 |
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_DICEUI_REGISTRY_URL (varsayılan: https://ui.docy.app/r/diceui)
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/DiceUI/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.
npx @docyrus/cli update
npx @docyrus/cli update --dry-run
Scans components/docyrus/ to detect installed components, resolves latest versions from the registry, and updates all files including new vendor primitives and npm dependencies.
Options:
-d, --dry-run | Show what would be updated without making changes |
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