Skip to main content

cpod-apps validate

Validate a CyberPod app folder or bundle.

Usage

cpod-apps validate [path] [options]

Arguments

ArgumentDescriptionDefault
pathApp folder or .zip bundle. (current directory)

Options

OptionDescription
-v, --verboseShow detailed output
--jsonOutput as JSON

Examples

Validate Current Directory

cpod-apps validate

Validate a Bundle

cpod-apps validate dist/my-app-1.0.0.zip

JSON Output

cpod-apps validate --json

What Gets Validated

For Folders

  • app.json - Schema validation
  • Required files - Dockerfile, package.json
  • SDK usage - Detects @cpod/sdk imports
  • Environment variables - Finds process.env usage

For Bundles (.zip)

All of the above, plus:

  • config.json - Auto-generated manifest
  • Integrity - Signature verification (if signed)

Output

Validating app: /path/to/my-app

App Information
Name My App
ID my-app
Version 1.0.0
Category productivity-collaboration

SDK Usage
Modules: auth, chat, users

Environment Variables
Required: NEXT_PUBLIC_CPOD_BASE_URL
Optional: NODE_ENV

Warnings
⚠ Missing README.md

✔ Validation passed

SDK Detection

The validator automatically detects which SDK modules your app uses:

// This import is detected:
import { getUser, chat, listProjects } from "@cpod/sdk";

// Detected modules: users, chat, projects

Environment Variable Detection

Finds all process.env usage and categorizes them:

// Required (no fallback):
const url = process.env.NEXT_PUBLIC_CPOD_BASE_URL;

// Optional (has fallback):
const env = process.env.NODE_ENV || "development";