{"_id":"@nanocollective/nanocoder","_rev":"62-3af40f6c15075ae3714f905e84fb2299","name":"@nanocollective/nanocoder","dist-tags":{"latest":"1.30.0"},"versions":{"1.11.3":{"name":"@nanocollective/nanocoder","version":"1.11.3","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.11.3","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"8df0a2c892d0a17b4e10aec4f0ccb8f5d0ba92d4","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.11.3.tgz","fileCount":392,"integrity":"sha512-vwYYDDX8Vxw81+rGY71evTEXMhSfwzC7y9wU83/JLV5p5eB5keWJhs0PmLvulgSYmkEF4Bd8eop58Cejp80Xew==","signatures":[{"sig":"MEQCIFSXNJTHr1CVqTbfhPDqs1nc41O1uhyDklQmPXkK373nAiA2kunriXX96Wpw9HmkaTf5CNdLHal5gRbixG508ym5Dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":785927},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"f527929c3c8569add90d55bd9c53833f820d2ae9","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","ollama":"^0.5.17","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.10","@nanostores/react":"^1.0.0","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.11.3_1758661137790_0.8518680944796446","host":"s3://npm-registry-packages-npm-production"}},"1.11.4":{"name":"@nanocollective/nanocoder","version":"1.11.4","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.11.4","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"4c1d3736b62eabd97e5f63d6765769ab0a1f86b1","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.11.4.tgz","fileCount":392,"integrity":"sha512-cIJ/LV9tScFigIan77ip0rVjhPKLs4Ti3E21GrxJwfRwQUxwOlRkICjmQyu3Zlhxlc1mmw3cyfTyjaCJ/zQuRA==","signatures":[{"sig":"MEYCIQCELqesj+w6Y5UaDufMK8+nmj01yktpeUwOehMErS1mYwIhANGc2TEwninLRJiLw+MGQG7hkrzayuVf3qpg/K5bZIja","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":793356},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"bc8f5519ccc8e1940a365e7ca476bd4bb7858376","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","ollama":"^0.5.17","undici":"^7.16.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.10","@nanostores/react":"^1.0.0","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.11.4_1759698723141_0.434702182265047","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@nanocollective/nanocoder","version":"1.12.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.12.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"8d7eecb0da776c69e13312369550792e8ce1ec7c","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.12.0.tgz","fileCount":424,"integrity":"sha512-QRmywSnWZKaHWKMligFxKtlgIHHMYXlMZhlvFtHcA3yydJJk1ztDiMN2sMlW1/mfT73lAtZbfydSVe1uG6zd4g==","signatures":[{"sig":"MEUCIQD6wkz7wZiUULyT1zPkJeFfD4mUYzYXt/AwBVw73xLNTgIgfq/f9K0Q59681Eaq3vT8/HJAH1E+zgijFujkIaGDFk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":960234},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"275b90eb48231f2aa3e739ffa404c6b201610c34","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.10","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.12.0_1759866493630_0.5271535689584403","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"@nanocollective/nanocoder","version":"1.12.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.12.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"afe80238201b36d0f6ce1f904c4003479dc5d2e2","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.12.1.tgz","fileCount":424,"integrity":"sha512-PhegpFmz4aMTRZTo8OtQdlCMPBB2JnT+qHoSMn6EYx6Cl3SWBV4z+K4LEOaZUZPwzCBTMIw4J0mscefFm222EA==","signatures":[{"sig":"MEYCIQCKfavDDU+Q0VuP4j5YCSqft8U3n5cc3leL62fJTPZfOAIhAPmotZas8Heo7X3t78tgUCAIRI1VcRLmboNThZ8fIUyn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":960395},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"305cad9bb5e905e59fe3675c22cb875f90ee832a","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.10","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.12.1_1759868423292_0.5081888372622214","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@nanocollective/nanocoder","version":"1.13.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"c7a5b63e68ca6b0b3b35a45a3db4146a6d5cdb7b","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.0.tgz","fileCount":424,"integrity":"sha512-qXSzn9pUmCLENlmBaqKlrK3Su0LjzrdUCP/9TZ5cVT4LlJbeLy0LDNj+F0hy1kD2tPuF6yU1RmVvTF5VPawtdg==","signatures":[{"sig":"MEQCIG4wHNf6LGZ1dQLLB9zL0d9Q9EVBT7K7vp18ykCLmHPvAiBvMhxBzTLaAv6bSikk2txs2UBwv6kKt0ggFjfrXmXQsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":974818},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"764ee5f65876d70694967367ea066bf937d759b8","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.10","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.0_1759959075852_0.5785143920602447","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"@nanocollective/nanocoder","version":"1.13.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"4892d199a65f906934a6dfff0e9106b24d64e8fe","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.1.tgz","fileCount":424,"integrity":"sha512-+MGnkDPmgAtv3JD+oOFJjn5SAVtkuCJERu1kKRLzd0JVkVr9PyVFz/8pQi9gswBHIWaIMTps4rEbx0Ml/slFTA==","signatures":[{"sig":"MEUCIB+uwI4eMQa/A4JQbiEwSx6TkYA9yF/AzZbvu498wkpNAiEA/iNVYwqMrUIc9bWEpg0iJwv9NUCv6sqfB0ymCW/t5g0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":975382},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"31db46eb263d54fe10fb51981203c40724f6be4b","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.10","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.1_1760020116753_0.06031085090757338","host":"s3://npm-registry-packages-npm-production"}},"1.13.2":{"name":"@nanocollective/nanocoder","version":"1.13.2","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.2","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"1eabe48874229e3c72a1e8d7d79641c5e5156e9c","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.2.tgz","fileCount":428,"integrity":"sha512-Ikk7DnkpWj9KMVwEye7okflcnI3sQ7Zvy56wo5Dq5AdJ0S/ULNoPe+HYf9aqiTN86cUzqYagiERLxVy/dZkYOw==","signatures":[{"sig":"MEUCIFOKTmfSxNVfAbJE4VtjgXM+ppK+VmD5MmzbznyucKtoAiEAomKns8yiVYW069rn8hGUk80ch4xWpAKdGQ0bUDPh8z0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":991129},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"f23939e4c0adfbac91c3351dc8c8e0d147ae9d6b","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.10","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.2_1760040574396_0.5288524398561114","host":"s3://npm-registry-packages-npm-production"}},"1.13.3":{"name":"@nanocollective/nanocoder","version":"1.13.3","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.3","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"59746d957e97f78e307853c36e5f50a2754ff315","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.3.tgz","fileCount":432,"integrity":"sha512-z6eZ7s7cHUctOj50rqlKlK9bW7+Td7G+NmC55CEEqFpFuTXzLQIsfXDorbE5eYSTKaemochxuDdnIBFCgfd7JA==","signatures":[{"sig":"MEUCIEuHO+RnFMMw24q+ixGocc9m9j/LdSplk2AiFuMaM2MPAiEAi25jgCZQYN9bdtAFGz47MYJHiUmOvnOD81C3ceNX6Lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":996402},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"ad3b48667175b05adb5693747be3c2ef6f773733","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","dotenv":"^17.2.3","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.10","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.3_1760045252828_0.7576471068202104","host":"s3://npm-registry-packages-npm-production"}},"1.13.4":{"name":"@nanocollective/nanocoder","version":"1.13.4","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.4","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"72b054ae1c759d138d19d1b566031218045cab1c","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.4.tgz","fileCount":436,"integrity":"sha512-CHTjVwjgyIiylpOtRcq8Jbje1BtIIOXNh92fw/VACwtvvEZlXhtLcgw2LDvyKvs8N3CxXwtNLi7CSKHpUuMCMQ==","signatures":[{"sig":"MEQCIDbdTPD+maxujqzcCUR0DFZ1wx1z8bRnrsmg5rs0cgLcAiA7+h1jxnlLuCO6pDWY3NEW1eNdEHTEfrMUFLmw7grlWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":970710},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"e531a68ec552b9cb534c44b93770f6645683c89c","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","dotenv":"^17.2.3","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.4_1760313628443_0.6658053376702606","host":"s3://npm-registry-packages-npm-production"}},"1.13.5":{"name":"@nanocollective/nanocoder","version":"1.13.5","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.5","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"b9f312070111f8ce2b97f8ede53c874a2a6cb47a","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.5.tgz","fileCount":440,"integrity":"sha512-97cPhdP2vSv2JAdYT4034lUFYLE7tiCJlsIaqJ0YEi+nbX5H1tNkIiZGKIwPq7e9oUWv1Go063nCiLgSN7Z5Eg==","signatures":[{"sig":"MEQCIHX9ilsotUwEYTuVdQQ1wBaHMgNARHyoW0JXTTowBu4NAiAxZgMdO3UIipFpNZSL8bA1j8UuRYz4xlhN6zC5R8uztA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":983933},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"73c85dfefa87934c1566893f9fb4842417fa087b","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","dotenv":"^17.2.3","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.5_1760372511985_0.2573271052428554","host":"s3://npm-registry-packages-npm-production"}},"1.13.6":{"name":"@nanocollective/nanocoder","version":"1.13.6","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.6","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"a1862bdb727fca567ef41b279e1625629dde4828","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.6.tgz","fileCount":440,"integrity":"sha512-OFt3zy5vqoUY0pnI2XA4228lob831Nn7TdFinxZxMXT+//BLHMDJLvjC6MHKbPPFMwZlpM6FwwM6pR1OGAvC6w==","signatures":[{"sig":"MEUCICq1c4PzKbwa7gPn/BXqNG/agPhd/myb1DOVKd5LbX06AiEAppU3py9JKS5ysut4mouMVgudQx0W9iiYzp86ps4y0po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":980822},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"deb55df3cb7b9f845ee67a84be2b844a0ec57cab","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","dotenv":"^17.2.3","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.6_1760391762491_0.4075210654263701","host":"s3://npm-registry-packages-npm-production"}},"1.13.7":{"name":"@nanocollective/nanocoder","version":"1.13.7","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.7","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"7e9fc644b538fca732b9b6a53594322f070d0957","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.7.tgz","fileCount":440,"integrity":"sha512-GjMxGC0p2N4YZSk9HqZeT9Z+m2axyhO42D77jeU852PmF869FAUYDsKqhy/mHIC3gzmw7DpuIzuNiKvVwaQ62A==","signatures":[{"sig":"MEUCIQDv+TGbaHcDUfe9dKuA2ShEJ/CO+hzD3oo64o/FXaeJPQIgS2sXd7Yv5ADfDKuP6sNn4Twh/ButR41CfwKS6D8eHK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":999437},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"12c0777bf41def47cc7e5fa7d84057bf8dd59cd4","scripts":{"dev":"tsc --watch","test":"prettier --check . && xo && ava","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","dotenv":"^17.2.3","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^5.2.0","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.7_1760480110770_0.3502094725461542","host":"s3://npm-registry-packages-npm-production"}},"1.13.8":{"name":"@nanocollective/nanocoder","version":"1.13.8","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.8","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"typescript":{"compile":false,"rewritePaths":{"source/":"dist/"}},"nodeArguments":["--import=tsx"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"b5cdba93d3be0881976c9320f0269702b5fecbdc","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.8.tgz","fileCount":468,"integrity":"sha512-Serj8D4YJrr+9FikGgEOJU9/1eZsJtoDs+uvJqUkRnKDw2oMuU7q4skRro1zdzrtfEo27QJYQ9iP4HIrT1Ro+w==","signatures":[{"sig":"MEUCIQDb5F++MNp7jeaVp1KXPV5/CBJcEX4V9xlDg9akMQrQlwIgM8LsnUP3wDvxQuZHyA98Yaei+iECvTAwddH9TajoZh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1091571},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"6f0b6673e12804d4bd6a13b2e3cd6394cd2609ed","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"prettier --check . && ava","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","dotenv":"^17.2.3","marked":"^15.0.12","ollama":"^0.5.17","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^6.4.1","tsx":"^4.20.6","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.8_1760819558439_0.2789593117896165","host":"s3://npm-registry-packages-npm-production"}},"1.13.9":{"name":"@nanocollective/nanocoder","version":"1.13.9","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.13.9","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"xo":{"rules":{"react/prop-types":"off"},"extends":"xo-react","prettier":true},"ava":{"files":["source/**/*.spec.ts","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"typescript":{"compile":false,"rewritePaths":{"source/":"dist/"}},"nodeArguments":["--import=tsx"]},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"b7dc7e8dadec4e4cfdce43c1bd27b83c00a3a172","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.13.9.tgz","fileCount":500,"integrity":"sha512-7RPDZ4KwFGXim4wxXI9RqOsrtB3NInaglMwrhrsSP0WYeVo8dWyXv62gSLERP42zEfWgTAaheL33gxcBZXlmvg==","signatures":[{"sig":"MEYCIQCnswvIhgjlPkgBtAgjUXtrZfXkzbngEX2PQHY7TAl3wgIhANNX99sxoHqYE7df7yzj/6/pU5+nKhPYcfLxDFCNGbMg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1223917},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"b7240721b6e4510e404c831c015d120c16d643e9","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"prettier --check . && ava","test:ava":"ava","prepublishOnly":"npm run build"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","meow":"^11.0.0","react":"^19.0.0","dotenv":"^17.2.3","marked":"^15.0.12","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","nanostores":"^1.0.1","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","marked-terminal":"^7.3.0","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","@nanostores/react":"^1.0.0","systeminformation":"^5.27.10","@langchain/langgraph":"^0.4.9","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.53.1","ava":"^6.4.1","tsx":"^4.20.6","chalk":"^5.2.0","ts-node":"^10.9.1","prettier":"^2.8.7","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","eslint-plugin-react":"^7.32.2","ink-testing-library":"^3.0.0","@types/ink-text-input":"^2.0.5","@sindresorhus/tsconfig":"^3.0.1","@types/marked-terminal":"^6.1.1","eslint-config-xo-react":"^0.27.0","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.13.9_1760884399276_0.21172515928129765","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@nanocollective/nanocoder","version":"1.14.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.14.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"030227635e79ed12e416d2e11383c82c693921b4","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.14.0.tgz","fileCount":504,"integrity":"sha512-kTti7z5fUeCgJtlFOBqHN0EalvZHSNw7l3dNIgCFOqK3o9tT2WKrFx65hmIe4pVM32mtfIdbYw7f+JqtCc15aw==","signatures":[{"sig":"MEQCIBGfiQNhxtIZEKOxgNeZxsG3TmT3SYzq7lsJVcB1aSJ6AiBaW0W6Q6ZJ3URtJUktAo0TTbxOsTc2iFIytjxgUbf4Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1256826},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"6c30cf7f70358b64d924716b32f679f2157bb610","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","systeminformation":"^5.27.10","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.14.0_1761483742652_0.4115917259294426","host":"s3://npm-registry-packages-npm-production"}},"1.14.1":{"name":"@nanocollective/nanocoder","version":"1.14.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.14.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"f409246021c64f4624474ef73b35583ea4f14418","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.14.1.tgz","fileCount":504,"integrity":"sha512-Cf/1o+OhTvfDOuwJZLZlJNPFvgVP3s2L3id3Ook/HNiaPsxS7jMVhKUrb5Itw7/FmA8kUdwfDtS9nieO3UdYRg==","signatures":[{"sig":"MEQCIFr4SO65VD9Z5TAo2M6wi1D6t/nKzbYgJY5e9Oy3YW9FAiA4Ed3p3f/JHdb/MrTvcX24POFNyXbD2qlwkml1lPDD0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1261026},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"57c1b8e9600e9f6db6789489c3c3984d852c3ddc","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","systeminformation":"^5.27.10","@nanocollective/get-md":"^1.0.0","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.14.1_1761694430588_0.4111652181940104","host":"s3://npm-registry-packages-npm-production"}},"1.14.2":{"name":"@nanocollective/nanocoder","version":"1.14.2","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.14.2","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"50756db4417b93632e5ca6ed318ba5b2d7afefb4","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.14.2.tgz","fileCount":504,"integrity":"sha512-3Z10ZOAr8qd8j30P7Yq/jAFOLgCrC75PiZQprqYfEJHw1l3InlH3eDL40KzQuS7gaW1iqZMv5aSgXPMo7FXbng==","signatures":[{"sig":"MEUCIHo3Rtmul99hfSugfg9S4B7Uh/RFtlcTuCq4RKgFVEKLAiEAxzrjqo/RLOArNDHuIlHhAQxC+c9KmR6AJdEwL8rG02c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1275815},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"c26f602c2a5a6800d6f0f90635db39ae75621246","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","systeminformation":"^5.27.10","@nanocollective/get-md":"^1.0.0","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.14.2_1761836858431_0.32551568534335673","host":"s3://npm-registry-packages-npm-production"}},"1.14.3":{"name":"@nanocollective/nanocoder","version":"1.14.3","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.14.3","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"9224a7961361114f6db6c575e32eb721905c0eff","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.14.3.tgz","fileCount":504,"integrity":"sha512-c0Od7npGASQZ6eYaYZfm+K3mMfpyxgoP/q3drtnv1Q0wZ2iy6nMxO31xPU+XwixhKkov2FHRVbU1cOb67BgIYQ==","signatures":[{"sig":"MEQCIDybUeCRdj7e4LVEClijDhykXNltAqw8+z0mG8gkVBP+AiA4bGPuYxhJMPGY0NUVLOx9l7ZETu9bHCurs8zIW8YK7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1277864},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"f88c455dbaa4627984c8a7df712fe6fc73d79dc8","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","@langchain/core":"^0.3.72","ink-select-input":"^6.2.0","@langchain/openai":"^0.6.15","systeminformation":"^5.27.10","@nanocollective/get-md":"^1.0.1","@mishieck/ink-titled-box":"^0.3.0","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.14.3_1762257015876_0.4583854616643306","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@nanocollective/nanocoder","version":"1.15.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.15.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"3ddde7812c8ea7bbc72d68b12604a290d87fadac","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.15.0.tgz","fileCount":564,"integrity":"sha512-GgPrvOEK8v9jdqrEnG44fLojIg/UoGgXPLj53DBkt5jtMu7QhrhzHou4D4dWuaDnTXLeD87g2vPwo7hRaZ/lqw==","signatures":[{"sig":"MEUCIHBe8liCZdKkJkZYi0Ix1z8CtEz3OtM02DBezQPbkgFnAiEAidc4MjYwyqZDucfuP0fTa/QjGA7StNFd6ldl59ACsdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1528649},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=16"},"gitHead":"008c80ee96d877e48814c14d0751a68f50c4343d","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ai":"^5.0.82","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","@nanocollective/get-md":"^1.0.1","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.15.0_1762468893474_0.8641441017290643","host":"s3://npm-registry-packages-npm-production"}},"1.15.1":{"name":"@nanocollective/nanocoder","version":"1.15.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.15.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"852df6831f78dc3957b3901da899b976b88564e2","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.15.1.tgz","fileCount":568,"integrity":"sha512-Y48PNO4J/rxZnltWlQiDNyEQT555T6pZkyfu9WUD+wX1RAdTUlx3SZ9n1w9oR/4iuOVo6zcbi9Yuu3CD3IbrqA==","signatures":[{"sig":"MEYCIQCsqRbBB3HGcyDNC0RJ9nZPXgf3tueIzJsv3pBcyevCRQIhAK6yPuZZcICRDg0zlmnJaZOQ0b6I44s4jlSUuqsNhG1r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1537386},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"30dbf526ab12438cac9dc8594a79650b147463ef","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ai":"^5.0.82","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","@nanocollective/get-md":"^1.0.1","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.15.1_1762634046338_0.39483044995074135","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@nanocollective/nanocoder","version":"1.16.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.16.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"10b141b36aded073aea6971ccaf50e3273d996f6","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.16.0.tgz","fileCount":672,"integrity":"sha512-7n670TSfkmmd+QyKNM5qvNZaWCFm2mgq0NjG4aNe+a8LQArnQu7HSK7lPrpoxz+xPJQIeCcUz/lvEQuuCGl8AQ==","signatures":[{"sig":"MEUCIEzPXDp/F16nc+D2+4TzpPOli49UR1jOhDnV2ZGrC85qAiEA/rvs+zyxEqJsekyDpyIA5oU0SkSgUT2xMOpDXdlGhj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1784138},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"aa70cf3e36e8819bb62b43ea22ef878d965d13e9","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","postinstall":"node scripts/fetch-models.js","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.16.0_1762720066095_0.6551890209776845","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"@nanocollective/nanocoder","version":"1.16.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.16.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"afff697d93fd03c034340ef692896c686eeb5f21","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.16.1.tgz","fileCount":672,"integrity":"sha512-Si1dVcSKrobssC9T+51GfQcblWJsLdbRZFXuI7pcsJEczkd7yELsH1W8z4GL/5jVWYIErLonrUGgMi4Fl4FrLA==","signatures":[{"sig":"MEUCIFow13Wyn5FV5kAznEMW7SaqNZ4FR8m7Z4k5+p8G4hJfAiEArL0dXvxqUMC0yFGwY1b2yzVehJkCz/1SC5QZ90g352o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1784089},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"cf08bf8edb610b252aee829022ebed98fadd2e66","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.16.1_1762722755433_0.4031829870311803","host":"s3://npm-registry-packages-npm-production"}},"1.16.2":{"name":"@nanocollective/nanocoder","version":"1.16.2","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.16.2","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"794c5249f3db420e066eee7168824fdae8348e10","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.16.2.tgz","fileCount":672,"integrity":"sha512-G/s8gT5uiXu5yiO6yezSITNFjpQEX1+fM77D64IHsnHCwKTomMltBuzkh/lMFuVVuotzR1Yn9IDNEaXOcWegxw==","signatures":[{"sig":"MEUCIQDwxrskgtK+c3neS/uIArHSGTftk5vDqxZxGSYvHgG0oAIgPLnbEgoPWDPRdBBEISdLnBSo3/Cyq0wFBGb28o5nIKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1816251},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"2e03dfca4167d847633b0eab015b00d46e6f8aff","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.16.2_1762792772141_0.3129891327511882","host":"s3://npm-registry-packages-npm-production"}},"1.16.3":{"name":"@nanocollective/nanocoder","version":"1.16.3","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.16.3","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"035e725d13b8adedc9c81f734ed88b6e450c338f","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.16.3.tgz","fileCount":708,"integrity":"sha512-SncPRuPoFSND7g1z3jk4IHLjo3JPQ3s7GSMrnxN0qMtXmb1UYxHoK3+++cs9Hlvl0mHbmm8QgMmkW6XfcqPQ4w==","signatures":[{"sig":"MEQCIAy20cgvJwmMuWGQ+6l26DwcxZT01spns5sxGyaZhzN1AiApSqSmHaNsqy8bIBSoykHTcZfu8vdpnou9536zf9S6OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1884568},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"ce18104a1e433d963a70d57b09d1aab2c3dd2a02","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.16.3_1762893926415_0.9384794588541947","host":"s3://npm-registry-packages-npm-production"}},"1.16.4":{"name":"@nanocollective/nanocoder","version":"1.16.4","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.16.4","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"f48cc1083c9d0a4f5e825b4fe0555aa25f0c6fd8","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.16.4.tgz","fileCount":724,"integrity":"sha512-BDDBmp+qaBYXBSDa5XlZvAWOZwWerXTvgSQLkxAtSn2nibOumTCcy6mVd7k2UTZi32TA8jyoIUpxizcFYrg//Q==","signatures":[{"sig":"MEUCIDQNuLS0RibN9nEohq3staW1Ruz61E2IrI9fK9OfJ7GiAiEAvXKD6ySVZOLOES0fIZx3aatsYxNhqxec1rf1nPlW518=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1968734},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"ae689f207b1d5a982736dd830378014c3b932d0c","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.16.4_1762983065788_0.7751255290867709","host":"s3://npm-registry-packages-npm-production"}},"1.16.5":{"name":"@nanocollective/nanocoder","version":"1.16.5","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.16.5","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"ba8c4378097e2bd5c6e3e23525fff1daf354f72b","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.16.5.tgz","fileCount":752,"integrity":"sha512-S9yT89aJCVNi3oJsT467n3FfagJ09gNBjp3H8a1i0T0f+HiSUvlep6kUl1lJH4hf+vRxHV9eTsPkBOBAjfl2Pg==","signatures":[{"sig":"MEUCIQC+6E4/lm6P3VZA5UMRKEJucze9lI7c2uGIkiXb/4e3KwIgQGNIpgkplL8aacA5l+D3OF5sPdkaFxlOc59oIIjM50s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2007569},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"916e46823c9a7f7569163b2f57598cce96224c2b","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","test:lint:fix":"eslint . --fix","prepublishOnly":"npm run build","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.16.5_1763656353532_0.4985261374653487","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@nanocollective/nanocoder","version":"1.17.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.17.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"55dc2a6ffad3ea1c55811b2012e22e007b7bcbaa","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.17.0.tgz","fileCount":845,"integrity":"sha512-0/xQT19CjVkJiNPlHxmZ2yjC0mLSAEaF0fVj+TzVc6q5boKCxjUSK0dM1ZqbsE6lEj1X+IP5fIkszbARdPb8jQ==","signatures":[{"sig":"MEYCIQCZN8DK+2lwczH/wN4zPL3064flyz/bjGJPzdt5BqaDpwIhAM+F3aB1mNYZwjyqu0ItN/fRvL6oQASy0c10snUm/rYI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3077091},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"d8f82d25128a833c17a20ab94f7b276e90af750c","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","test:lint:fix":"eslint . --fix","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ws":"^8.18.0","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.17.0_1764197144556_0.7203522099590896","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"@nanocollective/nanocoder","version":"1.17.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.17.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"439e6d2f7a72d92f308e44b99a9276a4246c4808","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.17.1.tgz","fileCount":845,"integrity":"sha512-vSCgywf2MPV8BDVDQuDynYq5vB8xcBBU5y6cEKl+XLm4CDXK0LEce0K0vfctB+x94fBJf9lifqI5YmEbwyRAAQ==","signatures":[{"sig":"MEQCIGGZ0G+AWdD+py5ZYzEVCQaiYRRJDtaWstNfVhnAzUlSAiANkEt6YELmtjPuEUHaVjIuyawOJ4UXpcCSKS/iOFkj/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3077998},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"4e79d6688e25b7a1084d527a610e0916e850ca48","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","test:lint:fix":"eslint . --fix","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ws":"^8.18.0","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.17.1_1764200809833_0.9457522955441102","host":"s3://npm-registry-packages-npm-production"}},"1.17.2":{"name":"@nanocollective/nanocoder","version":"1.17.2","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.17.2","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"298c19192b313b4f114bd28e0bd28aec836eac0b","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.17.2.tgz","fileCount":845,"integrity":"sha512-lQnE51GmGBiq0ZNpjlRzRrMMVfjtSfnA3OleqpGGPLSGwQBJEFmY0HIIMWw/C4WND3BzH+8c1NeuL1YeKBat3g==","signatures":[{"sig":"MEYCIQC2N3ziw9+dYa58nClv5X2Al9wU52o47B7J3g6whISMXQIhAJYp/OTZbI/pAYS8asr7fmd2jRozLmFcr9gzNIE6VCCA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3082990},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"4d3da3f9cc90157af07f53a6e9efda67daa77146","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","test:lint:fix":"eslint . --fix","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ws":"^8.18.0","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.17.2_1764281570334_0.5101944376307812","host":"s3://npm-registry-packages-npm-production"}},"1.17.3":{"name":"@nanocollective/nanocoder","version":"1.17.3","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.17.3","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"14862175ca9ddf126f47177247e4b4bff8ed316b","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.17.3.tgz","fileCount":857,"integrity":"sha512-LhOJmmLstJJWJIt9Qrqk9tdEugJUwLkmtb4Z6Y66y6HAkALDqQ1dfn6VRhxcxIV5kRgzQ/CemZqbUPbNuJsjOQ==","signatures":[{"sig":"MEUCIQDpBwFeq+u8aRWR0JfahiJ96fqHG4NEXi17c1oy8YY4kwIgUiUWQyN1eEThFWt6/QgvZ/+FlEwAtq713vVJDFW2+Dw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3110374},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"4df4b3b98161ef249750a3c2678a4ffd0c1e1dfa","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","test:lint:fix":"eslint . --fix","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ai":"^5.0.82","ws":"^8.18.0","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","systeminformation":"^5.27.10","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"^1.0.24","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.17.3_1764681410359_0.4937374177779641","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"@nanocollective/nanocoder","version":"1.18.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.18.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"87e80550a4db6b5b7e4cd945a5c2ad85813c9eda","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.18.0.tgz","fileCount":893,"integrity":"sha512-jJXP99Yg/kRWijPc1ynxeNsgiqWPmI2LvhPIqLQE3Ks62apjKfgz5qC6WAKyzzD9EyMWMYmGfNarmIdHC6KvxA==","signatures":[{"sig":"MEUCIQCjunndOcj6XjI/H/ATOHKccEM7igUOldvdXL/x1SmW1gIgQSkQ77pEsIBa2l6aVHxTOny02zQnf1zGrXgOzlCBWRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3246458},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"61e6af4ac94a8342ec07d772153f08f0d7675835","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"prettier --write .","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"eslint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"prettier --check .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","test:lint:fix":"eslint . --fix","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.0-beta.130","ws":"^8.18.0","ink":"^6.3.1","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","cli-table3":"^0.6.5","ink-spinner":"^5.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@mishieck/ink-titled-box":"^0.3.0","@ai-sdk/openai-compatible":"2.0.0-beta.42","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","eslint":"^9.38.0","globals":"^16.4.0","prettier":"^2.8.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","@eslint/js":"^9.38.0","typescript":"^5.0.3","@types/node":"^24.3.0","@types/react":"^19.0.0","@ava/typescript":"^6.0.0","typescript-eslint":"^8.46.2","eslint-plugin-react":"^7.37.5","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.18.0_1765151100651_0.9920869570356352","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"@nanocollective/nanocoder","version":"1.19.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.19.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"9e0b6b04e38056f80ee80506742ddca1d6fee20f","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.19.0.tgz","fileCount":1061,"integrity":"sha512-h5qnhRFemDhhOZHNIKD30IpwfAYIHRvqmJJBJuenOb2xhA4BxhvllM/HAnBwx1+b3TtBtZzISWoA3pzQyAGtyg==","signatures":[{"sig":"MEQCIFXBYmVIoGyfyemCSKgYpZ9mGq1QSQ0zDkmjNtj1JdfNAiB/LOUFxZqpB9ton5u+jgIYyiv9/FBs4y8eImzHB3kTdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4359957},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"171e3eaf1634f24ae93805d9e05adbadeebc3747","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.0-beta.130","ws":"^8.18.0","ink":"^6.3.1","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^11.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.0-beta.42","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^24.3.0","lint-staged":"^15.4.3","@types/react":"^19.0.0","@biomejs/biome":"^1.9.4","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.19.0_1765830327905_0.11211221077013267","host":"s3://npm-registry-packages-npm-production"}},"1.19.1":{"name":"@nanocollective/nanocoder","version":"1.19.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.19.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"d5356b9a6e1ec0ee31ea2c7301844202daba5ce5","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.19.1.tgz","fileCount":1061,"integrity":"sha512-SlEYT8b9i1sZ78eC3kFjvYx8GpbsTM1qPZgDQzT78cJqvS5NPea1L6EKAg4tPuRNBt+CxxLW7D+SDVncvLHS9g==","signatures":[{"sig":"MEUCIQD/OXxTXPVT9I9jH71qrpRicf0ll77+fm7Xh0pT24dAKgIgbnL8aEy7Qq755pls/ju3lKNSgoThBoNKkTrpoqX+IC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4360134},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"462485fe7301e70f5e8d4a9911c0f118d183d4d7","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.0-beta.130","ws":"^8.18.0","ink":"^6.3.1","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^11.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.0-beta.42","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^24.3.0","lint-staged":"^15.4.3","@types/react":"^19.0.0","@biomejs/biome":"^1.9.4","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.19.1_1765831138729_0.5862073594829704","host":"s3://npm-registry-packages-npm-production"}},"1.19.2":{"name":"@nanocollective/nanocoder","version":"1.19.2","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.19.2","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"0ff337361ecc7589e2814e6563b1a539a073bf41","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.19.2.tgz","fileCount":1077,"integrity":"sha512-Ct6BW97IWC6/jikRpJISFJUvUmamCoKiCN6sC2c2DJ6EdUEFD/fRAJC5la+PWUal9NRCmglCB+WvZlBUx5/3Gw==","signatures":[{"sig":"MEUCIQDh3mM+uVdqeBzi5t9mCyclbrQYxgT8GctoaZsRMO22KAIgNPYu2d4rpeY9b8f4uSt0klupeJAUXjajKaflk91HiHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4362015},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"f5b564ec44a638a8838daa384d3b9009433a3a75","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.0-beta.130","ws":"^8.18.0","ink":"^6.3.1","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^11.0.0","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.0-beta.42","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^24.3.0","lint-staged":"^15.4.3","@types/react":"^19.0.0","@biomejs/biome":"^1.9.4","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.19.2_1766060734665_0.5336833655389097","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"@nanocollective/nanocoder","version":"1.20.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.20.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"exclude":["source/app/App.tsx"]},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"f403ad8a9df539cef1d55c78bd1f7784872b07bd","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.20.0.tgz","fileCount":1045,"integrity":"sha512-WBURjASkYLEZ57KJNyx6o3R9xT/5VMqR/kEiiFhnS9KAN9pwOBQ826RVf21CweORV16hSxduLvkODnLuYulY1g==","signatures":[{"sig":"MEUCIDi5UFSDxDzcv8XMSpG5r1GKiRsTeh7wC9jFL2jeGeUgAiEAp5fZP4NCiltJ4IsXkexernI/zQZLrpb54bkB50YoZ1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3277306},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","qs@<6.14.1":">=6.14.1","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"dab76df3adc6092ea8e216938e946a5a9b18b7bc","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.6","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.2","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.20.0_1767564942501_0.09315465129423117","host":"s3://npm-registry-packages-npm-production"}},"1.20.1":{"name":"@nanocollective/nanocoder","version":"1.20.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.20.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"exclude":["source/app/App.tsx"]},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"89bf9e25c77cd1c863755771e21f6dd56b1be9b6","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.20.1.tgz","fileCount":1045,"integrity":"sha512-Xii1HKARrtd6FWO0eIYW2gypaU+eoNrp863yaCubNbXpbbEgt0KanDJsRAKuH+BKt01dTZ0uUHVV2fjBpfrKHw==","signatures":[{"sig":"MEYCIQCQskZsjxggMHTuw3eYGpY2cEuZ8LkfvJ+hizYIPgbCSwIhANAnpNeeGabWhfIrUzYGNspCjbMJ8WTU/Z1G3fD86bMn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3277814},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","qs@<6.14.1":">=6.14.1","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"9f48299dbac12e11b65778aba5f7d78bbee36b24","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.6","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.1","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.2","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.20.1_1767614760740_0.8044175195467782","host":"s3://npm-registry-packages-npm-production"}},"1.20.2":{"name":"@nanocollective/nanocoder","version":"1.20.2","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.20.2","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"exclude":["source/app/App.tsx"]},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"cededc71b9c93b824f1eafb8f63919cc85c94bbd","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.20.2.tgz","fileCount":1045,"integrity":"sha512-qdfFfNHobLQGvMA9ABgQ/ZgULggFXdWTKeIaRqk5O6SaPonSqddcgntNhqH7DZ8BWBZOmySHnZoT2WK/QnXIuQ==","signatures":[{"sig":"MEUCIFg75B4Y/ALuEsG6PAZCuS34UlzWyv/VGFPCHRh/RZcAAiEA9NipBTgYjzaPL9C+E1TtdSup82NgeQa71I8epoODwA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3285083},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","qs@<6.14.1":">=6.14.1","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"69517af3ee65750b13bfc21f92219c87fc73ab92","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.6","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.2","@modelcontextprotocol/sdk":"^1.17.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.20.2_1767658654940_0.42009380828931286","host":"s3://npm-registry-packages-npm-production"}},"1.20.3":{"name":"@nanocollective/nanocoder","version":"1.20.3","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.20.3","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"exclude":["source/app/App.tsx"]},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"051636708b10e20445468f958687161ea6d3f49e","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.20.3.tgz","fileCount":1045,"integrity":"sha512-jVn8vK1/5xsCUz3qakptaPnF7E6GsB/R5KFw2By6AENC+bG16/ewLkZSKVQ7q5wrp1StKnfFU9VKJJRTk+f/kg==","signatures":[{"sig":"MEUCIQCaMy9DP+1elIFyhV0QEmfN1u90sXN2lPlXEwo5e0XzxAIgJZbOtpi+98NCw9+z6HCxh3eCDOT4iPsUG/SvyKBq3aw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3286026},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","qs@<6.14.1":">=6.14.1","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"a68aa8d5ba8d1ef8d95e2673c5207f1be27c3fcc","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore GHSA-8r9q-7v3j-jr4g","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.6","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.2","@modelcontextprotocol/sdk":"^1.25.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.20.3_1767740676604_0.5019239917107226","host":"s3://npm-registry-packages-npm-production"}},"1.20.4":{"name":"@nanocollective/nanocoder","version":"1.20.4","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.20.4","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"exclude":["source/app/App.tsx"]},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"0321bb38a4cbe969d6f97af0b1fb40ccf9035732","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.20.4.tgz","fileCount":1045,"integrity":"sha512-94n4p8UNayg81G+y4xTzPfjG5p4hm8NpmuMSxWbWBv/S8Gy71aaY5tb6iVYQXcHC1fOh3ltakukDWY79MxqziA==","signatures":[{"sig":"MEUCIQDjCgYRqyO38msg12Zxw3BNgex6vOzU6argaqrJ8bKfKQIgGF0/kK0lHtK3BB1tl3vteo4Cfjqo/4FBL5TEuX0DRqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3285525},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","qs@<6.14.1":">=6.14.1","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"3d94787d0585ac068c96f690435196f335e6c31f","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.6","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.2","@modelcontextprotocol/sdk":"^1.25.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.20.4_1767826075976_0.22408386867170638","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"@nanocollective/nanocoder","version":"1.21.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.21.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"1e87ab0ef1b068e4d0f7a794cd38dd349eac2263","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.21.0.tgz","fileCount":1101,"integrity":"sha512-v68IilZbpSB+fGV/jQDVqNoMfSL+ejGne7SmP7FOfadmfcE7PpuosubS/dIeJc5BBQ3ARzaiCr6AvQ5nmf8AlQ==","signatures":[{"sig":"MEUCIC4lBWxaN3FmvzKMHfr0t28wYaSjqtxwWfwXQsZkm1K1AiEArQ8Qb5yHLwJTQAKc+vdwsUofLbQ8h1BQ/CcL2JiEZK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3519614},"main":"dist/cli.js","pnpm":{"overrides":{"hono":">=4.11.4","jws@<3.2.3":">=3.2.3","qs@<6.14.1":">=6.14.1","tar@<=7.5.2":">=7.5.3","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"706d31cc6e0562e0d8c8191b289dc60034d84866","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.19.6","dependencies":{"ai":"6.0.39","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.13","@modelcontextprotocol/sdk":"^1.25.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.21.0_1768927901885_0.9131486205881563","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"@nanocollective/nanocoder","version":"1.22.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.22.0","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"941ebb5f3024e9bb33e36882b8aab74a1c015a70","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.22.0.tgz","fileCount":1173,"integrity":"sha512-IQp3Bv7p84f0Mq4YWVnAVjoaoE2NiqjARBHgQExKwrr0U8FjbT8ESh6dD5CJsJBKOh0ld0H5WuikBWg59BUhAg==","signatures":[{"sig":"MEUCID8Dc4yoFv8d0QiatpiH/wZWuaOUIIuJEYr8FUCrI9uwAiEA/QrqNSl1hFAw6n6OE7offRxnd+Bc4BqHxevOUi0h7wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3743440},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","tar@<7.5.7":">=7.5.7","hono@<4.11.7":">=4.11.7","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@isaacs/brace-expansion@<5.0.1":">=5.0.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"f847f357b0278c57e710b64e4b1f473109492827","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.0","dependencies":{"ai":"6.0.62","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^9.0.2","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.13","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.24","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.22.0_1770311424013_0.4754478697333231","host":"s3://npm-registry-packages-npm-production"}},"1.22.1":{"name":"@nanocollective/nanocoder","version":"1.22.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.22.1","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"c071e5f4c2c5c983fa96f589d7edbba44c4db987","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.22.1.tgz","fileCount":1173,"integrity":"sha512-jGLSJUd0GCHC9ZYI430s3oHTkG9Zy4RvExHy2GxRrx/UXBUT/8oP+Zf8v/sntzCxS/aED6egcSUArNuwSDe6HA==","signatures":[{"sig":"MEQCIFq4ke5rd5O0GerUXWnG+CqBfxSrnGO/bdfy+SmGSFPwAiArycUxxiivfB0aZEvaMA5LcVHeNdpEchV56Hv3lPs09g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3743580},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","tar@<7.5.7":">=7.5.7","hono@<4.11.7":">=4.11.7","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@isaacs/brace-expansion@<5.0.1":">=5.0.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"d6f03dbca2abf27656a4d809ec7f84bbdf21bf5a","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.0","dependencies":{"ai":"6.0.62","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^9.0.2","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.13","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.37","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.24","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.22.1_1770323439083_0.5438371924223524","host":"s3://npm-registry-packages-npm-production"}},"1.22.2":{"name":"@nanocollective/nanocoder","version":"1.22.2","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.22.2","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"74cf747c6b81421d18e733ebf6680b4459865f74","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.22.2.tgz","fileCount":1173,"integrity":"sha512-rUIApB/brKSoek7pb6bNgLFp04tnllHSleMNvc+XALbOvoW15aoKwipTERAqZ+iEoMVswBmJETDohgEUKmK4qA==","signatures":[{"sig":"MEQCIG9H/j5/PbFVlCdiKHB/3AeJ2JqaA8oI5ooT5pLK9vmVAiB3XHnfk4HiHLuuFDrF5byNzBTEGy3r/O0pPXkq53NYxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3743756},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","tar@<7.5.7":">=7.5.7","hono@<4.11.7":">=4.11.7","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@isaacs/brace-expansion@<5.0.1":">=5.0.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"3e0430713bb62fb099c9beab4115fd0dc7a99232","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.0","dependencies":{"ai":"6.0.62","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^9.0.2","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.13","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.37","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.24","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.22.2_1770402238501_0.9342942536501802","host":"s3://npm-registry-packages-npm-production"}},"1.22.3":{"name":"@nanocollective/nanocoder","version":"1.22.3","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.22.3","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"20f82d96585369b7c6259a1a73e67c5f2e9c61d1","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.22.3.tgz","fileCount":1173,"integrity":"sha512-mA7RPigs3ROJSIy2rpauozwIfdPV0GUp4buJTWiUe9x46SQaEYNHkwnFBvQEU5hzf3ioz1HqAFpcUbF3YYo+bA==","signatures":[{"sig":"MEUCICe7eLXDtTGG7bqerCRozTBALqSHr6Vmx+8nF71ShRlgAiEAgny+nDruB7ZZEAfbpBAVm0o6FMW99uQauu04f9kIKDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3743061},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","tar@<7.5.7":">=7.5.7","hono@<4.11.7":">=4.11.7","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@isaacs/brace-expansion@<5.0.1":">=5.0.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"43f34273172188b0b7a6402c13cea7041b3bc0ce","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.0","dependencies":{"ai":"6.0.62","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^9.0.2","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.13","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.37","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.27","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.22.3_1770590439508_0.7007762554573458","host":"s3://npm-registry-packages-npm-production"}},"1.22.4":{"name":"@nanocollective/nanocoder","version":"1.22.4","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.22.4","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"a1d953785b463a497b1e0713479f97a85a377ab1","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.22.4.tgz","fileCount":1173,"integrity":"sha512-Cem26Tbqm/PTE45EVfkC0xg9+FRCI0ZslARy1nvEI0g0gmrAfT+aA0Pdp+bYjtAsVTjt5F6WSREVpMufOxtcCw==","signatures":[{"sig":"MEQCICh6E9CsEcCACpoeyuOjrsgcb8j4QFKojua4vAsOAUIbAiA12AhzCs0FuzMnAWk7bYm0EbAbmbw7kIcApASmg/jkSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3745090},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","tar@<7.5.7":">=7.5.7","hono@<4.11.7":">=4.11.7","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@isaacs/brace-expansion@<5.0.1":">=5.0.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"4c046644e0c2ab7e09833754484cf31861b5417a","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.0","dependencies":{"ai":"6.0.62","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^9.0.2","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.13","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.37","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.27","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.22.4_1770679694367_0.2533542752298379","host":"s3://npm-registry-packages-npm-production"}},"1.22.5":{"name":"@nanocollective/nanocoder","version":"1.22.5","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.22.5","maintainers":[{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"7513d6ba225184c797dc1e9479e8c0a79cb36064","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.22.5.tgz","fileCount":1173,"integrity":"sha512-UJKXk3yD5Frxt6lmoLxYd+DglBwm+EOZUQDTbtzDXPnBIMeuE34CbsR3CbrWaEcT6nTQ3LAzUCDkYB1HivoOTQ==","signatures":[{"sig":"MEYCIQC602CRZ3slHQ+4Ko/UfYX8Ofa62iWjIEtPp70A7K4bzQIhAMXIq8eRr3l2rWiIlI2lAt1665IG2qO2JIs+uCiI3IS4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3752676},"main":"dist/cli.js","pnpm":{"overrides":{"jws@<3.2.3":">=3.2.3","tar@<7.5.7":">=7.5.7","hono@<4.11.7":">=4.11.7","js-yaml@<3.14.2":">=3.14.2","glob@>=10.2.0 <10.5.0":">=10.5.0","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@isaacs/brace-expansion@<5.0.1":">=5.0.1"},"auditConfig":{"ignoreCves":["GHSA-8r9q-7v3j-jr4g"]}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"b754e6f05b085b442b1149cd9a68a66c6e4c5170","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.0","dependencies":{"ai":"6.0.62","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","react":"^19.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^9.0.2","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.13","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.37","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.27","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","chalk":"^5.2.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0","@types/ink-text-input":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.22.5_1771194395513_0.5613538709012729","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"@nanocollective/nanocoder","version":"1.23.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.23.0","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"5eecae50c804add61d2edd91d1f39f6f1553b4d7","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.23.0.tgz","fileCount":1281,"integrity":"sha512-VQMtNvMC5HZUSpY7gSGgnC/HfldnHG4GIQcUSjtAKVCpjs61bIlWvKrLQ9YgwD7QvtpZG+o/XmZzWGu5yAyRtg==","signatures":[{"sig":"MEYCIQDsp28cYnbyU4hZGjPA0duxSk3vEEQ3XKHClNUHHyhi1AIhAMjaJUhL4wd/VNxP+lOLI64lTRG5DeCXf1lrs/4EE9Vc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4030037},"main":"dist/cli.js","pnpm":{"overrides":{"tar@<7.5.4":">=7.5.4","minimatch@<10.2.1":">=10.2.1","tar@>=7.4.0 <7.5.4":">=7.5.4","glob@>=10.2.0 <10.5.0":">=10.5.0","@vscode/vsce>minimatch":"^3.0.5"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"b7865ea59d3f7abdaff9e3ade254233fc13940b8","scripts":{"dev":"tsc --watch","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.0","dependencies":{"ai":"6.0.97","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^9.0.2","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.13","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.37","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.27","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ava":"^6.4.1","tsx":"^4.20.6","knip":"^5.66.2","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.23.0_1772112923651_0.7900545121305338","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"@nanocollective/nanocoder","version":"1.24.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.24.0","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"cc9b9f17e81b816f77c2f3566d679c5b26f09624","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.24.0.tgz","fileCount":1350,"integrity":"sha512-8QD2vs++fjU+d2DXetP3JzqYMU9TLmj2cFi49bH9bwCYYOK/P07szqq82wILle64TgZLfLgtvTmrDkCam2nwsA==","signatures":[{"sig":"MEYCIQCd8nwLLFcGgSLNysJbhfXkOV/4qPZbDv5yOpeFKfPm2gIhAL7toML+MykEKNRgh85nhPFNpWMbzoduBg6KC36Z+2F/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4094774},"main":"dist/cli.js","pnpm":{"overrides":{"tar":">=7.5.10","flatted":">=3.4.0","tinyexec":">=1.0.4","simple-git":">=3.32.3","minimatch@<10.2.3":">=10.2.3","express-rate-limit":">=8.2.2","glob@>=10.2.0 <10.5.0":">=10.5.0","@vscode/vsce>minimatch":"^3.0.5","@modelcontextprotocol/sdk>hono":">=4.12.4","@modelcontextprotocol/sdk>@hono/node-server":">=1.19.10"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"fce7c34dc52153e3eba45bd11d4b2561d90009fa","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.1","dependencies":{"ai":"6.0.116","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.58","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.31","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^5.66.2","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.24.0_1773773932250_0.7956063204769228","host":"s3://npm-registry-packages-npm-production"}},"1.24.1":{"name":"@nanocollective/nanocoder","version":"1.24.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.24.1","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"526e61f3b470c1515ea545af9b5d20a27b585aa8","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.24.1.tgz","fileCount":1350,"integrity":"sha512-PQ9jqV+aX7MpxikzRSmPqpAPJxrU4E1uriUGsUUio2dcFiZtKfN9QN56vHTQ70SSkxrZfqPQ2Vv+gea2lHT7JQ==","signatures":[{"sig":"MEQCIFiZmfzn0kpo26/jUeC9WzCSEHPBNJMszm3ZoDPIYiMkAiAfDptiWmt4POwqeE8vizQgSwiwEaXF9v2p0E3Z58Vf1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4105629},"main":"dist/cli.js","pnpm":{"overrides":{"tar":">=7.5.10","flatted":">=3.4.0","tinyexec":">=1.0.4","simple-git":">=3.32.3","minimatch@<10.2.3":">=10.2.3","express-rate-limit":">=8.2.2","glob@>=10.2.0 <10.5.0":">=10.5.0","@vscode/vsce>minimatch":"^3.0.5","@modelcontextprotocol/sdk>hono":">=4.12.4","@modelcontextprotocol/sdk>@hono/node-server":">=1.19.10"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"ce75cde2ef234850d1942e4b09ddfc63cea05156","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:ava:coverage":"c8 ava"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.1","dependencies":{"ai":"6.0.116","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^7.16.0","cheerio":"^1.1.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","sonic-boom":"^4.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.58","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.0.2","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.31","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^5.66.2","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.24.1_1773924584626_0.43762081105865946","host":"s3://npm-registry-packages-npm-production"}},"1.25.0":{"name":"@nanocollective/nanocoder","version":"1.25.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.25.0","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"1375aacfaa3e3c25681964a142c699efd49e6a96","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.25.0.tgz","fileCount":1354,"integrity":"sha512-oBwABVbyVDfLIg/L0SMYSZEqeGNvjJe2AatsfCb3Q9pRqKvMPJHEl1+qvu12bmpJYPllUDWAfISh65MDt6WQiA==","signatures":[{"sig":"MEQCIGkW58hJS5Gwj+c7TICPGrz5MBpRQfvgtLTqgV4Ci35pAiBb69OEjaukppi9QkchozvfcaHLSmDPCQHXCNvW79DkDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4160566},"main":"dist/cli.js","pnpm":{"overrides":{"tar":">=7.5.10","yaml":">=2.8.3","flatted":">=3.4.2","tinyexec":">=1.0.4","smol-toml":">=1.6.1","simple-git":">=3.32.3","path-to-regexp":">=8.4.0","picomatch@<2.3.2":">=2.3.2","express-rate-limit":">=8.2.2","@vscode/vsce>minimatch":"^3.0.5","picomatch@>=4.0.0 <4.0.4":">=4.0.4"},"auditConfig":{},"patchedDependencies":{"ink@6.8.0":"patches/ink@6.8.0.patch"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"afe78dccff6662e5dfc2f0334ae62f0ee3983a30","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.2","dependencies":{"ai":"6.0.116","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.0.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.58","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.3.0","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.35","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.3.3","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.25.0_1776089952175_0.9090214991738581","host":"s3://npm-registry-packages-npm-production"}},"1.25.1":{"name":"@nanocollective/nanocoder","version":"1.25.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.25.1","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"c7dfc4a0b340ecf494c7eb14bb764ffb640762dc","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.25.1.tgz","fileCount":1354,"integrity":"sha512-2L5DvOLzmD7RuzdpIS5R+k0M8vWPaPJr320LUIGVXXAJkwz9d+NrfdN39Jz1wn5x86N9aAC9Tpa3I3kzwlM7GQ==","signatures":[{"sig":"MEUCIQDbAsHLS8Eunu3x5eNuLiqdyG4C5A+z+IfiZhfDgXbgugIgVOVBMOnyjwQoDqw3PaNhrCpJlKgaEeca5uoHPRcHoBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4160566},"main":"dist/cli.js","pnpm":{"overrides":{"tar":">=7.5.10","yaml":">=2.8.3","flatted":">=3.4.2","tinyexec":">=1.0.4","smol-toml":">=1.6.1","simple-git":">=3.32.3","path-to-regexp":">=8.4.0","picomatch@<2.3.2":">=2.3.2","express-rate-limit":">=8.2.2","@vscode/vsce>minimatch":"^3.0.5","picomatch@>=4.0.0 <4.0.4":">=4.0.4"},"auditConfig":{},"patchedDependencies":{"ink@6.8.0":"patches/ink@6.8.0.patch"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"917821d5c8b137c95f2e599d05f11167753e7684","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.2","dependencies":{"ai":"6.0.116","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.0.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.58","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.3.0","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.35","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.3.3","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.25.1_1776103419566_0.5609632656550787","host":"s3://npm-registry-packages-npm-production"}},"1.25.2":{"name":"@nanocollective/nanocoder","version":"1.25.2","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.25.2","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"cbc700f8fde52a2ed03fd3b353fff84e2cb7adaf","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.25.2.tgz","fileCount":1354,"integrity":"sha512-z8xLbfn+bvJS3yOuSxQQq172ikP7n4EU3ZZS5v5YcIK3+nML8+896ToFJS7hfVC0cfrBn/diNbmNhICG0+n2pw==","signatures":[{"sig":"MEUCIQCQ68o12UD20tdu2q+WFoAvGIsgQmiEhXQ8i8SB8VodTQIgNXZhuwP4oGs8WZifa9HIbDgyz4QykNF3TfkXR05V7VE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4160566},"main":"dist/cli.js","pnpm":{"overrides":{"tar":">=7.5.10","yaml":">=2.8.3","flatted":">=3.4.2","tinyexec":">=1.0.4","smol-toml":">=1.6.1","simple-git":">=3.32.3","path-to-regexp":">=8.4.0","picomatch@<2.3.2":">=2.3.2","express-rate-limit":">=8.2.2","@vscode/vsce>minimatch":"^3.0.5","picomatch@>=4.0.0 <4.0.4":">=4.0.4"},"auditConfig":{},"patchedDependencies":{"ink@6.8.0":"patches/ink@6.8.0.patch"}},"type":"module","types":"./dist/cli.d.ts","engines":{"node":">=20"},"gitHead":"79d84a5e80937f63b608a25357b1478a81b82ee5","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","release:nix":"./scripts/update-nix-version.sh","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.8.2","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"20.20.2","dependencies":{"ai":"6.0.116","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.0.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.58","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.3.0","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.35","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.3.3","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^6.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.25.2_1776126010970_0.5408810169874472","host":"s3://npm-registry-packages-npm-production"}},"1.26.0":{"name":"@nanocollective/nanocoder","version":"1.26.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.26.0","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"00e7a960d66321eb9115f58018ca1a02167b5457","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.26.0.tgz","fileCount":1448,"integrity":"sha512-jM59iwubSfcFpD0ozLrYOzt9rM+9+/x6tpa1gRHVtoyUxZ10ejuskHOoQ6U8X+QhP74R/fSyhkh1l2lcjFrLDA==","signatures":[{"sig":"MEYCIQCC5KMVGAbPCVtmARcQkZhi60XDTLLic8COyopMGVWnYwIhAMczkjxbv78EizR7LLgvaTYw70y1jVdrP9oevA/oFo/o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4370940},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=22"},"gitHead":"f5668b394675257591a905f1b77ccc8d62663b22","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.9.7","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"22.22.2","dependencies":{"ai":"6.0.174","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.0.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.58","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.3.0","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.41","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.3.3","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^7.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.26.0_1778429571493_0.7388808786055461","host":"s3://npm-registry-packages-npm-production"}},"1.26.1":{"name":"@nanocollective/nanocoder","version":"1.26.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.26.1","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"4ce40893787108a9f3d805e32053aa1d237505f0","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.26.1.tgz","fileCount":1448,"integrity":"sha512-l4wxx43rhQd0wcgj+5ynX5/ts5OfqUJQTeEyNEjeEMsq8t4j/du6//zSD3HQeRzeyiWjNAGBlO4eQ/81BTUkZw==","signatures":[{"sig":"MEYCIQCe7Y2NsAMjzMrgt4FyKXkVdhUCWdKQIeA3qb11GkHYQAIhAN9VZ9dU561tVT0xTqjYjs4KNaHUSzV6OEymDQlBDxRe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4370940},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=22"},"gitHead":"ba7cf318c17e24ac8c927211287ac480121cd970","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.9.7","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"22.22.2","dependencies":{"ai":"6.0.174","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.0.2","ink-tab":"^5.2.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.58","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.4.0","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.41","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.3.3","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^7.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.26.1_1778432991276_0.03898105680051711","host":"s3://npm-registry-packages-npm-production"}},"1.27.0":{"name":"@nanocollective/nanocoder","version":"1.27.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.27.0","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"6b33ce643a2222c2be39bcba9b2f6f6ce5ff7600","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.27.0.tgz","fileCount":1588,"integrity":"sha512-KaHbBPJjZiBlhH7t4MwVXQxYHJSSmKoBXPTvJjWGLzFBXrqmzu0LG1ZyuXTEMFXfbp93KQQWaC/+DUnta2pBBA==","signatures":[{"sig":"MEUCIQCyqEJMjdAcepA/jMvcPYBcqkTs+EYJP6stYQdL02VMiQIgG50KsNLMWHg09w5GSAbzcFBr04CTeqM+exI3cMAexPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4830385},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=22"},"gitHead":"1b7b1b2bfaa357865a25f1d2b22bfc0f527d23d2","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.9.8","description":"A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"22.22.3","dependencies":{"ai":"6.0.174","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.0.2","ink-tab":"^5.2.0","chokidar":"^5.0.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.41","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.58","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.4.0","@anthropic-ai/tokenizer":"^0.0.4","@ai-sdk/openai-compatible":"2.0.41","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.0.3","lint-staged":"^16.3.3","@types/react":"^19.0.0","@biomejs/biome":"^2.3.10","@ava/typescript":"^7.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.27.0_1779827828004_0.01229225857655658","host":"s3://npm-registry-packages-npm-production"}},"1.28.0":{"name":"@nanocollective/nanocoder","version":"1.28.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.28.0","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"f58a913703e2cefca1faf0aab430100305f5da86","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.28.0.tgz","fileCount":1648,"integrity":"sha512-o4OcCA1wSt8Kge+b3/6wuyJ5Itfwg7HiLlZcKC+3uMkn5kyTlHbl+aVNIN7TFLjQh9ftlarXC5xU2h1Nl7M8WA==","signatures":[{"sig":"MEUCIFwQhAROQ63RVgnnBpo7eO/pwkYo2zxlmURv1KckMAhWAiEAsMV/6TfYYD870ZqskLMI2FGA8vBMp+EhmmRDn9Scr3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4846183},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=22"},"gitHead":"60b42dd0730829561fb5d4f0d1829e0f8f378f7f","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.9.8","description":"An open coding agent for your terminal, built by a community collective rather than a company. Bring your own model, keep your code on your machine, and owe nothing to anyone.","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"22.22.3","dependencies":{"ai":"6.0.193","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.5.0","ink-tab":"^5.2.0","chokidar":"^5.0.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","clipboardy":"^5.3.1","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.71","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.85","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.4.0","@anthropic-ai/tokenizer":"^0.0.4","@agentclientprotocol/sdk":"^0.25.0","@ai-sdk/openai-compatible":"2.0.51","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.9.3","lint-staged":"^17.0.7","@types/react":"^19.0.0","@biomejs/biome":"^2.5.0","@ava/typescript":"^7.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.28.0_1781994029414_0.33713719446381973","host":"s3://npm-registry-packages-npm-production"}},"1.28.1":{"name":"@nanocollective/nanocoder","version":"1.28.1","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.28.1","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"7c0f0c4e0f7739d093d4b46886019c8ab12e0207","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.28.1.tgz","fileCount":1656,"integrity":"sha512-6IDUIpkkh11fb7pfVjFzvxuwaW0N+wagBfOpr8QndtXwo/Gn2SqSc0Fz8VLeztpvl+10BEz+fQuQbPgqHej3iQ==","signatures":[{"sig":"MEQCIFE77RYkHLOenLlkgF/OWZpDThVxeQPbmmSJ7jx8DkF7AiAIL5gL2veD6UKrh72XGSgTeZETXGwd1yzYBKLuCMwrYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4896283},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=22"},"gitHead":"95fcd2b719ead9f3bee67eda879dacce5454dcc4","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.9.8","description":"An open coding agent for your terminal, built by a community collective rather than a company. Bring your own model, keep your code on your machine, and owe nothing to anyone.","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"22.23.0","dependencies":{"ai":"6.0.193","ws":"^8.18.0","ink":"^6.3.1","diff":"^8.0.2","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.5.0","ink-tab":"^5.2.0","chokidar":"^5.0.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","clipboardy":"^5.3.1","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.71","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.85","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.4.0","@anthropic-ai/tokenizer":"^0.0.4","@agentclientprotocol/sdk":"^0.25.0","@ai-sdk/openai-compatible":"2.0.51","@modelcontextprotocol/sdk":"^1.26.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.9.3","lint-staged":"^17.0.7","@types/react":"^19.0.0","@biomejs/biome":"^2.5.0","@ava/typescript":"^7.0.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.28.1_1782679513927_0.5729102165290278","host":"s3://npm-registry-packages-npm-production"}},"1.29.0":{"name":"@nanocollective/nanocoder","version":"1.29.0","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","_id":"@nanocollective/nanocoder@1.29.0","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"c8":{"lines":80,"exclude":["source/app/App.tsx","source/web/page.ts"],"branches":0,"reporter":["text","json-summary","lcov"],"functions":0,"statements":0},"ava":{"files":["source/**/*.spec.ts","source/**/*.spec.tsx","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"serial":true,"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx","--no-warnings"],"workerThreads":false,"environmentVariables":{"LANG":"en-US.UTF-8","LC_ALL":"en-US.UTF-8","NODE_ENV":"test"}},"bin":{"nanocoder":"dist/cli.js"},"dist":{"shasum":"6543b2286c6c08025c57bdf615a5faaa535bc33e","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.29.0.tgz","fileCount":1731,"integrity":"sha512-RZS7vZk7lzs/YguIOf9ivqCb1cimqYJAVRw+Qwxx7Ut1EDVmh47AAsmTAP2vbvuewpambk6V+fk0PCY20Sj3EQ==","signatures":[{"sig":"MEQCIHNezZGdNDAZ7Y4zUTrTuGGR5/2UiZsHdBzB/iGGQYhlAiBLb2NDkawEw+pahPJcaIf1q0L686OMXlyVyUSRrutPHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4912064},"main":"dist/cli.js","type":"module","types":"./dist/cli.d.ts","engines":{"node":">=22"},"gitHead":"15986f3dde19c3a9125423a6042dc11f30872c3c","scripts":{"dev":"tsc --watch","audit":"pnpm audit","build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","start":"node dist/cli.js","format":"biome check --write .","prepare":"husky","test:all":"./scripts/test.sh","test:ava":"ava","changeset":"changeset","test:knip":"knip","test:lint":"biome lint .","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","test:types":"tsc --noEmit","test:format":"biome check --no-errors-on-unmatched .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","format:check":"biome check .","build:credits":"./scripts/generate-credits.sh","test:lint:fix":"biome check --write --unsafe .","test:security":"semgrep scan --config auto --error","prepublishOnly":"pnpm run build && pnpm run build:vscode","test:benchmark":"tsx benchmarks/report.ts","changeset:version":"changeset version && node scripts/normalize-changelog.js","test:ava:coverage":"c8 ava","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","generate:system-prompts":"tsx scripts/generate-system-prompts.ts"},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"repository":{"url":"git+https://github.com/Nano-Collective/nanocoder.git","type":"git"},"_npmVersion":"10.9.8","description":"An open coding agent for your terminal, built by a community collective rather than a company. Bring your own model, keep your code on your machine, and owe nothing to anyone.","directories":{},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"_nodeVersion":"22.23.1","dependencies":{"ai":"6.0.193","ws":"^8.18.0","ink":"^6.3.1","diff":"^9.0.0","pino":"^10.1.0","yaml":"^2.8.3","chalk":"^5.2.0","react":"^19.0.0","croner":"^10.0.1","dotenv":"^17.2.3","ignore":"^7.0.5","undici":"^8.5.0","ink-tab":"^5.2.0","chokidar":"^5.0.0","tiktoken":"^1.0.22","pino-roll":"^4.0.0","wrap-ansi":"^10.0.0","cli-table3":"^0.6.5","clipboardy":"^5.3.1","sonic-boom":"^5.0.0","ink-spinner":"^5.0.0","pino-pretty":"^13.1.3","xdg-basedir":"^5.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","cli-highlight":"^2.1.11","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.71","ink-select-input":"^6.2.0","@ai-sdk/anthropic":"^3.0.85","llama-tokenizer-js":"^1.2.2","@nanocollective/get-md":"^1.6.0","@anthropic-ai/tokenizer":"^0.0.4","@agentclientprotocol/sdk":"^0.25.0","@ai-sdk/openai-compatible":"2.0.51","@modelcontextprotocol/sdk":"^1.26.0","@nanocollective/prompt-scrub":"^1.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"c8":"^11.0.0","ava":"^7.0.0","tsx":"^4.20.6","knip":"^6.0.0","husky":"^9.1.7","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","strip-ansi":"^7.1.2","typescript":"^5.0.3","@types/node":"^25.9.3","lint-staged":"^17.0.7","@types/react":"^19.0.0","@biomejs/biome":"^2.5.0","@ava/typescript":"^7.0.0","@changesets/cli":"^2.31.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocoder_1.29.0_1785093734759_0.04649825624060844","host":"s3://npm-registry-packages-npm-production"}},"1.30.0":{"name":"@nanocollective/nanocoder","main":"dist/cli.js","version":"1.30.0","description":"An open coding agent for your terminal, built by a community collective rather than a company. Bring your own model, keep your code on your machine, and owe nothing to anyone.","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"author":{"name":"Nano Collective"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Nano-Collective/nanocoder.git"},"homepage":"https://github.com/Nano-Collective/nanocoder#readme","bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"bin":{"nanocoder":"dist/cli.js"},"type":"module","packageManager":"pnpm@11.0.9","engines":{"node":">=22"},"scripts":{"build":"tsc && tsc-alias && cp source/commands/contributors.json dist/commands/contributors.json && chmod +x dist/cli.js","build:credits":"./scripts/generate-credits.sh","dev":"tsc --watch","start":"node dist/cli.js","test:all":"./scripts/test.sh","test:ava":"ava","test:ava:coverage":"c8 ava","test:format":"biome check --no-errors-on-unmatched .","test:types":"tsc --noEmit","test:types:vscode":"tsc --noEmit -p plugins/vscode/tsconfig.json","test:lint":"biome lint .","test:lint:fix":"biome check --write --unsafe .","test:knip":"knip","test:audit":"pnpm audit --audit-level=high --ignore-unfixable","audit":"pnpm audit","test:security":"semgrep scan --config auto --error","test:benchmark":"tsx benchmarks/report.ts","test:benchmark:update":"tsx benchmarks/report.ts --update","test:benchmark:explain":"tsx benchmarks/report.ts --explain","changeset":"changeset","changeset:version":"changeset version && node scripts/normalize-changelog.js","format":"biome check --write .","format:check":"biome check .","build:vscode":"cd plugins/vscode && pnpm run build && pnpm exec vsce package --allow-missing-repository --skip-license --no-dependencies -o ../../assets/nanocoder-vscode.vsix","prepublishOnly":"pnpm run build && pnpm run build:vscode","generate:system-prompts":"tsx scripts/generate-system-prompts.ts","prepare":"husky"},"dependencies":{"@agentclientprotocol/sdk":"^1.3.0","@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.43","@ai-sdk/openai":"^3.0.71","@ai-sdk/openai-compatible":"2.0.51","@anthropic-ai/tokenizer":"^0.0.4","@modelcontextprotocol/sdk":"^1.26.0","@nanocollective/get-md":"^1.6.0","@nanocollective/prompt-scrub":"^1.0.1","ai":"6.0.193","chalk":"^6.0.0","chokidar":"^5.0.0","cli-highlight":"^2.1.11","cli-table3":"^0.6.5","clipboardy":"^5.3.1","croner":"^10.0.1","diff":"^9.0.0","dotenv":"^17.2.3","ignore":"^7.0.5","ink":"^6.3.1","ink-big-text":"^2.0.0","ink-gradient":"^4.0.0","ink-select-input":"^6.2.0","ink-spinner":"^5.0.0","ink-tab":"^5.2.0","llama-tokenizer-js":"^1.2.2","pino":"^10.1.0","pino-pretty":"^13.1.3","pino-roll":"^4.0.0","react":"^19.0.0","sonic-boom":"^5.0.0","tiktoken":"^1.0.22","undici":"^8.5.0","wrap-ansi":"^10.0.0","ws":"^8.18.0","xdg-basedir":"^5.1.0","yaml":"^2.8.3"},"devDependencies":{"@ava/typescript":"^7.0.0","@biomejs/biome":"^2.5.0","@changesets/cli":"^3.0.0","@types/node":"^26.1.2","@types/react":"^19.0.0","@types/ws":"^8.18.1","ava":"^8.0.1","c8":"^11.0.0","husky":"^9.1.7","ink-testing-library":"^4.0.0","knip":"^6.0.0","lint-staged":"^17.0.7","strip-ansi":"^7.1.2","tsc-alias":"^1.8.16","tsx":"^4.20.6","typescript":"^7.0.2"},"lint-staged":{"*.{js,ts,jsx,tsx,json,md}":["biome check --write --no-errors-on-unmatched"]},"ava":{"extensions":["ts","tsx"],"nodeArguments":["--import=tsx","--no-warnings"],"files":["source/**/*.spec.ts","source/**/*.spec.tsx","plugins/**/*.spec.ts","plugins/**/*.spec.tsx","!plugins/**/node_modules/**","!source/**/*-helpers.ts","!source/**/test-helpers.ts"],"workerThreads":false,"serial":true,"environmentVariables":{"NODE_ENV":"test","LC_ALL":"en-US.UTF-8","LANG":"en-US.UTF-8"}},"c8":{"exclude":["source/app/App.tsx","source/web/page.ts"],"reporter":["text","json-summary","lcov"],"lines":80,"functions":0,"branches":0,"statements":0},"_id":"@nanocollective/nanocoder@1.30.0","gitHead":"59874391f939bdfe93c273a10d23a7a94009edd1","types":"./dist/cli.d.ts","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-QCZt7fo2fvazmo/nC2wjU/lfBCRdUfMdmX3rQ8saXPT4Lu/9S0vczcsdOfr3npT6AIcXW9w5Zx517KrE9KnYSg==","shasum":"72133a54c5a91b3e0c60b9a06849882594b1c497","tarball":"https://registry.npmjs.org/@nanocollective/nanocoder/-/nanocoder-1.30.0.tgz","fileCount":1831,"unpackedSize":5263028,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDvJNjHYB8zRUbCuhDES29D1HjwhmgWXvtZdltLPGT7OQIhAJTpz8jrEteYnCPFiteIPDVCwZnnjVMELYVkIgAF1XVW"}]},"_npmUser":{"name":"willlamerton","email":"william.lamerton@gmail.com"},"directories":{},"maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nanocoder_1.30.0_1787750839448_0.5274995068036052"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-05T21:12:03.069Z","modified":"2026-08-26T13:27:19.881Z","1.11.2":"2025-09-23T20:40:14.554Z","1.11.3":"2025-09-23T20:58:57.986Z","1.11.4":"2025-10-05T21:12:03.361Z","1.12.0":"2025-10-07T19:48:13.851Z","1.12.1":"2025-10-07T20:20:23.530Z","1.13.0":"2025-10-08T21:31:16.109Z","1.13.1":"2025-10-09T14:28:37.001Z","1.13.2":"2025-10-09T20:09:34.652Z","1.13.3":"2025-10-09T21:27:32.999Z","1.13.4":"2025-10-13T00:00:28.707Z","1.13.5":"2025-10-13T16:21:52.277Z","1.13.6":"2025-10-13T21:42:42.755Z","1.13.7":"2025-10-14T22:15:11.042Z","1.13.8":"2025-10-18T20:32:38.697Z","1.13.9":"2025-10-19T14:33:19.516Z","1.14.0":"2025-10-26T13:02:22.862Z","1.14.1":"2025-10-28T23:33:50.859Z","1.14.2":"2025-10-30T15:07:38.746Z","1.14.3":"2025-11-04T11:50:16.096Z","1.15.0":"2025-11-06T22:41:33.758Z","1.15.1":"2025-11-08T20:34:06.567Z","1.16.0":"2025-11-09T20:27:46.285Z","1.16.1":"2025-11-09T21:12:35.633Z","1.16.2":"2025-11-10T16:39:32.378Z","1.16.3":"2025-11-11T20:45:26.615Z","1.16.4":"2025-11-12T21:31:06.056Z","1.16.5":"2025-11-20T16:32:33.804Z","1.17.0":"2025-11-26T22:45:44.828Z","1.17.1":"2025-11-26T23:46:50.062Z","1.17.2":"2025-11-27T22:12:50.566Z","1.17.3":"2025-12-02T13:16:50.609Z","1.18.0":"2025-12-07T23:45:00.903Z","1.19.0":"2025-12-15T20:25:28.116Z","1.19.1":"2025-12-15T20:38:58.938Z","1.19.2":"2025-12-18T12:25:34.852Z","1.20.0":"2026-01-04T22:15:42.693Z","1.20.1":"2026-01-05T12:06:00.984Z","1.20.2":"2026-01-06T00:17:35.216Z","1.20.3":"2026-01-06T23:04:36.808Z","1.20.4":"2026-01-07T22:47:56.251Z","1.21.0":"2026-01-20T16:51:42.153Z","1.22.0":"2026-02-05T17:10:24.259Z","1.22.1":"2026-02-05T20:30:39.317Z","1.22.2":"2026-02-06T18:23:58.793Z","1.22.3":"2026-02-08T22:40:39.758Z","1.22.4":"2026-02-09T23:28:14.619Z","1.22.5":"2026-02-15T22:26:35.823Z","1.23.0":"2026-02-26T13:35:23.974Z","1.24.0":"2026-03-17T18:58:52.438Z","1.24.1":"2026-03-19T12:49:44.842Z","1.25.0":"2026-04-13T14:19:12.479Z","1.25.1":"2026-04-13T18:03:39.778Z","1.25.2":"2026-04-14T00:20:11.313Z","1.26.0":"2026-05-10T16:12:51.722Z","1.26.1":"2026-05-10T17:09:51.487Z","1.27.0":"2026-05-26T20:37:08.248Z","1.28.0":"2026-06-20T22:20:29.604Z","1.28.1":"2026-06-28T20:45:14.111Z","1.29.0":"2026-07-26T19:22:14.946Z","1.30.0":"2026-08-26T13:27:19.654Z"},"bugs":{"url":"https://github.com/Nano-Collective/nanocoder/issues"},"author":{"name":"Nano Collective"},"license":"MIT","homepage":"https://github.com/Nano-Collective/nanocoder#readme","keywords":["cli","ai","coding","agent","ollama","openrouter","local","typescript","llama-cpp"],"repository":{"type":"git","url":"git+https://github.com/Nano-Collective/nanocoder.git"},"description":"An open coding agent for your terminal, built by a community collective rather than a company. Bring your own model, keep your code on your machine, and owe nothing to anyone.","maintainers":[{"name":"mrspence","email":"admin@matt-spence.com"},{"name":"willlamerton","email":"william.lamerton@gmail.com"}],"readme":"# Nanocoder\n\n[English](README.md)\n[简体中文](README.zh-CN.md)\n\n一個純終端驅動的開源程式設計 Agent，由社群共同打造，不受商業公司控制。模型隨意選擇，程式碼留在本地，告別平台綁定。\n\nNanocoder 由非營利性 AI 開發者社群 [Nano Collective](https://nanocollective.org) 打造。它能透過你指定的模型來實現 Agentic Coding（智能體程式設計）：既能用 Ollama 跑本地模型，也能接入 OpenRouter、Anthropic、Google 以及各類相容 OpenAI 格式的 API。誰來處理你的程式碼？資料傳送到哪裡？全由你自己決定。這裡沒有閉源黑盒，也沒有把關鍵能力鎖在付費牆後面：**尊重隱私**、**本地優先**、**面向所有人免費開放**。\n\n![Example](./.github/assets/example-preview.gif)\n\n---\n![Build Status](https://github.com/Nano-Collective/nanocoder/raw/main/badges/build.svg)\n![Coverage](https://github.com/Nano-Collective/nanocoder/raw/main/badges/coverage.svg)\n![Version](https://github.com/Nano-Collective/nanocoder/raw/main/badges/npm-version.svg)\n![NPM Downloads](https://github.com/Nano-Collective/nanocoder/raw/main/badges/npm-downloads-monthly.svg)\n![NPM License](https://github.com/Nano-Collective/nanocoder/raw/main/badges/npm-license.svg)\n![Repo Size](https://github.com/Nano-Collective/nanocoder/raw/main/badges/repo-size.svg)\n![Stars](https://github.com/Nano-Collective/nanocoder/raw/main/badges/stars.svg)\n![Forks](https://github.com/Nano-Collective/nanocoder/raw/main/badges/forks.svg)\n\n## 快速開始\n\n```bash\nnpm install -g @nanocollective/nanocoder\nnanocoder\n```\n\n如果你使用 macOS/Linux，也可以通过 [Homebrew](docs/getting-started/installation.md#homebrew-macoslinux) 或 [Nix Flakes](docs/getting-started/installation.md#nix-flakes) 安裝。\n\n### CLI 參數用法\n\n你可以通過命令列直接指定 Provider、模型以及啟動模式：\n\n```bash\n# 指定 Provider 和模型，直接執行一次性任務（非互動模式）\nnanocoder --provider openrouter --model google/gemini-3.1-flash run \"analyze src/app.ts\"\n\n# 指定 Provider，進入互動模式\nnanocoder --provider ollama --model llama3.1\n\n# 參數可以靈活放在 run 命令前面或後面\nnanocoder run --provider openrouter \"refactor database module\"\n\n# 直接以特定模式啟動（normal、auto-accept、yolo、plan）\nnanocoder --mode yolo\nnanocoder --mode plan run \"audit the auth module\"\n```\n\n## 文件\n\n完整文件可以在 **[docs.nanocollective.org](https://docs.nanocollective.org/nanocoder/docs)** 線上閱讀，也可以直接查看目前倉庫的 [docs/](docs/) 目錄：\n\n- **[快速入門](docs/getting-started/index.md)** - 安裝、設定及上手指南\n- **[設定選項](docs/configuration/index.md)** - AI Provider 設定、MCP 伺服器、個人化偏好、記錄與逾時設定\n- **[核心功能](docs/features/index.md)** - Skills（指令、子 Agent、工具及事件觸發器）、專案級 Daemon（守護行程）、上下文 Checkpoint（檢查點）、開發模式及任務管理等\n- **[指令參考](docs/features/commands.md)** - 內建 Slash（斜線）指令全覽\n- **[快捷鍵鍵位](docs/features/keyboard-shortcuts.md)** - 終端快捷鍵速查表\n- **[社群指南](docs/community.md)** - 如何貢獻程式碼、加入 Discord 以及參與專案建設\n\n## 為什麼選擇社群驅動\n\nNanocoder 由社群集體而非商業公司打造，直接決定了它的安全性。這裡沒有付費牆，沒有在後台偷偷上傳你 Prompt 的遙測，也沒有被 KPI 和商業變現綁架的更新路線圖。開發它的人，正是每天在真實工作中使用它的人。\n\n以社群形式開源共建，意味著 Nanocoder 會堅持中立：你不會被某一家大廠的模型生態綁死；同時，Nano Collective 旗下的所有專案都共用同一套程式碼規範、測試標準和發佈流程，這讓程式碼庫保持清晰、易讀，也對開源貢獻者更友好。\n\n這不僅僅是一個趁手的工具。我們正在打造一個真正開放的 AI 工具生態，歡迎看看 [Nano Collective 的其他開源專案](https://nanocollective.org)。現在加入的早期貢獻者，將直接參與塑造這個生態的未來。\n\n## 贊助商\n\nNanocoder 純為社群而生，不以營利為目的。我們的持續開發離不開贊助商的支持。[成為贊助商](https://nanocollective.org/sponsor)。\n\n### [Atlas Cloud](https://www.atlascloud.ai/console/coding-plan)\n\n<p>\n  <a href=\"https://www.atlascloud.ai/console/coding-plan\" title=\"Atlas Cloud\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://nanocollective.org/sponsors/atlas-cloud-white.png\">\n      <img alt=\"Atlas Cloud\" height=\"40\" src=\"https://nanocollective.org/sponsors/atlas-cloud-black.png\">\n    </picture>\n  </a>\n</p>\n\n> Atlas Cloud 是一個全模態 AI 推理平台，為開發者提供統一的 API 介面，讓你無縫呼叫影片生成、圖像生成以及各種 LLM 模型。無需再維護繁雜的多廠商鑑權，只需接入一次，即可使用 300 多個跨模態精選模型。\n\n歡迎了解 [Atlas Cloud 新推出的 Coding Plan 優惠](https://www.atlascloud.ai/console/coding-plan)，以更具性價比的預算獲取 API 額度。\n\n## 加入社群\n\nNano Collective 是一個非營利組織，旨在為開發者社群打造優秀的 AI 工具。非常期待你的加入。\n\n- **提交程式碼**：請查閱 [CONTRIBUTING.md](CONTRIBUTING.md)，了解開發環境設定及 PR 提交規範。\n- **了解我們**：[nanocollective.org](https://nanocollective.org) · [官方文件](https://docs.nanocollective.org) · [GitHub](https://github.com/Nano-Collective) · [Discord](https://discord.gg/ktPDV6rekE)\n- **支持專案**：訪問 [支持頁面](https://docs.nanocollective.org/collective/organisation/support) 了解如何捐贈和贊助。\n- **財務與激勵章程**：查閱我們的 [經濟章程（Economics Charter）](https://docs.nanocollective.org/collective/organisation/economics-charter)，公開透明地了解自願貢獻原則、有償激勵（bounty）的運作機制以及目前的資金池現況。\n- \n","readmeFilename":"README.zh-TW.md"}