Skip to content

Files and folders ​

Every file and folder Pomelo reads or writes, and the environment variables that move them. Paths use myproject for a project and feat-login for a workspace branch.

Environment variables ​

VariableMovesDefault
POMELO_CONFIG_DIRApp config~/.config/pomelo
XDG_STATE_HOMERuntime state, to $XDG_STATE_HOME/pom~/.local/state/pom
POM_SESSIONS_ROOTWhere the app creates new projects~/pom
POM_PTY_SOCK_DIRThe sockets of the processes that hold services and terminals$XDG_RUNTIME_DIR/pom-pty, else /tmp/pom-pty-<uid>

Project folder ​

A project created in the app lives in ~/pom/myproject/; one you opened lives where it already was.

PathWhat
pom.ymlThe project's config.
pom.yml.bakThe config as it was before Import Config replaced it, or before an old split config was merged into it.
pom.d.bak/An old split config (pom.d/), kept after it was merged into pom.yml the first time the project opened.
pom-import-source.ymlAn imported config waiting for the agent to merge it into pom.yml.
docker-compose.shared.ymlThe shared services that run in Docker, written from the config.
workspace--main/The main workspace: one checkout per repo.
workspace--feat-login/The workspace for feat-login: one git worktree per repo.
workspace--feat-login/.pom-workspace.jsonThat workspace's choices: its display name, the environment profile each repo or service runs with, and repos on a branch other than the workspace's.
workspace--feat-login/<repo>/.env.localThe repo's env, written from its env (or one file per name under env, see env).

App config ​

In ~/.config/pomelo/ (POMELO_CONFIG_DIR moves it).

PathWhat
settings.jsonApp settings.
keymap.jsonYour key bindings.
themes/Your own themes.
snippets/Your own editor snippets.
unsaved/Edits not saved to their file yet, kept for the next launch.
workspaces/Each project's open panes and tabs, one file per project folder.
running-Pomelo.jsonMarks a running app so the next launch can tell a crash at startup; removed on a clean quit. The dev build keeps running-PomeloDev.json.
quiet-language-servers.jsonMissing language servers you chose Don't show again for.
dismissed-grammar-suggestions.jsonLanguage packages you chose Don't show again for.
recent-languages.jsonLanguages you opened lately, so their packages install again after an update.
auto-installed-grammars.jsonLanguage packages already installed that way.

Runtime state ​

In ~/.local/state/pom/ (XDG_STATE_HOME moves it). Files named for a project use its session name from pom.yml.

PathWhat
sessions.jsonThe projects Pomelo knows and which one is current.
registry.jsonEach project's folder.
last_projectThe project opened last.
active_workspaces.jsonThe workspace last active in each project.
workspace_order.jsonThe order you dragged each project's workspaces into.
window-bounds.jsonWhere each window was, and its size.
ports.d/One file per leased port: who holds it.
shared_slots.jsonEach workspace's slot in a shared service that serves several from one container, such as its Redis database number.
secrets/myproject.binThe project's secrets, encrypted.
integrations/myproject.jsonThe project's Jira connection and Keep Main Fresh schedule.
cache/Jira tickets and pull requests, so lists show at once.
agents/state-feat-login.jsonWhat the workspace's Claude is doing, written by its hooks.
agents/rate_limits.jsonClaude's usage limits, for the Agent Usage tab.
pipeline-feat-login.jsonA workspace create or delete that stopped at a stage, waiting to be resumed (--from-stage).
active/Workspace creates and deletes in progress.
nm-store/The shared node_modules store.
db-consoles/myproject.jsonThe project's saved database consoles.
db-values/Database values opened in a tab.
mcp-out/MCP tool results too long to return whole (see MCP tools).
pom-mcpThe script Claude Code runs to start the MCP server.
claude-hookThe script Claude Code's hooks run to report the agent's state.
proxy.logOutput of a dev proxy started by pom start.

Elsewhere ​

PathWhat
~/Library/Application Support/Pomelo/languages/Language servers Pomelo downloaded or built.
~/Library/Application Support/Pomelo/grammars/Installed language packages, one folder per version.
~/Library/Application Support/Pomelo/update/A downloaded app update waiting to install.
~/Library/Caches/Pomelo/just-updatedMarks the first launch after an update, for the Updated to Pomelo notice.
~/Library/Logs/pomelo-panic.logWhat the app was doing when it crashed, to attach to a bug report.
~/.claude.jsonClaude Code's config: Pomelo adds its MCP server here.
~/.claude/settings.jsonClaude Code's settings: Pomelo adds its hooks here and reads your status line.