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.
Every repo becomes a live map.
Niro indexes every repo, branch, and pull request into one graph - call paths, ownership, history. Reviews arrive knowing what the diff actually touches.
Every agent gets the same map.
One MCP server, fourteen clients. niro mcp install wires Claude Code, Cursor, Codex and the rest to a graph they can query instead of grepping.
See how that code actually runs.
Niro pulls CloudWatch alarms and Sentry stack traces into the same graph. When production misbehaves, the error traces back through the map to the commit that moved.
8f2c1a → retry-policy.ts:47 Alerts where the team already works.
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.
Every tool. One index.
Questions about this list.
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.