Project Structure
What an Agent project directory contains and how the files relate
Project Structure
An Agent project is a directory that the CLI recognizes and can run. It contains configuration, prompts, and runtime data.
Directory layout
my-project/
├── downcity.json # project configuration
├── PROFILE.md # agent role definition
├── SOUL.md # long-term principles
├── .env # environment variables
├── .downcity/ # runtime data
│ ├── sessions/ # persisted conversation history
│ ├── logs/ # runtime logs
│ └── cache/ # plugin cache and temp files
└── src/ # your code (optional)Key files
downcity.json
The project configuration file. The CLI reads it at startup and passes its values to the Agent SDK constructor. See downcity.json.
PROFILE.md
Defines the agent's visible role. This is included in the system context for every session. See Profile.
SOUL.md
Defines deeper, more stable operating principles. Also included in the system context. See Profile.
.env
Project-specific environment variables. These overlay the host environment. The Agent SDK reads this file automatically.
.downcity/
The runtime data directory. Everything here is managed by the Agent SDK and plugins. You should not edit files inside it directly, but you may inspect logs and sessions for debugging.
Multiple projects
You can have multiple projects on the same machine. Each project is independent: its own config, its own sessions, its own runtime. The CLI operates on the project in the current working directory.
Continue with: