Reference

.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.db

Key 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.