# Configuration files

All of these live in the configuration folder: `~/.config/tratto/` on Linux (or `$XDG_CONFIG_HOME/tratto/`),
`~/Library/Application Support/tratto/` on macOS, or `$TRATTO_CONFIG_DIR` when it is set. Each file starts with a
`schema` number; tratto refuses a file it cannot read whole and tells you where it is wrong.

## Files you edit

| File | Schema | What it is | Applies |
|---|---|---|---|
| `settings.json` | 3 | your settings, `{"schema": 3, "values": {…}}` | at start (the Settings screen applies at once) |
| `profiles/<name>.json` | 3 | the settings of a profile | at start |
| `projects/<workspace>/<project>.json` | 3 | the settings of one project | at start |
| `style.json` | 1 | colours, radii, text, fonts, icons and spacing over the theme | live |
| `layout/refs.json`, `sidebar.json`, `history_columns.json`, `repository.json`, `notifications.json` | 1 | the layouts of the Git screens | live |
| `layout/ide.json`, `ide/project_types.json`, `ide/file_icons.json` | 1 | the IDE's layout, project types and file icons | at start |
| `themes/<built-in theme>.json` | 1 | an adjustment of a built-in theme | at start |
| `locales/<language>.json` | 1 | texts over a built-in language, or a new language | at start |
| `flows/clone.json` | 2 | the clone flow | at start |
| `updates.json` | 1 | an update feed that replaces the built-in one | at the next check |
| `agents/prices.json` | 1 | model prices for the cost estimate | at start |

## Files tratto manages

Leave these to the app: `workspaces.json`, `pins.json`, `session.json`, `ide-memory.json`, `activity.json`,
`home/pages/`, `copilot/chats/`, `agent-token`, `db/`. On Linux, the Trash of discarded files is kept in
`~/.local/state/tratto/`.

## Built in, not overridable yet

`menu.json` (the menus and keys), the settings schema, the command book, the AI prompts for commits and the What's New
list ship with the app and are read only from it.

## Environment variables

| Variable | What it does |
|---|---|
| `TRATTO_CONFIG_DIR` | use another configuration folder |
| `TRATTO_GIT` | an absolute path to the `git` to run |
| `TRATTO_MODE` | the module to start on |
