| @@ -44,7 +44,7 @@ Then pick a configuration file. Copy one to `agent.yaml` in your project and adj |
| 44 | | `agent.lsp.yaml` | the same agent with a language server behind an `lsp` tool | | 44 | | `agent.lsp.yaml` | the same agent with a language server behind an `lsp` tool | |
| 45 | | `agent.mcp-example.yaml` | the same agent with MCP servers | | 45 | | `agent.mcp-example.yaml` | the same agent with MCP servers | |
| 46 | | 46 | |
| 47 | -For Ollama, see [Run mini-me on Ollama](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/run-with-ollama.md) and `demos/ollama/`. | 47 | +For Ollama, see [Run mini-me on Ollama](docs/en/how-to/run-with-ollama.md) and `demos/ollama/`. |
| 48 | | 48 | |
| 49 | ## Use | 49 | ## Use |
| 50 | | 50 | |
| @@ -107,24 +107,24 @@ Anything that speaks ACP can host `mm -acp` the same way: **JetBrains IDEs** (In |
| 107 | | 107 | |
| 108 | ## More features | 108 | ## More features |
| 109 | | 109 | |
| 110 | -- **Create an agent**: `mm init` (or `mm --init`) asks which server, which model (from the server's list), what the agent is for and which machine runs it, then writes a commented agent.yaml — the model's facts read from the server (window, the GGUF's sampling, the reasoning switch), a family table sourced from model cards and the measured demos, every value with its reason; `--check` proves the model answers, flags make it scriptable. See [Create an agent with `mm init`](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/create-an-agent.md). | 110 | +- **Create an agent**: `mm init` (or `mm --init`) asks which server, which model (from the server's list), what the agent is for and which machine runs it, then writes a commented agent.yaml — the model's facts read from the server (window, the GGUF's sampling, the reasoning switch), a family table sourced from model cards and the measured demos, every value with its reason; `--check` proves the model answers, flags make it scriptable. See [Create an agent with `mm init`](docs/en/how-to/create-an-agent.md). |
| 111 | -- **One prompt and exit**: `mm -p "…"` — for scripts. See [Run a single prompt](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/run-a-single-prompt.md). | 111 | +- **One prompt and exit**: `mm -p "…"` — for scripts. See [Run a single prompt](docs/en/how-to/run-a-single-prompt.md). |
| 112 | -- **Other agents**: list other mm agents under `mmConfigs`; you ask them with `/ask-<name>`, your agent calls them itself with its `ask_agent` tool, a script with `mm --ask <name>`. See [Let your agent call other agents](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/let-the-agent-call-other-agents.md). | 112 | +- **Other agents**: list other mm agents under `mmConfigs`; you ask them with `/ask-<name>`, your agent calls them itself with its `ask_agent` tool, a script with `mm --ask <name>`. See [Let your agent call other agents](docs/en/how-to/let-the-agent-call-other-agents.md). |
| 113 | -- **Questions to you**: the agent asks with its `ask_user` tool — pick one, pick several, type a text, yes or no — as numbered choices in the terminal, an arrow-key box in the window, a form or a dialog in an editor; a called agent's questions come up to you too. `askUserTool: false` turns it off. See [Let the agent ask you questions](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/let-the-agent-ask-you.md). | 113 | +- **Questions to you**: the agent asks with its `ask_user` tool — pick one, pick several, type a text, yes or no — as numbered choices in the terminal, an arrow-key box in the window, a form or a dialog in an editor; a called agent's questions come up to you too. `askUserTool: false` turns it off. See [Let the agent ask you questions](docs/en/how-to/let-the-agent-ask-you.md). |
| 114 | - **An agent that creates agents**: `./mm -config agent.creator.yaml` (Qwen3.8 27B), then "Create an agent that … with <model>". It reads the model's facts from llmman (`skills/create-agent/model_facts.py`: chat template, reasoning switches, tool-call format, sampling, context), asks what it is missing, writes a commented `agent.yaml` tuned to that model and checks that it loads and answers — the `create-agent` skill. | 114 | - **An agent that creates agents**: `./mm -config agent.creator.yaml` (Qwen3.8 27B), then "Create an agent that … with <model>". It reads the model's facts from llmman (`skills/create-agent/model_facts.py`: chat template, reasoning switches, tool-call format, sampling, context), asks what it is missing, writes a commented `agent.yaml` tuned to that model and checks that it loads and answers — the `create-agent` skill. |
| 115 | -- **Project instructions**: an `AGENTS.md` in the project directory is added to the system prompt of every conversation. See [Give the agent your project's instructions](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/give-project-instructions.md). | 115 | +- **Project instructions**: an `AGENTS.md` in the project directory is added to the system prompt of every conversation. See [Give the agent your project's instructions](docs/en/how-to/give-project-instructions.md). |
| 116 | -- **Answers as JSON**: declare the shape of the answer as Go types under `structuredOutput`, and `mm -p "…" | jq` works. See [Get answers as JSON](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/get-json-answers.md). | 116 | +- **Answers as JSON**: declare the shape of the answer as Go types under `structuredOutput`, and `mm -p "…" | jq` works. See [Get answers as JSON](docs/en/how-to/get-json-answers.md). |
| 117 | -- **MCP servers**: their tools, wrapped as mm tools. See the [MCP tutorial](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/tutorials/mcp-getting-started.md). | 117 | +- **MCP servers**: their tools, wrapped as mm tools. See the [MCP tutorial](docs/en/tutorials/mcp-getting-started.md). |
| 118 | -- **Sessions**: with `sessions.enabled: true`, `/sessions` lists the conversations of a project and `/resume` continues one; in the window, ↑ recalls your earlier questions to send them again; in an editor, its thread history lists them (`session/list`) and reopens one (`session/load`, `session/resume`). See [Keep sessions and resume them](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/keep-sessions.md). | 118 | +- **Sessions**: with `sessions.enabled: true`, `/sessions` lists the conversations of a project and `/resume` continues one; in the window, ↑ recalls your earlier questions to send them again; in an editor, its thread history lists them (`session/list`) and reopens one (`session/load`, `session/resume`). See [Keep sessions and resume them](docs/en/how-to/keep-sessions.md). |
| 119 | -- **Trace**: `AGENT_TRACE=true mm …` writes every request to the model and every response to `.mm/traces/`. See [See the JSON sent to the model](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/inspect-model-traffic.md). | 119 | +- **Trace**: `AGENT_TRACE=true mm …` writes every request to the model and every response to `.mm/traces/`. See [See the JSON sent to the model](docs/en/how-to/inspect-model-traffic.md). |
| 120 | -- **Hooks**: your own commands — in any language — run before a question reaches the model, before and after each tool call, after the turn, and around each hand-off to another agent; they can deny a call, stop or rewrite a question, add context, mask what leaves for another agent, replace what comes back, or log. `displayHooks: true` shows each hook that ran and what it decided, after the answer (an editor shows each one as a tool call). See [Guard the agent with hooks](docs/en/how-to/guard-the-agent-with-hooks.md), [Control the hand-offs to other agents with hooks](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/control-agent-calls-with-hooks.md), `demos/hooks/` and `demos/hooks-ask/`. | 120 | +- **Hooks**: your own commands — in any language — run before a question reaches the model, before and after each tool call, after the turn, and around each hand-off to another agent; they can deny a call, stop or rewrite a question, add context, mask what leaves for another agent, replace what comes back, or log. `displayHooks: true` shows each hook that ran and what it decided, after the answer (an editor shows each one as a tool call). See [Guard the agent with hooks](docs/en/how-to/guard-the-agent-with-hooks.md), [Control the hand-offs to other agents with hooks](docs/en/how-to/control-agent-calls-with-hooks.md), `demos/hooks/` and `demos/hooks-ask/`. |
| 121 | -- **Guard models**: have every question checked by guard models (IBM's Granite Guardian), one agent per risk, before your assistant answers — a `preGeneration` hook asks them without the conversation history, and the assistant refuses or answers according to their verdicts. See [Screen questions with guard models](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/screen-questions-with-guard-models.md), `demos/guard/` and `demos/guards/`. | 121 | +- **Guard models**: have every question checked by guard models (IBM's Granite Guardian), one agent per risk, before your assistant answers — a `preGeneration` hook asks them without the conversation history, and the assistant refuses or answers according to their verdicts. See [Screen questions with guard models](docs/en/how-to/screen-questions-with-guard-models.md), `demos/guard/` and `demos/guards/`. |
| 122 | -- **Plans**: the built-in `plan` tool lets the agent turn a list of tasks into a tracked plan; mm shows its progress (`📋 [2/3] …`) after each plan action — per conversation, cleared by `/new` and `/resume`. See [Manage plans and tasks](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/manage-plans-and-tasks.md). | 122 | +- **Plans**: the built-in `plan` tool lets the agent turn a list of tasks into a tracked plan; mm shows its progress (`📋 [2/3] …`) after each plan action — per conversation, cleared by `/new` and `/resume`. See [Manage plans and tasks](docs/en/how-to/manage-plans-and-tasks.md). |
| 123 | -- **Save an answer**: `/save` writes the last answer to a Markdown file; with `saveAnswerTool: true`, the model does it itself when you ask in your own words (`save_answer`). Never overwrites a file. See [Save an answer to a file](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/save-an-answer.md). | 123 | +- **Save an answer**: `/save` writes the last answer to a Markdown file; with `saveAnswerTool: true`, the model does it itself when you ask in your own words (`save_answer`). Never overwrites a file. See [Save an answer to a file](docs/en/how-to/save-an-answer.md). |
| 124 | -- **Unload a model**: `/unload [model]` frees a model from the server's memory — in the terminal, the window and an editor —, and the `unload_model` tool lets the agent do it itself, e.g. on another agent's model once it has answered; llmman, Ollama and llama-server in router mode. `unloadModels: false` turns both off. See [Free a model's memory](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/unload-a-model.md) and `demos/unload-models/`. | 124 | +- **Unload a model**: `/unload [model]` frees a model from the server's memory — in the terminal, the window and an editor —, and the `unload_model` tool lets the agent do it itself, e.g. on another agent's model once it has answered; llmman, Ollama and llama-server in router mode. `unloadModels: false` turns both off. See [Free a model's memory](docs/en/how-to/unload-a-model.md) and `demos/unload-models/`. |
| 125 | -- **Search a documentation folder**: `/docs <words>` searches the text files of the folders named in `docSearch.dirs` (`.md`, `.adoc`, `.txt`… — only the extensions listed) and returns the best passages with their `path:line` link, ranked with BM25 — no index, no model (`docSearch.searchDocs`); the `search_docs` tool lets the model do it before it answers (`docSearch.autoSearchDocs`); both off by default. See [Search a documentation folder](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/search-the-docs.md) and `demos/docs-search/`. | 125 | +- **Search a documentation folder**: `/docs <words>` searches the text files of the folders named in `docSearch.dirs` (`.md`, `.adoc`, `.txt`… — only the extensions listed) and returns the best passages with their `path:line` link, ranked with BM25 — no index, no model (`docSearch.searchDocs`); the `search_docs` tool lets the model do it before it answers (`docSearch.autoSearchDocs`); both off by default. See [Search a documentation folder](docs/en/how-to/search-the-docs.md) and `demos/docs-search/`. |
| 126 | -- **Search earlier sessions**: with sessions on, `/memory <words>` searches the project's stored conversations (`sessions.searchMemory`), and the `search_memory` tool lets the model do it when a question refers to something decided before (`sessions.autoSearchMemory`); both off by default. The search matches words, not meanings. See [Search earlier sessions](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/search-earlier-sessions.md) and `demos/memory-search/`. | 126 | +- **Search earlier sessions**: with sessions on, `/memory <words>` searches the project's stored conversations (`sessions.searchMemory`), and the `search_memory` tool lets the model do it when a question refers to something decided before (`sessions.autoSearchMemory`); both off by default. The search matches words, not meanings. See [Search earlier sessions](docs/en/how-to/search-earlier-sessions.md) and `demos/memory-search/`. |
| 127 | -- **Docker Sandboxes**: the sandbox kit lives in its own repository, [mini-me-kit](https://rickub.com/bots-garden/mini-me-kit); `sbx/` explains how to use it (`sbx run …`), with two mixins (`go-toolchain`, `cli-tools`) and ready-made configurations — see `sbx/README.md` and [Run mini-me in a Docker Sandbox](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/run-in-a-docker-sandbox.md). | 127 | +- **Docker Sandboxes**: the sandbox kit lives in its own repository, [mini-me-kit](https://rickub.com/bots-garden/mini-me-kit); `sbx/` explains how to use it (`sbx run …`), with two mixins (`go-toolchain`, `cli-tools`) and ready-made configurations — see `sbx/README.md` and [Run mini-me in a Docker Sandbox](docs/en/how-to/run-in-a-docker-sandbox.md). |
| 128 | | 128 | |
| 129 | ## Demos | 129 | ## Demos |
| 130 | | 130 | |
| @@ -166,14 +166,14 @@ The `demos/` directory holds ready-made set-ups (most with a README explaining h |
| 166 | | 166 | |
| 167 | ## Learn more | 167 | ## Learn more |
| 168 | | 168 | |
| 169 | -- [Documentation](https://rickub.com/bots-garden/mini-me/blob/main/docs/README.md) — tutorials, how-to guides, reference and explanations, in English and French. | 169 | +- [Documentation](/docs/README.md) — tutorials, how-to guides, reference and explanations, in English and French. |
| 170 | -- [Release notes](https://rickub.com/bots-garden/mini-me/blob/main/release-notes/README.md) — what changed in each version, in English and French. | 170 | +- [Release notes](release-notes/README.md) — what changed in each version, in English and French. |
| 171 | -- [`guides/`](https://rickub.com/bots-garden/mini-me/blob/main/guides/) — practical guides: | 171 | +- [`guides/`](guides/) — practical guides: |
| 172 | - - the agent settings for small models, in [English](https://rickub.com/bots-garden/mini-me/blob/main/guides/agent-settings-for-small-models.md) and [French](https://rickub.com/bots-garden/mini-me/blob/main/guides/reglages-agents-petits-modeles.md): timeouts, `maxTurns`, `maxOutput`, `agentsMd.maxChars`, context compression, sampling — what each one does, its default, and how to set it for a small local model; | 172 | + - the agent settings for small models, in [English](guides/agent-settings-for-small-models.md) and [French](guides/reglages-agents-petits-modeles.md): timeouts, `maxTurns`, `maxOutput`, `agentsMd.maxChars`, context compression, sampling — what each one does, its default, and how to set it for a small local model; |
| 173 | - - the keyboard shortcuts of the window (`mm -tui`), in [English](https://rickub.com/bots-garden/mini-me/blob/main/guides/tui-keyboard-shortcuts.md) and [French](https://rickub.com/bots-garden/mini-me/blob/main/guides/raccourcis-clavier-tui.md): typing, sending, stopping a turn, recalling questions, the pickers, pastes, permissions, the agent's questions, copy and mouse. | 173 | + - the keyboard shortcuts of the window (`mm -tui`), in [English](guides/tui-keyboard-shortcuts.md) and [French](guides/raccourcis-clavier-tui.md): typing, sending, stopping a turn, recalling questions, the pickers, pastes, permissions, the agent's questions, copy and mouse. |
| 174 | - The `skills/` directory: Markdown procedures the agent can load with its `read_skill` tool. | 174 | - The `skills/` directory: Markdown procedures the agent can load with its `read_skill` tool. |
| 175 | -- `agent.lsp.yaml`: the same agent with a language server behind an `lsp` tool (definition, references, hover, symbols, diagnostics, rename) — see [Navigate and refactor code with a language server](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/navigate-code-with-lsp.md). | 175 | +- `agent.lsp.yaml`: the same agent with a language server behind an `lsp` tool (definition, references, hover, symbols, diagnostics, rename) — see [Navigate and refactor code with a language server](docs/en/how-to/navigate-code-with-lsp.md). |
| 176 | -- `fetchContentTool: true` in `agent.dmr.yaml`: the built-in `fetch_content` tool, which fetches a web page as Markdown (honouring its `robots.txt`) and can save it to a file without showing it — see [Fetch a web page as Markdown](https://rickub.com/bots-garden/mini-me/blob/main/docs/en/how-to/fetch-a-web-page.md). | 176 | +- `fetchContentTool: true` in `agent.dmr.yaml`: the built-in `fetch_content` tool, which fetches a web page as Markdown (honouring its `robots.txt`) and can save it to a file without showing it — see [Fetch a web page as Markdown](docs/en/how-to/fetch-a-web-page.md). |
| 177 | | 177 | |
| 178 | ## License | 178 | ## License |
| 179 | | 179 | |