Indexed and connected
in about a minute
One command, nothing to install. After that your assistant knows the structure of the code it is working in.
One command.
The rest it asks for
Run it once with npx. Signing in, pointing it at a folder and connecting your assistant are prompts it walks you through, not commands to remember.
A tool your agent
drives, not owns
The boundaries matter more than the features, because they are what you are trusting.
Ask your agent whether you are logged in and it runs niro whoami. If you are not, it asks you to sign in yourself - it cannot drive a browser sign-in and does not handle your credentials.
A long-lived credential is written to ~/.niro/credentials.json at mode 0600. Short-lived tokens refresh from it.
Every question routes to the project covering your repo and current branch. On a branch no project covers, Niro refuses to answer from stale code and offers to build a temporary project instead.
Two worktrees of one repo are read as two trees, keyed separately, sharing only what is safe to share.
| Before | After one index | |
|---|---|---|
| Finding a caller | grep, then read | one call |
| Cross-repo calls | only what is checked out | every indexed repo |
| Config values | a file it may not open | nodes on the graph |
| Stale branches | answers anyway | refuses, and says so |
Before the
first run
What do I need installed?
Node 18 or newer, and a git remote for the repository you want indexed. Then npx @niroai/niro start, which prompts you through signing in, choosing the folder and connecting your assistant.
I use more than one assistant.
Run the connect step again for each one. It wires a single client per run, fourteen clients are supported, and every one of them reaches the same graph with the same 35 tools.
Where do my credentials live?
A long-lived credential is written to ~/.niro/credentials.json at mode 0600 on your own disk, and short-lived tokens refresh from it. The CLI cannot drive a browser sign-in and does not handle your credentials on your agent's behalf: ask your agent whether you are signed in and it runs niro whoami, then asks you to sign in yourself.
Does it work inside a git worktree?
Yes. Two worktrees of one repository are read as two trees, keyed separately, sharing only what is safe to share. On a branch no project covers Niro refuses to answer from stale code and offers to build a temporary project instead.
Index one repo
and ask it something
Start with the service you know least well. Ask your assistant how it works, and compare the answer with what it would have said yesterday.
Full command reference and options: npmjs.com/package/@niroai/niro