CLI Commands¶
crabyard new¶
Generate a new Tauri v2 desktop app.
crabyard new [APP_NAME] [OPTIONS]
Arguments¶
| Argument | Description |
|---|---|
APP_NAME |
Display name for the app (e.g. "My Desktop App"). If omitted, prompted interactively. |
Options¶
| Flag | Description | Default |
|---|---|---|
--auth <MODULE> |
Auth provider: github, google, or none |
Interactive prompt |
--ui <FRAMEWORK> |
UI framework: shadcn, daisyui, or minimal |
Interactive prompt |
--slug <SLUG> |
App slug (derived from name if omitted) | Auto-derived |
--bundle-id <ID> |
Bundle identifier (derived from slug if omitted) | Auto-derived |
--app-version <VER> |
Initial version | 0.1.0 |
--author <NAME> |
Author name | Empty |
--description <DESC> |
Short description | Empty |
--template <DIR> |
Path to a local template directory | API download |
--recipe <FILE> |
Reuse a generated crabyard.recipe.toml |
None |
--preset <NAME> |
Apply minimal, desktop, or local-first defaults |
None |
--dry-run |
Print a JSON generation plan without downloading, installing, or writing files | false |
--brief <TEXT> |
Generate a focused docs/AI_CONTEXT.md handoff with the new app |
None |
--output <DIR> |
Output directory | ./<app-slug> |
--license-key <KEY> |
License key for template download | $CRABYARD_LICENSE_KEY |
--yes / -y |
Accept all defaults without prompting | false |
--no-git |
Skip git init and initial commit |
false |
--no-install |
Skip frontend dependency installation and icon generation | false |
--pm <PM> |
Package manager: bun, pnpm, yarn, or npm |
Configured default, otherwise bun |
--extras <FEATURE,...> |
Comma-separated extras to include (e.g. notifications,clipboard) |
None |
Environment variables¶
| Variable | Description |
|---|---|
CRABYARD_LICENSE_KEY |
License key (alternative to --license-key) |
CRABYARD_TEMPLATE |
Local template path (alternative to --template) |
CRABYARD_API_URL |
Explicit HTTPS origin for the licensed API; no credentials, path, query, or fragment |
Examples¶
# Fully interactive
crabyard new
# Named, interactive module selection
crabyard new "My App"
# Fully non-interactive
crabyard new "My App" --auth github --ui shadcn --yes
# Using a local template
crabyard new "My App" --template ./my-scaffold --yes --no-install
Presets and reproducible recipes¶
crabyard presets
crabyard presets --json
crabyard new "My App" --preset desktop --yes
crabyard new "Local Notes" --preset local-first --dry-run
crabyard new --recipe ./my-app/crabyard.recipe.toml --output ./another-app --yes
minimal selects no authentication and the minimal UI. desktop adds shadcn, logging, saved window state, and notifications. local-first selects shadcn, SQLite, logging, saved window state, and a command palette.
Every generated app includes crabyard.recipe.toml with its selected stack and app metadata. Commit the recipe to reproduce that selection. Explicit flags override recipe fields. Recipes reject unknown fields and exclude license keys and machine paths.
For source generation in CI, use a local checkout of crabyard-templates:
crabyard new "CI App" --template ../crabyard-templates --preset minimal --yes --no-install --no-git
This path does not prompt or install desktop toolchains. Building the generated app still requires the platform prerequisites.
crabyard doctor¶
Check system prerequisites for Tauri development.
crabyard doctor
Verifies the following are installed and meet minimum versions:
| Check | Minimum |
|---|---|
| Rust | 1.90 |
| Cargo | (any) |
| Bun | 1.1 |
| Git | (any) |
| Tauri CLI | (any, optional) |
| WebView2 | Windows only |
| webkit2gtk / javascriptcoregtk / gtk3 / libsoup3 | Linux only |
Outputs a pass/fail summary with version numbers and actionable fix instructions for any failures.
crabyard check¶
Inspect a generated project's configuration without changing files.
crabyard check --project ./my-app
crabyard check --project ./my-app --json
crabyard check --project ./my-app --strict
The report checks project identity, missing lockfiles and agent guidance, OAuth configuration, release preparation, capabilities, and secret-ignore hazards. Findings include stable IDs and next actions. Errors return exit code 1; --strict also treats warnings as failures. --project defaults to the current directory.
crabyard context¶
Export a focused coding-agent handoff for the current project.
crabyard context --project ./my-app --brief "Add tags and Markdown export"
crabyard context --project ./my-app --brief "Add search" --dry-run
crabyard context --project ./my-app --brief "Add search" --output docs/SEARCH_CONTEXT.md
The default output is docs/AI_CONTEXT.md. The document includes selected stack and features, relevant files, readiness blockers, and a first-slice and verification plan. Environment values and source bodies are excluded. Existing output files are preserved. See AI Handoff & Readiness.
crabyard update-ui¶
Update or switch the UI framework in an existing project.
crabyard update-ui [OPTIONS]
Options¶
| Flag | Description | Default |
|---|---|---|
--switch <FRAMEWORK> |
Switch to a different UI framework: shadcn, daisyui, or minimal |
Current framework |
--template <DIR> |
Path to the template directory | API download |
--license-key <KEY> |
License key for template download | $CRABYARD_LICENSE_KEY |
--force |
Overwrite locally modified files without prompting | false |
--dry-run |
Show what would change without modifying files | false |
--rollback |
Rollback to the previously used UI framework | false |
Examples¶
# Switch from shadcn to daisyui
crabyard update-ui --switch daisyui
# Preview changes without applying
crabyard update-ui --switch minimal --dry-run
# Rollback to the previous UI
crabyard update-ui --rollback
crabyard add¶
Add a Tauri plugin or feature to an existing project. Automatically wires up npm dependencies, Cargo dependencies, Tauri plugin registration, and capabilities.
crabyard add <FEATURE> [OPTIONS]
Arguments¶
| Argument | Description |
|---|---|
FEATURE |
Feature to add. Use list to see all available features. |
Options¶
| Flag | Description | Default |
|---|---|---|
--project <DIR> / -p |
Path to the project directory | Current directory |
--dry-run |
Show what would change without modifying files | false |
Available features¶
| Feature | Description |
|---|---|
notifications |
System notifications via tauri-plugin-notification |
clipboard |
Clipboard read/write via tauri-plugin-clipboard-manager |
global-shortcut |
Global keyboard shortcuts via tauri-plugin-global-shortcut |
autostart |
Launch at system startup via tauri-plugin-autostart |
log |
Structured logging via tauri-plugin-log |
sql |
SQLite database via tauri-plugin-sql |
fs |
Filesystem access via tauri-plugin-fs |
shell |
Execute shell commands via tauri-plugin-shell |
http |
HTTP client via tauri-plugin-http |
deep-link |
Custom URL protocol handler via tauri-plugin-deep-link |
tray |
System tray icon with context menu |
updater |
Auto-updater via tauri-plugin-updater |
store |
Persistent key-value store via tauri-plugin-store |
cmdk |
Command palette component (Ctrl/Cmd+K) |
i18n |
Internationalization with react-i18next |
multi-window |
Multi-window support with WebviewWindow API |
tanstack-query |
Data fetching and caching with TanStack Query |
framer-motion |
Animations and transitions with Motion |
react-hook-form |
Form management with React Hook Form + Zod |
zod |
Runtime schema validation with Zod |
tanstack-router |
Type-safe routing with TanStack Router |
date-fns |
Modern date utility library |
sentry |
Error tracking and crash reporting with Sentry |
window-state |
Persist and restore window size/position |
Examples¶
# List available features
crabyard add list
# Add notifications plugin
crabyard add notifications
# Preview adding SQL support
crabyard add sql --dry-run
crabyard eject¶
Remove Crabyard metadata from a generated project, leaving a clean standalone Tauri app. Deletes manifest.toml and strips any remaining CRABYARD: markers from source files.
crabyard eject [OPTIONS]
Options¶
| Flag | Description | Default |
|---|---|---|
--project <DIR> / -p |
Path to the project directory | Current directory |
--dry-run |
Show what would change without modifying files | false |
Examples¶
# Eject the current project
crabyard eject
# Preview what would be removed
crabyard eject --dry-run
crabyard preview¶
Preview the file tree that would be generated for a given auth and UI combination, without creating any files.
crabyard preview [OPTIONS]
Options¶
| Flag | Description | Default |
|---|---|---|
--auth <MODULE> |
Auth module: github, google, or none |
none |
--ui <FRAMEWORK> |
UI framework: shadcn, daisyui, or minimal |
shadcn |
--template <DIR> |
Path to the template directory | Auto-detect |
--license-key <KEY> |
License key for template download | $CRABYARD_LICENSE_KEY |
Examples¶
# Preview default scaffolding (none auth + shadcn)
crabyard preview
# Preview with GitHub auth and DaisyUI
crabyard preview --auth github --ui daisyui
crabyard upgrade¶
Check for and apply template updates to an existing project. Compares your project files against the latest template version and shows what has changed.
crabyard upgrade [OPTIONS]
Options¶
| Flag | Description | Default |
|---|---|---|
--template <DIR> |
Path to the template directory | Auto-detect |
--license-key <KEY> |
License key for template download | $CRABYARD_LICENSE_KEY |
--force |
Overwrite locally modified files without prompting | false |
--dry-run |
Show what would change without modifying files | false |
Examples¶
# Check for template updates
crabyard upgrade --dry-run
# Apply template updates
crabyard upgrade --force
crabyard plugins¶
Browse the catalog of official Tauri v2 plugins with descriptions and install hints.
crabyard plugins [FILTER]
Arguments¶
| Argument | Description |
|---|---|
FILTER |
Optional keyword to filter the list (e.g. storage, window) |
Examples¶
# List all plugins
crabyard plugins
# Filter by keyword
crabyard plugins window
crabyard init¶
Initialize Crabyard in an existing Tauri v2 project. Detects the current project name and bundle identifier from tauri.conf.json and writes a manifest.toml so that crabyard update-ui, crabyard add, and crabyard upgrade can be used.
crabyard init [OPTIONS]
Options¶
| Flag | Description | Default |
|---|---|---|
--project <DIR> / -p |
Path to the project directory | Current directory |
Examples¶
# Initialize in current directory
crabyard init
# Initialize a specific project
crabyard init -p ../my-tauri-app
crabyard completions¶
Generate shell completion scripts for crabyard commands.
crabyard completions <SHELL>
Arguments¶
| Argument | Description |
|---|---|
SHELL |
Shell to generate completions for: bash, zsh, fish, powershell, or elvish |
Examples¶
# Bash
crabyard completions bash >> ~/.bashrc
# Zsh
crabyard completions zsh >> ~/.zshrc
# Fish
crabyard completions fish > ~/.config/fish/completions/crabyard.fish
# PowerShell
crabyard completions powershell >> $PROFILE
Configuration file¶
Crabyard reads ~/.crabyardrc (TOML format) for default preferences. CLI flags and environment variables always take priority over config file values.
[defaults]
pm = "bun"
auth = "github"
ui = "shadcn"
author = "Your Name"
license_key = "CRAB-..."