---
name: researching-with-rumilo
description: Dispatches AI research subagents via rumilo to search the web or explore git repositories. Use when the user asks to research a topic, look up library usage, explore a codebase, read documentation from the web, or when you need information from an external repository or website to complete a task.
license: AGPL-3.0-or-later
metadata:
  author: Amolith <amolith@secluded.site>
---

`rumilo` spawns disposable AI subagents for two kinds of research: **web search** and **repo exploration**. Each mode runs in isolation and returns a synthesised answer on stdout.

## Modes

### Web mode

Search the internet or ask questions about a specific page.

```bash
# Open-ended search (no URL)
rumilo web "what is the current stable version of Zig"

# Question about a specific page (URL pre-fetched into context)
rumilo web "how does the slog package handle log levels" -u "https://pkg.go.dev/log/slog"
```

- Without `-u`, the agent searches the web on its own.
- With `-u`, the URL is fetched first and injected into the agent's context alongside the query, so it can answer questions _about_ that page.

### Repo mode

Clone a git repository into a temp directory, spawn an agent inside it, and let it explore the source to answer questions.

```bash
# Public repo
rumilo repo -u "https://github.com/owner/repo" "How does the routing system work?"

# Private repo (works with any clonable URI — SSH, HTTPS with auth, etc.)
rumilo repo -u "git@git.sr.ht:~user/repo" "What does the Config struct look like?"
```

The `-u` flag is **required** in repo mode — it needs something to clone.

## Flags

| Flag                       | Modes | Effect                                                            |
| -------------------------- | ----- | ----------------------------------------------------------------- |
| `-u <url>`                 | both  | Seed URL (web) or clone URI (repo)                                |
| `--model <provider:model>` | both  | Override the configured default model                             |
| `--ref <ref>`              | repo  | Checkout a branch, tag, or commit after cloning (requires --full) |
| `--full`                   | repo  | Full clone instead of shallow (depth 1)                           |
| `--no-cleanup`             | both  | Keep the temp workspace after exit                                |
| `--verbose`                | both  | Print tool calls and results to stderr                            |

## Choosing a mode

- Need to find or learn about a library? **Web** to locate it, then **repo** to explore its source.
- Need to understand how a dependency works in detail? **Repo** with the dependency's clone URL.
- Need current docs, release notes, or general knowledge? **Web**, optionally with the URL of a relevant page.
