@niroai/niro 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +149 -0
- package/README.md +123 -302
- package/bin/niro.js +12 -1
- package/docs/agent-antigravity.md +37 -0
- package/docs/agent-claude-code.md +48 -0
- package/docs/agent-claude-desktop.md +47 -0
- package/docs/agent-cline.md +42 -0
- package/docs/agent-codex.md +45 -0
- package/docs/agent-copilot-cli.md +42 -0
- package/docs/agent-cursor.md +44 -0
- package/docs/agent-factory.md +42 -0
- package/docs/agent-gemini-cli.md +42 -0
- package/docs/agent-goose.md +42 -0
- package/docs/agent-kiro.md +37 -0
- package/docs/agent-opencode.md +37 -0
- package/docs/agent-vscode.md +45 -0
- package/docs/agent-windsurf.md +38 -0
- package/docs/answer-shapes.md +69 -0
- package/docs/builds-and-updates.md +68 -0
- package/docs/cloud-README.md +372 -0
- package/docs/configuring-a-folder.md +51 -0
- package/docs/connect-ci.md +24 -0
- package/docs/connect-overview.md +20 -0
- package/docs/connect-review-bots.md +17 -0
- package/docs/connect-team-server.md +12 -0
- package/docs/connect-terminal.md +49 -0
- package/docs/connect-web-agents.md +9 -0
- package/docs/connect-your-ai-assistant.md +59 -175
- package/docs/coverage-audit-and-consent.md +51 -0
- package/docs/evaluate-what-niro-did.md +271 -0
- package/docs/faq-assistants-and-mcp.md +122 -0
- package/docs/faq-feedback-and-receipts.md +33 -0
- package/docs/faq-indexing.md +127 -0
- package/docs/faq-install-and-setup.md +103 -0
- package/docs/faq-licence-and-plans.md +86 -0
- package/docs/faq-login-and-account.md +69 -0
- package/docs/faq-offline.md +34 -0
- package/docs/faq-performance.md +33 -0
- package/docs/faq-privacy-and-security.md +113 -0
- package/docs/faq-uninstall.md +47 -0
- package/docs/faq-updates.md +59 -0
- package/docs/faq-worktrees-and-branches.md +59 -0
- package/docs/faq-wrong-or-missing-answers.md +275 -0
- package/docs/hosted-only.md +33 -0
- package/docs/how-the-graph-works.md +47 -0
- package/docs/index.md +157 -0
- package/docs/licence-and-plans.md +72 -0
- package/docs/lifecycle-debug.md +48 -0
- package/docs/lifecycle-onboarding.md +32 -0
- package/docs/lifecycle-overview.md +77 -0
- package/docs/lifecycle-plan-and-design.md +44 -0
- package/docs/lifecycle-review.md +30 -0
- package/docs/lifecycle-security-and-privacy.md +35 -0
- package/docs/lifecycle-test.md +28 -0
- package/docs/lifecycle-write-code.md +35 -0
- package/docs/llms-full.txt +8015 -0
- package/docs/llms.txt +126 -0
- package/docs/playbook-add-a-feature.md +108 -0
- package/docs/playbook-change-safely.md +93 -0
- package/docs/playbook-data-and-events.md +107 -0
- package/docs/playbook-debug-after-a-change.md +96 -0
- package/docs/playbook-debug-config.md +95 -0
- package/docs/playbook-debug-exception.md +124 -0
- package/docs/playbook-debug-failing-service-call.md +119 -0
- package/docs/playbook-debug-slow-path.md +80 -0
- package/docs/playbook-debug-wrong-value.md +137 -0
- package/docs/playbook-onboard.md +95 -0
- package/docs/playbook-review-a-change.md +72 -0
- package/docs/playbook-test-a-change.md +73 -0
- package/docs/reference-cli.md +113 -0
- package/docs/reference-config-files.md +42 -0
- package/docs/reference-engine-commands.md +56 -0
- package/docs/reference-environment-variables.md +89 -0
- package/docs/reference-exit-codes.md +67 -0
- package/docs/reference-limits.md +75 -0
- package/docs/reference-mcp-tools.md +326 -0
- package/docs/reference-messages.md +180 -0
- package/docs/secrets-and-masking.md +48 -0
- package/docs/supported-c.md +130 -0
- package/docs/supported-cpp.md +157 -0
- package/docs/supported-csharp.md +211 -0
- package/docs/supported-go.md +258 -0
- package/docs/supported-java.md +226 -0
- package/docs/supported-javascript.md +223 -0
- package/docs/supported-kotlin.md +124 -0
- package/docs/supported-overview.md +89 -0
- package/docs/supported-php.md +157 -0
- package/docs/supported-python.md +224 -0
- package/docs/supported-ruby.md +162 -0
- package/docs/supported-rust.md +150 -0
- package/docs/supported-swift.md +133 -0
- package/docs/supported-typescript.md +220 -0
- package/docs/tokens-speed-and-accuracy.md +99 -0
- package/docs/troubleshooting.md +42 -0
- package/docs/uninstall.md +74 -0
- package/docs/what-leaves-your-machine.md +71 -0
- package/docs/where-things-are-stored.md +59 -0
- package/docs/worktrees-and-branches.md +55 -0
- package/package.json +5 -3
- package/src/commands/add-repo.js +5 -0
- package/src/commands/auditSend.js +67 -0
- package/src/commands/build.js +6 -0
- package/src/commands/docsSend.js +73 -0
- package/src/commands/engine.js +120 -0
- package/src/commands/engineRoutes.js +105 -0
- package/src/commands/guide.js +254 -0
- package/src/commands/init.js +16 -7
- package/src/commands/initLocal.js +96 -0
- package/src/commands/journalSend.js +47 -0
- package/src/commands/login.js +89 -12
- package/src/commands/mcp.js +22 -6
- package/src/commands/plan.js +99 -0
- package/src/commands/repoPush.js +33 -0
- package/src/commands/requestIntegration.js +38 -0
- package/src/commands/share.js +56 -0
- package/src/commands/start.js +451 -371
- package/src/commands/status.js +57 -0
- package/src/commands/takeover.js +6 -0
- package/src/commands/uninstall.js +180 -0
- package/src/commands/upgrade.js +38 -8
- package/src/commands/watch.js +420 -6
- package/src/index.js +174 -3
- package/src/lib/agentApi.js +32 -1
- package/src/lib/api.js +20 -6
- package/src/lib/auditUpload.js +293 -0
- package/src/lib/branchDrift.js +149 -0
- package/src/lib/choose.js +116 -0
- package/src/lib/cloudGuard.js +74 -0
- package/src/lib/credentials.js +2 -2
- package/src/lib/docsMarked.js +55 -0
- package/src/lib/docsState.js +213 -0
- package/src/lib/docsUpload.js +481 -0
- package/src/lib/engine.js +619 -0
- package/src/lib/folderSync.js +2 -1
- package/src/lib/graphCheck.js +40 -0
- package/src/lib/guide.js +293 -0
- package/src/lib/guideSearch.js +252 -0
- package/src/lib/integrationRequest.js +89 -0
- package/src/lib/journalUpload.js +147 -0
- package/src/lib/languages.js +129 -0
- package/src/lib/lease.js +375 -0
- package/src/lib/localBuild.js +285 -0
- package/src/lib/localEngine.js +210 -0
- package/src/lib/localOnboard.js +124 -0
- package/src/lib/localWorktrees.js +243 -0
- package/src/lib/machineCheck.js +58 -0
- package/src/lib/mcpClients.js +10 -1
- package/src/lib/migrationNotice.js +118 -0
- package/src/lib/modelFetch.js +153 -0
- package/src/lib/nestedOutput.js +23 -9
- package/src/lib/onboardingLog.js +34 -0
- package/src/lib/planUsage.js +165 -0
- package/src/lib/progressBar.js +46 -0
- package/src/lib/prompt.js +1 -1
- package/src/lib/redact.js +155 -0
- package/src/lib/release.js +33 -0
- package/src/lib/repoPush.js +495 -0
- package/src/lib/secret.js +1 -1
- package/src/lib/service.js +372 -63
- package/src/lib/shareCode.js +367 -0
- package/src/lib/shareExclusions.js +114 -0
- package/src/lib/shareFiles.js +129 -0
- package/src/lib/spinner.js +9 -5
- package/src/lib/watchDaemon.js +33 -10
- package/src/lib/watchState.js +12 -1
- package/src/lib/windowsPaths.js +67 -0
- package/src/mcp/lineCheck.js +382 -0
- package/src/mcp/lineName.js +92 -0
- package/src/mcp/localBackend.js +751 -0
- package/src/mcp/localMode.js +383 -0
- package/src/mcp/localSkill.js +189 -0
- package/src/mcp/server.js +610 -79
- package/src/mcp/setup.js +519 -131
- package/src/mcp/shellSearchHook.js +509 -0
- package/src/mcp/teardown.js +173 -91
- package/src/mcp/usingNiro.js +39 -0
- package/docs/working-on-branches.md +0 -162
package/bin/niro.js
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
// The Stop hook runs at the end of every turn, so it does not load the whole command line first.
|
|
3
|
+
if (process.argv[2] === "mcp" && process.argv[3] === "line-check") {
|
|
4
|
+
let raw = "";
|
|
5
|
+
try {
|
|
6
|
+
raw = require("fs").readFileSync(0, "utf8");
|
|
7
|
+
} catch {
|
|
8
|
+
// No stdin: the hook lets the assistant stop.
|
|
9
|
+
}
|
|
10
|
+
require("../src/mcp/lineCheck").run(raw);
|
|
11
|
+
} else {
|
|
12
|
+
require("../src/index.js");
|
|
13
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Connect Antigravity to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Antigravity to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client antigravity
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Antigravity, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, in `~/.gemini/config/mcp_config.json`. If only the older file `~/.gemini/antigravity/mcp_config.json` exists, it uses that one.
|
|
18
|
+
<!-- source: src/mcp/setup.js:396-413 -->
|
|
19
|
+
|
|
20
|
+
## How Antigravity learns to use Niro
|
|
21
|
+
|
|
22
|
+
- Nothing beyond the connection.
|
|
23
|
+
<!-- source: src/mcp/setup.js (no instruction file for antigravity) -->
|
|
24
|
+
|
|
25
|
+
## Check that it works
|
|
26
|
+
|
|
27
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
28
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
29
|
+
|
|
30
|
+
## Remove it
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
niro mcp uninstall --client antigravity
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
37
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Connect Claude Code to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Claude Code to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client claude-code
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Claude Code, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, through Claude Code's own command: `claude mcp add --scope user niro ... -- niro mcp serve`.
|
|
18
|
+
<!-- source: src/mcp/setup.js:738-755 -->
|
|
19
|
+
|
|
20
|
+
## How Claude Code learns to use Niro
|
|
21
|
+
|
|
22
|
+
- Six hooks in `~/.claude/settings.json`. A hook is a small command Claude Code runs at a fixed moment. Niro's hooks run after Claude Code compacts its memory, when you send a prompt, before searches and file reads, before a shell command that searches or reads source code, before an edit (the impact check), and when a task ends (the end-of-task line check).
|
|
23
|
+
- A short section in `~/.claude/CLAUDE.md`.
|
|
24
|
+
- Two skills: `~/.claude/skills/niro-skill` (how to use the tools) and `~/.claude/skills/niro-local` (how to manage Niro from chat).
|
|
25
|
+
<!-- source: src/mcp/setup.js:783-818, :1928-1985; src/mcp/shellSearchHook.js -->
|
|
26
|
+
|
|
27
|
+
## Check that it works
|
|
28
|
+
|
|
29
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
30
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
31
|
+
|
|
32
|
+
## Things to know
|
|
33
|
+
|
|
34
|
+
- Claude Code is the only agent that gets hooks, so it is the one most likely to ask Niro first.
|
|
35
|
+
- The impact check before an edit is advisory only. Turn it off with `touch ~/.niro/impact-gate-off`.
|
|
36
|
+
- The shell reminder adds a short note when Claude Code runs `grep`, `rg`, `git grep`, `cat`, `head`, `tail`, `sed -n`, `awk`, `nl`, `less`, `bat` or `find -name` on source code in a folder Niro indexes. It never blocks the command, and it stays quiet for config, docs, logs, build output, a file changed in the last 10 minutes, and a command that reads a pipe (`ps aux | grep node`).
|
|
37
|
+
- To check the connection, type `/mcp` inside Claude Code: `niro` should be listed as connected.
|
|
38
|
+
- If Claude Code is not installed, the install says "Failed to register MCP server", gives the address to get Claude Code (https://claude.ai/code), and prints the command to run by hand.
|
|
39
|
+
<!-- source: docs/usecases/impact-gate.md:155; src/mcp/setup.js:1512-1514, :775-777 -->
|
|
40
|
+
|
|
41
|
+
## Remove it
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
niro mcp uninstall --client claude-code
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
48
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Connect Claude Desktop to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Claude Desktop to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client claude-desktop
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Claude Desktop, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, in `claude_desktop_config.json`:
|
|
18
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
19
|
+
- Linux: `~/.config/claude/claude_desktop_config.json`
|
|
20
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
21
|
+
<!-- source: src/mcp/setup.js:291-296 -->
|
|
22
|
+
|
|
23
|
+
## How Claude Desktop learns to use Niro
|
|
24
|
+
|
|
25
|
+
- Nothing beyond the connection. Ask it to use the Niro tools when you want them.
|
|
26
|
+
<!-- source: src/mcp/setup.js (no instruction file for claude-desktop) -->
|
|
27
|
+
|
|
28
|
+
## Check that it works
|
|
29
|
+
|
|
30
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
31
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
32
|
+
|
|
33
|
+
## Things to know
|
|
34
|
+
|
|
35
|
+
- Windows is supported (Niraj, 2026-11-10). The details are coming.
|
|
36
|
+
<!-- source: Niraj, 2026-11-10 -->
|
|
37
|
+
- **Which folder it answers for.** Niro's tools answer for the folder the agent was started in. Claude Desktop is an app, not a terminal command, so it is not started in a project folder. How Niro picks a folder for Claude Desktop has not been tested yet. Until it has, a coding agent that runs in your project folder is the better choice.
|
|
38
|
+
<!-- source: src/mcp/localMode.js:39 (RELEASE_WORKTREE_SENTENCE) (the tools answer for the folder the session started in); Claude Desktop behaviour not established -->
|
|
39
|
+
|
|
40
|
+
## Remove it
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
niro mcp uninstall --client claude-desktop
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
47
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Connect Cline to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Cline to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client cline
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Cline, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, in Cline's settings file inside VS Code's storage: `.../Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`. The `...` is `~/Library/Application Support` on macOS, `~/.config` on Linux, and `%APPDATA%` on Windows.
|
|
18
|
+
<!-- source: src/mcp/setup.js:359-381 -->
|
|
19
|
+
|
|
20
|
+
## How Cline learns to use Niro
|
|
21
|
+
|
|
22
|
+
- A rule file, `~/Documents/Cline/Rules/niro.md`.
|
|
23
|
+
<!-- source: src/mcp/setup.js:2541-2553 -->
|
|
24
|
+
|
|
25
|
+
## Check that it works
|
|
26
|
+
|
|
27
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
28
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
29
|
+
|
|
30
|
+
## Things to know
|
|
31
|
+
|
|
32
|
+
- This settings path is confirmed by Cline's users, not by an official Cline page. If Cline does not show Niro after a restart, open Cline's MCP settings and check where it keeps them.
|
|
33
|
+
<!-- source: src/mcp/setup.js:362-366 -->
|
|
34
|
+
|
|
35
|
+
## Remove it
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
niro mcp uninstall --client cline
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
42
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Connect Codex to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Codex to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client codex
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Codex, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, through Codex's own command (`codex mcp add niro ... -- niro mcp serve`), in `~/.codex/config.toml`. If you set `CODEX_HOME`, that folder is used instead of `~/.codex`.
|
|
18
|
+
- `default_tools_approval_mode = "writes"`, so Codex asks you only before a tool that writes. Niro's tools only read.
|
|
19
|
+
<!-- source: src/mcp/setup.js:2108-2135, :2259-2264, :2305-2318 -->
|
|
20
|
+
|
|
21
|
+
## How Codex learns to use Niro
|
|
22
|
+
|
|
23
|
+
- A section in `~/.codex/AGENTS.md`.
|
|
24
|
+
- The two skills, in `~/.agents/skills/niro-skill` and `~/.agents/skills/niro-local`.
|
|
25
|
+
<!-- source: src/mcp/setup.js:2361-2363, :2393-2427 -->
|
|
26
|
+
|
|
27
|
+
## Check that it works
|
|
28
|
+
|
|
29
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
30
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
31
|
+
|
|
32
|
+
## Things to know
|
|
33
|
+
|
|
34
|
+
- If the Codex command is missing, the install says "Failed to register MCP server. Is the Codex CLI installed?".
|
|
35
|
+
- Codex reads `AGENTS.md` once, when a session starts. On a long task it may drift back to searching files.
|
|
36
|
+
<!-- source: src/mcp/setup.js:2123 -->
|
|
37
|
+
|
|
38
|
+
## Remove it
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
niro mcp uninstall --client codex
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
45
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Connect GitHub Copilot CLI to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects GitHub Copilot CLI to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client copilot-cli
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart GitHub Copilot CLI, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, through Copilot's own command (`copilot mcp add niro ...`), in `~/.copilot/mcp-config.json`.
|
|
18
|
+
<!-- source: src/mcp/setup.js:2634-2651 -->
|
|
19
|
+
|
|
20
|
+
## How GitHub Copilot CLI learns to use Niro
|
|
21
|
+
|
|
22
|
+
- A section in `~/.copilot/copilot-instructions.md`.
|
|
23
|
+
<!-- source: src/mcp/setup.js:2492 -->
|
|
24
|
+
|
|
25
|
+
## Check that it works
|
|
26
|
+
|
|
27
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
28
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
29
|
+
|
|
30
|
+
## Things to know
|
|
31
|
+
|
|
32
|
+
- If the `copilot` command is missing, the install says so and suggests `npm i -g @github/copilot`.
|
|
33
|
+
<!-- source: src/mcp/setup.js:2645 -->
|
|
34
|
+
|
|
35
|
+
## Remove it
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
niro mcp uninstall --client copilot-cli
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
42
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Connect Cursor to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Cursor to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client cursor
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Cursor, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, in `~/.cursor/mcp.json`.
|
|
18
|
+
- `niro:*` in the `mcpAllowlist` of `~/.cursor/permissions.json`, so Niro's tools run without asking each time.
|
|
19
|
+
<!-- source: src/mcp/setup.js:298-302, :445-503 -->
|
|
20
|
+
|
|
21
|
+
## How Cursor learns to use Niro
|
|
22
|
+
|
|
23
|
+
- A project rule, `.cursor/rules/niro.mdc`, **in the folder you ran the install from**. Cursor has no rule file for all projects, so the rule goes into that folder.
|
|
24
|
+
<!-- source: src/mcp/setup.js:2079-2100 -->
|
|
25
|
+
|
|
26
|
+
## Check that it works
|
|
27
|
+
|
|
28
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
29
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
30
|
+
|
|
31
|
+
## Things to know
|
|
32
|
+
|
|
33
|
+
- `niro upgrade` refreshes Cursor too. It writes the rule into the folder you run `niro upgrade` from, and says so first.
|
|
34
|
+
- `niro mcp uninstall --client cursor` removes the rule from the current folder only. Rules in other folders stay until you delete them.
|
|
35
|
+
<!-- source: src/commands/upgrade.js:349-353; src/mcp/teardown.js:431-438 -->
|
|
36
|
+
|
|
37
|
+
## Remove it
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
niro mcp uninstall --client cursor
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
44
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Connect Factory (droid) to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Factory (droid) to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client factory
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Factory (droid), because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, through droid's own command (`droid mcp add niro "niro mcp serve"`), in `~/.factory/mcp.json`.
|
|
18
|
+
<!-- source: src/mcp/setup.js:2661-2678 -->
|
|
19
|
+
|
|
20
|
+
## How Factory (droid) learns to use Niro
|
|
21
|
+
|
|
22
|
+
- A section in `~/.factory/AGENTS.md`.
|
|
23
|
+
<!-- source: src/mcp/setup.js:2496 -->
|
|
24
|
+
|
|
25
|
+
## Check that it works
|
|
26
|
+
|
|
27
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
28
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
29
|
+
|
|
30
|
+
## Things to know
|
|
31
|
+
|
|
32
|
+
- If the `droid` command is missing, the install says it failed to register the server.
|
|
33
|
+
<!-- source: src/mcp/setup.js:2671 -->
|
|
34
|
+
|
|
35
|
+
## Remove it
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
niro mcp uninstall --client factory
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
42
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Connect Gemini CLI to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Gemini CLI to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client gemini-cli
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Gemini CLI, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, through Gemini's own command (`gemini mcp add -s user ...`), in `~/.gemini/settings.json`.
|
|
18
|
+
<!-- source: src/mcp/setup.js:2609-2626 -->
|
|
19
|
+
|
|
20
|
+
## How Gemini CLI learns to use Niro
|
|
21
|
+
|
|
22
|
+
- A section in `~/.gemini/GEMINI.md`.
|
|
23
|
+
<!-- source: src/mcp/setup.js:2488 -->
|
|
24
|
+
|
|
25
|
+
## Check that it works
|
|
26
|
+
|
|
27
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
28
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
29
|
+
|
|
30
|
+
## Things to know
|
|
31
|
+
|
|
32
|
+
- If the Gemini command is missing, the install says it failed to register the server.
|
|
33
|
+
<!-- source: src/mcp/setup.js:2620 -->
|
|
34
|
+
|
|
35
|
+
## Remove it
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
niro mcp uninstall --client gemini-cli
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
42
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Connect Goose to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Goose to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client goose
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Goose, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- An `extensions.niro` entry (type stdio, timeout 300 seconds) in `~/.config/goose/config.yaml`. On Windows the file is `%APPDATA%\Block\goose\config\config.yaml`.
|
|
18
|
+
<!-- source: src/mcp/setup.js:2693-2717 -->
|
|
19
|
+
|
|
20
|
+
## How Goose learns to use Niro
|
|
21
|
+
|
|
22
|
+
- Nothing beyond the connection.
|
|
23
|
+
<!-- source: src/mcp/setup.js (no instruction file for goose) -->
|
|
24
|
+
|
|
25
|
+
## Check that it works
|
|
26
|
+
|
|
27
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
28
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
29
|
+
|
|
30
|
+
## Things to know
|
|
31
|
+
|
|
32
|
+
- If your Goose settings file is laid out in a way the installer does not expect, it does not change it. It prints the block for you to paste instead.
|
|
33
|
+
<!-- source: src/mcp/setup.js:2693-2717 -->
|
|
34
|
+
|
|
35
|
+
## Remove it
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
niro mcp uninstall --client goose
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
42
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Connect Kiro to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Kiro to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client kiro
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Kiro, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, in `~/.kiro/settings/mcp.json`, with `autoApprove: ["*"]`. This means **Kiro runs every Niro tool without asking you**. Niro's tools only read.
|
|
18
|
+
<!-- source: src/mcp/setup.js:382-395 -->
|
|
19
|
+
|
|
20
|
+
## How Kiro learns to use Niro
|
|
21
|
+
|
|
22
|
+
- A steering file, `~/.kiro/steering/niro.md`.
|
|
23
|
+
<!-- source: src/mcp/setup.js:2592 -->
|
|
24
|
+
|
|
25
|
+
## Check that it works
|
|
26
|
+
|
|
27
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
28
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
29
|
+
|
|
30
|
+
## Remove it
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
niro mcp uninstall --client kiro
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
37
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Connect OpenCode to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects OpenCode to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client opencode
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart OpenCode, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, under `mcp` (type `local`), in `~/.config/opencode/opencode.json`.
|
|
18
|
+
<!-- source: src/mcp/setup.js:347-358 -->
|
|
19
|
+
|
|
20
|
+
## How OpenCode learns to use Niro
|
|
21
|
+
|
|
22
|
+
- A section in `~/.config/opencode/AGENTS.md`.
|
|
23
|
+
<!-- source: src/mcp/setup.js:2500 -->
|
|
24
|
+
|
|
25
|
+
## Check that it works
|
|
26
|
+
|
|
27
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
28
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
29
|
+
|
|
30
|
+
## Remove it
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
niro mcp uninstall --client opencode
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
37
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Connect VS Code (GitHub Copilot) to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects VS Code (GitHub Copilot) to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client vscode
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart VS Code (GitHub Copilot), because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, in VS Code's user `mcp.json`, under `servers`:
|
|
18
|
+
- macOS: `~/Library/Application Support/Code/User/mcp.json`
|
|
19
|
+
- Linux: `~/.config/Code/User/mcp.json`
|
|
20
|
+
- Windows: `%APPDATA%\Code\User\mcp.json`
|
|
21
|
+
<!-- source: src/mcp/setup.js:314-330 -->
|
|
22
|
+
|
|
23
|
+
## How VS Code (GitHub Copilot) learns to use Niro
|
|
24
|
+
|
|
25
|
+
- Nothing beyond the connection.
|
|
26
|
+
<!-- source: src/mcp/setup.js (no instruction file for vscode) -->
|
|
27
|
+
|
|
28
|
+
## Check that it works
|
|
29
|
+
|
|
30
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
31
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
32
|
+
|
|
33
|
+
## Things to know
|
|
34
|
+
|
|
35
|
+
- This is GitHub Copilot inside VS Code, using VS Code's own MCP support. It is not Copilot's pull request review, which Niro does not support (see connect-review-bots.md).
|
|
36
|
+
<!-- source: src/mcp/setup.js:314-330 -->
|
|
37
|
+
|
|
38
|
+
## Remove it
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
niro mcp uninstall --client vscode
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
45
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Connect Windsurf to Niro
|
|
2
|
+
|
|
3
|
+
**One command connects Windsurf to Niro:**
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
niro mcp install --client windsurf
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Then restart Windsurf, because it reads its settings only when it starts.
|
|
10
|
+
<!-- source: src/mcp/setup.js:279-414 (CLIENTS), :3071-3085 ("Restart your AI assistant") -->
|
|
11
|
+
|
|
12
|
+
You must have run `niro start` first, so that you are signed in. See [connect-your-ai-assistant.md](connect-your-ai-assistant.md).
|
|
13
|
+
<!-- source: src/mcp/setup.js:574-583, :2950-2955 ("Not signed in. Run niro login") -->
|
|
14
|
+
|
|
15
|
+
## What the install writes
|
|
16
|
+
|
|
17
|
+
- The connection, in `~/.codeium/windsurf/mcp_config.json` (on Windows, under `%APPDATA%\.codeium\windsurf`).
|
|
18
|
+
<!-- source: src/mcp/setup.js:304-312 -->
|
|
19
|
+
|
|
20
|
+
## How Windsurf learns to use Niro
|
|
21
|
+
|
|
22
|
+
- A section in `~/.codeium/windsurf/memories/global_rules.md`.
|
|
23
|
+
- The two skills in `~/.agents/skills`, shared with Codex.
|
|
24
|
+
<!-- source: src/mcp/setup.js:2436, :2851-2853 -->
|
|
25
|
+
|
|
26
|
+
## Check that it works
|
|
27
|
+
|
|
28
|
+
Ask it a question about your code, such as "which routes does this project serve?". An answer from Niro starts with "Answered from the local graph on this machine (niro-local)."
|
|
29
|
+
<!-- source: src/mcp/localBackend.js:189 -->
|
|
30
|
+
|
|
31
|
+
## Remove it
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
niro mcp uninstall --client windsurf
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If something goes wrong, see [faq-assistants-and-mcp.md](faq-assistants-and-mcp.md).
|
|
38
|
+
<!-- source: src/mcp/teardown.js:645-653 -->
|