{"_id":"@specship/specship","_rev":"33-bd10908b34dd35c84f1134ce7e0bd4c5","name":"@specship/specship","dist-tags":{"latest":"0.25.0"},"versions":{"0.11.0":{"name":"@specship/specship","version":"0.11.0","keywords":["code-intelligence","knowledge-graph","static-analysis"],"author":"","license":"MIT","_id":"@specship/specship@0.11.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"dist/bin/specship.js"},"dist":{"shasum":"201cdc6f124fffb14469e45231d2118f1bf1d7f8","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.0.tgz","fileCount":879,"integrity":"sha512-URpe5milB07F7+ZJW/OifgVmiQ404AhTkvq8S4wcxlvkZ9VRdsJ94tSMmWtMX2pGkMch17j+MCBBQNL29uahMg==","signatures":[{"sig":"MEQCIGVFqf4pgX5XZY9SHAKsCO5dU/wfs1RJq4gWw7DXI5pPAiBSF1WYgDJ/BtSVFsgKKZxnAtiNQld/axPv0F2eGjrj7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16508005},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.0.0 <25.0.0"},"gitHead":"4c8cf953495891f0ec2f650e50b26d134bf534df","scripts":{"cli":"npm run build && node dist/bin/specship.js","dev":"tsc --watch","eval":"npm run build && npx tsx __tests__/evaluation/runner.ts","test":"vitest run","build":"tsc && tsc -p src/designer/tsconfig.json && npm run copy-assets && npm run build:server && npm run build:web && node -e \"require('fs').chmodSync('dist/bin/specship.js', 0o755)\"","clean":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true})\"","version":"npm run sync:shim","build:web":"node scripts/build-web-bundle.mjs","sync:shim":"node scripts/sync-shim-version.mjs","test:eval":"vitest run __tests__/evaluation/","test:watch":"vitest","copy-assets":"node -e \"const fs=require('fs');fs.mkdirSync('dist/db',{recursive:true});fs.copyFileSync('src/db/schema.sql','dist/db/schema.sql');fs.mkdirSync('dist/extraction/wasm',{recursive:true});fs.readdirSync('src/extraction/wasm').filter(f=>f.endsWith('.wasm')).forEach(f=>fs.copyFileSync('src/extraction/wasm/'+f,'dist/extraction/wasm/'+f));try{fs.mkdirSync('dist/workflows/defaults',{recursive:true});fs.readdirSync('src/workflows/defaults').filter(f=>/\\.ya?ml$/i.test(f)).forEach(f=>fs.copyFileSync('src/workflows/defaults/'+f,'dist/workflows/defaults/'+f))}catch(e){}\"","build:server":"node scripts/build-server-bundle.mjs","preuninstall":"node dist/bin/uninstall.js","release:shim":"node scripts/sync-shim-version.mjs && cd packages/specship-shim && npm publish --access public"},"_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"11.16.0","description":"Supercharge Claude Code with semantic code intelligence. 94% fewer tool calls • 77% faster exploration • 100% local.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"^2.5.0","fflate":"^0.8.3","ignore":"^7.0.5","fastify":"^4.28.1","commander":"^14.0.2","picomatch":"^4.0.3","sisteransi":"^1.0.5","cross-spawn":"^7.0.6","jsonc-parser":"^3.3.1","@fastify/cors":"^9.0.1","@clack/prompts":"^1.3.0","fast-wrap-ansi":"^0.2.0","web-tree-sitter":"^0.25.3","fast-string-width":"^3.0.2","tree-sitter-wasms":"^0.1.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.0.0","@types/node":"^20.19.30","@types/picomatch":"^4.0.2","@types/cross-spawn":"^6.0.6","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.10.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.0_1782747816407_0.29072811681184474","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@specship/specship","version":"0.11.1","keywords":["code-intelligence","knowledge-graph","static-analysis"],"author":"","license":"MIT","_id":"@specship/specship@0.11.1","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"dist/bin/specship.js"},"dist":{"shasum":"b9c9c51ec6101c04a2a0d70ee6101345f12e7409","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.1.tgz","fileCount":879,"integrity":"sha512-Cl3XssBwv1vnGEkTa8RSwlQDLBV3jvP+ch4YHFvXXhw/sPy3/5MzWldbBHYIJsogtKxxfi+/yQeXMQWqlyhvZA==","signatures":[{"sig":"MEUCIAwOUyPJ1jJmiABMmNTbuW8W2Il0qDJNzM22FO6JGbiqAiEAnhh5zkPKBLczRM7ZEwr2vDl6dfQ418oFPQmgEQ3Td1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16507849},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.0.0 <25.0.0"},"gitHead":"8e67f834f4e23206fdd2e250ac367c08f1d1aaba","scripts":{"cli":"npm run build && node dist/bin/specship.js","dev":"tsc --watch","eval":"npm run build && npx tsx __tests__/evaluation/runner.ts","test":"vitest run","build":"tsc && tsc -p src/designer/tsconfig.json && npm run copy-assets && npm run build:server && npm run build:web && node -e \"require('fs').chmodSync('dist/bin/specship.js', 0o755)\"","clean":"node -e \"const fs=require('fs');fs.rmSync('dist',{recursive:true,force:true})\"","version":"npm run sync:shim","build:web":"node scripts/build-web-bundle.mjs","sync:shim":"node scripts/sync-shim-version.mjs","test:eval":"vitest run __tests__/evaluation/","test:watch":"vitest","copy-assets":"node -e \"const fs=require('fs');fs.mkdirSync('dist/db',{recursive:true});fs.copyFileSync('src/db/schema.sql','dist/db/schema.sql');fs.mkdirSync('dist/extraction/wasm',{recursive:true});fs.readdirSync('src/extraction/wasm').filter(f=>f.endsWith('.wasm')).forEach(f=>fs.copyFileSync('src/extraction/wasm/'+f,'dist/extraction/wasm/'+f));try{fs.mkdirSync('dist/workflows/defaults',{recursive:true});fs.readdirSync('src/workflows/defaults').filter(f=>/\\.ya?ml$/i.test(f)).forEach(f=>fs.copyFileSync('src/workflows/defaults/'+f,'dist/workflows/defaults/'+f))}catch(e){}\"","build:server":"node scripts/build-server-bundle.mjs","preuninstall":"node dist/bin/uninstall.js","release:shim":"node scripts/sync-shim-version.mjs && cd packages/specship-shim && npm publish --access public"},"_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"11.16.0","description":"Supercharge Claude Code with semantic code intelligence. 94% fewer tool calls • 77% faster exploration • 100% local.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yaml":"^2.5.0","fflate":"^0.8.3","ignore":"^7.0.5","fastify":"^4.28.1","commander":"^14.0.2","picomatch":"^4.0.3","sisteransi":"^1.0.5","cross-spawn":"^7.0.6","jsonc-parser":"^3.3.1","@fastify/cors":"^9.0.1","@clack/prompts":"^1.3.0","fast-wrap-ansi":"^0.2.0","web-tree-sitter":"^0.25.3","fast-string-width":"^3.0.2","tree-sitter-wasms":"^0.1.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^5.0.0","@types/node":"^20.19.30","@types/picomatch":"^4.0.2","@types/cross-spawn":"^6.0.6","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.10.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.1_1782750806183_0.12379346907406408","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@specship/specship","version":"0.11.2","license":"MIT","_id":"@specship/specship@0.11.2","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"391d2e31dd2f007d3986d2b98628b15e7e524e1e","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.2.tgz","fileCount":159,"integrity":"sha512-WCFjH87NgeNNzi8OI7RMHdpDln2f2AC2kMbn4jLxtuSBJHGkrFz2hYCmA6d97c+1J41ddFUtf9IHJzjh3Yy0qQ==","signatures":[{"sig":"MEUCIQCT+9yCcThAwpMLQEPZOQKqGNIKTheh5NFMOuKLNyVe5gIgaEfuClmZY25wZuXDrl5tWyYMR9x5SwGUZvOigm1q9Ro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":460536},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"04028e628a2d69e8c8f87c8963822d3f7ff724b8","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.0","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.11.2","@specship/specship-win32-x64":"0.11.2","@specship/specship-darwin-x64":"0.11.2","@specship/specship-linux-arm64":"0.11.2","@specship/specship-win32-arm64":"0.11.2","@specship/specship-darwin-arm64":"0.11.2"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.2_1782777428227_0.011956515847111326","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@specship/specship","version":"0.11.3","license":"MIT","_id":"@specship/specship@0.11.3","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"a1436bc1c02f89372d16b6e82f5395a62b670957","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.3.tgz","fileCount":159,"integrity":"sha512-cxMYR6iuCgZNxhIzWs0GkB46KE4VibJ/bnbCQ/2XNP7B7Jt/YVqZb5Uuv44SZILn0toLHQRCi0BHC9Htzb2gvQ==","signatures":[{"sig":"MEQCIBt5wmUXA8+ClMtjuBgW6OIyRmvH5A9QKsW7xF8fL57ZAiAvZEt/sZ0bKEEeMgglwl7XD6gKgBSKEeqztw+NVrDElQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":460536},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"7de7c5d9656ec7af85c7c00af90ae446fa828294","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.0","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.11.3","@specship/specship-win32-x64":"0.11.3","@specship/specship-darwin-x64":"0.11.3","@specship/specship-linux-arm64":"0.11.3","@specship/specship-win32-arm64":"0.11.3","@specship/specship-darwin-arm64":"0.11.3"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.3_1782809547071_0.18687289902380955","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"@specship/specship","version":"0.11.4","license":"MIT","_id":"@specship/specship@0.11.4","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"b21d1eebad49b0d1a69628e40d45dc9bc4189f67","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.4.tgz","fileCount":160,"integrity":"sha512-fVamloFHV1E+QgmVdEZt4FE5DY1QyAq0nCCuNJj+7ZNWtEU01TnO/5GP4hPCpKFYTJAT6+rAeEbuxlaL/zrOng==","signatures":[{"sig":"MEYCIQDV4z+RaQxuEKbdy1e+lKmGU1AYgg20iuwMuDB/5aPp+QIhAOnTUN9ZoiuFUgWJENIidqsW/nIi9P9C2kK0SkvKpz26","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":464633},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"b1a35f6df752f536671f634309fcabc73fc67053","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.0","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.11.4","@specship/specship-win32-x64":"0.11.4","@specship/specship-darwin-x64":"0.11.4","@specship/specship-linux-arm64":"0.11.4","@specship/specship-win32-arm64":"0.11.4","@specship/specship-darwin-arm64":"0.11.4"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.4_1782872521332_0.5906103934846936","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"@specship/specship","version":"0.11.5","license":"MIT","_id":"@specship/specship@0.11.5","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"0be3a4a54debae2a51f07ce1feb8bae8a2731443","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.5.tgz","fileCount":160,"integrity":"sha512-9m1WZ3V8eiLi6/WSVnTu9wuDhty+aeOuNW/1OhtQTmGZNNpf2v7b1zpqee2LbPEAx02ScKhrm0TjydkH4vjYEA==","signatures":[{"sig":"MEQCIC1JFCCxPrTsER55nG1oGTHQYb+l0jvdqZzIhcBWMwKkAiAV94MPDqiYV3h9a2MfsM7FRsP+Rr3DkL4UWPkEHGt1Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465523},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"89798e60c7c7f1309b0d5c9318525e76082c97fa","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.11.5","@specship/specship-win32-x64":"0.11.5","@specship/specship-darwin-x64":"0.11.5","@specship/specship-linux-arm64":"0.11.5","@specship/specship-win32-arm64":"0.11.5","@specship/specship-darwin-arm64":"0.11.5"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.5_1782895257042_0.5494613624629077","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"@specship/specship","version":"0.11.6","license":"MIT","_id":"@specship/specship@0.11.6","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"f29575a5ec6f709fd340874eb25f252a2649b9cd","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.6.tgz","fileCount":160,"integrity":"sha512-AWQaSu3wywU0RVJqYOJAV2qxUrP3WLKLPt93fth33bTty/vYdJYqpxrotBh60jf+GjPS0p99AxqpHnhXLDzqCQ==","signatures":[{"sig":"MEUCIQCItM0iNg3LpQWHyhm49ZymXMjN+hX5Naz0YHpimPBqhAIgBJ3PQch2LiImbqLTgcO3ThUziRUZAXZIVWeGSyALsrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465523},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"db18f5f37b4361b8747926b48b134bc3737d4b42","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.0","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.11.6","@specship/specship-win32-x64":"0.11.6","@specship/specship-darwin-x64":"0.11.6","@specship/specship-linux-arm64":"0.11.6","@specship/specship-win32-arm64":"0.11.6","@specship/specship-darwin-arm64":"0.11.6"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.6_1782950493626_0.49802038962625517","host":"s3://npm-registry-packages-npm-production"}},"0.11.7":{"name":"@specship/specship","version":"0.11.7","license":"MIT","_id":"@specship/specship@0.11.7","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"388bcd794672a9576c50c880bf8c24695a1c159a","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.7.tgz","fileCount":160,"integrity":"sha512-e4KeTgDdYIG8C0RqSiRBft6ALL0VEV/fi9vc6E4mgaWQkIcglnspuwmzfGC08NSTV2HI/bJZEnYx8EEI0YOuNg==","signatures":[{"sig":"MEQCICrXzNQU8vaMmpzOsYT9SxLe+VeU6HoyCRdZTSb7PKBGAiBAlnzcg2A9R3QscjRfrjhS8HVGlsubn/oGpupHkI77bA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465523},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"96babcd418f3f7d12e19b252352000b48fa77239","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.11.7","@specship/specship-win32-x64":"0.11.7","@specship/specship-darwin-x64":"0.11.7","@specship/specship-linux-arm64":"0.11.7","@specship/specship-win32-arm64":"0.11.7","@specship/specship-darwin-arm64":"0.11.7"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.7_1782952745239_0.2444881704609292","host":"s3://npm-registry-packages-npm-production"}},"0.11.8":{"name":"@specship/specship","version":"0.11.8","license":"MIT","_id":"@specship/specship@0.11.8","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"8b40f4c332d19c8c98ef2fca21742ef29c524eae","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.8.tgz","fileCount":160,"integrity":"sha512-uKLBfZLJU6zMt2n0RcdorjYFqbpLi7EmvV1X/r2Z53mD3IK/TiwYr/B2l+cWWhlR2rDZnhxQVjZDtKEidS0jGw==","signatures":[{"sig":"MEUCIFg4QlXFhfXo0H9+IxwLxBjUGyE55FQETbjbI75a5ckOAiEAtKpRSVNwejoqx7XCFHmQFZJEds16phykItAp363EY5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465740},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"d15c88499230ba97e4df5dbe94c64312f6e73cdd","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.0","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.11.8","@specship/specship-win32-x64":"0.11.8","@specship/specship-darwin-x64":"0.11.8","@specship/specship-linux-arm64":"0.11.8","@specship/specship-win32-arm64":"0.11.8","@specship/specship-darwin-arm64":"0.11.8"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.8_1783004498019_0.04354982754260073","host":"s3://npm-registry-packages-npm-production"}},"0.11.9":{"name":"@specship/specship","version":"0.11.9","license":"MIT","_id":"@specship/specship@0.11.9","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"22474135fb717f6a658d4c2b1975751809342f93","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.11.9.tgz","fileCount":160,"integrity":"sha512-6VivLS+x/2KYVg6ueZrKe0vSkiqwza/xpA/2z//3LFR5rl/kXmGtI/IPHjGTDUJVGU4VSunYVZRH6EVRj3ekWA==","signatures":[{"sig":"MEYCIQCkW5uLDBt6Y3Z8RQQ3Hbx9rvLhSLVfvcm7Tuez8OrJLAIhAOOSTzD+X2wMM3/Hs3yg/ID+XkeblrrKKP/VxxqY8A6o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471109},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"3e7c9a016d7dfdf3a3ee1d2181c19ba3145866a1","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.11.9","@specship/specship-win32-x64":"0.11.9","@specship/specship-darwin-x64":"0.11.9","@specship/specship-linux-arm64":"0.11.9","@specship/specship-win32-arm64":"0.11.9","@specship/specship-darwin-arm64":"0.11.9"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.11.9_1783089093635_0.13060845875475424","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@specship/specship","version":"0.12.0","license":"MIT","_id":"@specship/specship@0.12.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"5b4a71f17ce380df29868acd78b484f81aaf37b5","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.12.0.tgz","fileCount":160,"integrity":"sha512-s2XMr2g91RFu1C3Hu/McHB37khaRwGzF4pGzYnx+RI3n7xScczoHOM2+Ke4ia8gixtwy157Og18/rql8busPwQ==","signatures":[{"sig":"MEUCIQDTqbM2YCzXDXD5jw4UEdHQQ4as6bpmgNATxHNxGtTEIgIgLTpMt1Gy4QpCw8SCV1XNa66zyoz9fo2sF4zkkh7fqsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471588},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"5fd47851fd4e1788a09dde84d6a91a88f0697bb0","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.12.0","@specship/specship-win32-x64":"0.12.0","@specship/specship-darwin-x64":"0.12.0","@specship/specship-linux-arm64":"0.12.0","@specship/specship-win32-arm64":"0.12.0","@specship/specship-darwin-arm64":"0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.12.0_1783143740871_0.735960933819958","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@specship/specship","version":"0.12.1","license":"MIT","_id":"@specship/specship@0.12.1","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"1dcbee844f618e432adf31ce892009b00fbb65f2","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.12.1.tgz","fileCount":161,"integrity":"sha512-zohOJeMPR/0HFSfPVg6cQTLSBL8VyZQuq+lhYrQcEfblx4IpjIHohjSN6gCOABsAVtIlWIQY8x6RqzbPVKH/MQ==","signatures":[{"sig":"MEQCIAYEcwigWyy3h5e22v8urok7QMqv1SR+GWE7j6I+GDtyAiAdsZKT2GmlXA/Iq+Co+afKjSV2+BjtB3vhRrliTbXe5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474943},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"b33232579b44f2c44fa1d323eb03250ec3a4fc7a","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.12.1","@specship/specship-win32-x64":"0.12.1","@specship/specship-darwin-x64":"0.12.1","@specship/specship-linux-arm64":"0.12.1","@specship/specship-win32-arm64":"0.12.1","@specship/specship-darwin-arm64":"0.12.1"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.12.1_1783167060915_0.478601620352038","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@specship/specship","version":"0.13.0","license":"MIT","_id":"@specship/specship@0.13.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"9a89004879b7d7a4af167e24bff8affa7dba5e60","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.13.0.tgz","fileCount":164,"integrity":"sha512-xhED0dpEmTOPjbXUnBdQLLcklY4wRKuKcnSJfNAWJDIab+Dc9br/lf3+ivyQVXLpAkPaW+kCb9j3w/Sz3XqCdQ==","signatures":[{"sig":"MEUCIQD7+g6a9QKL78IO3BbxLQdT/K8zoxosVd2NjQD7yHeS9AIgUEYQ5ErV8LGvLGdVBvLDmsiduCjs/8ME1d5675iHo+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":479409},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"4aecfbc174a0c5277b26c0f6d69ca7c1d3c73bb2","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.13.0","@specship/specship-win32-x64":"0.13.0","@specship/specship-darwin-x64":"0.13.0","@specship/specship-linux-arm64":"0.13.0","@specship/specship-win32-arm64":"0.13.0","@specship/specship-darwin-arm64":"0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.13.0_1783312648544_0.7894506050005441","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@specship/specship","version":"0.13.1","license":"MIT","_id":"@specship/specship@0.13.1","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"f3a58f4fffb09e8c8a9dfa3f17efd81343ddafc1","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.13.1.tgz","fileCount":164,"integrity":"sha512-/jzWY8hmIWEQyKkCLeh4gf+hWsP0dLNvyK1UkkKwTlW5i7nEfmoJv2x8Qhsw5wNNtiKfBJR0GVsVT5qmv3/DOQ==","signatures":[{"sig":"MEQCIEVn0vjQg3w1MOT+DTbuRYLj5JncgPCPV/WgYggWnXkfAiA9ljcTcypzL4a3lB9+cEYRpAtTLdtnGFPHPkVlD/WX/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":479409},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"0c2382c58f768fa2061ad76e8867cc7be5b92b84","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.13.1","@specship/specship-win32-x64":"0.13.1","@specship/specship-darwin-x64":"0.13.1","@specship/specship-linux-arm64":"0.13.1","@specship/specship-win32-arm64":"0.13.1","@specship/specship-darwin-arm64":"0.13.1"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.13.1_1783341372377_0.20545132259652998","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@specship/specship","version":"0.14.0","license":"MIT","_id":"@specship/specship@0.14.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"76b88e31ddce7a2710486222d8670fe62524361e","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.14.0.tgz","fileCount":173,"integrity":"sha512-QeQxG7PqNuYJfBX5yBbfbBobLnKMSSrnmhHcNji657GcQvT3h3+3Kyb+7n9250iC5GoFwB/ltWN0JGqByTwcsQ==","signatures":[{"sig":"MEUCIEVdngB3za1qcNWP9hUTEpdtqcx+cYpiGMjEFq+1XO5QAiEAt5czIppD2HOvk3+ZqigaIny8EoZ0tm/UJhmrFxZScwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521046},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"a333005f1d329c006338b7a48f62061ddf48bac1","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.14.0","@specship/specship-win32-x64":"0.14.0","@specship/specship-darwin-x64":"0.14.0","@specship/specship-linux-arm64":"0.14.0","@specship/specship-win32-arm64":"0.14.0","@specship/specship-darwin-arm64":"0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.14.0_1783385538159_0.5690821181097709","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@specship/specship","version":"0.14.1","license":"MIT","_id":"@specship/specship@0.14.1","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"df946d91a1a524442a04fb241fee667747d04439","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.14.1.tgz","fileCount":173,"integrity":"sha512-SE6sZ01DGShfg5ioZ9CYqh6OV+xsHL61pQhb7SHXYO885CxP6N/yd0uRATelSvgImr6M6WCmM1AO8fXUo6JhXA==","signatures":[{"sig":"MEUCIQCnBXbyb7y4DzJ8c3+MGeFAyouz4Wbptm25bHZlk141RwIgRJ4UwR6JhLWnaSpUYKLPU7ikBZCco91AJJDl/MN8c0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521046},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"e90872efaebb80e12ca41cb24fa3c564edf7694e","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.14.1","@specship/specship-win32-x64":"0.14.1","@specship/specship-darwin-x64":"0.14.1","@specship/specship-linux-arm64":"0.14.1","@specship/specship-win32-arm64":"0.14.1","@specship/specship-darwin-arm64":"0.14.1"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.14.1_1783388916922_0.23231008675048437","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@specship/specship","version":"0.14.2","license":"MIT","_id":"@specship/specship@0.14.2","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"d5408f5862655e72153b57db0e4c7768d67804e0","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.14.2.tgz","fileCount":173,"integrity":"sha512-ZP3hc9+ZuyTb1LG9cNlPw6waZTzREl14fpH/e7vfODiGmoySVGxnzlzPP5365oToRxZ6YjqblxPERYZRVQ0hvQ==","signatures":[{"sig":"MEQCID6pLgwtDTIj1d2/HXYFvyw4yUKxWA+mYCrA03fOxxeHAiB2NytGQsctkRzupifp7vcUXkqCy1LKcMPc4aJ3h9r1mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521601},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"68c81977db63f66f281fa4bbd6d1bddaf91f1adb","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.14.2","@specship/specship-win32-x64":"0.14.2","@specship/specship-darwin-x64":"0.14.2","@specship/specship-linux-arm64":"0.14.2","@specship/specship-win32-arm64":"0.14.2","@specship/specship-darwin-arm64":"0.14.2"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.14.2_1783465359022_0.8569699561904749","host":"s3://npm-registry-packages-npm-production"}},"0.14.3":{"name":"@specship/specship","version":"0.14.3","license":"MIT","_id":"@specship/specship@0.14.3","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"06bece3a8ec75a799bf363e308cfd4de9cafa298","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.14.3.tgz","fileCount":173,"integrity":"sha512-k4iA2qVM0ChNVr/PN/30863XN6NnALBYeVr5WXSNI7YOI4J9G7URNGn69BJWj5ltiuotLYPRLUz3LAnNUl/MxQ==","signatures":[{"sig":"MEQCIG4ztFuFiUBjpHvoDjo1NYZswkOF7CYXLqDaNOrmniH7AiABiFXZ2dp7BAt3k2hwiM7sCJXUYaa0rglkKaB3oC18EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521601},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"4096865646348a2a25ff9658181b2a1365671aab","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.14.3","@specship/specship-win32-x64":"0.14.3","@specship/specship-darwin-x64":"0.14.3","@specship/specship-linux-arm64":"0.14.3","@specship/specship-win32-arm64":"0.14.3","@specship/specship-darwin-arm64":"0.14.3"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.14.3_1783532752009_0.9998714114228147","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@specship/specship","version":"0.15.0","license":"MIT","_id":"@specship/specship@0.15.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"176eba47cf6c0043340e1184c7d25b336679c51a","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.15.0.tgz","fileCount":174,"integrity":"sha512-2b1MvgU9SJW8O15yHn+WEP3cJKHPpcTOBBC0d0k7hCAyMuNwRGkDibVXY+g1XNVbkSrpZfcu/EKnuAS7yz1oqw==","signatures":[{"sig":"MEYCIQD3Dm5DIlwd0EAC8FHAHpFakW2ovyTUqVQ2UTwhBJyTZwIhANpi6/k5trX4CJkyISDnCI7JRqhl1CKeE5ApSJMmAG0z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526554},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"004e9244e7ac939a1e1beb4429489fa83b2ac021","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.15.0","@specship/specship-win32-x64":"0.15.0","@specship/specship-darwin-x64":"0.15.0","@specship/specship-linux-arm64":"0.15.0","@specship/specship-win32-arm64":"0.15.0","@specship/specship-darwin-arm64":"0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.15.0_1783640235325_0.1243693583935146","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@specship/specship","version":"0.16.0","license":"MIT","_id":"@specship/specship@0.16.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"eae7615a855ba7b59d990af622c4952b19884622","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.16.0.tgz","fileCount":177,"integrity":"sha512-fBaVRJwAYnwGSLfv8Ewss9FTHr/IKrKHBv764QVp9XNooNbHd+c9ty8PaE68AXNc3CyltVbMKag2d/6X0WECQw==","signatures":[{"sig":"MEYCIQCPrGAFJMi377PIPQ80VTE8Ap8BMq3QaKVoXYsTdNrQ1gIhAPvF+s54v42MCC28Bi2GvQUxX04EEFr8/J5L1V5o3a5g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":537093},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"34df67d9d9d5dc5190a416533c2574e3a2aaffcc","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.16.0","@specship/specship-win32-x64":"0.16.0","@specship/specship-darwin-x64":"0.16.0","@specship/specship-linux-arm64":"0.16.0","@specship/specship-win32-arm64":"0.16.0","@specship/specship-darwin-arm64":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.16.0_1783787909024_0.28413638092239535","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@specship/specship","version":"0.17.0","license":"MIT","_id":"@specship/specship@0.17.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"a2af2a16aac21a9333e93a958466048e113b2766","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.17.0.tgz","fileCount":177,"integrity":"sha512-QcStBFlrHRFYk3OprPjTFNON1TK7jiF35QBt3Zt7yI5QeO6NenGBT3gDIPpg75PBRSY0+9BJt2qdV28pCwE4rw==","signatures":[{"sig":"MEQCIHwYaIEM+UA5P6JtQlkM4EZnb3wV9+f1O+b4VtFEb3qwAiAoSgWe/cQpUxXx9zbRGzDa8it+3u0i0AeXOTpjqKJhRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":538587},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"876fd3e95d2ed9a15ade04d4ce65a0dea3ae92b4","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.17.0","@specship/specship-win32-x64":"0.17.0","@specship/specship-darwin-x64":"0.17.0","@specship/specship-linux-arm64":"0.17.0","@specship/specship-win32-arm64":"0.17.0","@specship/specship-darwin-arm64":"0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.17.0_1783904069930_0.06394253561964702","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@specship/specship","version":"0.18.0","license":"MIT","_id":"@specship/specship@0.18.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"2bc73aabb5dc8f7ee789fd50f58c63f03466f654","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.18.0.tgz","fileCount":179,"integrity":"sha512-euYhi3JNE3+MP72yzNyWSa1Jc9GbdO8f3mXIA6WVf9gYKp3VF01aInnFVjqU8JDxq9fQEajvaFec1BA5vQacmw==","signatures":[{"sig":"MEUCIQDNtoEJvwAnxnTilxcfxyC0r62jp59g4Z0edaZiUxT+ZQIgNiJfIRfWyQWurPtexM0TFjpVIpW23hKUmSC+wH2Aoh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545600},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"eeaec5cf9a3c080b90176c02e8a67ab3fffd238d","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.18.0","@specship/specship-win32-x64":"0.18.0","@specship/specship-darwin-x64":"0.18.0","@specship/specship-linux-arm64":"0.18.0","@specship/specship-win32-arm64":"0.18.0","@specship/specship-darwin-arm64":"0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.18.0_1783987722176_0.3700868358954068","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@specship/specship","version":"0.18.1","license":"MIT","_id":"@specship/specship@0.18.1","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"e3c35a338822b66ad53dde3b711f59a86bf9fc3c","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.18.1.tgz","fileCount":179,"integrity":"sha512-rhy91eu0JvkzqVB6dzwC2wWDRxYjsONDVg8EGqAx6SyETMjrR01drbcaNQuVSRGp9WsZKUXhL7mmU5u+URHimA==","signatures":[{"sig":"MEYCIQDboRZB1dYvUka+GlFjO+FQHSvITRIDwuoB9v0nbyVlqgIhAKtK0jdtMtLIW7AS1xArZ00mIexNjdt1UDSIcmjNz8CQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":547274},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"067cb452c9334fc76983762cb4aa9dbd2251f497","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.18.1","@specship/specship-win32-x64":"0.18.1","@specship/specship-darwin-x64":"0.18.1","@specship/specship-linux-arm64":"0.18.1","@specship/specship-win32-arm64":"0.18.1","@specship/specship-darwin-arm64":"0.18.1"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.18.1_1784073424784_0.7506741664132692","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@specship/specship","version":"0.19.0","license":"MIT","_id":"@specship/specship@0.19.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"4c357e02a48dd5ce2ea313115ec7619325c3d6ac","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.19.0.tgz","fileCount":179,"integrity":"sha512-u5kcBgmIeY/OUBVBINudtW+w3xMVJhXL9OyLfgg89u2k45jf5qNPcRuAq+YlaXoAhiLGmlB096Mo8XFdxlcaBQ==","signatures":[{"sig":"MEYCIQDopILvPcE9kMvUlI5gHYf+VxWJo3kXyJ9eK/q2K77ZsAIhALV0EV31VqLtLG6kBkB960zdJbFaZu7Hs5RuPzuxfK5+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":548773},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"cc66de94eef03cc1895afb7129d221c7c4186003","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.19.0","@specship/specship-win32-x64":"0.19.0","@specship/specship-darwin-x64":"0.19.0","@specship/specship-linux-arm64":"0.19.0","@specship/specship-win32-arm64":"0.19.0","@specship/specship-darwin-arm64":"0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.19.0_1784084499497_0.9236187614425249","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"@specship/specship","version":"0.19.1","license":"MIT","_id":"@specship/specship@0.19.1","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"eeb79f9359c8fe94af69422b4fab7b6213cd0bf9","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.19.1.tgz","fileCount":179,"integrity":"sha512-LgU3c99LVUmb4/ztWZI80xwDV2Lqk9GlyX6eXMog6qKWeEHDHuExATjBNAuIoXt+sg6jW0Mm3fkz+AFAmMB+Gg==","signatures":[{"sig":"MEUCICO1wKRZpgemZAs51SX/ksc2pOktnbunsi9bMLJbXG3rAiEA1EgyuIQ2mZcyKDrjL4OGDzsXTZnex2R3LE7YDIrNF+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":549572},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"2b3cc0b188149322c40e9d43bb40552ee9483070","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.19.1","@specship/specship-win32-x64":"0.19.1","@specship/specship-darwin-x64":"0.19.1","@specship/specship-linux-arm64":"0.19.1","@specship/specship-win32-arm64":"0.19.1","@specship/specship-darwin-arm64":"0.19.1"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.19.1_1784116819402_0.3410868324313254","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@specship/specship","version":"0.20.0","license":"MIT","_id":"@specship/specship@0.20.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"07d0b67f33c25a0d1f742b0796f1d14a5293fdd0","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.20.0.tgz","fileCount":180,"integrity":"sha512-KeGeBAzgosRRj+6w22q0+VVDqL68pjaKrMm8W9SRge7jPJFcYGPIM/mI1h110zyrGoHxvy9YAyiA7DyCj5d/2Q==","signatures":[{"sig":"MEUCIEbrwDtjlw8qR9yJJKlhW+uQMiWYlEL63yc4pvuWA57aAiEA0m3Fhr1al0aLMbLKok+Tf6Sfm3DqIqRB+FmQvYRkqrY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570048},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"537bac5cf05a975d74e00ac242fc73bb7f98fd8a","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.20.0","@specship/specship-win32-x64":"0.20.0","@specship/specship-darwin-x64":"0.20.0","@specship/specship-linux-arm64":"0.20.0","@specship/specship-win32-arm64":"0.20.0","@specship/specship-darwin-arm64":"0.20.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.20.0_1784212084213_0.5852174578205414","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@specship/specship","version":"0.21.0","license":"MIT","_id":"@specship/specship@0.21.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"87da0a51c751423c30d8316f1cf3ef5007981973","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.21.0.tgz","fileCount":181,"integrity":"sha512-lWvy+GCVMKww2BMN29dT93pMbXcCkkl8oKbROUl3SHje33PY7M6BZ8fSayldsO/Huo2xXTLuY3kZL5NAFdkc8w==","signatures":[{"sig":"MEQCIFXh2yYRP4ig+ekuvumgHM1Bd9Y//6mPblcYFRKBZE06AiBBm6xicnl83sheBSFD8B6LWtDi9G29evdF7dElof7uIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571839},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"206d2acf7e70744487936da7aa10dcdf546d25b5","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.21.0","@specship/specship-win32-x64":"0.21.0","@specship/specship-darwin-x64":"0.21.0","@specship/specship-linux-arm64":"0.21.0","@specship/specship-win32-arm64":"0.21.0","@specship/specship-darwin-arm64":"0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.21.0_1784256869695_0.15156266149656483","host":"s3://npm-registry-packages-npm-production"}},"0.21.1":{"name":"@specship/specship","version":"0.21.1","license":"MIT","_id":"@specship/specship@0.21.1","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"b5772a3a6d684df4312a09c59eb99e183700930d","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.21.1.tgz","fileCount":185,"integrity":"sha512-HbtmfQq4Jp7aDxrSJHVcHOHPOJRyiiPwfzIcrXqbvVMqzkKff1poVl5mX7L85MwwUjMzlOneSd82wbuSdHGtLg==","signatures":[{"sig":"MEUCIQD5e1M4r/z4ca2i67EJmOapx0t1Ven7ie4HVv+r2k6nnQIgNYplsuTOA7QSh0Ota/RCkcjIqCj2k02rhcOFsIz1rZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":583400},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"4bc4c8ac70f94725588cdd5cd099b8731167aed3","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.21.1","@specship/specship-win32-x64":"0.21.1","@specship/specship-darwin-x64":"0.21.1","@specship/specship-linux-arm64":"0.21.1","@specship/specship-win32-arm64":"0.21.1","@specship/specship-darwin-arm64":"0.21.1"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.21.1_1784937180460_0.10418882799241436","host":"s3://npm-registry-packages-npm-production"}},"0.21.2":{"name":"@specship/specship","version":"0.21.2","license":"MIT","_id":"@specship/specship@0.21.2","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"acd08bbe93228e84aa39f6813bb9cec9d684fe63","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.21.2.tgz","fileCount":185,"integrity":"sha512-DbKUiz4xBT263Ux6aUi+0wljQb0brcxaUcr7SpI4VFNrvfCjYlS+Yo2e2ol5vrwwusaBL7+hNf4Unp9OGGef6w==","signatures":[{"sig":"MEQCIE6/gGPP5T0CylcduwxZimLInDDcFidnZs90fUj2LzwaAiBzpXocthRRlHEPOk2UExhEW6NpcD5IL6jEnpibryaIfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":584392},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"f0c7bff36b2f092954e7585a2afce9eb2969e6e8","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.21.2","@specship/specship-win32-x64":"0.21.2","@specship/specship-darwin-x64":"0.21.2","@specship/specship-linux-arm64":"0.21.2","@specship/specship-win32-arm64":"0.21.2","@specship/specship-darwin-arm64":"0.21.2"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.21.2_1785234825553_0.3108150893361943","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@specship/specship","version":"0.22.0","license":"MIT","_id":"@specship/specship@0.22.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"f026688ad8584603f124aeb3fe2b8a44a59157c5","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.22.0.tgz","fileCount":194,"integrity":"sha512-63RRky+3vJhRZ3yPYSNmeQQnmuLFDP6Na5cZfkBqxB9TRiJf5pESI0IAYu5yyHHBYpQMwNSx7VXLBpmmkflDaw==","signatures":[{"sig":"MEUCIDyRHkUbdVfMw/Rg429AtehTfx1kAeiIZRLsDbtgnrXiAiEAkA74r9Gh0aLkagOO7xJWGehXzB6FA+V6l3swnB9b9AY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":650326},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"f18374961b2dfd0ea8e3e703c13f3a83d79eeae8","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.22.0","@specship/specship-win32-x64":"0.22.0","@specship/specship-darwin-x64":"0.22.0","@specship/specship-linux-arm64":"0.22.0","@specship/specship-win32-arm64":"0.22.0","@specship/specship-darwin-arm64":"0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.22.0_1785803271233_0.9097231110219213","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@specship/specship","version":"0.23.0","license":"MIT","_id":"@specship/specship@0.23.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"f4d729a698e901b6cd4fedda44d0fedd3c0d09dc","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.23.0.tgz","fileCount":196,"integrity":"sha512-2pTqZiLt4JYEDeR7PukaoFoHpAhh8tQcWYd55mGVPolFPumfVl/tZLF92s+c3Sp8AqfNJ/AbFc61vAc0s3q9aA==","signatures":[{"sig":"MEQCIATbyoehohQC0fZR7fH07k9/QFrTGq8/rDjvQQ2ztdExAiBvkt+Xq96lxmbOK0AjSe40lpWsW8+kNGGXnKCh8ihwZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665927},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"892f6fe592ba0643b88d00b3afb7944154629837","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.23.0","@specship/specship-win32-x64":"0.23.0","@specship/specship-darwin-x64":"0.23.0","@specship/specship-linux-arm64":"0.23.0","@specship/specship-win32-arm64":"0.23.0","@specship/specship-darwin-arm64":"0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.23.0_1787480549134_0.5723407960561089","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@specship/specship","version":"0.24.0","license":"MIT","_id":"@specship/specship@0.24.0","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"bin":{"specship":"npm-shim.js"},"dist":{"shasum":"c8366c09a059c314c29ae88dceff48277bdf7f2e","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.24.0.tgz","fileCount":197,"integrity":"sha512-avVszXPhny0CWurjvf6DfXobzIz48HiXV4qIhePAW44w1Bl0ZHbqVye9xAciyIn/URmlsiP7hd5GxPuSgXDCQg==","signatures":[{"sig":"MEUCIQCCGkoGaPva8lHXzSAXAu2QcvSqYaUJzoMGncv6JVOg3gIgf5mNwwZSoK0gegul0810pVJYWD17nvOyyKqS4dttf7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670864},"main":"npm-sdk.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"dd468b34da265904ed8dd1ea8d9ff1d1698772d4","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.24.0","@specship/specship-win32-x64":"0.24.0","@specship/specship-darwin-x64":"0.24.0","@specship/specship-linux-arm64":"0.24.0","@specship/specship-win32-arm64":"0.24.0","@specship/specship-darwin-arm64":"0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/specship_0.24.0_1788222184365_0.6186843268648046","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"_id":"@specship/specship@0.25.0","bin":{"specship":"npm-shim.js"},"dist":{"shasum":"0bcf616f57eded404a5af313ee873669ef030275","tarball":"https://registry.npmjs.org/@specship/specship/-/specship-0.25.0.tgz","fileCount":204,"integrity":"sha512-VkgAkXjzvvYxRkQ9+F0DNhgTquSO3N7CQ0j7qCuBwwSKPWhGJo3N0uPlBQEXUdsYmp3L+P+IOgmgRLTPW9DY4A==","signatures":[{"sig":"MEUCIQCak0KAsfKGLgCER3vWuve7fxeaE6n1vZ2LrpkUEOeOGwIgPAW+kPqH/vjL24vBoTJTpuqTmVqR4r3FJFrSoEQHGe4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD2MS0vAckafFIDb1aslEjqA9rPRyLIycIIzOn2NQH6WwIgIUHcBCbzdfaeQZlDWust84ccO8HybjiBvw4NsnKViLI="}],"unpackedSize":707178},"main":"npm-sdk.js","name":"@specship/specship","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./npm-sdk.js"},"./package.json":"./package.json"},"gitHead":"c569a5e03dbe1e1b8c43881b9326f75a714f288a","license":"MIT","version":"0.25.0","_npmUser":{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"},"_npmVersion":"10.9.8","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","directories":{},"maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"optionalDependencies":{"@specship/specship-linux-x64":"0.25.0","@specship/specship-win32-x64":"0.25.0","@specship/specship-darwin-x64":"0.25.0","@specship/specship-linux-arm64":"0.25.0","@specship/specship-win32-arm64":"0.25.0","@specship/specship-darwin-arm64":"0.25.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/specship_0.25.0_1790506048402_0.7104097220706271"}}},"time":{"created":"2026-06-29T15:43:36.241Z","modified":"2026-09-27T10:47:28.695Z","0.11.0":"2026-06-29T15:43:36.687Z","0.11.1":"2026-06-29T16:33:26.437Z","0.11.2":"2026-06-29T23:57:08.511Z","0.11.3":"2026-06-30T08:52:27.266Z","0.11.4":"2026-07-01T02:22:01.542Z","0.11.5":"2026-07-01T08:40:57.205Z","0.11.6":"2026-07-02T00:01:33.825Z","0.11.7":"2026-07-02T00:39:05.423Z","0.11.8":"2026-07-02T15:01:38.297Z","0.11.9":"2026-07-03T14:31:33.807Z","0.12.0":"2026-07-04T05:42:21.040Z","0.12.1":"2026-07-04T12:11:01.100Z","0.13.0":"2026-07-06T04:37:28.695Z","0.13.1":"2026-07-06T12:36:12.530Z","0.14.0":"2026-07-07T00:52:18.354Z","0.14.1":"2026-07-07T01:48:37.092Z","0.14.2":"2026-07-07T23:02:39.202Z","0.14.3":"2026-07-08T17:45:52.178Z","0.15.0":"2026-07-09T23:37:15.470Z","0.16.0":"2026-07-11T16:38:29.176Z","0.17.0":"2026-07-13T00:54:30.182Z","0.18.0":"2026-07-14T00:08:42.352Z","0.18.1":"2026-07-14T23:57:04.997Z","0.19.0":"2026-07-15T03:01:39.690Z","0.19.1":"2026-07-15T12:00:19.579Z","0.20.0":"2026-07-16T14:28:04.424Z","0.21.0":"2026-07-17T02:54:29.840Z","0.21.1":"2026-07-24T23:53:00.642Z","0.21.2":"2026-07-28T10:33:45.718Z","0.22.0":"2026-08-04T00:27:51.384Z","0.23.0":"2026-08-23T10:22:29.283Z","0.24.0":"2026-09-01T00:23:04.555Z","0.25.0":"2026-09-27T10:47:28.504Z"},"license":"MIT","description":"Local-first code intelligence for AI agents (MCP). Self-contained — bundles its own runtime.","maintainers":[{"name":"selvakumaresra","email":"selvakumar.esra@gmail.com"}],"readme":"<div align=\"center\">\n\n# SpecShip\n\n### Supercharge Claude Code with Semantic Code Intelligence\n\n**Stops your agent re-reading the codebase — structural answers in a few calls, not a grep-and-Read crawl · 100% local**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Self-contained](https://img.shields.io/badge/Node.js-bundled%20%C2%B7%20none%20required-brightgreen.svg)](https://nodejs.org/)\n\n[![Windows](https://img.shields.io/badge/Windows-supported-blue.svg)](#supported-platforms)\n[![macOS](https://img.shields.io/badge/macOS-supported-blue.svg)](#supported-platforms)\n[![Linux](https://img.shields.io/badge/Linux-supported-blue.svg)](#supported-platforms)\n\n[![Claude Code](https://img.shields.io/badge/Claude_Code-supported-blueviolet.svg)](#get-started)\n\n</div>\n\n## Get Started\n\n### 1. Install the CLI\n\nNo particular Node.js version to manage — the published install bundles its own runtime (Node 24 with FTS5, which SpecShip needs) and runs the same regardless of your system Node. You just need `npm` to fetch it:\n\n```bash\nnpm i -g @specship/specship@latest\n```\n\nOffline / air-gapped machine? No npm, no compiler, and no network needed. Every release is a **self-contained bundle** (a vendored Node runtime plus the app). On a connected machine, download the archive matching the offline machine's platform from the [Releases page](https://github.com/selvakumarEsra/specship/releases), copy it across, extract it, and run the installer baked inside:\n\n```bash\ntar -xzf specship-<target>.tar.gz   # or unzip specship-<target>.zip on Windows\ncd specship-<target>\n./install.sh                        # .\\install.ps1 on Windows\n```\n\nThat symlinks `specship` onto your `PATH`, then asks where to wire Claude Code — globally or a specific repo (`--global` / `--path <repo>` for scripts) — using only the bundled runtime; nothing is compiled on the target. From a checkout, `./scripts/offline-install.sh <bundle>` (`.ps1` on Windows) does the same given a downloaded bundle. See [Offline / air-gapped install](https://specship.cc/getting-started/installation/#offline--air-gapped-install) for the full walkthrough.\n\n### 2. Wire up Claude Code\n\n```bash\nspecship install                                          # full install: retrieval + spec-driven development\nspecship install --yes --location local                   # non-interactive, project-local\nspecship install --with-jira --with-designer              # also enable the optional integrations\nspecship install --no-sdd                                 # retrieval-only (skip the spec-driven layer)\n```\n\n<sub>`specship install` is **wiring-only** — it never installs the binary or touches npm (get the CLI via step 1, or the offline bundle). It writes the SpecShip MCP server into `~/.claude.json` (global) or `./.mcp.json` (project-local; `--path <repo>` targets a specific repo), the auto-allow permissions list into Claude's `settings.json`, all slash commands, the spec-driven-development steering (on by default; `--no-sdd` opts out), a per-prompt nudge that steers the agent to the graph before Read/Grep, and a session-start cheat-sheet of SpecShip's commands (`SPECSHIP_NO_CHEATSHEET=1` to silence). The two integrations that talk to an external service — **JIRA** (your Atlassian instance) and **Designer** (claude.ai, experimental) — are strictly opt-in via `--with-jira` / `--with-designer`, and a later plain re-install preserves them.</sub>\n\n<details>\n<summary><strong>Environment variables — every runtime switch</strong></summary>\n\nSet the behavior switches durably in SpecShip's own settings files — `<repo>/.specship/settings.json` (per project, wins) or `~/.specship/settings.json` (machine-wide) — with env-var names as keys:\n\n```json\n{ \"SPECSHIP_NO_STEERING\": \"1\" }\n```\n\nAn actual environment variable (shell `export`, or Claude Code's `settings.json` `env` block) overrides both files for one-off use.\n\n| Variable | What it does |\n|---|---|\n| `SPECSHIP_NO_STEERING=1` | Turn off the per-prompt \"use the graph first\" nudge |\n| `SPECSHIP_NO_CHEATSHEET=1` | Turn off the session-start cheat-sheet of SpecShip commands |\n| `SPECSHIP_NO_STATUSLINE_TIPS=1` | Turn off the rotating usage tip on the status-line segment |\n| `SPECSHIP_COMPACT=0` | Disable the smaller-model output compaction entirely |\n| `SPECSHIP_MODEL=<model>` | Force the model tier for compaction (normally auto-detected) |\n| `SPECSHIP_INTEGRATIONS` | Written by the installer for `--with-jira`/`--with-designer` — which optional tool groups the MCP server exposes |\n| `SPECSHIP_WATCH_DEBOUNCE_MS` | Auto-sync debounce window (default 2000, clamped 100ms–60s) |\n| `SPECSHIP_NO_DAEMON=1` | Disable the file watcher (sandboxed environments) |\n\nThe full generated list lives in the [CLI reference](https://specship.cc/reference/cli/#environment-variables).\n\n</details>\n\n### Gemini CLI\n\nSpecShip's MCP server is agent-neutral, so Gemini CLI can talk to it too. Install it the same way, naming the target:\n\n```bash\nspecship install --target gemini                  # Gemini CLI only\nspecship install --target claude,gemini           # both agents\n```\n\nA plain `specship install` still wires Claude Code alone — Gemini is opt-in. The install writes the `specship` entry into your Gemini settings file (`~/.gemini/settings.json` globally, `<your-project>/.gemini/settings.json` with `--location local`), preserving any other MCP servers and settings already there, and `specship uninstall --target gemini --keep-data` removes exactly that entry.\n\n<details>\n<summary>Prefer to paste it in by hand?</summary>\n\nPrint the snippet:\n\n```bash\nspecship install --print-config --target gemini            # global (~/.gemini/settings.json)\nspecship install --print-config --target gemini --location local   # this project (.gemini/settings.json)\n```\n\nThen paste the `mcpServers` block into your Gemini CLI settings file and restart Gemini CLI:\n\n```json\n{\n  \"mcpServers\": {\n    \"specship\": {\n      \"command\": \"specship\",\n      \"args\": [\"serve\", \"--mcp\"]\n    }\n  }\n}\n```\n\n- **Every project (global):** `~/.gemini/settings.json`\n- **One project only:** `<your-project>/.gemini/settings.json`\n\nIf the file already exists, merge the `specship` entry into your existing `mcpServers` object rather than replacing the file.\n\n</details>\n\nYou still need `specship init -i` in each project (step 3) so there's an index to query.\n\n<sub>Verified against Gemini CLI 0.56.0. This gives Gemini CLI the SpecShip **MCP tools** only — the Claude Code install additionally wires slash commands, auto-sync hooks, the retrieval-steering nudge, the `specship-explorer` subagent, and the status-line segment, none of which have a Gemini equivalent here. Retrieval benchmarks were measured on Claude Code.</sub>\n\n### 3. Initialize each project\n\n```bash\ncd your-project\nspecship init -i\n```\n\n<sub>`specship init` creates the local `.specship/` index directory; adding `-i` (`--index`) also builds the initial graph in the same step. Without `-i`, run `specship index` afterwards.</sub>\n\n### Uninstall\n\n```bash\nspecship uninstall\n```\n\n<sub>Completely removes SpecShip — the Claude Code wiring, this project's index, your `~/.specship` data (including saved JIRA credentials and worktrees), and the `specship` binary itself — after showing exactly what will be deleted and asking to confirm (`--yes` skips the prompt). Use `specship uninstall --keep-data` to only unwire from Claude Code and keep everything else. Indexes in other projects aren't auto-discovered — remove those per-project with `specship uninit`.</sub>\n\n---\n\n## Specs as First-Class Citizens\n\nWrite requirements in Markdown under `specs/` with embedded IDs, and SpecShip indexes them alongside the code. Each spec becomes a queryable node with a content-hashed body, parent/child structure, and links to the code that implements it.\n\n```markdown\n<!-- specs/auth.md -->\n---\nid: AUTH-DOC\ntitle: Authentication\n---\n<!-- id: REQ-AUTH-001 -->\n# Login must rate-limit failed attempts\n\nThe login endpoint rejects more than 5 failed attempts per IP per minute.\n```\n\nAfter `specship init -i`, the agent can:\n\n- `mcp__specship__specship_spec(\"REQ-AUTH-001\")` — fetch spec + linked code + state\n- `mcp__specship__specship_link_assert(...)` — declare a link after implementing\n- `mcp__specship__specship_drifted` — review queue when spec or code moves\n\nThe link layer carries state — `implemented`, `verified`, `drifted`, `broken`, `orphaned` — keyed on logical identity (file + qualified name) so links survive ordinary refactors. Drop `// @implements REQ-AUTH-001` in your code as a backstop when the agent forgets to assert.\n\n```bash\nspecship drifted                          # review queue\nspecship drifted --fail-on=broken,drifted  # CI gate\n```\n\n### Spec-driven workflows\n\nA YAML workflow engine (`specship workflow run <name>`) drives the agent through deterministic spec → implement → verify → link loops in an isolated git worktree, with approval gates so a non-coding spec author reviews the plan and final diff. Four bundled workflows ship by default:\n\n- `spec-implement` — plan → approve → implement → test → link → final review\n- `spec-fix` — diagnose a drifted link → fix code → re-verify\n- `spec-verify` — run tests, promote `implemented` links to `verified`\n- `spec-relink` — re-attach an orphan after a refactor\n\nCustomize by dropping your own `<project>/.specship/workflows/<name>.yaml` (project tier overrides bundled defaults). The matching slash commands `/specship:spec`, `/ss-implement`, `/ss-drifted`, `/ss-fix`, `/ss-relink` are installed into Claude Code by `specship install`.\n\n---\n\n## Self-Improving, With You in the Loop\n\nSpecShip observes your Claude Code sessions and gets smarter every time you use it — without ever changing anything behind your back:\n\n- **It crystallizes what worked.** A completed multi-step workflow run becomes a reusable recipe proposal; a command you kept correcting into a working form becomes a \"use this form\" rule; recurring corrections are captured with the context they followed. Run `/specship:learn` to crystallize the current session's workflow on demand.\n- **Everything is a human-gated proposal.** Each one shows a preview diff of exactly what it would write (a CLAUDE.md rule, a memory note, a slash command, a hook); nothing lands until you apply it, and every apply is undoable. Review from the dashboard's **Improvements** page or `specship reflect`.\n- **It remembers your work.** A four-tier SQLite memory — the code **graph** (deterministic truth), your **specs** (human-confirmed intent), the full **task history** (every session, tool call, cost, outcome), and the **crystallized rules/skills** you approved. `specship_explore` surfaces a \"Prior work\" section when past sessions edited the files at hand, so the agent starts from what was already done.\n- **Deterministic and local.** Proposals cite the actual sessions that triggered them; recall is a SQL join, never an LLM summary; nothing leaves your machine.\n\n---\n\n## Why SpecShip?\n\nWhen Claude Code explores a codebase, it spawns **Explore agents** that scan files with grep, glob, and Read — consuming tokens on every tool call.\n\n**SpecShip gives those agents a pre-indexed knowledge graph** — symbol relationships, call graphs, and code structure. Agents query the graph instantly instead of scanning files.\n\n## Key Features\n\n| | |\n|---|---|\n| **Smart Context Building** | One tool call returns entry points, related symbols, and code snippets — no expensive exploration agents |\n| **Full-Text Search** | Find code by name instantly across your entire codebase, powered by FTS5 |\n| **Impact Analysis** | Trace callers, callees, and the full impact radius of any symbol before making changes |\n| **Always Fresh** | File watcher uses native OS events (FSEvents/inotify/ReadDirectoryChangesW) with debounced auto-sync — the graph stays current as you code, zero config |\n| **20+ Languages** | TypeScript, JavaScript, Python, Go, Rust, Java, C#, PHP, Ruby, C, C++, Objective-C, Swift, Kotlin, Dart, Lua, Luau, Svelte, Liquid, Pascal/Delphi |\n| **Framework-aware Routes** | Recognizes web-framework routing files and links URL patterns to their handlers across 14 frameworks |\n| **Desktop UI** | Live dashboard for cost, drift, tool-call heatmap, cache analytics, SpecShip token impact, plus a project picker that auto-discovers every project you've used Claude Code in |\n| **Self-Improving** | Mines your sessions for what worked and what wasted — and proposes rules, skills, and hooks you approve with a preview diff. Prior-work recall built into every explore |\n| **100% Local** | The core never leaves your machine — no API keys, no external services, SQLite only. The two optional integrations that do talk to a service (JIRA → your Atlassian instance, Designer → claude.ai, experimental) are strictly opt-in: `specship install --with-jira` / `--with-designer` |\n\n<details>\n<summary><strong>How auto-syncing works — and why you don't need to run <code>specship sync</code> manually</strong></summary>\n\nWhen Claude Code launches `specship serve --mcp`, three layers keep the index in step with your code — and make sure the agent never gets a silent wrong answer in the brief window between an edit and the next sync:\n\n1. **File watcher with debounced auto-sync.** A native FSEvents / inotify / ReadDirectoryChangesW watcher captures every source-file create / modify / delete and triggers a re-index after a debounce window (default `2000ms`, tunable via `SPECSHIP_WATCH_DEBOUNCE_MS`, clamped to `[100ms, 60s]`). Bursts of edits collapse into a single sync.\n\n2. **Per-file staleness banner.** During the brief debounce window, MCP tool responses that would reference a still-pending file prepend a `⚠️` banner naming it and telling the agent to `Read` it directly. Pending files NOT referenced by the response surface as a small footer instead. Either way, the agent gets an explicit signal — validated with Claude Code, where the agent literally says \"Reading the file directly for the live content\" before opening it.\n\n3. **Connect-time catch-up.** When the MCP server (re)connects, specship runs a fast `(size, mtime)` + content-hash reconciliation against the working tree before answering the first query — so edits made while no MCP server was running (a `git pull` from the terminal, edits from another editor, a previous agent session that exited) get absorbed on the next session's first tool call.\n\n```\nagent writes src/Widget.ts\n  → watcher fires (<100ms)\n  → debounce (default 2s)\n  → sync; Widget.ts is in the index\n  → next agent query sees it\n```\n\n**Verify any time** with `specship_status` (via MCP) or `specship status` (CLI). If anything is pending, you'll see a `### Pending sync:` section naming the files and their edit age.\n\nThe handful of cases where manual `specship sync` makes sense: the watcher is disabled (sandboxed environments, or `SPECSHIP_NO_DAEMON=1`), or you're scripting against the index outside an agent session and want a pre-flight sync at the start of your script.\n\n\n</details>\n\n---\n\n## Dashboard\n\n`specship desktop` boots a single-process Fastify server that renders the dashboard **server-side** on `http://127.0.0.1:4242/`. One port serves both the API and the dashboard. No Electron, no SPA build, no auth — loopback only, and its dependency tree stays lean enough to install behind a locked-down registry.\n\n![SpecShip Desktop dashboard — stat tiles, recent neighborhood mini-graph, tips, tool-call heatmap and recent-prompt rollup at a glance](https://raw.githubusercontent.com/selvakumarEsra/specship/main/assets/screenshots/dashboard.png?v=1)\n\nThe dashboard is designed to answer four questions in one glance — **what is the structural state of my codebase, what needs attention, what did my last session cost, and what should I do about it.** The zones, top-to-bottom:\n\n#### Status strip · top of every page\n\nProject path · backend (`better-sqlite3` / `node:sqlite`) · node count · edge count · drift count · last-index time. Always visible — drift > 0 turns amber, index time pulses red after 30 minutes of staleness.\n\n#### Project picker · top bar\n\nAuto-discovers every project under `~/.claude/projects/`, decodes the slug back to its absolute path, flags each one with `initialized` / `not init` / `missing`, and shows the most-recently-touched first. A live SSE stream pushes new entries the moment you open a project in Claude Code — no refresh. Pick one and every codegraph-scoped surface (status, graph, specs, drift, workflows, memory) switches to that project's data.\n\n#### Stat tiles · 4 across\n\n| Tile | Surfaces |\n|---|---|\n| **Last session cost** | Total $ for your most recent Claude Code session, sourced from the JSONL transcripts ingested in the background. Click → Sessions page with that session focused. |\n| **Tool calls · range** | Count of tool calls in the selected time range (Today / This week / This month / All time, picker top-right). Click → Heatmap. |\n| **Subagent spend** | What % of your token spend went to Task-tool subagents. Hot signal: above ~40 % usually means a workflow is over-delegating. Click → Heatmap → Subagents lane. |\n| **Drift queue** | Spec-link rows in `drifted`, `broken`, or `orphaned` state. Click → Drift queue. The sidebar item also carries this badge so it's visible from any page. |\n\n#### Recent neighborhood · interactive mini-graph\n\nA small live `<app-graph-canvas>` panel — pan/zoom, click any node to deep-link into `/graph?focus=<id>`. By default it shows a 15–25 node slice around the file you most recently edited. When the API returns no rows (fresh dev, no project indexed), it falls back to a seed neighborhood with all four node kinds (purple `code` / blue `spec` / green `test` / teal `route`) and a drifted spec, so the visual language is always on screen.\n\n#### Tips panel\n\nRule-based pattern-matcher over your transcripts. Each tip has a severity bar (`error` / `warn` / `info`), a one-line title, a concrete `Fix` (often a copyable command), and an estimated saving. Examples that show up in real usage:\n\n> _You read `auth.ts` 17 times last session. Same answer via `specship_explore` in 1 call._\n>\n> _Bash(grep) returned 82k tokens. `specship_search` covers this in 600._\n>\n> _Cache miss rate on your evening sessions is 91%. Could be your system prompt drifts each turn._\n\n`Apply` jumps to the related surface; `Dismiss` snoozes the tip (snooze persistence lands in the next release).\n\n#### Tool-call heatmap strip\n\nOne cell per touched file, sized roughly by path length so longer paths get more room. Color intensity tracks tool-call volume in the selected range. Hover for the path + counts; click to drill into the file's tool breakdown with a sessions list and a \"heavy tool\" callout (e.g. _\"`Read` returned 396 k tokens here — a structural query would cover it in a fraction\"_).\n\n#### Recent prompts · by cost\n\nLast 8–12 user prompts across your sessions, with a per-prompt cost bar and token rollup. Expensive prompts pop red; cache-hit % shows next to each. Click a row to jump into the Sessions deep-dive scrolled to that prompt — token-split micro-bars, every tool call with its result-token weight, and tagged \"heavy tool\" rows.\n\n#### Cache analytics card\n\nOne big number — your **cache read rate** — plus a 2×2 breakdown: creation tokens (with 1h / 5m split), read tokens (charged at ~10 %), estimated dollars saved this week, week-over-week delta. The single biggest controllable knob for keeping Claude Code cheap, surfaced where you can see it without going hunting.\n\n> **Project & time scope.** Every numeric on this page respects the project picker's active selection and the range selector top-right. Switching projects re-fetches without a page reload.\n\n#### SpecShip Impact · is SpecShip earning its keep?\n\nA dedicated page that puts SpecShip's own token cost next to what it saved, per prompt → session → project → all-projects (the Session Detail page carries the same per-prompt chip and per-session line). Two numbers, deliberately kept apart:\n\n- **Spend — measured.** The exact tokens SpecShip's own tool calls put into the conversation.\n- **Saved — estimated.** For each code-graph query, the size of the files its symbols live in — what a `Read` of them would have cost — deduplicated per prompt.\n\n**\"Saved\" is a conservative lower bound.** It credits only a single direct read of the named files, *not* the multi-call grep + read exploration (re-reads, dead-ends, extra turns) SpecShip actually replaces — the end-to-end win that the [benchmarks](#why-specship) measure with a with-vs-without comparison. So treat spend as exact and saved as a floor; a fixed per-session tool-definition overhead is shown separately, and every estimate is marked `est.`.\n\n#### Beyond the dashboard\n\nSame shell, same shortcuts, more depth:\n\n| Surface | What |\n|---|---|\n| **Graph** | Full xyflow code explorer — pan/zoom, fuzzy search, kind filters, click-to-recenter, side panel with callers / callees / linked specs / \"Reveal in editor\". Hierarchical / Force / Spec-anchored layouts. |\n| **Specs** | Doc tree + Markdown spec detail; per-spec linked-code list with state pills and one-click `Implement` / `Verify` / `Edit spec` / `Show in graph` actions. |\n| **Drift queue** | Filterable list of links needing attention. Bulk re-verify, bulk re-attach via the relink workflow. |\n| **Workflows + Runs** | Run any bundled or project-tier workflow, watch its DAG advance live via SSE, approve / reject pause gates, inspect per-step artifacts (plan.md, diff.md, test_results.md). |\n| **Sessions / Heatmap / Costs / Compare / Tips** | The Claude Code analytics suite — sessions deep-dive with per-prompt expand, file/tool/subagent heatmap drilldowns, per-day cost line + by-model donut, cross-project comparison. |\n| **SpecShip Impact** | Measured tokens SpecShip's tools spent vs. an estimated (conservative) count of tokens saved, per prompt / session / project / all-projects, with a spend-vs-saved trend and per-tool breakdown. |\n| **Memory** | The full `CLAUDE.md` hierarchy (managed / user / project / subdir) plus `@import` resolution plus `~/.claude/memory/*.md` agent-written notes. Sources view + Effective (merged-precedence) view. |\n| **Design system** | The visual reference for the entire app — every token, palette swatch, semantic state, button/pill family, and the 4 px node-color legibility test that the graph relies on. |\n\nA live boot splash animates the Wake logomark assembling on first launch each session — then fades into the dashboard. Subsequent reloads within the same session skip straight to the dashboard.\n\n---\n\n## Framework-aware Routes\n\nSpecShip detects web-framework routing files and emits `route` nodes linked by `references` edges to their handler classes or functions. Querying callers of a view/controller now surfaces the URL pattern that binds it.\n\n| Framework | Shapes recognized |\n|---|---|\n| **Django** | `path()`, `re_path()`, `url()`, `include()` in `urls.py` (CBV `.as_view()`, dotted paths) |\n| **Flask** | `@app.route('/path', methods=[...])`, blueprint routes |\n| **FastAPI** | `@app.get(...)`, `@router.post(...)`, all standard methods |\n| **Express** | `app.get(...)`, `router.post(...)` with middleware chains |\n| **NestJS** | `@Controller` + `@Get/@Post/...`, GraphQL `@Resolver` + `@Query/@Mutation`, `@MessagePattern`/`@EventPattern`, `@SubscribeMessage` |\n| **Laravel** | `Route::get()`, `Route::resource()`, `Controller@action`, tuple syntax |\n| **Drupal** | `*.routing.yml` routes (`_controller`, `_form`, entity handlers); `hook_*` implementations in `.module`/`.theme`/`.install`/`.inc` |\n| **Rails** | `get '/x', to: 'users#index'`, hash-rocket `=>` syntax |\n| **Spring** | `@GetMapping`, `@PostMapping`, `@RequestMapping` on methods |\n| **Gin / chi / gorilla / mux** | `r.GET(...)`, `router.HandleFunc(...)` |\n| **Axum / actix / Rocket** | `.route(\"/x\", get(handler))` |\n| **ASP.NET** | `[HttpGet(\"/x\")]` attributes on action methods |\n| **Vapor** | `app.get(\"x\", use: handler)` |\n| **React Router** / **SvelteKit** | Route component nodes |\n\n---\n\n## Quick Start\n\n```bash\nnpm i -g @specship/specship@latest\nspecship install --yes           # writes ~/.claude.json + ~/.claude/settings.json\ncd your-project && specship init -i\n# restart Claude Code\n```\n\nThe installer:\n- Writes Claude Code's MCP server config (`~/.claude.json` for global, `./.mcp.json` for project-local)\n- Writes the auto-allow permissions list into `~/.claude/settings.json`\n- For local installs, also runs `specship init` against the current directory\n\n**Non-interactive (scripting / CI):**\n\n```bash\nspecship install --yes                       # global, auto-allow on\nspecship install --location=local --yes      # project-local\nspecship install --print-config              # print snippet, no file writes\nspecship install --print-config --target gemini   # Gemini CLI settings snippet\nspecship install --no-permissions            # skip auto-allow list\n```\n\n| Flag | Values | Default |\n|---|---|---|\n| `--location` | `global`, `local` | prompt |\n| `--yes` | (boolean) | prompt every step |\n| `--no-permissions` | (boolean) skip Claude auto-allow list | permissions on |\n| `--print-config` | dump the MCP snippet and exit (no file writes) | — |\n| `--target` | `claude`, `gemini` — which snippet `--print-config` prints | `claude` |\n\n<details>\n<summary><strong>Manual Setup (Alternative)</strong></summary>\n\n**Install globally:**\n```bash\nnpm install -g @specship/specship@latest\n```\n\n**Add to `~/.claude.json`:**\n```json\n{\n  \"mcpServers\": {\n    \"specship\": {\n      \"type\": \"stdio\",\n      \"command\": \"specship\",\n      \"args\": [\"serve\", \"--mcp\"]\n    }\n  }\n}\n```\n\n**Add to `~/.claude/settings.json` (optional, for auto-allow):**\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"mcp__specship__specship_search\",\n      \"mcp__specship__specship_explore\",\n      \"mcp__specship__specship_callers\",\n      \"mcp__specship__specship_callees\",\n      \"mcp__specship__specship_impact\",\n      \"mcp__specship__specship_node\",\n      \"mcp__specship__specship_status\",\n      \"mcp__specship__specship_files\"\n    ]\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><strong>Agent Tool Guidance</strong></summary>\n\nSpecShip's MCP server delivers its usage guidance to Claude Code **automatically**, in the MCP `initialize` response — there's no instructions file to manage and nothing is added to your `CLAUDE.md`. In short, it tells the agent to:\n\n- **Answer structural questions directly with SpecShip** — it *is* the pre-built index, so a grep/read loop just repeats work it already did. Treat the returned source as already read.\n- **Pick the tool by intent:** `specship_explore` for almost anything — \"how does X work\", a flow/\"how does X reach Y\", or surveying an area (one call returns the relevant symbols' source grouped by file); `specship_search` to just locate a symbol; `specship_callers`/`specship_callees` to walk call flow; `specship_impact` before editing; `specship_node` for one specific symbol's full source (it returns every overload for an ambiguous name).\n- **Trust the results — don't re-verify with grep**, and check the staleness banner after edits.\n- If `.specship/` doesn't exist yet, offer to run `specship init -i`.\n\nThe exact text is `src/mcp/server-instructions.ts` — the single source of truth.\n\n</details>\n\n---\n\n## How It Works\n\n```\n┌───────────────────────────────────────────────────────────────────┐\n│                            Claude Code                            │\n│                                                                   │\n│   \"How does a request reach the database?\"                        │\n│       calls SpecShip tools directly — no Explore sub-agent       │\n│                                 │                                 │\n└─────────────────────────────────┬─────────────────────────────────┘\n                                  │\n                                  ▼\n┌───────────────────────────────────────────────────────────────────┐\n│                        SpecShip MCP Server                       │\n│                                                                   │\n│       explore · search · callers · callees · impact · node        │\n│                                 │                                 │\n│                                 ▼                                 │\n│                       SQLite knowledge graph                      │\n│          symbols · edges · files · FTS5 full-text search          │\n└───────────────────────────────────────────────────────────────────┘\n```\n\n1. **Extraction** — [tree-sitter](https://tree-sitter.github.io/) parses source code into ASTs. Language-specific queries extract nodes (functions, classes, methods) and edges (calls, imports, extends, implements).\n\n2. **Storage** — Everything goes into a local SQLite database (`.specship/specship.db`) with FTS5 full-text search.\n\n3. **Resolution** — After extraction, references are resolved: function calls → definitions, imports → source files, class inheritance, and framework-specific patterns.\n\n4. **Auto-Sync** — The MCP server watches your project using native OS file events. Changes are debounced (2-second quiet window), filtered to source files only, and incrementally synced. The graph stays fresh as you code — no configuration needed.\n\n---\n\n## CLI Reference\n\n```bash\nspecship                         # Run interactive installer\nspecship install                 # Run installer (explicit)\nspecship uninstall               # Completely remove SpecShip (wiring + index + ~/.specship + binary; --keep-data to only unwire)\nspecship init [path]             # Initialize in a project (--index to also index)\nspecship uninit [path]           # Remove SpecShip from a project (--force to skip prompt)\nspecship index [path]            # Full index (--force to re-index, --quiet for less output)\nspecship sync [path]             # Incremental update\nspecship status [path]           # Show statistics\nspecship query <search>          # Search symbols (--kind, --limit, --json)\nspecship files [path]            # Show file structure (--format, --filter, --max-depth, --json)\nspecship callers <symbol>        # Find what calls a function/method (--limit, --json)\nspecship callees <symbol>        # Find what a function/method calls (--limit, --json)\nspecship impact <symbol>         # Analyze what code is affected by changing a symbol (--depth, --json)\nspecship affected [files...]     # Find test files affected by changes (see below)\nspecship jira configure          # Connect to JIRA (--base-url, --email/--api-token or --pat, --deployment, --project)\nspecship jira test               # Verify the connection + validate configured transition names against your workflow\nspecship jira track              # Status of issues SpecShip has picked (--project, --path)\nspecship jira transition <key> [state]  # Move an issue to a state, or list its available transitions (--list)\nspecship jira release <version>  # Stamp a fixVersion + \"shipped in\" comment onto issues (--keys, --project)\nspecship memory capture          # Capture a lesson/anti-pattern as a reviewable memory rule (--title, --target; text on stdin)\nspecship memory list             # List the memory rules SpecShip has applied\nspecship memory remove <id>      # Remove a memory rule (previewed; --yes to write)\nspecship memory edit <id>        # Replace a memory rule's body (previewed; --yes to write)\nspecship serve --mcp             # Start MCP server\n```\n\n### `specship affected`\n\nTraces import dependencies transitively to find which test files are affected by changed source files.\n\n```bash\nspecship affected src/utils.ts src/api.ts         # Pass files as arguments\ngit diff --name-only | specship affected --stdin   # Pipe from git diff\nspecship affected src/auth.ts --filter \"e2e/*\"     # Custom test file pattern\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--stdin` | Read file list from stdin | `false` |\n| `-d, --depth <n>` | Max dependency traversal depth | `5` |\n| `-f, --filter <glob>` | Custom glob to identify test files | auto-detect |\n| `-j, --json` | Output as JSON | `false` |\n| `-q, --quiet` | Output file paths only | `false` |\n\n**CI/hook example:**\n\n```bash\n#!/usr/bin/env bash\nAFFECTED=$(git diff --name-only HEAD | specship affected --stdin --quiet)\nif [ -n \"$AFFECTED\" ]; then\n  npx vitest run $AFFECTED\nfi\n```\n\n---\n\n## MCP Tools\n\nWhen running as an MCP server, SpecShip exposes these tools to Claude Code:\n\n| Tool | Purpose |\n|------|---------|\n| `specship_explore` | **Primary.** Answer almost any question in one call — \"how does X work\", a flow (\"how does X reach Y\"), or surveying an area — returning the relevant symbols' verbatim source grouped by file, plus a relationship map and blast radius. Surfaces dynamic-dispatch hops (callbacks, React re-render, interface→impl) grep can't follow. |\n| `specship_search` | Find symbols by name across the codebase |\n| `specship_callers` | Find what calls a function |\n| `specship_callees` | Find what a function calls |\n| `specship_impact` | Analyze what code is affected by changing a symbol |\n| `specship_node` | Get one specific symbol's details + full source (returns every overload for an ambiguous name) |\n| `specship_files` | Get indexed file structure (faster than filesystem scanning) |\n| `specship_status` | Check index health and statistics, plus server identity — version, install method, where it was loaded from, node version |\n| `specship_health` | Code-health report — maintainability (coupling hotspots, god files, cycles, dead code) and fitness (dependency/layering rules), filterable via `checks` |\n\nThe JIRA integration adds fourteen more (`specship_jira_issues`, `_issue`, `_pick`, `_start`, `_track`, `_publish`, `_transition`, `_add_task`, `_anchor`, `_epics`, `_coverage`, `_reconcile`, `_regression_pack`, `_regression_record`) — see below.\n\n---\n\n## JIRA Integration\n\nDrive work straight from your JIRA board without leaving the agent: list the\nissues assigned to you, pick one by its key, and let SpecShip turn it into a\nspec, run the implement-and-verify workflow, raise the pull request, and push\nthe status back to the ticket — so the board stays the source of truth. It works\nwith both **JIRA Cloud** (email + Atlassian API token) and **Data Center /\nServer** (Personal Access Token).\n\n**Connect once.** Credentials are stored at `~/.specship/jira.json` (owner-only,\n`0600`) — never in your project tree, never committed:\n\n```bash\n# Cloud\nspecship jira configure --base-url https://your-org.atlassian.net --email you@example.com --api-token <token>\n# Data Center / Server\nspecship jira configure --base-url https://jira.your-company.com --pat <token>\n\nspecship jira test    # \"connected as <your name>\" — the token itself is never printed\n```\n\nFor headless / CI setups, every field can come from an environment variable\ninstead (`SPECSHIP_JIRA_BASE_URL`, `SPECSHIP_JIRA_EMAIL`,\n`SPECSHIP_JIRA_API_TOKEN`, `SPECSHIP_JIRA_PAT`, `SPECSHIP_JIRA_DEPLOYMENT`).\n\n**Then drive it from the agent.** You ask Claude Code in conversation and it\ncalls the JIRA MCP tools:\n\n| Tool | What it does |\n|------|--------------|\n| `specship_jira_issues` | List the issues assigned to you (resolved from your token — you never type your name); key, summary, status, type. Optional project filter. |\n| `specship_jira_issue` | Fetch one issue by key. |\n| `specship_jira_pick` | Draft a well-formed spec from an issue under `specs/` (summary → title, description → body, subtasks → acceptance criteria). Re-picking updates it in place. |\n| `specship_jira_start` | Run the spec-implement workflow on the generated spec; pauses at its plan/approve gate. |\n| `specship_jira_track` | A read-only table joining each picked issue's SpecShip work-state with its live JIRA status; flags specs edited in JIRA after publishing. |\n| `specship_jira_publish` | The reverse of pick — publish an authored spec back as a Story whose Sub-tasks mirror its acceptance criteria, key written into the spec. Idempotent. |\n| `specship_jira_transition` | Move an issue to a state its workflow offers, or list the options; an unavailable target is reported, never applied. |\n\nWhen the plan is approved **and** the implementation's tests pass, SpecShip\nraises a pull request with the GitHub CLI — the issue key rides the branch,\ntitle, and body so JIRA's development panel links it back. A failing run raises\nno PR, and the PR is never auto-merged or auto-closed (you decide Done). On start\nit assigns the issue to you and moves it toward \"In Progress\"; on PR raised it\nmoves it toward \"In Review\" and comments the PR link; as you verify acceptance\ncriteria, each proven one advances its published Sub-task toward Done. Transition\nnames are configurable — `specship jira test` validates them against your live\nworkflow, and `specship jira transition` drives any state by hand — and status\nwrite-back degrades gracefully when a transition doesn't exist. `specship jira\nrelease <version>` stamps a fixVersion + \"shipped in\" comment onto the issues.\nThe token is never logged and every request is locked to the host you configured.\n\nSee the [JIRA integration guide](https://specship.cc/guides/jira/) for the full\nwalkthrough.\n\n---\n\n## Library Usage\n\nSpecShip can be embedded directly. The npm package re-exports its programmatic\nAPI, so both `import` and `require` resolve the `SpecShip` class in your own\nprocess — handy for embedding it in an app (e.g. an Electron main process).\n\n```typescript\nimport SpecShip from '@specship/specship';\n// CommonJS works too:\n//   const { SpecShip } = require('@specship/specship');\n\nconst cg = await SpecShip.init('/path/to/project');\n// Or: const cg = await SpecShip.open('/path/to/project');\n\nawait cg.indexAll({\n  onProgress: (p) => console.log(`${p.phase}: ${p.current}/${p.total}`)\n});\n\nconst results = cg.searchNodes('UserService');\nconst callers = cg.getCallers(results[0].node.id);\nconst context = await cg.buildContext('fix login bug', { maxNodes: 20, includeCode: true, format: 'markdown' });\nconst impact = cg.getImpactRadius(results[0].node.id, 2);\n\ncg.watch();   // auto-sync on file changes\ncg.unwatch(); // stop watching\ncg.close();\n```\n\nLower-level building blocks are exported from the same entry point for callers\nthat drive the graph directly: `DatabaseConnection`, `QueryBuilder`,\n`getDatabasePath`, `initGrammars` / `loadGrammarsForLanguages`, and `FileLock`.\n\n**Embedding requirements**\n\n- Install from npm (`npm i @specship/specship@latest`) so the matching\n  per-platform package — which carries the compiled library and its\n  dependencies — is fetched alongside the shim.\n- The API runs on **your** runtime, so it needs **Node 22.5+** for the built-in\n  `node:sqlite` (Electron qualifies when its bundled Node is 22.5+). The CLI and\n  MCP server are unaffected — they run on the self-contained bundled runtime.\n- TypeScript types ship with the package. As with any Node-targeting library,\n  keep `@types/node` available and `skipLibCheck: true` (the common default).\n\n---\n\n## Configuration\n\nThere isn't any — SpecShip is zero-config, with **no config file** to write or\nkeep in sync. Language support is automatic from the file extension; there's\nnothing to wire up per language.\n\nWhat it skips out of the box:\n\n- **Dependency, build, and cache directories** — `node_modules`, `vendor`,\n  `dist`, `build`, `target`, `.venv`, `Pods`, `.next`, and the like across every\n  [supported stack](#supported-languages) — so the graph is your code, not\n  third-party noise. This holds even with no `.gitignore`.\n- **Anything in your `.gitignore`** — honored in git repos via git, and in\n  non-git projects by reading `.gitignore` directly (root and nested).\n- **Files larger than 1 MB** — generated bundles, minified JS, vendored blobs.\n\nTo keep something else out, add it to `.gitignore`. To pull a default-excluded\ndirectory back **in** (say you really do want a vendored dependency indexed),\nadd a negation — `!vendor/`. The defaults apply uniformly, so committing a\ndependency or build directory doesn't force it into the graph; the `.gitignore`\nnegation is the explicit opt-in.\n\n## Supported Platforms\n\nEvery release ships a self-contained build (bundled Node runtime — nothing to\ncompile) for all three desktop OSes, on both Intel/AMD (x64) and ARM (arm64):\n\n| Platform | Architectures | Install |\n|----------|---------------|---------|\n| Windows | x64, arm64 | PowerShell installer or npm |\n| macOS | x64, arm64 | shell installer or npm |\n| Linux | x64, arm64 | shell installer or npm |\n\nSee [Get Started](#get-started) for the one-line install commands.\n\n## Supported Languages\n\n| Language | Extension | Status |\n|----------|-----------|--------|\n| TypeScript | `.ts`, `.tsx` | Full support |\n| JavaScript | `.js`, `.jsx`, `.mjs` | Full support |\n| Python | `.py` | Full support |\n| Go | `.go` | Full support |\n| Rust | `.rs` | Full support |\n| Java | `.java` | Full support |\n| C# | `.cs` | Full support |\n| PHP | `.php` | Full support |\n| Ruby | `.rb` | Full support |\n| C | `.c`, `.h` | Full support |\n| C++ | `.cpp`, `.hpp`, `.cc` | Full support |\n| Objective-C | `.m`, `.mm`, `.h` | Partial support (classes, protocols, methods, `@property`, `#import`, message sends; `.mm` ObjC++ may parse incompletely) |\n| Swift | `.swift` | Full support |\n| Kotlin | `.kt`, `.kts` | Full support |\n| Scala | `.scala`, `.sc` | Full support (classes, traits, methods, type aliases, Scala 3 enums) |\n| Dart | `.dart` | Full support |\n| Svelte | `.svelte` | Full support (script extraction, Svelte 5 runes, SvelteKit routes) |\n| Vue | `.vue` | Full support (script + script-setup extraction, Nuxt page/API/middleware routes) |\n| Liquid | `.liquid` | Full support |\n| Pascal / Delphi | `.pas`, `.dpr`, `.dpk`, `.lpr` | Full support (classes, records, interfaces, enums, DFM/FMX form files) |\n| Lua | `.lua` | Full support (functions, methods with receivers, local variables, `require` imports, call edges) |\n| Luau | `.luau` | Full support (everything in Lua, plus `type`/`export type` aliases, typed signatures, and Roblox instance-path `require`) |\n\n## Troubleshooting\n\n**\"SpecShip not initialized\"** — Run `specship init` in your project directory first.\n\n**Indexing is slow** — Check that `node_modules` and other large directories are excluded. Use `--quiet` to reduce output overhead.\n\n**MCP hits `database is locked`** — current builds shouldn't: SpecShip bundles its own Node runtime and uses Node's built-in `node:sqlite` in WAL mode, where concurrent reads never block on a writer. If you still see it:\n\n- **You're on an old (pre-0.9) install.** Reinstall: `npm i -g @specship/specship@latest`.\n\n**`specship status` shows `Journal:` other than `wal`** — WAL couldn't be enabled on this filesystem (common on network shares and WSL2 `/mnt`), so reads can block on writes. Move the project (with its `.specship/` folder) onto a local disk.\n**MCP server not connecting** — Ensure the project is initialized/indexed, verify the path in your MCP config, and check that `specship serve --mcp` works from the command line.\n\n**Missing symbols** — The MCP server auto-syncs on save (wait a couple seconds). Run `specship sync` manually if needed. Check that the file's language is supported and isn't inside a `.gitignore`d or default-excluded directory (e.g. `node_modules`, `dist`).\n\n## License\n\nMIT\n\n---\n\n<div align=\"center\">\n\n**Made for Claude Code**\n\n[Report Bug](https://github.com/selvakumarEsra/specship/issues) · [Request Feature](https://github.com/selvakumarEsra/specship/issues)\n\n</div>\n","readmeFilename":"README.md"}