# Point the model at a file with `@path` Name a file or a directory in your question with `@` followed by its path. mini-me checks that the path exists, tells the model where it is, and the model reads it with its tools. There is no picker or completion: you type the path. ## Steps 1. Start `mm` from the project directory. Relative paths are resolved from there. 2. Write the path in the question, glued to `@`: ``` > explain what @internal/acp/acp.go does with @internal/session 📎 /work/mini-me/internal/acp/acp.go 📎 /work/mini-me/internal/session ``` One `📎` line per attached path confirms the notation was understood. The model receives your sentence as typed, followed by one line per path: ``` [attached file: /work/mini-me/internal/acp/acp.go] [attached directory: /work/mini-me/internal/session] ``` 3. Ask away. The content is not copied into the prompt: the model runs `cat`, `read_file` or `ls` on the path when it needs to. ## Rules | Case | Result | |------|--------| | `@internal/acp/acp.go` | Relative to the directory `mm` was started in (the session's `cwd` in ACP mode). | | `@/abs/path`, `@~/file` | Absolute paths and `~` work. | | `@main.go,` `(@main.go)` `"@main.go"` | Sentence punctuation and brackets around the mention are ignored. | | `@bob`, `@does/not/exist` | Nothing on disk: left in the sentence as plain text, no attachment. | | `k33g@example.com` | A `@` glued to a word is not a mention. | | Same path twice | Attached once. | | Path with spaces | Not supported: a mention ends at the first space. | ## In an editor (ACP) The editor's own `@` picker sends the file as a `resource_link`, which mini-me turns into the same `[attached file: …]` line. A path typed by hand, without the picker, is understood the same way, relative to the project the editor opened. Attached paths are logged on stderr as `[acp] session : attached `. ## See also - [Built-in tools](../reference/tools.md) — what the model reads the file with - [Use mini-me from an editor](use-from-an-editor.md)