@docyrus/cli
v0.6.1
Published
Docyrus CLI - Authentication and project management tools
Readme
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 # Opens browser for SSO authentication
npx @docyrus/cli login --email # Use email/password instead (prompts for credentials)
npx @docyrus/cli login -e [email protected] # Pre-fill email addresslogout
Log out from Docyrus and clear stored credentials.
npx @docyrus/cli logoutwhoami
Display the currently logged-in user.
npx @docyrus/cli whoami
# Output: Email: [email protected]
# Name: John DoeProject Creation
create [name]
Create a new Docyrus project from a template.
npx @docyrus/cli create # Interactive mode - prompts for all options
npx @docyrus/cli create my-app # Create project with specified name
npx @docyrus/cli create my-app --nextjs # Next.js + plain Tailwind
npx @docyrus/cli create my-app --nextjs --shadcn # Next.js + shadcn/ui
npx @docyrus/cli create my-app --react --heroui # React + HeroUI
npx @docyrus/cli create my-app --react --diceui # React + DiceUI
npx @docyrus/cli create my-app --vue --shadcn # Vue + shadcn-vue
npx @docyrus/cli create my-app --electron --shadcn # Electron + shadcn/ui
npx @docyrus/cli create my-app --nextjs --shadcn --zustand --eslint --pnpm # Full flagsFramework Options:
| Flag | Description |
|------|-------------|
| --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):
| Flag | Compatible Frameworks |
|------|----------------------|
| --shadcn | Next.js, React, Electron (shadcn/ui) / Vue (shadcn-vue) |
| --diceui | Next.js, React, Electron |
| --heroui | Next.js, React |
State Management Options (optional):
| Flag | Compatible Frameworks |
|------|----------------------|
| --zustand | Next.js, React, Electron |
| --tanstack-query | Next.js, React, Electron |
| --tanstack-vue-query | Vue |
Linter Options:
| Flag | Description |
|------|-------------|
| --eslint | Use ESLint for linting |
| --biome | Use Biome for linting |
| --no-linter | Skip linter configuration |
Package Manager Options:
| Flag | Description |
|------|-------------|
| --pnpm | Use pnpm (recommended) |
| --npm | Use npm |
| --yarn | Use yarn |
| --bun | Use bun |
Other Options:
| Option | Description |
|--------|-------------|
| -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
add [items...]
Add Docyrus UI components, hooks, or utilities to your project. Reads components.json to auto-detect the correct variant (Radix or Base).
Prerequisite: Run npx shadcn@latest init first to create components.json.
npx @docyrus/cli add button # Add a component (variant from components.json)
npx @docyrus/cli add button dialog # Add multiple components
npx @docyrus/cli add hooks-debounce # Add a hook
npx @docyrus/cli add utils-cn # Add a utility
npx @docyrus/cli add button --dry-run # Preview installation
npx @docyrus/cli add button -o # Overwrite existing files
npx @docyrus/cli add button -p ./src/ui # Custom target pathRegistry Names:
| Input | Registry Name |
|-------|---------------|
| button | @docyrus/ui-button |
| hooks-debounce | @docyrus/hooks-debounce |
| utils-cn | @docyrus/utils-cn |
Options:
| Option | Description |
|--------|-------------|
| -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 |
list
List available Docyrus UI registry items (components, hooks, utilities) or published npm packages.
npx @docyrus/cli list # List registry components
npx @docyrus/cli list --packages # List published @docyrus npm packages
npx @docyrus/cli list --json # Output as JSONOptions:
| Option | Description |
|--------|-------------|
| --packages | List published @docyrus npm packages instead |
Code Generation
generate db [spec]
Generate TanStack Query collections from an OpenAPI 3.1.0 specification.
npx @docyrus/cli generate db # Auto-detect openapi.json in current directory
npx @docyrus/cli generate db ./api/openapi.json # Specify spec file path
npx @docyrus/cli generate db ./spec.json -o ./src/api # Custom output directoryOptions:
| Option | Description |
|--------|-------------|
| -o, --output <dir> | Output directory (defaults to src in spec file folder) |
CLI Management
upgrade
Upgrade the CLI to the latest version. Automatically detects your package manager (npm, pnpm, yarn, bun).
npx @docyrus/cli upgradeinfo
Display CLI version, system information, and authentication status.
npx @docyrus/cli infoGlobal 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 --helpEnvironment Variables
| Variable | Description |
|----------|-------------|
| 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
