cpod-apps create
Scaffold a new CyberPod application.
Usage
cpod-apps create [name] [options]
Arguments
| Argument | Description |
|---|---|
name | App name (prompts if not provided) |
Options
| Option | Description | Default |
|---|---|---|
-t, --template <type> | Template to use | nextjs |
-d, --directory <path> | Target directory | ./<app-id> |
--no-interactive | Skip prompts, use defaults | - |
--dry-run | Preview without creating files | - |
Examples
Interactive Mode
cpod-apps create
Prompts for:
- App name
- App ID (auto-generated from name)
- Description
- Category
- Tags
- Icon
Quick Create
cpod-apps create my-app --no-interactive
Creates app with defaults using the provided name.
Preview
cpod-apps create my-app --dry-run
Shows what would be created without writing files.
Generated Files
my-app/
├── app.json # App manifest
├── Dockerfile # Container configuration
├── package.json # Dependencies
├── README.md # Documentation
├── next.config.js # Next.js config
├── tsconfig.json # TypeScript config
├── .gitignore # Git ignore rules
├── .env.example # Environment template
└── app/
├── layout.tsx # Root layout
├── page.tsx # Home page
└── globals.css # Global styles
App ID Naming
App IDs are automatically normalized to lowercase kebab-case:
| Input | Normalized ID |
|---|---|
My App | my-app |
MyAwesomeApp | my-awesome-app |
my_app_name | my-app-name |
Rules:
- Lowercase letters, numbers, and hyphens only
- 3-50 characters
- No consecutive hyphens
- Cannot start or end with hyphen