{"_id":"@anhnguyen02/catlas","_rev":"12-4a3d473dbdfb393b309df86b12c55d9d","name":"@anhnguyen02/catlas","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"@anhnguyen02/catlas","version":"1.0.0","keywords":[],"author":{"name":"anhnv02"},"license":"MIT","_id":"@anhnguyen02/catlas@1.0.0","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"8df422d8adbc64beffb563a52f31ba144a2c1e01","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.0.tgz","fileCount":326,"integrity":"sha512-NygEheex0b9ApDwSIpdq2EQaCH4RxT2IzYHDzrB3u4hUHBPEiVAC1ZMzPvdToKNJJo75pe3LFu7nlj4TGNy9rQ==","signatures":[{"sig":"MEQCIFSkOHL56kbwHHepB1hwPWmqrJfPYBJWUh45w2WoxNU7AiB9WpVf/0U2ME2FM9xQ2A/AqWPhhZXJvU/+RT8vfKe7yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2679701},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"4c12e3e3cfdea18ec1c7deb5d792c50acde0eafe","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"11.11.0","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"20.20.0","dependencies":{"glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.0_1775013017829_0.6803625654491754","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@anhnguyen02/catlas","version":"1.0.1","keywords":[],"author":{"name":"anhnv02"},"license":"MIT","_id":"@anhnguyen02/catlas@1.0.1","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"6354bab3d2cea0d40bb217e671d1d92944b1d53d","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.1.tgz","fileCount":326,"integrity":"sha512-9epinx5AT/qM8hGX8BFelxLutbtrFHvQRmNowcRigAhWnEuC7Kq+VXMhD0GEHCs5t/Jx4AVts0mvdnDGuHm9Mw==","signatures":[{"sig":"MEQCIFnTm1dXEIvvyCGF167uZyAunCZDSayPNtmNZCI1eC+kAiAE1pZhpGTob1rZGahb9Dp6l6PgBig35cwe/RpI4lG8Zw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2669454},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"ce0ad2298c0b0d032b8800a8a15647969c145cdc","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"11.8.0","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"25.4.0","dependencies":{"glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.1_1775014763073_0.048215990264800945","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@anhnguyen02/catlas","version":"1.0.2","keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"author":{"name":"anhnv02"},"license":"MIT","_id":"@anhnguyen02/catlas@1.0.2","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"f0cfb0c682077bb12fc787632e50eb347aab78d8","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.2.tgz","fileCount":326,"integrity":"sha512-J3BWH4tJRaiwLp0BdlP+I8FBpB4/W1EjZWG2/8nAAZrG+uh/+6Po8pZoskQAblZYCw2DYOXaS4hQ5UcJePb0vQ==","signatures":[{"sig":"MEQCIDIWj/xtfBPz9rhtCbk3xDjZR9BO6UGQYM4X0Sh4xiLvAiASBnR9B2iIFqVaERa4wTzHlYoMJPtY3MFH302bIVoNnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2669751},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"fbca4b30f3d9c7c004520115f1f4d5c6deb9356e","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"11.11.0","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"20.20.0","dependencies":{"glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.2_1775015088482_0.13397157734162235","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@anhnguyen02/catlas","version":"1.0.3","keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"author":{"name":"anhnv02"},"license":"MIT","_id":"@anhnguyen02/catlas@1.0.3","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"fc5ebdc9d5858e0911582cdbd18503a35481f000","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.3.tgz","fileCount":328,"integrity":"sha512-XGFVSU8z8iy6FUGNKVCK7C/sOKTD7GpReEB1Rb0S7naAE8rt1zEJXlKCDscOh6vF0s5Vz2puWhXcOHjvg9AUdw==","signatures":[{"sig":"MEUCIQDbjZHdFaXCCE0ILfIxwkuSjfikakuOlo4dTF78ngZATQIgdvobOSYK88bhEmGwNTlHNA/wzkS8uee9QmIwYCFgxcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2700446},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"c219a2418a6dfe7d1810604a7fa538cd79b801a0","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"11.11.0","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"20.20.0","dependencies":{"glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.3_1775029019598_0.09497605255308739","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@anhnguyen02/catlas","version":"1.0.4","keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"author":{"name":"anhnv02"},"license":"MIT","_id":"@anhnguyen02/catlas@1.0.4","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"63130f000571c8894cf517af105dad2ac3195c69","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.4.tgz","fileCount":328,"integrity":"sha512-tGmp6cbIm+Pf8Q+NER3XXOXTwr/Y0jnz23vrm3fK5MW3oKu0nJjkqJC9J83eXBktdQDRU/B8JqEK3VbLxUHzcQ==","signatures":[{"sig":"MEYCIQC9p15T0BXOLEaAs75C3/Mr8Zo/m/x8XdwXNRfKAkaDZQIhAIwZie3s+ARlkM5d1PNYnZpaN0O1ayhJeDTeVNENOfuY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2692818},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"c219a2418a6dfe7d1810604a7fa538cd79b801a0","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"10.9.4","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"22.22.1","dependencies":{"glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.4_1775058228452_0.7851563910222379","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@anhnguyen02/catlas","version":"1.0.5","keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"author":{"name":"anhnv02"},"license":"SEE LICENSE IN LICENSE","_id":"@anhnguyen02/catlas@1.0.5","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"26f936871af37c35804ee9602d511fd3181a1d3e","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.5.tgz","fileCount":329,"integrity":"sha512-Jz3HIKEa1dLz06m3gLZfynGTLfV6dubZAKV+anwQ56KA1VRzbQJIk6BxLDAvVpLzsZLa5uacuR34sqqriy2Qow==","signatures":[{"sig":"MEUCIDL8G/ZFu5pnea6Xzf8ijto5Av7ZzXuPT0pykGU0LyHiAiEAkEQzGxzPCPIsh1TA29ISlCTfbFyL9WLCb3Ahh9TQzHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2694095},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"e9c6b126ac0e823ae26722a9879284d5a8525bf7","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"10.9.4","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"22.22.1","dependencies":{"glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.5_1775135396046_0.6552871993407121","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@anhnguyen02/catlas","version":"1.0.6","keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"author":{"name":"anhnv02"},"license":"SEE LICENSE IN LICENSE","_id":"@anhnguyen02/catlas@1.0.6","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"8304a41edf73867faff447a3a26394ba35770662","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.6.tgz","fileCount":329,"integrity":"sha512-l6ct1oMw7/n9r1KmaGOA+ohuWjuxstyHfdQHiS1B8ZGSn5kbdVKPW+mHsNrsUQfCIqjfRWAipinnrS65DVkChA==","signatures":[{"sig":"MEQCIDSmlEoCbdAmNS/EwbxPXqRyFwyliF1zxf4lWsWH4X3UAiAc1adcaUqFM2cwJgQBAVRvpzYckSYigl9TdZIxGjJwrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2696940},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"5993f272c52cedd13fd1a6ea4163679b1992341f","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"10.9.4","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"22.22.1","dependencies":{"zod":"^4.3.6","glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.6_1775576149767_0.7506922556993325","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@anhnguyen02/catlas","version":"1.0.7","keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"author":{"name":"anhnv02"},"license":"SEE LICENSE IN LICENSE","_id":"@anhnguyen02/catlas@1.0.7","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"c161f67e949cad7396504a64fed68e228b80c8ef","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.7.tgz","fileCount":329,"integrity":"sha512-2SW29wFuOJ+cjI+1sZbXqOF05i6bg9gh3j1Rqz7F+qngdPqLYJVN3qsl1GuV/Qz++EAUT3JjFJmt0dpabS8QrQ==","signatures":[{"sig":"MEYCIQCbLYsUVRgr0kW4qLejUpOu/QRlintVqjAB5/+TH1yABgIhAIt+HlteTRhuvD2qyYuLhs2SqQSYM4/HVQWNNPNO3/CL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2714112},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"88e5b3b5e5a33d1153cf4b04fa1ea5cf5a419c53","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"10.9.4","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"22.22.1","dependencies":{"zod":"^4.3.6","glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.7_1776010902085_0.6644704882086008","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@anhnguyen02/catlas","version":"1.0.8","keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"author":{"name":"anhnv02"},"license":"SEE LICENSE IN LICENSE","_id":"@anhnguyen02/catlas@1.0.8","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"homepage":"https://github.com/anhnv02/catlas#readme","bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"bin":{"catlas":"dist/cli/index.js"},"dist":{"shasum":"1322689f87e5e65600be191320c1e679a85fcc50","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.8.tgz","fileCount":353,"integrity":"sha512-WAM9IUCAfVbJKSwEIwFKxz02Vd9/3wwYKsGgP597F29/fqIfFFuNRhrjTD6JVv+X6tTJKktITLwbu9jU1V5B4g==","signatures":[{"sig":"MEUCICfbg8TPTsHi7xJkxlKFec8RvHi+wl1g8WBgWDJH9eyWAiEA3Klqgewz2VJeUdRBfgE2+kPxWNE4v2KC3ZUTjiWnqkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2817973},"main":"index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"7b16834cbe4817793a91783d745d76ce6a366c84","scripts":{"dev":"tsx watch src/cli/index.ts","test":"vitest run","build":"node --input-type=module -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true });\" && tsc && npm run obfuscate","prepare":"husky","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75","eval:baseline":"tsx src/cli/index.ts eval"},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"repository":{"url":"git+https://github.com/anhnv02/catlas.git","type":"git"},"_npmVersion":"11.12.1","description":"Graph-powered code intelligence for AI agents.","directories":{"doc":"docs","test":"tests"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"_nodeVersion":"25.9.0","dependencies":{"zod":"^4.3.6","glob":"^11.0.0","uuid":"^13.0.0","ignore":"^7.0.5","commander":"^12.0.0","lru-cache":"^11.0.0","mnemonist":"^0.39.0","graphology":"^0.25.4","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","tree-sitter-c":"0.23.2","tree-sitter-go":"0.23.0","@ladybugdb/core":"^0.15.2","tree-sitter-cpp":"^0.23.4","tree-sitter-php":"^0.23.0","graphology-utils":"^2.3.0","onnxruntime-node":"^1.24.0","tree-sitter-java":"^0.23.5","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","graphology-indices":"^0.17.0","tree-sitter-python":"0.23.4","tree-sitter-c-sharp":"^0.23.1","tree-sitter-javascript":"^0.23.0","tree-sitter-typescript":"^0.23.2","@huggingface/transformers":"^3.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","husky":"^9.1.7","vitest":"^4.0.18","prettier":"^3.8.1","typescript":"^5.4.5","@types/node":"^20.0.0","@types/uuid":"^10.0.0","lint-staged":"^16.4.0","@types/cli-progress":"^3.11.6","@vitest/coverage-v8":"^4.0.18","javascript-obfuscator":"^5.4.1"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-swift":"^0.6.0","tree-sitter-kotlin":"^0.3.8"},"_npmOperationalInternal":{"tmp":"tmp/catlas_1.0.8_1776444685560_0.7089990090975651","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@anhnguyen02/catlas","version":"1.0.9","description":"Graph-powered code intelligence for AI agents.","main":"index.js","type":"module","directories":{"doc":"docs","test":"tests"},"scripts":{"test":"vitest run","build":"node --input-type=module -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true });\" && tsc && npm run obfuscate","obfuscate":"javascript-obfuscator dist --output dist --compact true --self-defending false --string-array-encoding rc4 --string-array-rotate true --string-array-shuffle true --string-array-threshold 0.75","dev":"tsx watch src/cli/index.ts","eval:baseline":"tsx src/cli/index.ts eval","eval:query":"tsx tests/eval/query_relevance.ts","prepare":"husky"},"keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"author":{"name":"anhnv02"},"license":"SEE LICENSE IN LICENSE","repository":{"type":"git","url":"git+https://github.com/anhnv02/catlas.git"},"bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"homepage":"https://github.com/anhnv02/catlas#readme","engines":{"node":">=20.0.0"},"bin":{"catlas":"dist/cli/index.js"},"overrides":{"sharp":"npm:is-buffer@^2.0.5","@huggingface/transformers":{"onnxruntime-node":"$onnxruntime-node"}},"dependencies":{"@huggingface/transformers":"^3.0.0","@ladybugdb/core":"^0.15.2","@modelcontextprotocol/sdk":"^1.0.0","cli-progress":"^3.12.0","commander":"^12.0.0","glob":"^11.0.0","graphology":"^0.25.4","graphology-indices":"^0.17.0","graphology-utils":"^2.3.0","ignore":"^7.0.5","lru-cache":"^11.0.0","mnemonist":"^0.39.0","onnxruntime-node":"^1.24.0","pandemonium":"^2.4.0","path-scurry":"^2.0.2","tree-sitter":"^0.21.1","tree-sitter-c":"0.23.2","tree-sitter-c-sharp":"^0.23.1","tree-sitter-cpp":"^0.23.4","tree-sitter-go":"0.23.0","tree-sitter-java":"^0.23.5","tree-sitter-javascript":"^0.23.0","tree-sitter-php":"^0.23.0","tree-sitter-python":"0.23.4","tree-sitter-ruby":"^0.23.1","tree-sitter-rust":"0.23.1","tree-sitter-typescript":"^0.23.2","uuid":"^13.0.0","zod":"^4.3.6"},"optionalDependencies":{"tree-sitter-dart":"github:UserNobody14/tree-sitter-dart#80e23c07b64494f7e21090bb3450223ef0b192f4","tree-sitter-kotlin":"^0.3.8","tree-sitter-swift":"^0.6.0"},"devDependencies":{"@types/cli-progress":"^3.11.6","@types/node":"^20.0.0","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^4.0.18","husky":"^9.1.7","javascript-obfuscator":"^5.4.1","lint-staged":"^16.4.0","prettier":"^3.8.1","tsx":"^4.19.0","typescript":"^5.4.5","vitest":"^4.0.18"},"lint-staged":{"*.{ts,js,json,md}":["prettier --write"]},"gitHead":"094e49748bb5770405bb05a25ed6bafa3618e9e1","_id":"@anhnguyen02/catlas@1.0.9","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-UvDFjJdZ+cOCkQ4Y3vwu6qjOcisygWc4R8SAQ4aBh9hZOgZXq34kB4XvL3lbuzAeu1xLSToXHGIk8gmvrVaFjw==","shasum":"21aa1756d12209d257409c68c0110d21c95a7244","tarball":"https://registry.npmjs.org/@anhnguyen02/catlas/-/catlas-1.0.9.tgz","fileCount":367,"unpackedSize":3008710,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD6RRV6z9lu1Qd9xxYIPdcrUI+EdvpoxvdlPZNhT0uRKQIhAKsiDAPGkuCzlzcEvdlSTaRRlVV795ZcfaHCxAjudIW+"}]},"_npmUser":{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"},"maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/catlas_1.0.9_1776918868751_0.28027570918661837"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-01T03:10:17.734Z","modified":"2026-04-23T04:34:29.108Z","0.1.2":"2026-03-24T15:53:34.434Z","1.0.0":"2026-04-01T03:10:17.989Z","1.0.1":"2026-04-01T03:39:23.283Z","1.0.2":"2026-04-01T03:44:48.647Z","1.0.3":"2026-04-01T07:36:59.792Z","1.0.4":"2026-04-01T15:43:48.662Z","1.0.5":"2026-04-02T13:09:56.252Z","1.0.6":"2026-04-07T15:35:50.008Z","1.0.7":"2026-04-12T16:21:42.328Z","1.0.8":"2026-04-17T16:51:25.740Z","1.0.9":"2026-04-23T04:34:29.008Z"},"bugs":{"url":"https://github.com/anhnv02/catlas/issues"},"author":{"name":"anhnv02"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/anhnv02/catlas#readme","keywords":["mcp","model-context-protocol","ai-agents","code-intelligence","code-analysis","knowledge-graph","code-search","static-analysis","dependency-graph","tree-sitter","refactoring","developer-tools","codex","cursor","claude"],"repository":{"type":"git","url":"git+https://github.com/anhnv02/catlas.git"},"description":"Graph-powered code intelligence for AI agents.","maintainers":[{"name":"anhnguyen02","email":"anhnguyen02394@gmail.com"}],"readme":"# 🐱 Catlas\n\n**Graph-powered code intelligence for AI agents.**\n\nCatlas is a high-performance code analysis engine that transforms complex repositories into structured knowledge graphs. Built for the era of agentic coding, it enables AI agents to understand architecture, reason about dependencies, and navigate codebases with expert-level precision.\n\n---\n\n## 🚀 Key Features\n\n- **Graph-Based Ingestion**: Maps symbols (classes, functions, methods) and their relationships (calls, imports, inheritance) using high-precision Tree-sitter parsers.\n- **Community Detection**: Implements the **Leiden Algorithm** to detect functional clusters, helping agents understand how different modules work together beyond directory structures.\n- **Hybrid Search**: Combines BM25 keyword search with vector embeddings for deep semantic retrieval of code concepts.\n- **Intelligence Synthesis**: Automatically generates AI context files and specialized \"skills\" for agents like Claude, Gemini, and GPT.\n- **Multi-Language Support**: Professional-grade parsing for TypeScript, JavaScript, Python, Go, Rust, Java, C/C++, Ruby, and more.\n\n---\n\n## 📦 Installation\n\nInstall globally via npm:\n\n```bash\nnpm install -g @anhnguyen02/catlas\n```\n\nOr run directly using npx:\n\n```bash\nnpx @anhnguyen02/catlas analyze\n```\n\n---\n\n## 🛠 CLI Reference\n\n| Command       | Description                                                      |\n| ------------- | ---------------------------------------------------------------- |\n| `analyze`     | Initialize or rebuild the knowledge graph for a repository.      |\n| `list`        | Enumerate all registered repositories and their stats.           |\n| `status`      | Retrieve index health for the current repository context.        |\n| `query`       | Search execution flows via concept-based semantic lookup.        |\n| `context`     | 360-degree symbol inspection: call graph and flow participation. |\n| `impact`      | Blast radius analysis: transitively map structural dependants.   |\n| `eval`        | Run the baseline eval suite for core workflows.                  |\n| `cypher`      | Execute raw Cypher against the underlying knowledge graph.       |\n| `ui`          | Start local web UI dashboard for code intelligence overview.     |\n| `eval-server` | Start persistence daemon for low-latency tool access.            |\n| `clean`       | Purge Catlas index and registry state.                           |\n\n### 🧩 MCP Tools Reference\n\nWhen connected via Model Context Protocol, Catlas exposes these tools to AI agents:\n\n| Tool             | Purpose                                                         |\n| ---------------- | --------------------------------------------------------------- |\n| `list_repos`     | List all indexed repositories available for analysis.           |\n| `query`          | Concept-based semantic search for execution flows.              |\n| `context`        | 360-degree view of a single code symbol (callers, callees).     |\n| `impact`         | Analyze the blast radius of changing a code symbol.             |\n| `detect_changes` | Trace the impact of uncommitted git changes on execution flows. |\n| `rename`         | Multi-file coordinated symbol rename via the knowledge graph.   |\n| `route_map`      | Map API routes to frontend components and backend handlers.     |\n| `tool_map`       | Inspect MCP/RPC tool definitions and their handlers.            |\n| `shape_check`    | Validate API response shapes against their consumers.           |\n| `api_impact`     | Risk assessment for changing an API endpoint.                   |\n\n### MCP Output Contract\n\nCatlas also exposes `catlas://contract`, a shared semantics reference for output fields across MCP-facing tools.\n\n- `confidence`: confidence in the included item or conclusion, not completeness\n- `partial`: result is incomplete or truncated\n- `ambiguous`: multiple plausible matches remain\n- `inferred`: result was synthesized from graph or heuristic evidence\n- `evidence_source`: `direct`, `graph`, `semantic`, `heuristic`, or `mixed`\n\n---\n\n## 🏗 How it Works\n\nCatlas operates in three main phases:\n\n1. **Ingestion**: Parallel parsing of source files into an Abstract Syntax Tree (AST) and extraction of structural symbols.\n2. **Structural Mapping**: Building a multi-relational graph of how code interacts across file boundaries.\n3. **Intelligence Synthesis**: Running community detection to identify \"functional heartbeats\" of the codebase and generating metadata for AI consumption.\n\n---\n\n## 📜 License\n\nDistributed under a **Non-Commercial License**. See `LICENSE` for more information.\n\n---\n\nBuilt with ❤️ by [anhnguyen](https://github.com/anhnv02).\n","readmeFilename":"README.md"}