> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seriora.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Where files live

> Every directory seri reads or writes, in the project and in your profile root.

Everything seri loads comes from one of two places. Your **profile root**, which applies to every
project, and a **project** directory, which applies to one repository.

## Project

seri walks up from the directory you started it in and takes the first ancestor that has
`.seri/<kind>/`. Project entries beat profile entries of the same name.

| Path                                  | Holds                                                                      |
| ------------------------------------- | -------------------------------------------------------------------------- |
| `.seri/agents/*.md`                   | [subagents](/guides/subagents) for this repository                         |
| `.seri/skills/<name>/SKILL.md`        | [skills](/guides/skills)                                                   |
| `.seri/rules/*.mdc`                   | [rules](/guides/rules)                                                     |
| `.seri/mcp/servers.yaml`              | [MCP servers](/guides/mcp)                                                 |
| `.seri/hooks/hooks.yaml` plus scripts | [hooks](/guides/hooks), dormant until trusted                              |
| `AGENTS.md`                           | standing project instructions, read from the nearest ancestor that has one |

These are committable, which is the point. A repository can carry the agents, skills and rules
its contributors should have.

<Warning>
  Hooks are the exception. A project's hooks are found, listed and left dormant until you read them
  and run `/hooks trust`, because a hook is a program rather than text.
</Warning>

## Profile root

`~/.seri/` by default, `~/.seri/<name>/` under `--profile <name>`. A named profile never falls
back to the default root.

| Path                                     | Holds                                                                                 |
| ---------------------------------------- | ------------------------------------------------------------------------------------- |
| `seri.db`                                | **conversations and trajectory recordings.** The SQLite database both are written to. |
| `config.json`                            | settings, including the verify command and reasoning effort                           |
| `auth.json`                              | your signed-in hosted account                                                         |
| `xai-auth.json`                          | your Grok subscription credential                                                     |
| `permissions.yaml`                       | tools you approved permanently, split into `global:` and `projects:`                  |
| `checkpoints/`                           | shadow git history for `/undo` and `/restore`                                         |
| `memories/`                              | `USER.md`, `MEMORY.md` and one directory per project                                  |
| `pending/`                               | memory and skill writes staged for your review                                        |
| `agents/`, `skills/`, `rules/`, `hooks/` | the same extensions, for every project                                                |
| `mcp/servers.yaml`                       | your MCP servers                                                                      |
| `mcp/auth/<name>.json`                   | a signed-in MCP server's credential                                                   |
| `mcp/catalog/<server>.json`              | that server's cached tool catalog                                                     |
| `hooks-trust.yaml`                       | which project hook directories you trusted, by content digest                         |
| `usage-snapshot.json`                    | the last hosted usage figures fetched                                                 |
| `sessions/`, `trajectories/`             | `.jsonl` files from an older release. Imported once, then read only.                  |

## Outside every profile

| Path                               | Holds                                                          |
| ---------------------------------- | -------------------------------------------------------------- |
| `~/.seri/rg/<key>/`                | the ripgrep build unpacked on the first search of each release |
| `~/.local/bin/seri`                | the binary on macOS and Linux                                  |
| `%USERPROFILE%\.seri\bin\seri.exe` | the binary on Windows                                          |

The ripgrep cache is shared because it is a build artifact rather than anything about you.
Deleting it is always safe.

<Note>
  On Windows the installer resolves its target from `%USERPROFILE%` while seri resolves your data
  directory from `$HOME`. If you have set `HOME` to something else, the binary and your data live
  under two different `.seri` directories.
</Note>

## Directories seri does not read

`.cursor/agents/`, `.claude/agents/`, `.cursor/skills/`, `.cursor/hooks/` and every other
harness's directory. The file **formats** are compatible, so copying files across works. Loading
another toolset's artifacts automatically is a surprise rather than a convenience, so migrating
means copying them in.
