.downcity Directory
Runtime data layout and what each folder is for
.downcity/ Directory
~/.downcity/ is Downcity's user-level configuration and runtime data directory. Downcity does not create a .downcity/ directory inside each project.
Typical layout
~/.downcity/
├── agents/<agent_id>/
│ ├── agent.json
│ ├── SOUL.md
│ ├── sessions/<origin_type>/<session_id>/
│ ├── archived-sessions/<origin_type>/<session_id>/
│ └── logs/
├── plugins/<plugin_id>/
│ └── config.toml
├── runtimes/city/
└── downcity.dbKey folders
agents/<agent_id>/logs/
Daily JSONL logs: <YYYY-MM-DD>.jsonl.
agents/<agent_id>/sessions/<origin_type>/<session_id>/messages/
Conversation source of truth: active.jsonl, agent_message.json, and sequence-named segments/*.jsonl.
The default origin partition is chat; custom non-empty origin types are encoded into one safe path segment.
Memory
Long-term Memory is not part of the Workspace .downcity/ contract. Agent-private content lives under agents/<agent_id>/plugins/memory/; City-shared User and Workspace content lives under memory/ and is isolated by MemoryPlugin subjects. City only supplies the shared root and does not implement Memory data logic.
Plugin runtime data
Plugin-owned runtime data uses the Agent-level storage scope exposed by PluginContext. Plugin definitions and unique configuration remain under ~/.downcity/plugins/<plugin_id>/.
Skills location
SkillPlugin scans .agents/skills (project) by default. If use: ["home"] is enabled in the constructor, it also scans ~/.agents/skills (user).
Security guidance
~/.downcity/may contain sensitive configuration, conversations, tokens, and execution traces.- Do not commit or copy the directory to an untrusted location.