CLI: Build & Shipco create

co create — Start a new agent project

co create makes a new project directory with the hosted co-ai template and completes the local identity, profile, bundled skill links and coding-agent command indexes. You can start from this command without running co init first.

co create my-agent --yes
cd my-agent
co host

The name must be a new directory. To initialize an existing directory, use co init ./ --yes or add --template co-ai for template code.

What it prepares

Scope Files and behavior
Machine Create or reuse the identity in ~/.co/keys/; repair keys.env when missing
Local profile Create a missing ~/.co/agent.json; keep existing profile edits
Coding agents Link bundled skills into installed Codex/Claude Code and refresh their generated command indexes
New project agent.py, template dependencies and container files, .env, .co/host.yaml, framework docs and the control center
Project access Create a project invite code and record the creating identity as an admin
Git repository Add secret and runtime exclusions to .gitignore

Projects use the machine identity; they do not get a new signing keypair. Existing global setup does not skip the coding-agent checks. A missing link or a coding agent installed later is connected when another project is created. User skill directories and custom instruction text outside the generated index are preserved.

Managed-key authentication is attempted when no managed token is recorded. If the backend is unavailable, creation can continue with local setup and your own provider keys. Local completion does not prove a managed token is valid. See co init for the shared local setup and credential boundaries.

Templates

Template Purpose
co-ai Default hosted agent; specialize its role and project skills
custom Generate agent.py from a description using an available model key
co create my-agent --template co-ai --yes
co create site-monitor --template custom --description "Monitor a site and alert me"

Custom generation calls a model. The default template copies the bundled source. Old template names such as minimal and browser are no longer available; the CLI lists the supported choices when a template is unknown.

Options

Option Meaning
NAME New project directory; omit to choose a suggested name
--template, -t co-ai (default) or custom
--description What a custom agent should do
--key Explicit provider key for this project
--yes, -y Skip interactive prompts

An existing directory is refused before identity creation or authentication, with a suggested free name. Existing projects can be refreshed using co init ./. For profile customization and importing separate skills, see co setup.

In preview 1.9.3rc26, rerunning initialization also refreshes a bundled skill symlink into an older installed ConnectOnion package. Personal skill directories and links outside installed package layouts are preserved. Missing local profile fields receive defaults; invalid skill metadata is kept and reports how to repair it. All four entry points share this preparation.