Your stack, one graph
Niro indexes your repos into one semantic graph and hands it to every agent, channel, and workflow your team already lives in.
Repos, branches and pull requests
Niro indexes every repo, branch, and pull request into one graph: call paths, ownership, history. Reviews arrive knowing what the diff actually touches.
One MCP server for every coding agent
One MCP server, thirteen clients. niro mcp install wires Claude Code, Cursor, Codex and the rest to a graph they can query instead of grepping.
CloudWatch and Sentry, in Beta
The direction is set and the client has not shipped. Once it does, CloudWatch alarms and Sentry stack traces join the same graph, so a production error traces back through the map to the commit that moved.
8f2c1a → retry-policy.ts:47 Findings in Slack and email
Findings, reviews, and blast-radius reports post to Slack and email the moment they land, every claim cited back to code.
charge() retries on timeout without an idempotency key. Two call paths reach it; the cron path has no guard.
All integrations
FAQ
What does Beta mean here?
For a source provider it means indexing over an access token, rather than the full GitHub path of OAuth, an app install and pull-request webhooks. For CloudWatch and Sentry it means the direction is set and the client has not shipped. Nothing is listed as live until the code backs it.
Does Niro read our chat?
No. Messaging is outbound only. Findings, reviews and blast-radius reports post into a channel over an incoming webhook: the same one-way path for any messaging app that accepts one, Slack included. Nothing is ever read back out of a channel.
Our stack is not on the list
Point Niro at any git remote and start there. The graph is built from the repository, not from the provider that hosts it. Then request the integration, and it gets added when there is code to back it.
Don't see your stack? Start anyway
Request an integration, or point Niro at any git remote and start there.