{"_id":"viberag","_rev":"25-641bc70e913b0641e2070afcf156e01d","name":"viberag","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"viberag","version":"0.1.0","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.1.0","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"1ceeea55aa3694d251f6b952bf44f00747e159df","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.1.0.tgz","fileCount":151,"integrity":"sha512-MCSQMNXA9vb4KXaFeYe2KvNHkzFzbpz8AXwg69VfdaaBpEpyVqA4PU0a7te4eRFQma1Jj3tiqUpSMIqPzb5iPw==","signatures":[{"sig":"MEQCIDS4TtnshWJIYHxOjog2VEFdZDOXPqwQzegCy5M30I0xAiBv8SmRAg0z+OMa+rSv/AUZtJT0o69n0ZJ+e2Edj3Jmvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":751931},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2d614215074186c1a5206dba031d360807b654cc","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","_npmVersion":"10.8.2","description":"![VibeRAG Banner](viberag-banner-opt.png)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.1.0_1767363701956_0.15277632540159702","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"viberag","version":"0.1.1","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.1.1","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"cac0f39d6e2ce1687db211c385f21de41684e246","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.1.1.tgz","fileCount":151,"integrity":"sha512-A8jAihHFnvPa1tFt5O3v0DSoW18vU4p3AvNT+0TxNgzaL31DQXv1TxY0Cl3j550K5OKBYSr0O2fZHM9YmK2cqA==","signatures":[{"sig":"MEYCIQDcP4vcTuBKCxrYBvf76SF5Z6Vt+179wAqFsdCjZIMNUQIhAK0JWRdh8hWeoBbBqYvwfnf5YpUebv9GaU5KRSnv24vm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":751988},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"58973a522e33dd795236f863aeb074530162534b","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","_npmVersion":"10.8.2","description":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.1.1_1767363812208_0.6552725589062094","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"viberag","version":"0.1.2","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.1.2","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"7243e4e18cda7cefc10bfd98ad92189dcf46d59a","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.1.2.tgz","fileCount":151,"integrity":"sha512-JpHEM5YIBxdSbfJyYOlPuvyx+RWmXgVEZGI7qrdD0egLYYmJtZS/UUzq8t9hjazWSmH0BaVSPU8By2nrZEXRCQ==","signatures":[{"sig":"MEQCIA/Q19bwAql25TDpIi9Y7HIGETXy2JD71q5ZmPS2A5+8AiBAXM72TVGz0FEGWJDt+qZPMkRu5KsJE3k1ibTx/fgscg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":759467},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"c6446bc89553dac3a3a1c118382c293ddceb3b07","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","_npmVersion":"10.8.2","description":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.1.2_1767375066236_0.5433720175603178","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"viberag","version":"0.1.3","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.1.3","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"53e788b266fac4786895463373ffd55670beb3c3","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.1.3.tgz","fileCount":151,"integrity":"sha512-7zw7A+CTUM1/p2RXWUhDOx9vJgnRm9EYA3h5hKciKB7SACc6PaOmBgi4C8dBrXfE54D6Y3tzlWog6z3yzcTddA==","signatures":[{"sig":"MEUCIQDCIqg5VgUoB14viX188dMKmOy3gS4JgHdjWftLB1haxgIgMpa6TWrzvIH0BjpFz3eG9z1cafdr515lFaQ7kMgIt4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":759473},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"ec051be78575667dd87a9d2f2f2decf556e34482","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","_npmVersion":"10.8.2","description":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.1.3_1767375143405_0.26465420156800223","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"viberag","version":"0.1.4","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.1.4","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"5b4c6d1e55a5f5143086793827fe29d57997755a","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.1.4.tgz","fileCount":151,"integrity":"sha512-sw8PoizWVZTsrWfdu4xSqEcII4Jy7tDiNuswBYCn6ye/0dWBOTfgnswdHl+tZZDjrvLBmk3bPOyFr9pvF+Axyw==","signatures":[{"sig":"MEUCIH5+9YwId89a0T7u6K70n6xpz9EaehkM1N+R0cuTPfySAiEA/KepBpp31PoHKqYaV65sUcEt8wld+xiVjs7MY6CAEMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":759697},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"4d073dc134753b02f46c957878b2c8c743253781","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.1.4_1767381066988_0.9540989352333789","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"viberag","version":"0.1.5","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.1.5","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"521b33cab75679cc744fe95f6012e2000fee3fd8","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.1.5.tgz","fileCount":151,"integrity":"sha512-cLODBAQ7mJIXqSnmY8cgkKa/3raWGzqFI7gMnelLBP3g/CAomUKIbSiFQIG3uUy8yd+6NxvIfGVAmNsFyb+pvw==","signatures":[{"sig":"MEQCIFFCaP69IrHtznlBbwpKTBiMM3bXqWnCmEzWvYnvZuCNAiA7T1HTvm1Qmv9212JsRz1Ugocp4lp2n32LrslayJ2VaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":760095},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"d0b3a930adfe102a1f36ff6c81150fde58bf7cfc","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.1.5_1767384364616_0.04353671082623389","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"viberag","version":"0.1.6","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.1.6","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"ab761e2489af2b3eb7855de6e558f7c36e021138","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.1.6.tgz","fileCount":151,"integrity":"sha512-y6jGC7jcesFhrj9ROWJFY56V/niSXaONw9+Dd7Zj5yjDjSuY7DdSirfja9cD/FpKquuhMcRgLtgk5BaSx0YPaA==","signatures":[{"sig":"MEUCIQD16VGVnM0uf7YoS/2dVOyxA7TUtqIjzOmPPOLtKlk+ZAIgLIKVsTjKYgeHbAy94AEqpySuSlGl40QicdAHP29fhnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":760114},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2e96713470ade0d7839788159e53115d45d54a0a","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.1.6_1767389220121_0.6652738448845645","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"viberag","version":"0.1.7","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.1.7","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"4ee2a96046077caf393641f27db5fde95502e861","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.1.7.tgz","fileCount":153,"integrity":"sha512-/euXHIInB7SbkUGbZtL53qOchTshUeGaRXnHIUfrqpurtzAYIB4xU933ItYJcQeKfKNiERfK0dHWI8qb3dJcjg==","signatures":[{"sig":"MEUCICf03dV0m6dK6D4dvvlqYCjnqoT78JFvlDEcz/b/z1mwAiEA82LV0RsClSrteFiKHMJhGt1dAvrOLX1g5oOfIcpvi0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774397},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"d562c275ca837d8f1a3ff640431c01d3cdc6383e","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.1.7_1767397935421_0.3033049316168568","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"viberag","version":"0.2.0","author":{"name":"Matthew Rideout"},"license":"AGPL-3.0-only","_id":"viberag@0.2.0","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"a47c1b8284d3e4ea3f7a720e05cf9ebe7046c01b","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.2.0.tgz","fileCount":157,"integrity":"sha512-Gl/naXBpORLsei0wMb8N64tO3cbdfewjxEmkiA/N1tgMKCouKZ7hxZeJmvUs0LXpGjXK1UvCnYBuFNJEjAiqIg==","signatures":[{"sig":"MEUCIA/CX5iEG4jc5lFqur9f1h831HSpEqqbqhFgniVd0EmgAiEAz3Oj3Q084LaPXPNCURnv18CvjvO0NYpxnANHCpzLN08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":845742},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"a9b15ea138a6b7e78922db4172d8975e910d029f","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.2.0_1767483788444_0.8975708576920627","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"viberag","version":"0.3.0","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.3.0","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"18bb0bf8f022ccf442192502d49f757dc9e038b0","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.3.0.tgz","fileCount":135,"integrity":"sha512-guJG1r9ybZqgZzRbfYGEVK57LaNZeLSuV4GEYbNpC9Tc2lp+ePzaG8eo0D/+2SqFjmLYufu7XsJ11qqoTHGHkQ==","signatures":[{"sig":"MEYCIQC5g7DCYn1ZQQYDkefmPAS5xH8bIs8i/eCLXK2l8PzM7gIhAJEDcEyvKw+TgURvmrFDkftzdHxzWZYnqYayIQ6W2BkQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704636},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"8c411c3a90030efa740c1d01015df7b2c53fe226","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.3.0_1767562876778_0.5119001106488246","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"viberag","version":"0.3.1","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.3.1","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"a52c3cbc20593b38acab1f00e0fb7ecbbe39d688","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.3.1.tgz","fileCount":135,"integrity":"sha512-MMnmxzV5E3O0uQfU/eo3BGs8ZNJAvH7Pg2/hqSuEQpaK6ev/osdqIYApiuCmlphGLw+AQNSwrHsn8Ti1gEvQ4Q==","signatures":[{"sig":"MEQCICM7qyQyrCZfillr6c3iMC0fGWcjB4VVmv443LLWMu57AiAj55Qq87zayzWDLdK6CAoFwiqYNqiF8Co0ZxTXBsy69g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703810},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2c74d4823e92986fea6ce3c8911c97c76048ff36","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.3.1_1767586676120_0.9211553604146143","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"viberag","version":"0.3.2","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.3.2","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"2e39b7d8b9e36774c8d8a2b0883735968c631b4f","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.3.2.tgz","fileCount":135,"integrity":"sha512-RJJg9oVGIn/ltGIlxH4vueLN+rWpQZvO8F1L6OzWajZjJQsc88Bz7lVuif+W5SBliS5w7tSf6AxGq7dToLsEfA==","signatures":[{"sig":"MEQCIDhYKRp+7pL7vtWg/W9uUqz8YDz2OKfCLaOko3FX6UZoAiAMZwTuJGhpld50IHaoKjMmJGLouR8yNXt+VFPVqqeXow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719587},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"c02e0a12f27306d3f9bd555d0e71e2193182e926","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.3.2_1767676086874_0.3751816409148263","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"viberag","version":"0.3.3","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.3.3","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js"},"dist":{"shasum":"e6e38975ba892f19b9aedcb0ee461cfc3bce37cb","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.3.3.tgz","fileCount":139,"integrity":"sha512-YxpizPcG9DdIjtVmW1YzyBNlshDxwB7kqAGqAADv8kg1XaLdwYlTUnDLeh/XRNox1nstY2J0/1iA2XrLB49bog==","signatures":[{"sig":"MEUCIBYCNlMBelPC/LEgVidFlxJY9TILVDHlh2zrkOKxi4REAiEAnh9vdZDm2nj9XIThzuhzjJ3I1ARLPsB/ePcaLfQ3U4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":730421},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"b1b9de8cb31551550e8be211d7591adbcbe2482b","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.3.3_1767848562493_0.6394183216103406","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"viberag","version":"0.4.0","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.4.0","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"8424e8151b2dd787f6c178b1eb43f0a44e447119","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.4.0.tgz","fileCount":295,"integrity":"sha512-2PISFXJPQEeo2OUi6CL0NaSu+s5wvXdf4q6OO4bymEsisDwYBEqHA4N5dYzaVhH9lBkYNLHFKQTpQkA6e4KIiQ==","signatures":[{"sig":"MEUCIHdT1wLJ/OjWerJhnSE42wcVtBgGJJjeQZykJyOb6OslAiEArY0OwgHwiBBnXH2swKuHLdVgCzImT5jmdAZJuLizmLs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1431867},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"60c3c3b63596b3def31d5c05173f5197c6edf4e9","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.4.0_1768370574510_0.07914686546963279","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"viberag","version":"0.4.1","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.4.1","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"ca2b654018a3fa0cf43114a05fb3804bbbcec1bb","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.4.1.tgz","fileCount":295,"integrity":"sha512-LCzcyuDIJ7WnUNgfDBnxmwZs6o3DaE5uFfqvtYGlHQP2yLLxCsOUEq6c1w3ZjTZkgNGTLqTdSkFN5d5mBZiiGA==","signatures":[{"sig":"MEYCIQDk6q6Esx4Sob77YyzDHnTuIzVAYk0byJm3ukXKHa7zaQIhAIHDg3IGwHPYB7PJjPjIueK/R4cskAiTMJkCvOhDTYoW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1440462},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"3ada564a7d21dee9d995d3fc84de427a49a06821","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.4.1_1768449793456_0.06793077180098872","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"viberag","version":"0.4.2","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.4.2","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"f2a198bfcf2d21d399c7ce392f7faf923d727a56","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.4.2.tgz","fileCount":295,"integrity":"sha512-lFqr8huWrfjYUVmt3JBHWKJsa4ve6JBAVb51jcAHXCCndd5F+j3v+VPOEBKIiUOITnIwXqD7K428a8tOIi8dBQ==","signatures":[{"sig":"MEUCIQCD98aLAVnIbMA/3HBtkC2YG6pOhzfnz21BhVgnHJFbtwIgNRZ1/tftfnlQXpEFE8j5Ih3j+JpZ5OiZqrlFg5hATpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1441060},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"403366c4474cbc457812d71f663ef32c9cb4424a","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.4.2_1768451783002_0.3836059872645725","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"viberag","version":"0.4.3","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.4.3","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"f9d1b4b4d3c5914d9dc74b0daa940a1c9424ffca","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.4.3.tgz","fileCount":295,"integrity":"sha512-9zrFmst5Ys6fBQVlQuFxd/Uo1FRODiavTAsAx31wvaoA6W+EFIGQ0pn4D411PVKDInryb/KJte6oSlYlR1yPvA==","signatures":[{"sig":"MEYCIQD7tCKX5ARtF2qd/0uEGjw822QaTtu7H4PuHXD6PbwxagIhAKV/UeT9DLEsv0X0ukeaOn35SsxH4i4Q6k7diHWEOn+q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1441060},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"419c4903f941b4a6300895a1a5525c392e24d55c","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.4.3_1768451937803_0.28845875658291775","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"viberag","version":"0.4.4","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.4.4","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"a8d8eed09cf8c10c27e3457c1a7f49f9dc1f450c","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.4.4.tgz","fileCount":295,"integrity":"sha512-3ryAzy1rKGdYw3QsyByqbMq5nLlEdeoe0EHsDuAiBwceXvhZ/ZwbUOda95q4h+ncAvnHN3FEe7xJohx/IQvpPA==","signatures":[{"sig":"MEUCIFy3jiSClGqECgVEXssWYXO9Y+/OoiH3sr1rimzNVm3fAiEAvlzAoNVw51aaGCnsZ43lp+K56NKwsxiM/yL4E+cLm/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1442459},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"db3503b16dbe7fb8c35856aad4c0fb31de672a7c","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && vitest run","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.4.4_1768454973631_0.33103757209996565","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"viberag","version":"0.5.0","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.5.0","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"84c950dcd3a282710cf86e4cadaa69130f323fb5","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.5.0.tgz","fileCount":157,"integrity":"sha512-PX3w1IUb7dwQaUrIYilwwI9q4IFQVP07CLcYPOaOiswcPZeVdkDFHkPI0z0NZ72jiJgIndJgPrBeYcI4SEGC6Q==","signatures":[{"sig":"MEUCIQDWKkvdQQDEK5x23tKpEiQG+Q5aM1MYnxfRi/KQVYm/CAIgZQVSBkARewjmMFv2WO54g0I4mcNBT75pj3r2iKHs0eU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1081818},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"7bced5c83a97107977c41063f13e437a83dfa58c","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && npm run build && vitest run","build":"node scripts/clean-dist.js && tsc","clean":"node scripts/clean-dist.js","format":"prettier --write .","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","postbuild":"chmod +x dist/cli/index.js dist/mcp/index.js dist/daemon/index.js","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.5.0_1768887465963_0.9747533363064966","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"viberag","version":"0.6.0","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.6.0","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"47dec78b244a09b398c6f0eb855e1cd08a0c3f61","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.6.0.tgz","fileCount":161,"integrity":"sha512-LabQpXC6v3xI1W5btLMB8Hb9SEmb5iw8WQ3NsR5T2Libqn7KFv9HgQItJwwyhIUhqJX6SxVJGS3VyRFLX22m5g==","signatures":[{"sig":"MEYCIQDHxcEcmjW656ihSJHfqc+tSOXBHm0mf1nceOUzFYdnwQIhAIT8GEZb4Z0tt6GFlfNwkfWdF7gC8XorR8p0/QRJarrp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1106354},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2075eb1297d196da22962432f97fa41877d8d8ba","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && npm run build && vitest run","build":"node scripts/clean-dist.js && tsc","clean":"node scripts/clean-dist.js","format":"prettier --write .","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","postbuild":"chmod +x dist/cli/index.js dist/mcp/index.js dist/daemon/index.js","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.6.0_1769891789472_0.9295172551410875","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"viberag","version":"0.6.1","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.6.1","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"86fca244518cd210fba586caa0d510ec97f7fceb","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.6.1.tgz","fileCount":161,"integrity":"sha512-g1U5Zlv+XnsFWcULkaOM8JRYwibf4C07gBxuSF3l6yoc9bc+LZtqoP6is/el9MK1aHPvfbLmDZo4q4Jphm0h9A==","signatures":[{"sig":"MEUCIQD/hflykeSTIMhGu9bqwNZCZ3A5lyAtNQyhq5ABEqqYOgIgATDG618FRsD+TkvvGFbxgDRYi92vU5VieCQU2AxZ3YQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1106534},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"d3c4bb670b7b2eb0956a31cfd14b75cc1baddf16","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && npm run build && vitest run","build":"node scripts/clean-dist.js && tsc","clean":"node scripts/clean-dist.js","format":"prettier --write .","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","postbuild":"chmod +x dist/cli/index.js dist/mcp/index.js dist/daemon/index.js","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"^3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.6.1_1769892620353_0.08881645227209689","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"viberag","version":"0.6.2","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.6.2","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"3c551b6347a3a225458e10008ca4b499d9759e58","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.6.2.tgz","fileCount":161,"integrity":"sha512-uBsL+/UNoJJCkjBmtESrIETLltY8DkpyDTYAoBouQUDOdhUNEDitUdOUHbw+dIJw2kpbn3GMx/8iN5tPMYKyXg==","signatures":[{"sig":"MEQCIDPe8tkMoRHTirjt3/5pz6eddftttoHjWnkuRK7EymDrAiB2RWzauj6wJoxf98d9mKkZnqiScZdmPAdeYBx792eUmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1106533},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"03f2ea09c81ffa0f94af4096b83e444816c02fb2","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && npm run build && vitest run","build":"node scripts/clean-dist.js && tsc","clean":"node scripts/clean-dist.js","format":"prettier --write .","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","postbuild":"chmod +x dist/cli/index.js dist/mcp/index.js dist/daemon/index.js","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","prepublishOnly":"pinst --disable"},"_npmUser":{"name":"mdrideout","email":"boon4376@gmail.com"},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"10.8.2","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.6.2_1769893976227_0.4733312918662098","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"viberag","version":"0.7.0","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.7.0","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"d4e138031de15bbe4a47699b22500a23cdec2c4d","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.7.0.tgz","fileCount":175,"integrity":"sha512-SCBJ2zYHZZlYtdiZnTif9GKfmiWdhP7IHlMZbtFA6rKpfTII1ysUPMDxFtItgQ1pjf9xeO/4reiFr9d9QvQChw==","signatures":[{"sig":"MEUCIDlhj8+v7vTmd9iPE9qcvZ24JtTWkDD9QTNqMj65QktkAiEA1fBDjqQNZIpcygiYVbjyp6FfmBgwdFDv6utz3yVVC84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/viberag@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1166234},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"5dc5e82960445034763a2373142c148d2d985b07","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && npm run build && vitest run","build":"node scripts/clean-dist.js && tsc","clean":"node scripts/clean-dist.js","format":"prettier --write .","prepack":"npm run build && node scripts/bake-telemetry-keys.js","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"vitest run --project=rag","postbuild":"chmod +x dist/cli/index.js dist/mcp/index.js dist/daemon/index.js","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","bake:telemetry":"node scripts/bake-telemetry-keys-local.js","prepublishOnly":"pinst --disable","build:telemetry":"npm run build && npm run bake:telemetry"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6461cc2-cf59-40a1-9730-d858577d94e8"}},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"11.9.0","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","@sentry/node":"^10.38.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","posthog-node":"^5.21.2","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.7.0_1770485422190_0.852231273313151","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"viberag","version":"0.7.1","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","_id":"viberag@0.7.1","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"homepage":"https://github.com/mdrideout/viberag#readme","bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"dist":{"shasum":"352632ba9d6a1dcaa41a9daf1eb732042ceea1ab","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.7.1.tgz","fileCount":175,"integrity":"sha512-wt8doI9Wj2eHXEi8UlwDvlMMIJMS+MZOsKrVALrUs2jO8lwdHCBXy5R2+h0sDLtRf2vCjpfgOTiqz9vfVw83zw==","signatures":[{"sig":"MEQCIBeC9Cqxa4jx9tTIBw7GFfQaq+CiXT7jgcLUvB/O54NMAiBtp4/MG2SvhI7yKlVr7R95hcmPZBoDFVQ62N70UhkoMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/viberag@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1166632},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"feab8536ab030ae7b6c5091bf151d7a2cc6639e8","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"prettier --check . && eslint . && npm run build && vitest run","build":"node scripts/clean-dist.js && tsc","clean":"node scripts/clean-dist.js","format":"prettier --write .","prepack":"npm run build && node scripts/bake-telemetry-keys.js","prepare":"husky","lint:fix":"eslint . --fix","test:rag":"npm run test:daemon","postbuild":"chmod +x dist/cli/index.js dist/mcp/index.js dist/daemon/index.js","test:fast":"vitest run --project=fast","preinstall":"node scripts/check-node-version.js","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","postpublish":"pinst --enable","test:daemon":"vitest run --project=daemon","bake:telemetry":"node scripts/bake-telemetry-keys-local.js","prepublishOnly":"pinst --disable","build:telemetry":"npm run build && npm run bake:telemetry","test:windows-smoke":"vitest run --project=fast source/cli/__tests__/mcp-setup.test.ts source/cli/__tests__/mcp-setup-global.test.ts source/daemon/__tests__/grammar-smoke.test.ts source/daemon/__tests__/user-settings.test.ts source/mcp/__tests__/mcp-uninitialized-smoke.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6461cc2-cf59-40a1-9730-d858577d94e8"}},"prettier":"@vdemedes/prettier-config","repository":{"url":"git+https://github.com/mdrideout/viberag.git","type":"git"},"_npmVersion":"11.9.0","description":"Local code RAG for AI coding assistants - semantic search via MCP server","directories":{},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ink":"^6.6.0","zod":"^4.2.1","meow":"^14.0.0","chalk":"^5.6.2","react":"^19.2.3","ignore":"^7.0.5","fastmcp":"3.26.7","p-limit":"^6.2.0","chokidar":"^5.0.0","fast-glob":"^3.3.3","react-redux":"^9.2.0","@sentry/node":"^10.38.0","apache-arrow":"^18.1.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","posthog-node":"^5.21.2","string-width":"^8.1.0","cli-highlight":"^2.1.11","proper-lockfile":"^4.1.2","web-tree-sitter":"^0.24.7","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","ink-select-input":"^6.2.0","tree-sitter-wasms":"^0.1.13","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","pinst":"^3.0.0","eslint":"^9.39.2","vitest":"^4.0.16","globals":"^16.5.0","ts-node":"^10.9.1","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","eslint-plugin-react":"^7.37.5","ink-testing-library":"^3.0.0","react-devtools-core":"^6.1.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@vdemedes/prettier-config":"^2.0.1","eslint-plugin-react-hooks":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/viberag_0.7.1_1770490793448_0.6962301480737214","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"viberag","version":"0.8.0","description":"Local code RAG for AI coding assistants - semantic search via MCP server","license":"AGPL-3.0","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"author":{"name":"Matthew Rideout"},"repository":{"type":"git","url":"git+https://github.com/mdrideout/viberag.git"},"bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"homepage":"https://github.com/mdrideout/viberag#readme","bin":{"viberag":"dist/cli/index.js","viberag-mcp":"dist/mcp/index.js","viberag-daemon":"dist/daemon/index.js"},"type":"module","engines":{"node":">=20.0.0"},"scripts":{"preinstall":"node scripts/check-node-version.js","clean":"node scripts/clean-dist.js","build":"node scripts/clean-dist.js && tsc","postbuild":"chmod +x dist/cli/index.js dist/mcp/index.js dist/daemon/index.js","dev":"tsc --watch","test":"prettier --check . && eslint . && npm run build && vitest run","test:fast":"vitest run --project=fast","test:daemon":"vitest run --project=daemon","test:rag":"npm run test:daemon","test:memory":"vitest run --project=daemon source/daemon/__tests__/*memory-regression.test.ts","test:windows-smoke":"vitest run --project=fast source/cli/__tests__/mcp-setup.test.ts source/cli/__tests__/mcp-setup-global.test.ts source/daemon/__tests__/grammar-smoke.test.ts source/daemon/__tests__/user-settings.test.ts source/mcp/__tests__/mcp-uninitialized-smoke.test.ts","test:smoke":"vitest run --testNamePattern='Grammar Smoke'","lint":"eslint .","lint:fix":"eslint . --fix","format":"prettier --write .","bake:telemetry":"node scripts/bake-telemetry-keys-local.js","memory:profile":"npm run build && node --expose-gc scripts/memory/profile.mjs","memory:isolate":"npm run build && node scripts/memory/isolate-intent-growth.mjs","memory:stress":"npm run build && node scripts/memory/stress-search-growth.mjs","memory:watch-stress":"npm run build && node scripts/memory/watch-reindex-stress.mjs","build:telemetry":"npm run build && npm run bake:telemetry","prepare":"husky","prepack":"npm run build && node scripts/bake-telemetry-keys.js","prepublishOnly":"pinst --disable","postpublish":"pinst --enable"},"lint-staged":{"*.{ts,tsx,js,jsx}":["prettier --write","eslint --fix"],"*.{json,md,yml,yaml}":["prettier --write"]},"dependencies":{"@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.23.0","@reduxjs/toolkit":"^2.11.2","@sentry/node":"^10.38.0","apache-arrow":"^18.1.0","chalk":"^5.6.2","chokidar":"^5.0.0","cli-highlight":"^2.1.11","fast-glob":"^3.3.3","fastmcp":"3.26.7","ignore":"^7.0.5","ink":"^6.6.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-select-input":"^6.2.0","meow":"^14.0.0","p-limit":"^6.2.0","posthog-node":"^5.21.2","proper-lockfile":"^4.1.2","react":"^19.2.3","react-redux":"^9.2.0","string-width":"^8.1.0","tree-sitter-wasms":"^0.1.13","web-tree-sitter":"^0.24.7","zod":"^4.2.1"},"devDependencies":{"@eslint/js":"^9.39.2","@sindresorhus/tsconfig":"^3.0.1","@types/proper-lockfile":"^4.1.4","@types/react":"^19.2.7","@vdemedes/prettier-config":"^2.0.1","eslint":"^9.39.2","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.1","globals":"^16.5.0","husky":"^9.1.7","ink-testing-library":"^3.0.0","lint-staged":"^16.2.7","pinst":"^3.0.0","prettier":"^3.7.4","react-devtools-core":"^6.1.2","ts-node":"^10.9.1","typescript":"^5.9.3","typescript-eslint":"^8.50.1","vitest":"^4.0.16"},"prettier":"@vdemedes/prettier-config","gitHead":"2764a843f12e0068d0a2a87a1e8d7a25d2e02be4","_id":"viberag@0.8.0","_nodeVersion":"22.22.0","_npmVersion":"11.10.0","dist":{"integrity":"sha512-0qHSP8ho24EwdfvN/pQ94G7Vc7iI55XryCuKhTSPP8/PMrFvg+6Gis+NdPH630ON0ABVzbyM7Sdj/VpsBgok8w==","shasum":"0436ddd077685ba429ee9da4af7026f3595e4506","tarball":"https://registry.npmjs.org/viberag/-/viberag-0.8.0.tgz","fileCount":185,"unpackedSize":1266235,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/viberag@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDwnTKKFf4BFilCUh4sXYbWL/AEgR0Gmys22v7SZM7OGgIgBsh/gwHqZBVXAsh2hLW7jvnCJ7cil2P6HDscyfdZrlM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6461cc2-cf59-40a1-9730-d858577d94e8"}},"directories":{},"maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/viberag_0.8.0_1771099723652_0.23330014168294233"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-02T14:21:41.955Z","modified":"2026-02-14T20:08:44.108Z","0.1.0":"2026-01-02T14:21:42.162Z","0.1.1":"2026-01-02T14:23:32.394Z","0.1.2":"2026-01-02T17:31:06.414Z","0.1.3":"2026-01-02T17:32:23.611Z","0.1.4":"2026-01-02T19:11:07.175Z","0.1.5":"2026-01-02T20:06:04.820Z","0.1.6":"2026-01-02T21:27:00.258Z","0.1.7":"2026-01-02T23:52:15.590Z","0.2.0":"2026-01-03T23:43:08.602Z","0.3.0":"2026-01-04T21:41:17.030Z","0.3.1":"2026-01-05T04:17:56.337Z","0.3.2":"2026-01-06T05:08:07.125Z","0.3.3":"2026-01-08T05:02:42.680Z","0.4.0":"2026-01-14T06:02:54.670Z","0.4.1":"2026-01-15T04:03:13.661Z","0.4.2":"2026-01-15T04:36:23.197Z","0.4.3":"2026-01-15T04:38:57.988Z","0.4.4":"2026-01-15T05:29:33.804Z","0.5.0":"2026-01-20T05:37:46.169Z","0.6.0":"2026-01-31T20:36:29.683Z","0.6.1":"2026-01-31T20:50:20.543Z","0.6.2":"2026-01-31T21:12:56.421Z","0.7.0":"2026-02-07T17:30:22.337Z","0.7.1":"2026-02-07T18:59:53.647Z","0.8.0":"2026-02-14T20:08:43.808Z"},"bugs":{"url":"https://github.com/mdrideout/viberag/issues"},"author":{"name":"Matthew Rideout"},"license":"AGPL-3.0","homepage":"https://github.com/mdrideout/viberag#readme","keywords":["rag","mcp","semantic-search","code-search","embeddings","ai","claude","vscode","cursor"],"repository":{"type":"git","url":"git+https://github.com/mdrideout/viberag.git"},"description":"Local code RAG for AI coding assistants - semantic search via MCP server","maintainers":[{"name":"mdrideout","email":"boon4376@gmail.com"}],"readme":"![VibeRAG Banner](https://github.com/mdrideout/viberag/blob/master/viberag-banner-opt.png?raw=true)\n\n# VIBERAG MCP Server\n\n**Free, Open Source, Local / Offline Capable, Container-Free Semantic Search For Your Codebase**\n\nVibeRAG is fully local, offline capable MCP server for local codebase search.\n\n- Intent-routed codebase search (definitions/files/blocks/usages)\n- Hybrid retrieval (full-text + vector search)\n- Explainable results with stable follow-ups (open spans, get symbols, find usages)\n\nVibeRAG automatically indexes your codebase into a local container-free vector database ([lancedb](https://lancedb.com/)). Every time you make a change, the indexes are automatically updated.\n\n## Install\n\n```bash\nnpm install -g viberag\n```\n\n## Quick Start\n\n```bash\n# Initialize in your project\ncd your-project\nviberag\n\n# Run the initialization wizard to configure embeddings, run initial indexing, and automatically configure MCP server integration.\n/init\n\n# In addition to allowing Agents to search via the MCP server,\n# you can search yourself via the CLI.\n/search authentication handler\n```\n\n### Example\n\nWhen using a coding agent like [Claude Code](https://claude.ai/code), add `use viberag` to your prompt.\n\n```bash\n────────────────────────────────────────────────────────────────────\n> How is authentication handled in this repo? use viberag\n────────────────────────────────────────────────────────────────────\n```\n\n> **Tip:** include \"`use viberag`\" in your prompt to ensure your agent will use viberag's codebase search features. Most agents will select MCP tools as appropriate, but sometimes they need a little help with explicit prompting.\n\n## Features\n\n- **CLI based setup** - CLI commands and wizards for setup, editor integration, and configuration\n- **Agent-first search** - Find definitions, entry files, and relevant blocks (not just “chunks”)\n- **Flexible embeddings** - Local model (offline, free) or cloud providers (Gemini, Mistral, OpenAI)\n- **MCP server** - Works with Claude Code, Cursor, VS Code Copilot, and more\n- **Automatic incremental indexing** - Watches for file changes (respects `.gitignore` + `.viberagignore`) and reindexes only what has changed in real time\n- **Cancelable indexing** - Supports `/cancel` and clear status reporting via `/status`\n- **Multi-language support** - TypeScript, JavaScript, Python, Go, Rust, and more\n- **Blazing fast** - The data storage and search functionality is local on your machine, meaning the full power of your machine can churn through massive amounts of data and execute complex search queries in milliseconds.\n\n### How It Works:\n\nYour coding agent would normally use Search / Grep / Find and guess search terms that are relevant. VibeRAG indexes the codebase into a local vector database (based on [lancedb](https://lancedb.com/)) and can use semantic search to find all relevant code snippets even if the search terms are not exact.\n\nWhen searching for \"authentication\", VibeRAG will find all code snippets that are relevant to authentication, such as \"login\", \"logout\", \"register\", and names of functions and classes like `AuthDependency`, `APIKeyCache`, etc.\n\nThis ensures comprehensive search of your codebase so you don't miss important files and features that are relevant to your changes or refactor.\n\n### Great for Monorepos\n\nSemantic search is especially useful in monorepos, where you may be trying to understand how different parts of the codebase interact with each other. Viberag can find all the pieces with fewer searches, fewer tokens used, and a shorter amount of time spent searching.\n\n### Embedding Models\n\n_All options store embeddings and indexed data on your local machine_\n\n- **Local:** You can use a locally run embedding model ([Qwen3-Embedding-0.6B](https://huggingface.co/Qwen/Qwen3-Embedding-0.6B)) so that nothing leaves your machine. This has a smaller vocabulary and is only recommended for privacy and offline concerns.\n\n- **Recommended:** API generated embeddings from [Gemini](https://ai.google.dev/gemini-api/docs/embeddings), [OpenAI](https://platform.openai.com/docs/guides/embeddings), and [Mistral](https://docs.mistral.ai/capabilities/embeddings) are recommended for the largest vocabulary and highest quality semantic meaning.\n  - These embeddings are very affordable at ~10 - 15 cents per million tokens.\n  - A typical codebase can be indexed for pennies\n\n## MCP Server\n\nVibeRAG includes an MCP server that integrates with AI coding tools.\n\n### IDE / Agent Setup Wizard\n\nRun `/mcp-setup` in the VibeRAG CLI for interactive setup. This wizard will attempt to automatically configure your coding agents / editors with viberags MCP server settings.\n\n```bash\n# Start viberag\n$ viberag\n\n# Run the setup wizard (after having initialized with /init)\n$ /mcp-setup\n\n# Automatic configuration wizard\n╭───────────────────────────────────────────────────────────────╮\n│ MCP Setup Wizard                                              │\n│                                                               │\n│ Select AI coding tool(s) to configure:                        │\n│ (Space to toggle, Enter to confirm)                           │\n│                                                               │\n│ > [x] Claude Code (auto-setup)                                │\n│   [ ] Cursor (auto-setup)                                     │\n│   [ ] Gemini CLI (global config)                              │\n│   [ ] JetBrains IDEs (manual setup)                           │\n│   [ ] OpenAI Codex (global config)                            │\n│   [ ] OpenCode (global config)                                │\n│   [ ] Roo Code (auto-setup)                                   │\n│   [ ] VS Code Copilot (auto-setup)                            │\n│   [ ] Windsurf (global config)                                │\n│   [ ] Zed (global config)                                     │\n│                                                               │\n│ 1 selected | ↑/↓ move, Space toggle, Enter confirm, Esc cancel│\n╰───────────────────────────────────────────────────────────────╯\n```\n\nThe wizard can auto-configure project-level configs and merge into global configs.\n\n---\n\n### Manual Setup Instructions\n\nThe following sections describe manual MCP server setup configurations for various editors and agents.\n\n<details>\n<summary><strong>Claude Code</strong></summary>\n\n**CLI Command:**\n\n```bash\nclaude mcp add viberag -- npx viberag-mcp\n```\n\n> **Tool Search:** Claude Code supports MCP Tool Search (beta) to discover MCP tools on-demand when many tools are installed. It is enabled by default; to force-enable set `ENABLE_TOOL_SEARCH=true` when launching `claude`.\n\n**Global Config:** `~/.claude.json`\n\n```json\n{\n\t\"mcpServers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Project Config:** `.mcp.json`\n\n```json\n{\n\t\"mcpServers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Verify:** Run `/mcp` in Claude Code, look for \"viberag: connected\"\n\n[Documentation](https://docs.anthropic.com/en/docs/claude-code/mcp)\n\n</details>\n\n<details>\n<summary><strong>Cursor</strong></summary>\n\n**Global Config:** `~/.cursor/mcp.json`\n\n```json\n{\n\t\"mcpServers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Project Config:** `.cursor/mcp.json`\n\n```json\n{\n\t\"mcpServers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Verify:** Settings → Cursor Settings → MCP, verify \"viberag\" shows with toggle enabled\n\n[Documentation](https://docs.cursor.com/context/model-context-protocol)\n\n</details>\n\n<details>\n<summary><strong>Gemini CLI</strong></summary>\n\n**CLI Command:**\n\n```bash\ngemini mcp add viberag -- npx viberag-mcp\n```\n\n**Global Config:** `~/.gemini/settings.json`\n\n```json\n{\n\t\"mcpServers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Project Config:** `.gemini/settings.json`\n\n```json\n{\n\t\"mcpServers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Verify:** Run `/mcp` in Gemini CLI, look for \"viberag\" in server list\n\n[Documentation](https://googlegemini.io/gemini-cli/docs/mcp)\n\n</details>\n\n<details>\n<summary><strong>JetBrains IDEs</strong></summary>\n\n**UI Setup:**\n\n1. Open Settings → Tools → AI Assistant → MCP\n2. Click \"Add Server\"\n3. Set name: `viberag`\n4. Set command: `npx`\n5. Set args: `viberag-mcp`\n\n**Verify:** Settings → Tools → AI Assistant → MCP, verify \"viberag\" shows green in Status column\n\n[Documentation](https://www.jetbrains.com/help/ai-assistant/mcp.html)\n\n</details>\n\n<details>\n<summary><strong>OpenAI Codex</strong></summary>\n\n**CLI Command:**\n\n```bash\ncodex mcp add viberag -- npx -y viberag-mcp\n```\n\n**Global Config:** `~/.codex/config.toml`\n\n```toml\n[mcp_servers.viberag]\ncommand = \"npx\"\nargs = [\"-y\", \"viberag-mcp\"]\n```\n\n> **Note:** The `-y` flag is required for npx to auto-confirm package installation\n\n**Verify:** Run `/mcp` in Codex TUI, look for \"viberag\" in server list\n\n[Documentation](https://codex.openai.com/docs/tools/mcp-servers)\n\n</details>\n\n<details>\n<summary><strong>OpenCode</strong></summary>\n\n**Global Config:** `~/.config/opencode/opencode.json` (Linux/macOS) or `%APPDATA%/opencode/opencode.json` (Windows)\n\n```json\n{\n\t\"mcp\": {\n\t\t\"viberag\": {\n\t\t\t\"type\": \"local\",\n\t\t\t\"command\": [\"npx\", \"-y\", \"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Project Config:** `opencode.json`\n\n```json\n{\n\t\"mcp\": {\n\t\t\"viberag\": {\n\t\t\t\"type\": \"local\",\n\t\t\t\"command\": [\"npx\", \"-y\", \"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n> **Note:** OpenCode uses `\"mcp\"` key and requires `\"type\": \"local\"` with command as an array\n\n**Verify:** Check MCP servers list in OpenCode, verify \"viberag\" appears and is enabled\n\n[Documentation](https://opencode.ai/docs/tools/mcp)\n\n</details>\n\n<details>\n<summary><strong>Roo Code</strong></summary>\n\n**Global Config:** UI only — Click MCP icon in Roo Code pane header → Edit Global MCP\n\n**Project Config:** `.roo/mcp.json`\n\n```json\n{\n\t\"mcpServers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Verify:** Click MCP icon in Roo Code pane header, verify \"viberag\" appears in server list\n\n[Documentation](https://docs.roocode.com/features/mcp/using-mcp-in-roo)\n\n</details>\n\n<details>\n<summary><strong>VS Code Copilot</strong></summary>\n\n**Global Config:** Add to User `settings.json` under `mcp.servers`:\n\n```json\n{\n\t\"mcp\": {\n\t\t\"servers\": {\n\t\t\t\"viberag\": {\n\t\t\t\t\"command\": \"npx\",\n\t\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t\t}\n\t\t}\n\t}\n}\n```\n\n**Project Config:** `.vscode/mcp.json`\n\n```json\n{\n\t\"servers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n> **Note:** VS Code uses `\"servers\"` instead of `\"mcpServers\"`\n\n> **Required:** Enable Agent Mode in VS Code settings:\n>\n> - Settings → search `chat.agent.enabled` → check the box, OR\n> - Add `\"chat.agent.enabled\": true` to your User `settings.json`\n\n**Verify:** Cmd/Ctrl+Shift+P → \"MCP: List Servers\", verify \"viberag\" appears\n\n[Documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers)\n\n</details>\n\n<details>\n<summary><strong>Windsurf</strong></summary>\n\n**Global Config:** `~/.codeium/windsurf/mcp_config.json`\n\n```json\n{\n\t\"mcpServers\": {\n\t\t\"viberag\": {\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Verify:** Click Plugins icon in Cascade panel, verify \"viberag\" shows in plugin list\n\n[Documentation](https://docs.windsurf.com/windsurf/cascade/mcp)\n\n</details>\n\n<details>\n<summary><strong>Zed</strong></summary>\n\n**Global Config:** `~/.config/zed/settings.json`\n\n```json\n{\n\t\"context_servers\": {\n\t\t\"viberag\": {\n\t\t\t\"source\": \"custom\",\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n**Project Config:** `.zed/settings.json`\n\n```json\n{\n\t\"context_servers\": {\n\t\t\"viberag\": {\n\t\t\t\"source\": \"custom\",\n\t\t\t\"command\": \"npx\",\n\t\t\t\"args\": [\"viberag-mcp\"]\n\t\t}\n\t}\n}\n```\n\n> **Note:** Zed uses `\"context_servers\"` instead of `\"mcpServers\"` and requires `\"source\": \"custom\"` for non-extension servers\n\n**Verify:** Open Agent Panel settings, verify \"viberag\" shows green indicator\n\n[Documentation](https://zed.dev/docs/ai/mcp)\n\n</details>\n\n---\n\n## Exposed MCP Tools\n\nVibeRAG exposes a small set of agent-centric tools. Backward compatibility with\nlegacy tool names is not provided.\n\n| Tool                   | Description                                                           |\n| ---------------------- | --------------------------------------------------------------------- |\n| `codebase_search`      | Intent-routed search with grouped results + stable IDs for follow-ups |\n| `help`                 | Usage guide for MCP tools + how search works                          |\n| `read_file_lines`      | Read an exact line range from disk                                    |\n| `get_symbol_details`   | Fetch a symbol definition + deterministic metadata by `symbol_id`     |\n| `find_references`      | Find usage occurrences (refs) for a symbol name or `symbol_id`        |\n| `get_surrounding_code` | Expand a hit into neighbors (symbols/chunks) and related metadata     |\n| `build_index`          | Build/update the index (incremental by default)                       |\n| `get_status`           | Get index + daemon status summary                                     |\n| `get_watcher_status`   | Get watcher status (auto-indexing)                                    |\n| `cancel_operation`     | Cancel indexing or warmup without shutting down the daemon            |\n\n### `codebase_search`\n\nSingle entry point with intent routing. Use `scope` for transparent filters.\n\n- `intent`: `auto|definition|usage|concept|exact_text|similar_code`\n- Definition-style symbol lookups tolerate small typos via fuzzy (Levenshtein) name matching.\n- `scope`: `path_prefix`, `path_contains`, `path_not_contains`, `extension`\n- `explain`: include per-hit channels + ranking priors\n\nExample:\n\n```json\n{\n\t\"query\": \"how does authentication work\",\n\t\"intent\": \"concept\",\n\t\"scope\": {\n\t\t\"path_prefix\": [\"src/\"],\n\t\t\"path_not_contains\": [\"test\", \"__tests__\", \".spec.\", \".test.\"]\n\t},\n\t\"k\": 20,\n\t\"explain\": true\n}\n```\n\nFollow-ups: `get_symbol_details`, `read_file_lines`, `get_surrounding_code`, `find_references`.\n\n## CLI Commands\n\nVibeRAG includes a CLI for easy execution of initialization, indexing, setup, and other things you may want to manually control outside of agent use.\n\n| Command           | Description                                               |\n| ----------------- | --------------------------------------------------------- |\n| `/init`           | Initialize VibeRAG (configure embeddings, index codebase) |\n| `/index`          | Index the codebase (incremental)                          |\n| `/reindex`        | Force full reindex                                        |\n| `/search <query>` | Semantic search                                           |\n| `/status`         | Show daemon and index status                              |\n| `/cancel`         | Cancel indexing or warmup                                 |\n| `/mcp-setup`      | Configure MCP server for AI tools                         |\n| `/clean`          | Remove VibeRAG from project                               |\n| `/help`           | Show all commands                                         |\n\n## Data Directory\n\nVibeRAG stores all per-project state (config, index, logs) globally under:\n\n- `~/.local/share/viberag/projects/<projectId>/` (override via `VIBERAG_HOME`)\n\nNo files are written into your repo.\n\n## Ignoring Files\n\nVibeRAG uses `.gitignore` rules to exclude files and folders from indexing. For\nnon-git projects (or for additional ignore patterns), you can create a\n`.viberagignore` file in the project root.\n\n- `.viberagignore` uses the exact same pattern syntax as `.gitignore`\n- It is applied in addition to `.gitignore` (if present)\n\nExample `.viberagignore`:\n\n```gitignore\n# build outputs\ndist/\nbuild/\n\n# local artifacts\ncoverage/\ntmp/\n\n# generated bundles\n**/*.min.js\n```\n\n## Logs\n\nVibeRAG writes per-service logs with hourly rotation:\n\n- `~/.local/share/viberag/projects/<projectId>/logs/daemon/` - daemon lifecycle and IPC errors\n- `~/.local/share/viberag/projects/<projectId>/logs/indexer/` - indexing progress, retries, and batch failures\n- `~/.local/share/viberag/projects/<projectId>/logs/mcp/` - MCP server errors\n- `~/.local/share/viberag/projects/<projectId>/logs/cli/` - CLI errors\n\nIf indexing appears slow or retries are happening, check the latest file under\n`~/.local/share/viberag/projects/<projectId>/logs/indexer/`.\n\n## Embedding Providers\n\nChoose your embedding provider during `/init`:\n\n### Local Model - Offline, Free\n\n| Model      | Quant | Download | RAM    |\n| ---------- | ----- | -------- | ------ |\n| Qwen3-0.6B | Q8    | ~700MB   | ~1.5GB |\n\n- Works completely offline, no API key required\n- Initial indexing may take time; future updates are incremental\n- Works great for code and natural language (docs, docstrings, code comments, etc.)\n\n### Cloud Providers - Fastest, Best Quality, Largest Vocabulary\n\n| Provider | Model                  | Dims | Cost      | Get API Key                                             |\n| -------- | ---------------------- | ---- | --------- | ------------------------------------------------------- |\n| Gemini   | gemini-embedding-001   | 1536 | Free tier | [Google AI Studio](https://aistudio.google.com)         |\n| Mistral  | codestral-embed        | 1536 | $0.10/1M  | [Mistral Console](https://console.mistral.ai/api-keys/) |\n| OpenAI   | text-embedding-3-large | 1536 | $0.13/1M  | [OpenAI Platform](https://platform.openai.com/api-keys) |\n\n- **Gemini** - Free tier available, great for getting started\n- **Mistral** - Code-optimized embeddings for technical content\n- **OpenAI** - Fast and reliable with low cost\n\nAPI keys are entered during the `/init` wizard and stored globally in `~/.local/share/viberag/secrets/secrets.json` (override via `VIBERAG_HOME`). Project configs store only a key id reference (never the raw API key).\n\n## How It Works\n\n1. **Parsing** - Tree-sitter extracts functions, classes, and semantic chunks\n2. **Embedding** - Code chunks are embedded using local or API-based models\n3. **Storage** - Vectors stored in LanceDB (local, no server required)\n4. **Search** - Hybrid search combines vector similarity + full-text search\n5. **MCP** - AI tools query the index via the MCP protocol\n\n## AI Agent Best Practices\n\nVibeRAG works best when AI agents use **sub-agents for exploration tasks**. This keeps the main conversation context clean and uses ~8x fewer tokens.\n\n### Why Sub-Agents?\n\nWhen an AI calls viberag directly, all search results expand the main context. Sub-agents run searches in isolated context windows and return only concise summaries.\n\n| Approach             | Context Usage | Token Efficiency |\n| -------------------- | ------------- | ---------------- |\n| Direct viberag calls | 24k tokens    | Baseline         |\n| Sub-agent delegation | 3k tokens     | **8x better**    |\n\n### Platform-Specific Guidance\n\n#### Claude Code\n\n```\n# For exploration tasks, use the Task tool:\nTask(subagent_type='Explore', prompt='Use viberag to find how authentication works')\n\n# For parallel comprehensive search:\nTask(subagent_type='Explore', prompt='Search auth patterns') # runs in parallel\nTask(subagent_type='Explore', prompt='Search login flows')   # with this one\n```\n\nAdd to your `CLAUDE.md`:\n\n```markdown\nWhen exploring the codebase, use Task(subagent_type='Explore') and instruct it\nto use the viberag `codebase_search` tool (and follow-ups like `get_symbol_details` / `read_file_lines`). This keeps the main context clean.\n```\n\n#### VS Code Copilot\n\n- Use **Agent HQ** to delegate exploration to background agents\n- Background agents can iterate with viberag without blocking your session\n- Use `/delegate` to hand off exploration tasks to Copilot coding agent\n\n#### Cursor\n\n- Enable **Agent mode** for multi-step exploration\n- Agent mode can orchestrate multiple viberag searches autonomously\n- Consider the [Sub-Agents MCP server](https://playbooks.com/mcp/shinpr-sub-agents) for Claude Code-style delegation\n\n#### Windsurf\n\n- **Cascade** automatically plans multi-step tasks\n- Enable **Turbo Mode** for autonomous exploration\n- Cascade's planning agent will orchestrate viberag calls efficiently\n\n#### Roo Code\n\n- Use **Architect mode** for exploration and understanding\n- **Boomerang tasks** coordinate complex multi-mode workflows\n- Each mode (Architect, Code, Debug) can use viberag with focused context\n\n#### Gemini CLI\n\n- Create **extensions** that scope viberag tools for specific tasks\n- Extensions can bundle viberag with custom prompts for specialized exploration\n- Use `gemini mcp add viberag` then reference in extension configs\n\n#### OpenAI Codex\n\n- Use **Agents SDK** to orchestrate viberag as an MCP tool\n- Codex can run as an MCP server itself for multi-agent setups\n- Approval modes control how autonomously Codex explores\n\n#### JetBrains IDEs\n\n- **Junie** agent handles multi-step exploration autonomously\n- **Claude Agent** integration provides sub-agent-like capabilities\n- Access viberag through AI Chat with multi-agent support\n\n#### Zed\n\n- Use **External Agents** (Claude Code, Codex, Gemini CLI) for exploration\n- Set `auto_approve` in settings for autonomous agent operation\n- ACP (Agent Client Protocol) enables BYO agent integration\n\n### Quick Lookup vs Exploration\n\n| Task Type                       | Recommended Approach                                      |\n| ------------------------------- | --------------------------------------------------------- |\n| \"Where is function X defined?\"  | `codebase_search` with `intent=\"definition\"`              |\n| \"What file handles Y?\"          | `codebase_search` with `intent=\"concept\"` (check `files`) |\n| \"How does authentication work?\" | **Sub-agent** - needs multi-step search + follow-ups      |\n| \"Find all API endpoints\"        | **Sub-agent** - iterative search + scope filters          |\n| \"Understand the data flow\"      | **Sub-agent** - iterative exploration                     |\n\n### For Platforms Without Sub-Agents\n\nUse a few targeted `codebase_search` calls with different intents, then follow up with\n`get_symbol_details`, `read_file_lines`, `get_surrounding_code`, and `find_references` as needed.\n\nExample sequence:\n\n```json\n{\"query\": \"authentication\", \"intent\": \"concept\", \"k\": 20}\n```\n\n```json\n{\n\t\"query\": \"login\",\n\t\"intent\": \"definition\",\n\t\"k\": 20,\n\t\"scope\": {\"path_prefix\": [\"src/\"]}\n}\n```\n\n```json\n{\"symbol_name\": \"login\", \"k\": 200}\n```\n\n## Troubleshooting\n\n### Watcher EMFILE (too many open files)\n\nLarge repos can exceed OS watch limits. The watcher honors `.gitignore` and `.viberagignore`, but if you still see EMFILE:\n\n- Add more ignores in `.gitignore` or `.viberagignore` to reduce watched files.\n- Increase OS limits:\n  - macOS: raise `kern.maxfiles`, `kern.maxfilesperproc`, and `ulimit -n`\n  - Linux: raise `fs.inotify.max_user_watches`, `fs.inotify.max_user_instances`, and `ulimit -n`\n\n### Index failures (network/API errors)\n\nIf indexing fails due to transient network/API issues:\n\n- Run `/status` to confirm daemon/index state.\n- Re-run `/index` after connectivity is stable.\n- Use `/cancel` to stop a stuck run, then `/reindex` if you need a clean rebuild.\n","readmeFilename":"README.md"}