CLI
downcity.json
The project configuration file that the CLI reads and passes to the Agent SDK
downcity.json
downcity.json is the project configuration file. The CLI reads it at startup and passes its contents to the Agent SDK constructor. You can also use it as a reference when configuring the SDK directly.
Minimal structure
{
"$schema": "./.downcity/schema/downcity.schema.json",
"id": "my-agent",
"version": "1.0.0",
"start": {
"port": 5314,
"host": "0.0.0.0"
},
"execution": {
"type": "api",
"modelId": "default"
},
"plugins": {}
}Key fields
id— stable agent identifier. Used for session storage and runtime directories.start— runtime startup config (port, host). CLI flags override this if provided.execution— binds the project to a model ID from the connected Federation AIService.plugins— plugin-level configuration.
What should not live here
- Full model provider definitions (those live in City / Federation AIService).
- Plaintext API keys or bot credentials (those live in
~/.downcity/downcity.dbor are injected through env). - Console-level control plane settings.
Relationship to SDK
When you use the SDK directly, you pass the same values as constructor options. downcity.json is just a serialized form of those options for CLI convenience.
Continue with: