Skip to content

CLI Commands Reference

The VibeDepot CLI (@vibedepot/cli) provides four commands for app development and publishing.

Terminal window
npm install -g @vibedepot/cli

Scaffold a new VibeDepot app.

Usage:

Terminal window
vibedepot init # Interactive prompt for name
vibedepot init my-app # Use "my-app" as the name

Interactive prompts:

PromptOptions
App nameFree text (if not provided as argument)
Categoryproductivity, writing, coding, files, research, data, media, integrations, utilities, fun
Templatevanilla, react, chat, file-processor, api-integration

Templates:

TemplateFiles CreatedPermissions
vanillaindex.html, manifest.jsonstorage.kv
reactReact project with package.json, Vite configai, storage.kv
chatChat UI templateai, storage.kv
file-processorFile handling templateai, storage.kv, storage.files
api-integrationAPI integration templateai, storage.kv, network

Generated manifest:

  • id — Derived from the name (lowercased, non-alphanumeric replaced with hyphens)
  • name — Title-cased version of the name
  • version0.1.0
  • entryindex.html (or dist/index.html for React template)
  • models — Included if template uses AI, with all three providers

Post-creation steps (React template):

Terminal window
cd my-app
npm install
npm run build

Preview your app in VibeDepot via sideloading.

Usage:

Terminal window
vibedepot preview # Current directory
vibedepot preview ./my-app # Specific path

Requirements:

  • A manifest.json must exist in the target directory
  • VibeDepot must be installed

Platform behavior:

PlatformBehavior
macOSRuns open -a "VibeDepot" --args --sideload="{path}"
LinuxRuns vibedepot-shell --sideload="{path}"
WindowsPrints manual sideloading instructions

If the app can’t be opened automatically, manual instructions are displayed.

Features:

  • File changes auto-reload in the running app window
  • No restart needed — save and see updates immediately

Validate your app against all publishing requirements.

Usage:

Terminal window
vibedepot validate # Current directory
vibedepot validate ./my-app # Specific path

Checks:

#CheckFail/WarnWhat It Checks
1Manifest schemaFailAll required fields present, correct types, valid values
2Entry fileFailThe file at manifest.entry exists on disk
3Bundle sizeFailTotal folder size ≤ 5 MB
4API key scanFailNo strings matching API key patterns in source files
5PermissionsWarnDeclared permissions match Bridge API usage in source
6VersionFailmanifest.version is valid semver (X.Y.Z)
7App IDFailmanifest.id is kebab-case (^[a-z0-9]+(-[a-z0-9]+)*$)
8ThumbnailWarnmanifest.thumbnail file exists (optional)

Exit codes:

  • 0 — All checks pass (warnings are OK)
  • 1 — One or more checks failed

Output format:

Validation Results:
✓ Manifest schema: Valid manifest.json
✓ Entry file: Found index.html
✓ Bundle size: 0.12 MB
✓ API key scan: No hardcoded keys found
⚠ Permissions: Unused: network
✓ Version: v0.1.0
✓ App ID: my-app
⚠ Thumbnail: No thumbnail (optional)

Bundle and submit your app to the registry.

Usage:

Terminal window
vibedepot publish # Current directory
vibedepot publish ./my-app # Specific path

Steps performed:

  1. Permission auto-detection — Scans source for Bridge API calls and adds undeclared permissions to manifest.json automatically.
  2. Validation — Runs all 8 checks from validate. Aborts on any failure.
  3. Bundle creation — Creates a ZIP file named {id}-{version}.zip and computes a SHA256 checksum.
  4. Open PR — Constructs a GitHub PR URL and opens it in the default browser.

Output:

Auto-adding detected permissions: notifications
Validating...
✓ Manifest schema: Valid manifest.json
...
Creating bundle...
Bundle: /path/to/my-app-0.1.0.zip
Checksum: a1b2c3d4e5f6...
Opening GitHub...
✓ Done! Follow the instructions in your browser to create the pull request.
Bundle location: /path/to/my-app-0.1.0.zip
Terminal window
vibedepot --version # Print CLI version
vibedepot --help # Show help
vibedepot <cmd> --help # Show help for a specific command