Roam — Find your way around the code

For you and your coding agent

Find your way
around the code.

New repo. Tricky change. One more file to understand.

Roam connects the dots between functions, files, and tests, so you can see where to start and what a change might affect.

Open source. Runs on your machine. No account needed.

A change is rarely just one file.

“What else uses this function?”

The function you want to changecalculate_total()checkout/pricing.py

Called by

  • place_order()orders.py
  • preview_order()preview.py
  • apply_discount()discounts.py

Now you know where else to look.

roam impact calculate_total
Illustrative checkout example, not a live report. Roam finds connections in your own repository.
  • Free CLI + agent tools
  • Windows, macOS & Linux
  • 28 languages
  • Apache 2.0

Start with a question

Less hunting.
More understanding.

You don’t need to learn a long list of commands. Start with the thing you’re trying to figure out.

“Where do I even start?”

Get an overview of an unfamiliar repository: its main parts, how they connect, and useful places to begin reading.

roam understandGet your bearings

Replace <symbol> with a function or class in your project. Explore more examples

A better starting point for your agent

Your agent writes code.
Roam helps it get to know yours.

Give your coding agent the same local map you use: relevant files, the functions that call each other, and context around a planned change.

Use the CLI directly, or connect through MCP — a standard way for assistants to use tools. Your agent still makes the decisions; Roam gives it more to work with.

Connect your coding agent

Setup guides for Claude Code, Cursor, Codex, VS Code, and more.

A small habit for a new project

Get the context.
Then make the change.

  1. ExploreAsk Roam for a repository overview.
  2. CheckLook at the code connected to your change.
  3. ReviewInspect the patch, run tests, and review the findings.

Already using Claude Code? Optional hooks can prepare context before a prompt.

Your project. Your machine.

Useful without
another account.

Roam builds a local index of your repository. You and your tools can come back to it as the code changes.

Start free, stay in control.

The CLI and MCP server are open source under Apache 2.0. Local analysis needs no account or API key.

Your code isn’t automatically uploaded.

There is no automatic repository upload or telemetry. Installation, parser downloads, and optional online features have a documented network boundary.

Keep the tools you already trust.

Roam adds context to your editor, search, tests, and code review. Its map can be incomplete; a useful finding is a starting point for investigation, not a guarantee.

See where Roam fits

Meet your codebase

Try it on a project
you’re working on.

You’ll need Python 3.10+ and a Git repository. Open a terminal, then follow these three steps.

  1. 01 / Install Roam
    pip install roam-code

    Prefer an isolated install? Use pipx install roam-code or uv tool install roam-code.

  2. 02 / Open your repository
    cd path/to/your/repo
    roam init

    Replace the path with your project. This builds the index and creates project configuration.

  3. 03 / Get your bearings
    roam understand

    See the big picture, then follow the parts you want to understand.

For agent tools, install pip install "roam-code[mcp]", then follow the editor setup guide. Learn about MCP.

A few things worth knowing

Good questions.

Something else on your mind?
Ask us on GitHub

Do I need an AI coding agent to use Roam?

No. Use Roam yourself in the terminal to explore a repository or check a change. Connecting an agent is optional; it gives the agent access to the same local tools.

Is Roam free?

The CLI and MCP server are free and open source under Apache 2.0, for individuals and teams. Paid services and planned team products are separate; you do not need them to use the local tools. See team options.

Does my code leave my machine?

Ordinary analysis is local, with no automatic source-code or telemetry upload. Installation and the first parser download need network access. Optional online features have explicit triggers; opt-in MCP model summarization can include source snippets. Read the network boundary for the full details.

What languages and computers does it work with?

Roam runs on Windows, macOS, and Linux with Python 3.10+. It supports 28 languages, including Python, JavaScript, TypeScript, Go, Rust, Java, C#, PHP, and Ruby. The depth of analysis varies by language and framework. Explore the documentation.

How long does the first index take?

It depends on the size of your repository, its history, your machine, and whether parsers are already downloaded. The first index does more work; later refreshes reuse it and process changed files. Run roam index to refresh after changes.

Does Roam replace tests or code review?

No. Roam helps you investigate code connections and potential risks. Static analysis can miss connections, a suggested test list is not test coverage, and a health score is not permission to merge. Keep your tests, security checks, and human review.

Can our team use it in CI?

Yes. Run Roam checks in your build, review changes, and export findings for code-scanning tools. You can also enable a local run ledger and proof bundles to record which checks ran. Signed records help detect later changes to evidence; they do not prove every relevant check was captured. See integration guides and review records for teams.

Already have a few changes in mind?

Take another look at recent work.

Run a local sample review of recent merged pull requests. See which structural findings are worth following up.

roam pr-replay --tier sample

Requires Roam and local merge history. This replay sends no email and performs no repository upload.

Explore review and team options