{"_id":"@baristhedeveloper/nexus","_rev":"6-8ddfe78abe6b66176116fab229ad3112","name":"@baristhedeveloper/nexus","dist-tags":{"latest":"0.4.3"},"versions":{"0.2.0":{"name":"@baristhedeveloper/nexus","version":"0.2.0","keywords":["ai","llm","cli","multi-agent","orchestrator","terminal","mcp","coding-agent"],"author":{"name":"BarisTheDeveloper"},"license":"MIT","_id":"@baristhedeveloper/nexus@0.2.0","maintainers":[{"name":"baristhedeveloper","email":"barisloll@proton.me"}],"homepage":"https://github.com/BarisTheDeveloper/nexus#readme","bugs":{"url":"https://github.com/BarisTheDeveloper/nexus/issues"},"bin":{"nexus":"dist/cli/index.js"},"dist":{"shasum":"d0edfe9849076e24d298ad12dbfb47eb641d067c","tarball":"https://registry.npmjs.org/@baristhedeveloper/nexus/-/nexus-0.2.0.tgz","fileCount":123,"integrity":"sha512-uQ2L3DnjyuNVMJR5e/4a5DIxhN8neZXD3Ml9zgc6vJoHlFPzzJgzYF1CF9eXDwWkoqSICfkE+aIepGVbao3apA==","signatures":[{"sig":"MEUCIFURQtvBJkwDyZZAFYedSKawYJVatFVIEojigxaEnEsNAiEA2pVPTEIapl5gW1G9FyPX0BjPBFWhAXqpP/G29yHirNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462439},"main":"dist/cli/index.js","type":"module","types":"./dist/cli/index.d.ts","engines":{"node":">=18"},"gitHead":"26b35a18858617c76a26f128c857b7fb43625855","scripts":{"dev":"tsx src/cli/index.tsx","build":"tsc","clean":"rm -rf dist","start":"node dist/cli/index.js","dev:watch":"tsx watch src/cli/index.tsx","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"baristhedeveloper","email":"barisloll@proton.me"},"repository":{"url":"git+https://github.com/BarisTheDeveloper/nexus.git","type":"git"},"_npmVersion":"11.13.0","description":"Multi-LLM Orchestrated CLI — multi-model, role-based AI panel with persistent memory, MCP & skill support","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^5.0.0","conf":"^13.0.0","meow":"^13.0.0","yaml":"^2.6.0","chalk":"^5.3.0","execa":"^9.0.0","react":"^18.3.0","ollama":"^0.5.0","openai":"^4.67.0","better-sqlite3":"^11.0.0","@anthropic-ai/sdk":"^0.30.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nexus_0.2.0_1782524415835_0.2799013432389219","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@baristhedeveloper/nexus","version":"0.3.0","keywords":["ai","llm","cli","multi-agent","orchestrator","terminal","mcp","coding-agent"],"author":{"name":"BarisTheDeveloper"},"license":"MIT","_id":"@baristhedeveloper/nexus@0.3.0","maintainers":[{"name":"baristhedeveloper","email":"barisloll@proton.me"}],"homepage":"https://github.com/BarisTheDeveloper/nexus#readme","bugs":{"url":"https://github.com/BarisTheDeveloper/nexus/issues"},"bin":{"nexus":"dist/cli/index.js","nexus-update":"dist/cli/nexus-update.js"},"dist":{"shasum":"8fd7f54d2cadcb9385d00645544b7934534e6ab4","tarball":"https://registry.npmjs.org/@baristhedeveloper/nexus/-/nexus-0.3.0.tgz","fileCount":139,"integrity":"sha512-ZU4A+6iSgQjAb2fCeLf4VRmKb2se4yFeNOIylaz4egF3NkK15adp8BR74OiL4UDw9hDV3ywafxG/WaS8t6UV0A==","signatures":[{"sig":"MEYCIQCopk4fq29bOs+qBRVHAArlqESFmNsay+i2/K6Hw1eWMwIhAJQjQWoTjvP/UKnGLv1U1INauuLeWdIussWjgPQDpY+0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501131},"main":"dist/cli/index.js","type":"module","types":"./dist/cli/index.d.ts","engines":{"node":">=18"},"gitHead":"551015bf15236287ec62639d504111e4f69bdd35","scripts":{"dev":"tsx src/cli/index.tsx","build":"tsc","clean":"rm -rf dist","start":"node dist/cli/index.js","dev:watch":"tsx watch src/cli/index.tsx","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"baristhedeveloper","email":"barisloll@proton.me"},"repository":{"url":"git+https://github.com/BarisTheDeveloper/nexus.git","type":"git"},"_npmVersion":"11.13.0","description":"Multi-LLM Orchestrated CLI — multi-model, role-based AI panel with persistent memory, MCP & skill support","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^5.0.0","conf":"^13.0.0","meow":"^13.0.0","yaml":"^2.6.0","chalk":"^5.3.0","execa":"^9.0.0","react":"^18.3.0","ollama":"^0.5.0","openai":"^4.67.0","better-sqlite3":"^11.0.0","@anthropic-ai/sdk":"^0.30.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nexus_0.3.0_1782525110761_0.7827424456611236","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@baristhedeveloper/nexus","version":"0.3.1","keywords":["ai","llm","cli","multi-agent","orchestrator","terminal","mcp","coding-agent"],"author":{"name":"BarisTheDeveloper"},"license":"MIT","_id":"@baristhedeveloper/nexus@0.3.1","maintainers":[{"name":"baristhedeveloper","email":"barisloll@proton.me"}],"homepage":"https://github.com/BarisTheDeveloper/nexus#readme","bugs":{"url":"https://github.com/BarisTheDeveloper/nexus/issues"},"bin":{"nexus":"dist/cli/index.js","nexus-update":"dist/cli/nexus-update.js"},"dist":{"shasum":"9374a601dd651b1c8ab0e86dff5e471ca51193bb","tarball":"https://registry.npmjs.org/@baristhedeveloper/nexus/-/nexus-0.3.1.tgz","fileCount":139,"integrity":"sha512-h5CkrZxwHY72+6d3C66qw84bqg2nbviKFBCtq7UaFj4w711Vjc9bXjHf9i1WfGGAg0F359rKYqD1l9JmtsA+Pg==","signatures":[{"sig":"MEUCIFRSfbArfMIdAlAlYAM9EVd2+cmRQelsDqMRbIIM5BWAAiEA5bGD7fZiKaJJ8QpilAdvQNNZuqcKTUa+hJW187WbCj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506241},"main":"dist/cli/index.js","type":"module","types":"./dist/cli/index.d.ts","engines":{"node":">=18"},"gitHead":"7347294080e2681d919a00aa521d237add56d59e","scripts":{"dev":"tsx src/cli/index.tsx","build":"tsc","clean":"rm -rf dist","start":"node dist/cli/index.js","dev:watch":"tsx watch src/cli/index.tsx","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"baristhedeveloper","email":"barisloll@proton.me"},"repository":{"url":"git+https://github.com/BarisTheDeveloper/nexus.git","type":"git"},"_npmVersion":"11.13.0","description":"Multi-LLM Orchestrated CLI — multi-model, role-based AI panel with persistent memory, MCP & skill support","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^5.0.0","conf":"^13.0.0","meow":"^13.0.0","yaml":"^2.6.0","chalk":"^5.3.0","execa":"^9.0.0","react":"^18.3.0","ollama":"^0.5.0","openai":"^4.67.0","better-sqlite3":"^11.0.0","@anthropic-ai/sdk":"^0.30.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nexus_0.3.1_1782525825927_0.22346096629416312","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@baristhedeveloper/nexus","version":"0.4.1","keywords":["ai","llm","cli","multi-agent","orchestrator","terminal","mcp","coding-agent"],"author":{"name":"BarisTheDeveloper"},"license":"MIT","_id":"@baristhedeveloper/nexus@0.4.1","maintainers":[{"name":"baristhedeveloper","email":"barisloll@proton.me"}],"homepage":"https://github.com/BarisTheDeveloper/nexus#readme","bugs":{"url":"https://github.com/BarisTheDeveloper/nexus/issues"},"bin":{"nexus":"dist/cli/index.js","nexus-update":"dist/cli/nexus-update.js"},"dist":{"shasum":"9ceaa4bfa5b2f8c7e7a6540215ba3a35b4cb286e","tarball":"https://registry.npmjs.org/@baristhedeveloper/nexus/-/nexus-0.4.1.tgz","fileCount":143,"integrity":"sha512-y3CO4EHc24Xdf3cewjdbQdp+cvAWuns9d39WmxYCUDuarczqKAuLuAhEx+CUyY2VhqusGWb4lj7tcX1JkieO7w==","signatures":[{"sig":"MEYCIQCmzvUo5ZojahY892lmjJUKebovGWA/nl3ge2MaSLPFYwIhAI3bab/YVWhxp2WbXLdqwBnG7VXYVZ9y1zEtVslSvIun","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522899},"main":"dist/cli/index.js","type":"module","types":"./dist/cli/index.d.ts","engines":{"node":">=18"},"gitHead":"b8b90a5b93841d7cf1a53aa68ec049bf4c514751","scripts":{"dev":"tsx src/cli/index.tsx","build":"tsc","clean":"rm -rf dist","start":"node dist/cli/index.js","dev:watch":"tsx watch src/cli/index.tsx","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"baristhedeveloper","email":"barisloll@proton.me"},"repository":{"url":"git+https://github.com/BarisTheDeveloper/nexus.git","type":"git"},"_npmVersion":"11.13.0","description":"Multi-LLM Orchestrated CLI — multi-model, role-based AI panel with persistent memory, MCP & skill support","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^5.0.0","conf":"^13.0.0","meow":"^13.0.0","yaml":"^2.6.0","chalk":"^5.3.0","execa":"^9.0.0","react":"^18.3.0","ollama":"^0.5.0","openai":"^4.67.0","better-sqlite3":"^11.0.0","@anthropic-ai/sdk":"^0.30.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nexus_0.4.1_1782527215280_0.6161486519305712","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@baristhedeveloper/nexus","version":"0.4.2","keywords":["ai","llm","cli","multi-agent","orchestrator","terminal","mcp","coding-agent"],"author":{"name":"BarisTheDeveloper"},"license":"MIT","_id":"@baristhedeveloper/nexus@0.4.2","maintainers":[{"name":"baristhedeveloper","email":"barisloll@proton.me"}],"homepage":"https://github.com/BarisTheDeveloper/nexus#readme","bugs":{"url":"https://github.com/BarisTheDeveloper/nexus/issues"},"bin":{"nexus":"dist/cli/index.js","nexus-update":"dist/cli/nexus-update.js"},"dist":{"shasum":"028071911dc45267d358e5e62f657244719088ff","tarball":"https://registry.npmjs.org/@baristhedeveloper/nexus/-/nexus-0.4.2.tgz","fileCount":143,"integrity":"sha512-FKzn4+BBOvsXX9Q4GaChW7aw3dBWBQNFUQ3HFDfeJuhagFSvdfLrsJ5UUJ5gnAiqoGaHrwDGDQNpDyCuTVNL2Q==","signatures":[{"sig":"MEUCIQCJHL2FDTk55Y7IsiS2lan70kzP0olgfPKgtigfx/jRQQIgWpUoESvp61h9Rc9nC0T1DWl4+vlSu+ZlFLUPlQcrGek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":523084},"main":"dist/cli/index.js","type":"module","types":"./dist/cli/index.d.ts","engines":{"node":">=18"},"gitHead":"93f55751fcaa43debe9ccaad2dafea6701dc4e38","scripts":{"dev":"tsx src/cli/index.tsx","build":"tsc","clean":"rm -rf dist","start":"node dist/cli/index.js","dev:watch":"tsx watch src/cli/index.tsx","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"baristhedeveloper","email":"barisloll@proton.me"},"repository":{"url":"git+https://github.com/BarisTheDeveloper/nexus.git","type":"git"},"_npmVersion":"11.13.0","description":"Multi-LLM Orchestrated CLI — multi-model, role-based AI panel with persistent memory, MCP & skill support","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^5.0.0","conf":"^13.0.0","meow":"^13.0.0","yaml":"^2.6.0","chalk":"^5.3.0","execa":"^9.0.0","react":"^18.3.0","ollama":"^0.5.0","openai":"^4.67.0","better-sqlite3":"^11.0.0","@anthropic-ai/sdk":"^0.30.0","@google/generative-ai":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/react":"^18.3.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nexus_0.4.2_1782528266445_0.8468095164406284","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@baristhedeveloper/nexus","version":"0.4.3","description":"Multi-LLM Orchestrated CLI — multi-model, role-based AI panel with persistent memory, MCP & skill support","type":"module","main":"dist/cli/index.js","bin":{"nexus":"dist/cli/index.js","nexus-update":"dist/cli/nexus-update.js"},"scripts":{"dev":"tsx src/cli/index.tsx","dev:watch":"tsx watch src/cli/index.tsx","build":"tsc","start":"node dist/cli/index.js","typecheck":"tsc --noEmit","clean":"rm -rf dist","prepublishOnly":"npm run build"},"keywords":["ai","llm","cli","multi-agent","orchestrator","terminal","mcp","coding-agent"],"author":{"name":"BarisTheDeveloper"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/BarisTheDeveloper/nexus.git"},"dependencies":{"ink":"^5.0.0","react":"^18.3.0","meow":"^13.0.0","openai":"^4.67.0","@anthropic-ai/sdk":"^0.30.0","@google/generative-ai":"^0.21.0","ollama":"^0.5.0","better-sqlite3":"^11.0.0","execa":"^9.0.0","yaml":"^2.6.0","chalk":"^5.3.0","conf":"^13.0.0"},"devDependencies":{"@types/react":"^18.3.0","@types/better-sqlite3":"^7.6.0","tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"engines":{"node":">=18"},"gitHead":"1f4e505a909561d0e4066e3f9a2c48ce4db069f5","types":"./dist/cli/index.d.ts","_id":"@baristhedeveloper/nexus@0.4.3","bugs":{"url":"https://github.com/BarisTheDeveloper/nexus/issues"},"homepage":"https://github.com/BarisTheDeveloper/nexus#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-4Io5chATsz2SVjRLidR/PEFIuU8y9bxqgGdebqjsaqqKFTW4kIAnq8D2CeW/84OuCfx3zqZiFwF+tr4gox9LoQ==","shasum":"7ab2c1f858e6129b0040c202640260c7ca5a31c6","tarball":"https://registry.npmjs.org/@baristhedeveloper/nexus/-/nexus-0.4.3.tgz","fileCount":143,"unpackedSize":522495,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFWbPsIQJOCF6YMIrRS5FlpEMj3P+WByfYY0vPkJ2wf1AiA6EqApoC23YKhKsJqR0erQV5KUkuwDhK7bmjJHLMAG+g=="}]},"_npmUser":{"name":"baristhedeveloper","email":"barisloll@proton.me"},"directories":{},"maintainers":[{"name":"baristhedeveloper","email":"barisloll@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nexus_0.4.3_1782528796794_0.007365038809875157"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-27T01:40:15.679Z","modified":"2026-06-27T02:53:17.031Z","0.2.0":"2026-06-27T01:40:15.982Z","0.3.0":"2026-06-27T01:51:50.927Z","0.3.1":"2026-06-27T02:03:46.084Z","0.4.1":"2026-06-27T02:26:55.456Z","0.4.2":"2026-06-27T02:44:26.600Z","0.4.3":"2026-06-27T02:53:16.934Z"},"bugs":{"url":"https://github.com/BarisTheDeveloper/nexus/issues"},"author":{"name":"BarisTheDeveloper"},"license":"MIT","homepage":"https://github.com/BarisTheDeveloper/nexus#readme","keywords":["ai","llm","cli","multi-agent","orchestrator","terminal","mcp","coding-agent"],"repository":{"type":"git","url":"git+https://github.com/BarisTheDeveloper/nexus.git"},"description":"Multi-LLM Orchestrated CLI — multi-model, role-based AI panel with persistent memory, MCP & skill support","maintainers":[{"name":"baristhedeveloper","email":"barisloll@proton.me"}],"readme":"# Nexus\r\n\r\n**Multi-LLM Orchestrated CLI — Multi-model, role-based AI system with persistent memory**\r\n\r\nNexus is a terminal-based multi-agent AI system. An orchestrator analyzes your request, selects specialist agents, lets them debate and contribute, then synthesizes a final response. Like a panel of AI experts working together.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm i -g @baristhedeveloper/nexus\r\nnexus\r\n```\r\n\r\nOr from source:\r\n\r\n```bash\r\ngit clone https://github.com/BarisTheDeveloper/nexus.git\r\ncd nexus\r\npnpm install && pnpm build\r\npnpm dev\r\n```\r\n\r\nUpdate to latest:\r\n\r\n```bash\r\nnexus-update check\r\nnexus-update install\r\n```\r\n\r\nUninstall:\r\n\r\n```bash\r\nnexus-update uninstall\r\n# → asks \"Type 'yes' to confirm\"\r\n# → removes ~/.nexus/ + npm package\r\n```\r\n\r\n## Quick Start\r\n\r\nFirst run opens an interactive setup wizard — pick your provider with arrow keys, enter your API key, done.\r\n\r\n```bash\r\nnexus\r\n# → Setup wizard guides you through provider selection\r\n# → Arrow keys to navigate, Enter to select\r\n# → That's it. Start chatting.\r\n```\r\n\r\nOr add providers later:\r\n\r\n```\r\n/new provider\r\n```\r\n\r\nManual config at `~/.nexus/config.yaml`:\r\n\r\n```yaml\r\n\r\n```yaml\r\nproviders:\r\n  - id: deepseek\r\n    apiKey: ${DEEPSEEK_API_KEY}  - id: openai\r\n    apiKey: ${DEEPSEEK_API_KEY}defaultProvider: deepseek\r\ndefaultModel: deepseek-chat\r\ncriticApproval: true\r\n```\r\n\r\n### 2. Chat\r\n\r\nJust type. Nexus will analyze, route to agents, and stream responses.\r\n\r\n## Features\r\n\r\n- **6 built-in agents** — Planner, Researcher, Coder, Executor, Critic, Summarizer\r\n- **9 LLM providers** — OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Groq, Fireworks, LM Studio, Z.AI\r\n- **Streaming UI** — Token-by-token with thinking animation\r\n- **Agent tools** — Shell, file, web search, GitHub (PR, issue, clone), background tasks\r\n- **Function calling** — Native tool use on OpenAI, DeepSeek, Gemini, Ollama\r\n- **Critic safety gate** — Shell commands reviewed before execution\r\n- **Persistent memory** — SQLite + Ollama embeddings (768-dim) or hash fallback\r\n- **Session resume** — `nexus --sessions` / `nexus --resume <id>`\r\n- **Custom agents** — `/new agent` wizard or `agents.yaml`\r\n- **Permission system** — `/allow all | safe | ask`\r\n- **Cost tracker** — `/cost` per agent per session\r\n- **MCP + Skills** — External tool servers, skill registry\r\n- **Auto-updater** — `nexus-update check | install`\r\n- **Markdown rendering** — Bold, code blocks, lists\r\n- **Paste detection** — Large pastes collapsed automatically\r\n\r\n## Commands\r\n\r\n| Command | Description |\r\n|---------|-------------|\r\n| `/help` | Toggle help |\r\n| `/agents` | List agents with models & tools |\r\n| `/providers` | Show configured providers |\r\n| `/models [provider]` | Browse models from API |\r\n| `/model <agent> <model>` | Assign model |\r\n| `/new agent` | 🧙 Wizard: create custom agent |\r\n| `/new provider` | 🧙 Wizard: add provider |\r\n| `/doctor` | System health check |\r\n| `/sessions` | List saved sessions |\r\n| `/resume <id-or-#>` | Resume past session |\r\n| `/config show` | View config |\r\n| `/config agent add/remove` | Manage agents |\r\n| `/config provider add/remove` | Manage providers |\r\n| `/think <query>` | Planner + Critic |\r\n| `/code <request>` | Coder only |\r\n| `/exec <command>` | Shell command (Critic-gated) |\r\n| `/memory search <q>` | Search memory |\r\n| `/cost` | Session API cost |\r\n| `/mcp` | MCP servers & skills |\r\n| `/skills` | List installed skills |\r\n| `/allow all|safe|ask` | Permission level |\r\n| `/gh pr <title>` | Push & create PR |\r\n| `/gh issues` | List issues |\r\n| `/gh clone <url>` | Clone repo |\r\n| `/bg run <cmd>` | Background task |\r\n| `/export [json]` | Export session |\r\n| `/redraw` | Fix display glitches |\r\n| `/clear` | Clear chat |\r\n| `/status` | System status |\r\n| `/exit` | Exit |\r\n\r\n## CLI Usage\r\n\r\n```bash\r\nnexus                        # New session\r\nnexus --sessions             # List saved sessions\r\nnexus --resume <id>          # Resume by ID\r\nnexus --resume-no 1          # Resume newest\r\nnexus --version              # Show version\r\nnexus-update check           # Check for updates\r\nnexus-update install         # Update to latest\r\nnexus-update uninstall       # Remove everything\r\n```\r\n\r\n## Agent Tools\r\n\r\nAgents with `coding`, `command_execution`, or `research` capabilities get:\r\n\r\n| Tool | Description |\r\n|------|-------------|\r\n| `shell_exec` | Execute shell commands (Critic-gated) |\r\n| `file_tool` | Read/write/list files |\r\n| `web_search` | Search the web |\r\n| `github_create_pr` | Create pull request |\r\n| `github_create_issue` | Create issue |\r\n| `github_clone` | Clone repository |\r\n| `github_list_issues` | List open issues |\r\n| `background_run` | Run command in background |\r\n\r\n## Built-in Agents\r\n\r\n| Agent | Role | Default Provider | Tools |\r\n|-------|------|-----------------|-------|\r\n| Orchestrator | Task analysis | defaultProvider | — |\r\n| Planner | Task decomposition | ollama / llama3.2 | — |\r\n| Researcher | Information gathering | gemini / gemini-1.5-pro | web_search |\r\n| Coder | Code generation | anthropic / claude-sonnet-4 | file, shell, github |\r\n| Executor | Command execution | ollama / llama3.2 | shell |\r\n| Critic | Security review | gemini / gemini-1.5-flash | — |\r\n| Summarizer | Memory extraction | ollama / llama3.2 | — |\r\n\r\n## Providers\r\n\r\n| Provider | ID | Function Calling |\r\n|----------|----|-----------------|\r\n| OpenAI | `openai` | Native |\r\n| Anthropic | `anthropic` | Prompt-based |\r\n| Google Gemini | `gemini` | Native |\r\n| DeepSeek | `deepseek` | Native |\r\n| Ollama | `ollama` | Native |\r\n| Groq | `groq` | Native |\r\n| Fireworks | `fireworks` | Native |\r\n| LM Studio | `lmstudio` | — |\r\n| Z.AI | `zai` | Native |\r\n\r\n## Custom Agents\r\n\r\nVia wizard (recommended):\r\n```\r\n/new agent\r\n```\r\n\r\nOr `~/.nexus/agents.yaml`:\r\n```yaml\r\nagents:\r\n  - id: devops\r\n    name: DevOps Engineer\r\n    role: Infrastructure & deployment\r\n    provider: deepseek\r\n    model: deepseek-chat\r\n    systemPrompt: You handle CI/CD and cloud infrastructure.\r\n    capabilities: [coding, command_execution]\r\n    priority: 5\r\n```\r\n\r\n## Configuration\r\n\r\n### `~/.nexus/config.yaml`\r\n```yaml\r\nproviders:\r\n  - id: deepseek\r\n    apiKey: ${DEEPSEEK_API_KEY}defaultProvider: deepseek\r\ndefaultModel: deepseek-chat\r\ncriticApproval: true\r\n```\r\n\r\n### `~/.nexus/profile.yaml`\r\n```yaml\r\nlanguage: en\r\nresponseStyle: detailed\r\npreferredModels:\r\n  deepseek: deepseek-chat\r\n```\r\n\r\n### `~/.nexus/agents.yaml`\r\n```yaml\r\nagents:\r\n  - id: my-agent\r\n    name: My Agent\r\n    role: Custom role\r\n    provider: deepseek\r\n    model: deepseek-chat\r\n    systemPrompt: \"You are...\"\r\n    capabilities: [thinking, coding]\r\n    priority: 5\r\n```\r\n\r\n## Skills\r\n\r\nCreate custom skills in `~/.nexus/skills/<name>/SKILL.md`:\r\n\r\n```markdown\r\n---\r\nname: my-skill\r\ndescription: Does something useful\r\ncategory: tools\r\n---\r\n\r\n## Instructions\r\nStep by step guide...\r\n```\r\n\r\nAgents discover skills automatically. Use `/skills` to list.\r\n\r\n## Development\r\n\r\n```bash\r\npnpm dev          # Run with hot reload\r\npnpm build        # Compile TypeScript\r\npnpm typecheck    # Type check only\r\npnpm clean        # Remove dist/\r\n\r\n# Tests\r\nnpx tsx tests/critic-approval.ts   # Mock tests\r\nnpx tsx tests/end-to-end.ts        # E2E (needs DeepSeek)\r\n```\r\n\r\n### Tech Stack\r\n\r\n- **Runtime**: Node.js 18+\r\n- **Language**: TypeScript 5.6 (strict)\r\n- **CLI**: Ink 5 (React for terminal)\r\n- **LLM SDKs**: openai, @anthropic-ai/sdk, @google/generative-ai, ollama\r\n- **Storage**: better-sqlite3 (WAL mode)\r\n- **Embeddings**: Ollama nomic-embed-text / hash fallback\r\n- **Config**: YAML\r\n- **Shell**: execa\r\n\r\n## License\r\n\r\nGPL\r\n","readmeFilename":"README.md"}