Skip to content

Using the CLI

The VibeDepot CLI (@vibedepot/cli) is a command-line tool for scaffolding, testing, and publishing apps.

Terminal window
npm install -g @vibedepot/cli

Scaffold a new VibeDepot app with an interactive wizard.

Terminal window
vibedepot init my-app

Prompts:

  • App name — If not provided as an argument, the CLI asks for it.
  • Category — Choose from: productivity, writing, coding, files, research, data, media, integrations, utilities, fun.
  • Template — Choose a starter template.

Templates:

TemplateDescriptionDefault Permissions
vanillaPlain HTML/CSS/JSstorage.kv
reactReact with Viteai, storage.kv
chatChat interfaceai, storage.kv
file-processorFile handling appai, storage.kv, storage.files
api-integrationExternal API appai, storage.kv, network

Output:

my-app/
├── manifest.json # Pre-filled with your choices
└── index.html # Template-specific starter code

For the react template, additional files and a package.json are included. Run npm install and npm run build before previewing.


Preview your app in VibeDepot via sideloading.

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

Behavior:

  • macOS — Opens VibeDepot.app with a --sideload argument.
  • Linux — Runs vibedepot-shell --sideload.
  • Windows / Fallback — Prints manual sideloading instructions.

Changes to your app files auto-reload in the running window.

Requirements:

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

Validate your app against all publishing requirements.

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

Checks performed:

#CheckStatus on Failure
1Manifest schemaFail
2Entry file existsFail
3Bundle size ≤ 5 MBFail
4No hardcoded API keysFail
5Permissions match source usageWarn
6Valid semver versionFail
7Kebab-case app IDFail
8Thumbnail existsWarn

Exit codes:

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

Example output:

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.

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

Steps performed:

  1. Permission auto-detection — Scans source code for Bridge API usage. If permissions are used but not declared, they’re automatically added to manifest.json.
  2. Validation — Runs all 8 checks from vibedepot validate.
  3. Bundle creation — Creates a ZIP file and computes a SHA256 checksum.
  4. GitHub PR — Opens your browser with a pre-filled PR URL.

Output:

Validating...
✓ Manifest schema: Valid manifest.json
✓ Entry file: Found index.html
...
Creating bundle...
Bundle: /path/to/my-app-0.1.0.zip
Checksum: a1b2c3d4...
Opening GitHub...
✓ Done! Follow the instructions in your browser to create the pull request.
Bundle location: /path/to/my-app-0.1.0.zip