CLI

Project Init

Create an Agent project and its global config with the CLI

Project Init

city agent create registers the Workspace independently and creates the Agent's user-level agent.json and SOUL.md. It does not generate an Agent declaration inside the Workspace or persist an Agent-Workspace binding.

city agent create

Without a path, the interactive flow lets you use the current directory or open the operating system's native folder picker. Pass a relative or absolute path to skip that choice:

city agent create .
city agent create ./my-project
city agent create /absolute/path/to/my-project

Generated structure:

my-project/
├── .env
├── .agents/
│   └── skills/
└── .downcity/

The Agent definition is written to ~/.downcity/agents/<agent_id>/agent.json with its SOUL.md; Workspace registration remains in downcity.db. Project .env overrides Global Env from ~/.downcity/.env; explicit process environment variables have the highest priority.

# Allow replacing an existing Agent file definition
city agent create ./my-project --force

After initialization, add project Skills under .agents/skills, inspect the generated agent_id with city agent list, then run city agent chat <agent_id> directly or use city on for the long-running City host.

Continue with:

Table of Contents