---
title: "Create Application"
description: "Documentation for Create Application Command in ZeyOS SDK CLI"
canonical_url: "https://www.zeyos.com/sdk/application-management/zeysdk-create"
markdown_url: "https://www.zeyos.com/ai/guide/sdk/application-management/zeysdk-create.md"
section: "sdk"
authority: "guide"
language: "en"
source_repository: "zeyos/sdk-v2"
source_path: "docs/application-management/zeysdk-create.md"
source_revision: "a99897af74253b4dc5af6fecb9301cea0ae18e27"
---

# Create Application

The `create` command creates a local ZeyOS application by setting up the application manifest and default directory structure.

```bash
zeysdk create <APP_ID> [options]
```

**Parameters**

| Parameter | Description | Required | Example |
|-----------|-------------|----------|---------|
| `APP_ID` | Application ID | Yes | `my-app` |

**Options**

| Option | Description | Required | Example |
|--------|-------------|----------|---------|
| `--name <name>` | Display name; prompted when omitted | No | `--name="My App"` |
| `--vendor <vendor>` | Vendor name | No | `--vendor="ACME Inc"` |
| `--verbose` | Show detailed output | No | `--verbose` |

**Process**

1. **Input Validation**
   - Requires an application ID
   - Uses the display name from `--name` or prompts for one
   - Uses the vendor name when provided

2. **Project Scaffolding**
   - Refuses to run inside an existing app tree
   - Refuses to overwrite any existing target path
   - Creates the application directory named by `APP_ID`
   - Creates standard asset and configuration folders
   - Writes the initial `zeyos.app.json` manifest

3. **Initial Files**
   - Creates default settings files
   - Creates an empty `.zeysdk/sync.json`
   - Creates an empty project `README.md`
   - Leaves the app ready for asset management and linking

Creates a new ZeyOS application with the following structure:

```
my-app/
|-- .zeysdk/
|   `-- sync.json
|-- assets/
|-- resources/
|-- services/
|-- settings/
|   |-- defaultsettings.json
|   |-- settingscode.ixml
|   `-- usersettingscode.ixml
|-- weblets/
|-- README.md
`-- zeyos.app.json
```

**Examples**

```bash
zeysdk create my-app --name="My App"
zeysdk create customer-tools --name="Customer Tools" --vendor="ACME Inc"
zeysdk create reporting --name="Reporting" --verbose
```

**Error Handling**

| Error | Description | Resolution |
|-------|-------------|------------|
| Missing app ID | Required application ID was not provided | Pass `APP_ID` |
| Missing name | Display name was not provided | Pass `--name` or enter one when prompted |
| Invalid app ID | ID has unsupported characters or punctuation at either end | Use letters, numbers, dots, underscores, and hyphens, beginning and ending with a letter or number |
| Nested app | Command was run inside another app | Move to a parent workspace directory |
| Directory exists | Target directory already exists | Choose another `APP_ID` or directory |
| Write error | Files could not be created | Check local permissions |

**Notes**

- `create` only creates the local project structure
- If scaffolding fails after the directory is created, the incomplete target is removed
- Use `zeysdk link` to connect the app to an instance
- Use `zeysdk add` to register new assets after creation
- Keep `APP_ID` stable once the app is shared or deployed

**Best Practices**

- Use lowercase, descriptive application IDs
- Set `--vendor` when the app belongs to a company or team
- Commit the generated project before making large changes
- Link and push only after reviewing the generated manifest
