Skip to content

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-..."