{"_id":"@specmind/core","_rev":"26-9bce8cd6a3606e0261471af023a5355c","name":"@specmind/core","dist-tags":{"latest":"0.5.1"},"versions":{"0.1.0":{"name":"@specmind/core","version":"0.1.0","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.0","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"f1d8ae51264f23c665e1e7b25a8987e97e951b16","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.0.tgz","fileCount":78,"integrity":"sha512-oY85V7xCnAi45zU6da7Uym/w4d75Zsg+w/Apc1GSP7lqdO0h6+nAI4QqNwzsgd+xXFNdJKrTmGbGC8DelPwfyw==","signatures":[{"sig":"MEUCIEg2IOfHe7o+ljv8t22fbrbg/kt8OeR0iAKIqMvZeuerAiEAlUfGdVQtiB8BxOoRwWazz6uAJIJUGV0ZRIYeQhpKH8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292774},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7188868eb22adee9cf6ff9024bf6ec7b0b6e4600","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"workspace:*","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.0_1760928353964_0.6803068189850634","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@specmind/core","version":"0.1.1","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.1","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"dbda7b55b45e6660df62b4d0dbf32d9fe5f7fcde","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.1.tgz","fileCount":78,"integrity":"sha512-DCvpOBX1MQ3qp3YVA4/8E3KObjTf+0t3s6Ufh8llJB8Ntrp4t1SXTIX55OMNy3nZjQ17oL24XsKFW20NO2V2og==","signatures":[{"sig":"MEUCIQCODtMe5e59N7m2UTP+7Zq5iq5fxgpzUfH/YWyOWXCrVgIgeGAMyH3EUTRBc5bfReEFlAsaL2G/oPV5iKXKXdxlBuA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292823},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c73d02eda1f7235bb3558862b8e3376265be1997","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"workspace:*","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.1_1760929943703_0.8461582317222631","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@specmind/core","version":"0.1.2","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.2","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"009589dcb43306db3e2fa0987c6e63c927462ed4","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.2.tgz","fileCount":78,"integrity":"sha512-kcI9JcadXjBGAhdBEkIfPcHjq5n3zXCog/jeflbq0Cp+ilqCqNOOdkDXcL4UEIt29VJ3PNtlGy8bTk3Hj/SYYQ==","signatures":[{"sig":"MEUCIQDv2qOmzqJIY53B97BxSak+xNv1Jxyw7adV522tpoGA2wIgHPM68Jq+dZh6V23ROZM8YsYVxEm66Tp6zz2gzytZKDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292818},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c73d02eda1f7235bb3558862b8e3376265be1997","scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.2","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.2_1760930640156_0.294587653809532","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@specmind/core","version":"0.1.3","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.3","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"b7a269db6ee52d269e10a19198a21e7b22b437a8","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.3.tgz","fileCount":79,"integrity":"sha512-E5i5JAccgbg3tVE1fv9qEA78Hq9zy2O/YJpCMkfgcwJZlGFEtOuC6QrU/FrhuikEZ4RbApoq6baV5PeRiEkoMA==","signatures":[{"sig":"MEUCIAwmRwnqRgjPQb9WD3okyQ7CNXgz3iiNPY4O/6B65waJAiEAoThlmvxOlyeSzZR9ZSr195X7WYCbsp2k7V4vCDX56CQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293882},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/private/var/folders/sz/bqbyttnn06z3kq4mxk8z8qwc0000gn/T/f8f0a63842aaa75caee279d77a81a22d/specmind-core-0.1.3.tgz","_integrity":"sha512-E5i5JAccgbg3tVE1fv9qEA78Hq9zy2O/YJpCMkfgcwJZlGFEtOuC6QrU/FrhuikEZ4RbApoq6baV5PeRiEkoMA==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.3","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.3_1760987023353_0.8452293019751218","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@specmind/core","version":"0.1.4","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.4","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"ed920d15309a58d3c602863b107b605e3c2bea64","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.4.tgz","fileCount":67,"integrity":"sha512-F85Ng9IQPyVtHICnAn2who8rjgmJOPIaxQ4V98IvljVU+i6UQvjPTjlAbcIZB1yjMzdbPlxgY5q0Go3IB6KNvg==","signatures":[{"sig":"MEYCIQDVY86cVdbPcDWU8pCCRnIweEsjtJu4rekrooDbhVV9sAIhALh1iklOu4zxg/s6jGNap4kH+cJ9mmvL7102n48F97UP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268113},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/e31c40a3165a607cf816e8b10c977bb3/specmind-core-0.1.4.tgz","_integrity":"sha512-F85Ng9IQPyVtHICnAn2who8rjgmJOPIaxQ4V98IvljVU+i6UQvjPTjlAbcIZB1yjMzdbPlxgY5q0Go3IB6KNvg==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.4","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.4_1761021093913_0.971061366084091","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@specmind/core","version":"0.1.5","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.5","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"0bd0da0e88c0d1861df64296f5cd54d8a006352c","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.5.tgz","fileCount":67,"integrity":"sha512-YdwuIVDIXj8lYasdKDUlyGpS88V7X+aUtBeH3uBQrwru1EdEw4Gg0+HjQDVTA+nNKYRO7E2ce7TuF4QhOt/Jqg==","signatures":[{"sig":"MEUCIQDxFL4hwW3tRhezCFTfDWl4is/0yKcbZqzFTYxg4pBs+wIgbHFoNhUMfR1oHRxAZgDUtbrDOZbvpOjRuFjYvX/gGyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268113},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/1e031dad217878d7f3a689f0d399fc16/specmind-core-0.1.5.tgz","_integrity":"sha512-YdwuIVDIXj8lYasdKDUlyGpS88V7X+aUtBeH3uBQrwru1EdEw4Gg0+HjQDVTA+nNKYRO7E2ce7TuF4QhOt/Jqg==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.5","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.5_1761090299394_0.2842124034789366","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@specmind/core","version":"0.1.6","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.6","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"cb74d90c09a829858dcf5f2bc69aec16bcde5a63","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.6.tgz","fileCount":67,"integrity":"sha512-BGqGEkbZSs4HskiVcDMxJvn0oLoWm5MrF0fDg5YBeomsuF/vSq4xmMFsA4kDJeLNct7tigOs/n2BObjN8C0FqQ==","signatures":[{"sig":"MEUCIAZ8d+ClY6MrUAUmpbMViKvWotHXRPSoeVRW/Lbf1BFiAiEAgbSs6UtD9VwOr9R8KA3MMd/S0p6PMCsmJn+0f3CJa8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268113},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.6.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/271bdad921377387d80351ccb2cfaaab/specmind-core-0.1.6.tgz","_integrity":"sha512-BGqGEkbZSs4HskiVcDMxJvn0oLoWm5MrF0fDg5YBeomsuF/vSq4xmMFsA4kDJeLNct7tigOs/n2BObjN8C0FqQ==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.6","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.6_1761090646199_0.21991798873307777","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@specmind/core","version":"0.1.7","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.7","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"306202842464780212f347e32d46680ae11b901a","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.7.tgz","fileCount":67,"integrity":"sha512-1HABqV6fmMMLp93hmld3XU5EzmurVr6adJ7a/2tYM7K+KpvhD8SLsivqT50f4PpX8HLfw3rE8o9j7aMMfW/HLw==","signatures":[{"sig":"MEQCIAbw5SLhM6UjEfbeFqmOdN0q66Hsn5GR5AjLGmIhFPaRAiA6WrK1Y4MOHU+KmyQkLBelV7xIRZmH5NTdPjFdBgzfvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268113},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.7.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/c7b7ce048aa2a9abd875d91a26d183c1/specmind-core-0.1.7.tgz","_integrity":"sha512-1HABqV6fmMMLp93hmld3XU5EzmurVr6adJ7a/2tYM7K+KpvhD8SLsivqT50f4PpX8HLfw3rE8o9j7aMMfW/HLw==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.7","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.7_1761091156148_0.24829708914178683","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@specmind/core","version":"0.1.8","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.8","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"44552435682e2225cda11c5db4befb2f22333089","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.8.tgz","fileCount":67,"integrity":"sha512-FPFTx2zEzbumGraWFssbjinOnsof2+Axv76TdcNKkJcRmI/OtgnpLRYj78sCY6FChRNL+/xm3p3S8veyPbB3Ng==","signatures":[{"sig":"MEUCIHSJnu3MHoja5UKYJ2ZU+9mE3RqtlLfrbNdwu3dOobFOAiEAuKbttc946gu72G07E0TqViX2qtU1RUs6Pf0cX805M4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268113},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.8.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/53511ee2904140ba6c1f9d106bf7364a/specmind-core-0.1.8.tgz","_integrity":"sha512-FPFTx2zEzbumGraWFssbjinOnsof2+Axv76TdcNKkJcRmI/OtgnpLRYj78sCY6FChRNL+/xm3p3S8veyPbB3Ng==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.8","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.8_1761092470374_0.8128576329199679","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@specmind/core","version":"0.1.9","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.9","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"be7e3a675750381c45e6ffa3e68f070607f75a41","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.9.tgz","fileCount":67,"integrity":"sha512-2HK5L9xJZc9dVGTMmuWvxTMVvi7Xy15BQd/E+OYK7p4/QLDPvmaA9/FsLkGtynCcBdDFx8RZ3ScZd8SShM/i2Q==","signatures":[{"sig":"MEYCIQDGrp3/FxcbO/GxVopFCjvq5eK53vpsX+ekYQB38MLLJgIhAKm9h1EGSa6oBj7Gv7mrmuBmJ9Axj94OXThCYUXifrDK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268113},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.9.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/3096eb2c196daa885f20280d34cb9258/specmind-core-0.1.9.tgz","_integrity":"sha512-2HK5L9xJZc9dVGTMmuWvxTMVvi7Xy15BQd/E+OYK7p4/QLDPvmaA9/FsLkGtynCcBdDFx8RZ3ScZd8SShM/i2Q==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.9","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.9_1761242412079_0.3294250433684278","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@specmind/core","version":"0.1.10","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.10","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"905d3dd76c8dec40e1305e4b1b3cd2eee05d65dc","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.10.tgz","fileCount":67,"integrity":"sha512-AdI/Uo/3uldToOjMdsMBG9kkpaUFzHaDkdn4dPX+3bI5dWlaWIHYNZVtcpvF9WgLOH5ngJk2vNybptgGolt/Jg==","signatures":[{"sig":"MEYCIQDEXKnEGeqa3Q1CMkheePQ0yqr6iNmWTp75Nc4rlszTwgIhAM1I05XoQoBERbT2LjKn+mpCXKj/Oj1/T5TNGat9uHcw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268115},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.10.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/b0ca846be0655300575354cd0878b1e5/specmind-core-0.1.10.tgz","_integrity":"sha512-AdI/Uo/3uldToOjMdsMBG9kkpaUFzHaDkdn4dPX+3bI5dWlaWIHYNZVtcpvF9WgLOH5ngJk2vNybptgGolt/Jg==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.10","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.10_1761260039450_0.33227242292238035","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@specmind/core","version":"0.1.11","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.1.11","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"c5cbc2e0184c2a8c31f3d704d543affe59e8e48f","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.1.11.tgz","fileCount":67,"integrity":"sha512-eqaMIOHbD+Vx+fTIpu1GFz9Mi/iAkh8ZuoR3t6LE6++pAiAmVomIoKpX+XbE+RkuComxGMo4B8ue2U7qFRUq9Q==","signatures":[{"sig":"MEYCIQCvRyZ/UXWJRaFXo1slUZ7Cn0DbWe/ESCKTgQmXpgfRHAIhALujBbffiYM/beo0JU1eFKZ690gssSZizZRIZ0+Cogze","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268115},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.1.11.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/081ac2b3d2c67bb13e9bd733f83450fe/specmind-core-0.1.11.tgz","_integrity":"sha512-eqaMIOHbD+Vx+fTIpu1GFz9Mi/iAkh8ZuoR3t6LE6++pAiAmVomIoKpX+XbE+RkuComxGMo4B8ue2U7qFRUq9Q==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","tree-sitter":"^0.21.1","@specmind/format":"^0.1.11","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.11_1761262304359_0.1800157434424159","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@specmind/core","version":"0.2.0","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.2.0","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"367c025fe0e2ba43c94d1adca9413e605fddfc4a","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.2.0.tgz","fileCount":87,"integrity":"sha512-cuAgMpXSBSGBXxFDzvhn81QHnOGy4UQFiHeotbLLUyZQQ99uCIQRWZ8TiPEE6EfFJ8hiQCJyHGXfejVYA1cozA==","signatures":[{"sig":"MEUCIQDsjbCEHcsl+zDxKgB6q7P7ZEFW9SXy/JbTaJcfh7TjBgIgSPr2liHeod3EA8ewa93Ep9V2oIp5BewJ128m+Uk5F+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567986},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/ac56461ea53323f68a3c25fe9a752adc/specmind-core-0.2.0.tgz","_integrity":"sha512-cuAgMpXSBSGBXxFDzvhn81QHnOGy4UQFiHeotbLLUyZQQ99uCIQRWZ8TiPEE6EfFJ8hiQCJyHGXfejVYA1cozA==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","tree-sitter":"^0.21.1","@specmind/format":"^0.2.0","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.2.0_1761336205019_0.3014236165876485","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@specmind/core","version":"0.2.1","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.2.1","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"a6c5b3a5fa8706d1b268912503a1382b2ae1a4b1","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.2.1.tgz","fileCount":87,"integrity":"sha512-k6Dm9zx9J+B7KO95Q2XM7Li9/rk6y2F7AuppSIrMHffdJBwseMsddgg6GiSQLzWxyxQ7M6uQFpmHDb5o/26O8Q==","signatures":[{"sig":"MEQCIFP8J3rliX57eJlg91CSiB7PmT/ppu5Lj3ypqx1FufRhAiBJfTYmK4c3sjZvmAxHgAWtigDMJuoMeGZCH42hilolRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":576653},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.2.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/b18f79b3f8b7b02878616e54aaedbc19/specmind-core-0.2.1.tgz","_integrity":"sha512-k6Dm9zx9J+B7KO95Q2XM7Li9/rk6y2F7AuppSIrMHffdJBwseMsddgg6GiSQLzWxyxQ7M6uQFpmHDb5o/26O8Q==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","tree-sitter":"^0.21.1","@specmind/format":"^0.2.1","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.2.1_1761351018468_0.39605813471995854","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@specmind/core","version":"0.2.2","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.2.2","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"1c0df7e8830a3afb5b778a363b0520a935c19e3e","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.2.2.tgz","fileCount":87,"integrity":"sha512-fzlh8j9E7RFaHwBGPyREODt0vzIMHwDvUf/lcCE4UnrKyGEVigGVEcenRJB8ndIk+4N0eo/udoPHch3CPngA4A==","signatures":[{"sig":"MEUCID2n2PYYpXnWofYXXWHHO3iLS93Ic4P0MGD0ny2/kU5DAiEAiL3W7KAt7tt4etjT8wWyHsoeI3hFgRlHxGbqnRHeadg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":596328},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.2.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/e4dc95ba1015b4b2bc4210b8d6019f4a/specmind-core-0.2.2.tgz","_integrity":"sha512-fzlh8j9E7RFaHwBGPyREODt0vzIMHwDvUf/lcCE4UnrKyGEVigGVEcenRJB8ndIk+4N0eo/udoPHch3CPngA4A==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","tree-sitter":"^0.21.1","@specmind/format":"^0.2.2","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.2.2_1761354363894_0.7637771569986957","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@specmind/core","version":"0.3.0","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.3.0","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"2130a9c7367b392f2e6665568fc9990bf9fc42ec","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.3.0.tgz","fileCount":87,"integrity":"sha512-AKeIcjIjIiZZhFtUER8lIV6PwAwBmuQfUZSSSeW93fg5RA2T2a3Gg76gSzXarQXgvv8J3h/hW0svvCw44O8ADA==","signatures":[{"sig":"MEYCIQDK+NigBACwkbKUNt2PMwawGq9/ECOwyJVIYmtKB3zSjQIhAPHAMAPoJK4jCcrwbEdKtNQqvflIgUnED9wYHrcJ9uji","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":596071},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.3.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/33b6b03c90db1e184297292a09d5697b/specmind-core-0.3.0.tgz","_integrity":"sha512-AKeIcjIjIiZZhFtUER8lIV6PwAwBmuQfUZSSSeW93fg5RA2T2a3Gg76gSzXarQXgvv8J3h/hW0svvCw44O8ADA==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","tree-sitter":"^0.21.1","@specmind/format":"^0.3.0","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.0_1761367123618_0.5871675635945357","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@specmind/core","version":"0.3.1","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.3.1","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"cd47944f7f716adf3ee89ff4321ba02c37ac64b6","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.3.1.tgz","fileCount":92,"integrity":"sha512-rUk6dl5IEEoy4H+CgpfAodcgwdBT3MJmwlVGCmqCciY+K072WnPyPpfuYISIJEt0B2e9iCIcOx/I7MAa2u91dg==","signatures":[{"sig":"MEUCIHGrIJH8kWY4csy095K4Y3pzgK8Oj+xqyJy8t4h/4ALoAiEA2fuoQYrO2hPIERQ5+NcNcxBYpCIv4uykAmNlWAe60A0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632341},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.3.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/74ae453330cd4478230441d8804c77e5/specmind-core-0.3.1.tgz","_integrity":"sha512-rUk6dl5IEEoy4H+CgpfAodcgwdBT3MJmwlVGCmqCciY+K072WnPyPpfuYISIJEt0B2e9iCIcOx/I7MAa2u91dg==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","tree-sitter":"^0.21.1","@specmind/format":"^0.3.1","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.1_1761522311869_0.7922935360128773","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@specmind/core","version":"0.3.2","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.3.2","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"8207f90dc13ad7e5495a236ed1fa7ca5cd9bd09b","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.3.2.tgz","fileCount":92,"integrity":"sha512-dAVQ8qonT/zK3ItE5y0CpgCmruJzdLpZ+ceE2fXplJmofMaI9GmhKdNX7cfgOo25pzyuUHXV2HRUGUGh3vCSpQ==","signatures":[{"sig":"MEQCICr4tAhqnceeFx9eMTtjou1R2SIkpQmU0PDUNDe5b8YgAiALeBUQW7TOfVXdQGQf7F8mJFTIhv75lM/58PgmEz1Wrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632341},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.3.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/6360f86f024745991c6ec88edc2ca95d/specmind-core-0.3.2.tgz","_integrity":"sha512-dAVQ8qonT/zK3ItE5y0CpgCmruJzdLpZ+ceE2fXplJmofMaI9GmhKdNX7cfgOo25pzyuUHXV2HRUGUGh3vCSpQ==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","tree-sitter":"^0.21.1","@specmind/format":"^0.3.2","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.2_1761536558148_0.9555219189998798","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@specmind/core","version":"0.3.3","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.3.3","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"c890a32ae1bd66de1f719b8625bb0bea73a42c5f","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.3.3.tgz","fileCount":92,"integrity":"sha512-wrKfnoGHx5YiWHHtUq/diE68jgpmKe605GVbNbAhqDfK0KSNdJG8PcujMvJy0iqf/MmbDBK+OxID94zz59YKlA==","signatures":[{"sig":"MEUCIESWu8W6tykD0WG3cX/Er1/f5J/1T7Z3wrbHyUwaYpwOAiEA/n0bH06Y5T7hFDWZtPZj94F31sjtP2BD0z46HaY6Bv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632341},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.3.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/3242f144c45a3688b0db73aa5ce56e3c/specmind-core-0.3.3.tgz","_integrity":"sha512-wrKfnoGHx5YiWHHtUq/diE68jgpmKe605GVbNbAhqDfK0KSNdJG8PcujMvJy0iqf/MmbDBK+OxID94zz59YKlA==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","tree-sitter":"^0.21.1","@specmind/format":"^0.3.3","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.3_1761538065130_0.1966681280522069","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@specmind/core","version":"0.3.4","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.3.4","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"64b81d6cb36938c7aa951c595e46db999867dd8e","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.3.4.tgz","fileCount":92,"integrity":"sha512-4MAMYgvr9Kftea+WsPDLU4bMMmXDMC60UjXwHZ+pSM9FZhMHP/yBED4//ywAdck18lOCVbO3TzHRgi6fhOZRgw==","signatures":[{"sig":"MEYCIQCOtuyUa6ms0hA43bKIiAy8C4XwdFr1lV/67Se45dV1JAIhAMb7tHP0/yueLnwUpcIU6fEw58+xzkuEQ6R/RjWyTgEB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633027},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.3.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/1111b91cc5941aec3e603af63c74f559/specmind-core-0.3.4.tgz","_integrity":"sha512-4MAMYgvr9Kftea+WsPDLU4bMMmXDMC60UjXwHZ+pSM9FZhMHP/yBED4//ywAdck18lOCVbO3TzHRgi6fhOZRgw==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","js-tiktoken":"^1.0.21","tree-sitter":"^0.21.1","@specmind/format":"^0.3.4","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.4_1761713343429_0.8675617071394466","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@specmind/core","version":"0.3.5","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.3.5","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"5d6b46431bd0ad09a880ab2c72283acb43f1f2ac","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.3.5.tgz","fileCount":92,"integrity":"sha512-PcT7Ez5xQ9oPzOuLXKpZf/9uAYkYY+f3bNs7BHp8/CV/sPa9iZ3Hi/BXW8pQAJIFiA8QH2KxDOWqtS7Vo77ggg==","signatures":[{"sig":"MEYCIQC3JpC035AUCDy56wkqB5qFY/Q+Fvy58xGxUnQSyPGf4AIhAOEr5OivIhDXeQRsAEQLTpZJkcATONyNLJApnr9kvlPc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633027},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.3.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/c7f2f2c5c2a04de4ca99b2e92f862a7e/specmind-core-0.3.5.tgz","_integrity":"sha512-PcT7Ez5xQ9oPzOuLXKpZf/9uAYkYY+f3bNs7BHp8/CV/sPa9iZ3Hi/BXW8pQAJIFiA8QH2KxDOWqtS7Vo77ggg==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","js-tiktoken":"^1.0.21","tree-sitter":"^0.21.1","@specmind/format":"^0.3.5","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.5_1762066155553_0.1537407972924374","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@specmind/core","version":"0.4.0","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.4.0","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"b64bb296756964819de2488382c249f86fe1f9c0","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.4.0.tgz","fileCount":108,"integrity":"sha512-yH1/URBetCTxG1z0/GXzu91Z9STy3jUCa/Oi252q8ZGXaU2oEEWQkJWlz8Yg9tM93uJOdONlVsEzIx6QLXLKvQ==","signatures":[{"sig":"MEYCIQCLQo5rYTgWp4tZHaKhzuLQKSpZux0UYWpM7I2FjHGYoAIhALrzKdUm8nMileuzGy/62F7GZWskSkLrA1dWRlnckbMh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":710219},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.4.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/53b69495769cfc76e4f16c09572a9e76/specmind-core-0.4.0.tgz","_integrity":"sha512-yH1/URBetCTxG1z0/GXzu91Z9STy3jUCa/Oi252q8ZGXaU2oEEWQkJWlz8Yg9tM93uJOdONlVsEzIx6QLXLKvQ==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","js-tiktoken":"^1.0.21","tree-sitter":"^0.21.1","@specmind/format":"^0.4.0","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.4.0_1762318398546_0.07781255165287448","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@specmind/core","version":"0.4.1","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.4.1","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"0f4fe271016317dd86004c36af11f654b2f53739","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.4.1.tgz","fileCount":108,"integrity":"sha512-OTdlD+YmyxHLY2BeumOfuMyYx5NthY80HQ4bjJEa+qxBwC1697nrLLqO0nRZmFdQVJZPBgn0fJq2VPcJ3i1gNQ==","signatures":[{"sig":"MEYCIQCiOgeOJuSOBNnVAX0ZyLLKVuQPpQk7IiZoX+7LV9zmIgIhANiENkn34qko9ynYJkyC/eNgVwQaGkbcjoARWr2TH4x7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714298},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.4.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/926b841c1fe5d02d162b5c39c5d5e5f1/specmind-core-0.4.1.tgz","_integrity":"sha512-OTdlD+YmyxHLY2BeumOfuMyYx5NthY80HQ4bjJEa+qxBwC1697nrLLqO0nRZmFdQVJZPBgn0fJq2VPcJ3i1gNQ==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","js-tiktoken":"^1.0.21","tree-sitter":"^0.21.1","@specmind/format":"^0.4.1","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.4.1_1762365164479_0.9231209826975058","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@specmind/core","version":"0.4.2","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.4.2","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"b7d7df88b75c79240c2db212af9e8d69828bfa5e","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.4.2.tgz","fileCount":108,"integrity":"sha512-1ZoTEscEXXMCanxCoZQNZks97WPmg/f/y2jzHl2w4CfLWNIs65xVy9f8U74PU0rsnLOC7Vnystg9V8g/BKAZWA==","signatures":[{"sig":"MEUCIQDLkNl9ZTah1KzKU1ZDyHH9/XlVUgcOeaxelzerWvSTBAIgNq/p1eUNmMn1s6kEuRMM9Xow8BEwlMuy+M5VozZ1Oic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714298},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.4.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/c5bd998ffc55d8f16146e014e048bc16/specmind-core-0.4.2.tgz","_integrity":"sha512-1ZoTEscEXXMCanxCoZQNZks97WPmg/f/y2jzHl2w4CfLWNIs65xVy9f8U74PU0rsnLOC7Vnystg9V8g/BKAZWA==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","js-tiktoken":"^1.0.21","tree-sitter":"^0.21.1","@specmind/format":"^0.4.2","tree-sitter-python":"^0.21.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.4.2_1762407397517_0.6683353831757533","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@specmind/core","version":"0.5.0","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python","csharp"],"author":{"name":"SpecMind"},"license":"MIT","_id":"@specmind/core@0.5.0","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"homepage":"https://github.com/specmind/specmind#readme","bugs":{"url":"https://github.com/specmind/specmind/issues"},"dist":{"shasum":"d1921806b92a1e2d6052a49dd0d61ecf3080c316","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.5.0.tgz","fileCount":120,"integrity":"sha512-HEqq9Rvhd1049jqTcrFevRRtWiCsKFriMB5cr06b1e11lUJtqDfmXWrnD7/zMFYzbbgFiEzZyaczT2A0YE3xdA==","signatures":[{"sig":"MEQCIEvrQeR8bL2v/MS2YSMxe/zNNz2Yac5G4K8T4dZLZI/EAiAK0Kv4u7QtKQg/AbULDcW2q0YkM6GBcxAqF8ba73QVvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":792719},"main":"./dist/index.js","type":"module","_from":"file:specmind-core-0.5.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit","test":"vitest","build":"tsc && pnpm copy-patterns","clean":"rm -rf dist","watch":"tsc --watch","test:run":"vitest run","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"_resolved":"/tmp/5af2c5d1f74314307b9cef1c73393e4f/specmind-core-0.5.0.tgz","_integrity":"sha512-HEqq9Rvhd1049jqTcrFevRRtWiCsKFriMB5cr06b1e11lUJtqDfmXWrnD7/zMFYzbbgFiEzZyaczT2A0YE3xdA==","repository":{"url":"git+https://github.com/specmind/specmind.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.23.8","minimatch":"^10.0.3","js-tiktoken":"^1.0.21","tree-sitter":"^0.21.1","@specmind/format":"^0.5.0","tree-sitter-python":"^0.21.0","tree-sitter-c-sharp":"^0.21.3","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"^5.6.3","@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.5.0_1762747437734_0.3322480288565286","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@specmind/core","version":"0.5.1","description":"Core code analysis and architecture generation for SpecMind using tree-sitter","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python","csharp"],"author":{"name":"SpecMind"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/specmind/specmind.git","directory":"packages/core"},"dependencies":{"js-tiktoken":"^1.0.21","minimatch":"^10.0.3","tree-sitter":"^0.21.1","tree-sitter-c-sharp":"^0.21.3","tree-sitter-javascript":"^0.21.4","tree-sitter-python":"^0.21.0","tree-sitter-typescript":"^0.21.2","zod":"^3.23.8","@specmind/format":"^0.5.1"},"devDependencies":{"@types/node":"^20.0.0","@vitest/coverage-v8":"^3.2.4","typescript":"^5.6.3","vitest":"^3.2.4"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc && pnpm copy-patterns","copy-patterns":"mkdir -p dist/analyzer/patterns && cp src/analyzer/patterns/*.json dist/analyzer/patterns/","watch":"tsc --watch","test":"vitest","test:run":"vitest run","lint":"tsc --noEmit","clean":"rm -rf dist","validate-diagrams":"node scripts/validate-diagrams.mjs"},"_id":"@specmind/core@0.5.1","bugs":{"url":"https://github.com/specmind/specmind/issues"},"homepage":"https://github.com/specmind/specmind#readme","_integrity":"sha512-pW0/Zu+zDWWl7vDgIHMcWVgO6bvJjadMIKLYQ/zkSO94yLcw3ShMt9fq2UDp37+Q4kFqQ/kVkIT0alaytlziUw==","_resolved":"/tmp/cbc47de0f79a3bf27a4879888755bff4/specmind-core-0.5.1.tgz","_from":"file:specmind-core-0.5.1.tgz","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-pW0/Zu+zDWWl7vDgIHMcWVgO6bvJjadMIKLYQ/zkSO94yLcw3ShMt9fq2UDp37+Q4kFqQ/kVkIT0alaytlziUw==","shasum":"2c64574b9d2cf793a053319caa00ff99ff98ec95","tarball":"https://registry.npmjs.org/@specmind/core/-/core-0.5.1.tgz","fileCount":120,"unpackedSize":792719,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCZydzzW3ImbPg/OD1l5LSrkeyi9RWpKknPR5KpTqCNAgIgJ59b+6GQQYWuydkPlm2NbEv/OoJFnTJfOoblLeC58s8="}]},"_npmUser":{"name":"mushgev","email":"gmusho.net@gmail.com"},"directories":{},"maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.5.1_1763005012659_0.017178871464523127"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-20T02:45:53.880Z","modified":"2025-11-13T03:36:53.055Z","0.1.0":"2025-10-20T02:45:54.161Z","0.1.1":"2025-10-20T03:12:23.879Z","0.1.2":"2025-10-20T03:24:00.353Z","0.1.3":"2025-10-20T19:03:43.556Z","0.1.4":"2025-10-21T04:31:34.130Z","0.1.5":"2025-10-21T23:44:59.604Z","0.1.6":"2025-10-21T23:50:46.443Z","0.1.7":"2025-10-21T23:59:16.386Z","0.1.8":"2025-10-22T00:21:10.556Z","0.1.9":"2025-10-23T18:00:12.291Z","0.1.10":"2025-10-23T22:53:59.701Z","0.1.11":"2025-10-23T23:31:44.566Z","0.2.0":"2025-10-24T20:03:25.218Z","0.2.1":"2025-10-25T00:10:18.732Z","0.2.2":"2025-10-25T01:06:04.188Z","0.3.0":"2025-10-25T04:38:43.808Z","0.3.1":"2025-10-26T23:45:12.066Z","0.3.2":"2025-10-27T03:42:38.361Z","0.3.3":"2025-10-27T04:07:45.331Z","0.3.4":"2025-10-29T04:49:03.628Z","0.3.5":"2025-11-02T06:49:15.774Z","0.4.0":"2025-11-05T04:53:18.766Z","0.4.1":"2025-11-05T17:52:44.698Z","0.4.2":"2025-11-06T05:36:37.710Z","0.5.0":"2025-11-10T04:03:57.940Z","0.5.1":"2025-11-13T03:36:52.860Z"},"bugs":{"url":"https://github.com/specmind/specmind/issues"},"author":{"name":"SpecMind"},"license":"MIT","homepage":"https://github.com/specmind/specmind#readme","keywords":["specmind","architecture","code-analysis","tree-sitter","ast","typescript","javascript","python","csharp"],"repository":{"type":"git","url":"git+https://github.com/specmind/specmind.git","directory":"packages/core"},"description":"Core code analysis and architecture generation for SpecMind using tree-sitter","maintainers":[{"name":"mushgev","email":"gmusho.net@gmail.com"}],"readme":"# @specmind/core\n\nCore code analysis and architecture generation library for SpecMind using tree-sitter.\n\n## Overview\n\n`@specmind/core` provides pure logic for analyzing codebases and extracting architectural information. It uses [tree-sitter](https://tree-sitter.github.io/) for robust, language-agnostic code parsing and analysis.\n\n**Key Features:**\n- **Multi-language support**: TypeScript, JavaScript, Python (Go, Rust planned)\n- **Tree-sitter powered**: Fast, incremental, error-tolerant parsing\n- **Pure logic**: No CLI or UI dependencies - just analysis functions\n- **Type-safe**: Full TypeScript with Zod schemas for runtime validation\n- **Lightweight**: Minimal dependencies, focused on core functionality\n\n---\n\n## Installation\n\n```bash\npnpm add @specmind/core\n# or\nnpm install @specmind/core\n```\n\n---\n\n## Quick Start\n\n```typescript\nimport { analyzeFileContent } from '@specmind/core'\n\nconst code = `\nexport class UserService {\n  async getUser(id: string): Promise<User> {\n    return await this.db.find(id)\n  }\n}\n`\n\nconst analysis = analyzeFileContent('user-service.ts', code, 'typescript')\n\nconsole.log(analysis.classes)\n// [\n//   {\n//     name: 'UserService',\n//     methods: [{ name: 'getUser', parameters: [...], ...}],\n//     ...\n//   }\n// ]\n```\n\n---\n\n## Architecture\n\n### Design Principles\n\n1. **Tree-sitter first**: All code parsing uses tree-sitter (per CONSTITUTION.md Section 2.3)\n2. **Pure logic**: No side effects, file I/O, or UI concerns\n3. **Type-safe**: Zod schemas + TypeScript for runtime and compile-time safety\n4. **Composable**: Small, focused functions that can be combined\n\n### Package Structure\n\n```\n@specmind/core/\n├── analyzer/              # Code analysis logic\n│   ├── parser.ts         # Tree-sitter parser wrapper\n│   ├── language-config.ts # Language-specific configurations\n│   ├── file-analyzer.ts  # Main file analysis orchestrator\n│   ├── dependency-graph.ts # Dependency graph builder\n│   └── extractors/       # Element extractors\n│       ├── functions.ts  # Extract functions\n│       ├── classes.ts    # Extract classes/interfaces\n│       └── imports.ts    # Extract imports/exports\n└── types/                # Type definitions and Zod schemas\n    └── index.ts\n```\n\n---\n\n## API Reference\n\n### Core Functions\n\n#### `analyzeFile(filePath: string): Promise<FileAnalysis | null>`\n\nAnalyze a file from the filesystem.\n\n```typescript\nimport { analyzeFile } from '@specmind/core'\n\nconst analysis = await analyzeFile('./src/services/user-service.ts')\n\nif (analysis) {\n  console.log(`Found ${analysis.functions.length} functions`)\n  console.log(`Found ${analysis.classes.length} classes`)\n}\n```\n\n**Returns:**\n- `FileAnalysis` object containing functions, classes, imports, exports\n- `null` if file type is not supported\n\n---\n\n#### `analyzeFileContent(filePath: string, content: string, language: SupportedLanguage): FileAnalysis`\n\nAnalyze code from a string (useful for testing or in-memory analysis).\n\n```typescript\nimport { analyzeFileContent } from '@specmind/core'\n\nconst code = `export function add(a: number, b: number): number { return a + b }`\nconst analysis = analyzeFileContent('math.ts', code, 'typescript')\n\nconsole.log(analysis.functions[0])\n// {\n//   name: 'add',\n//   parameters: [{ name: 'a', type: 'number' }, { name: 'b', type: 'number' }],\n//   returnType: 'number',\n//   isExported: true,\n//   ...\n// }\n```\n\n---\n\n#### `buildDependencyGraph(files: FileAnalysis[]): ModuleDependency[]`\n\nBuild a module dependency graph from analyzed files.\n\n```typescript\nimport { analyzeFile, buildDependencyGraph } from '@specmind/core'\n\nconst files = await Promise.all([\n  analyzeFile('./src/index.ts'),\n  analyzeFile('./src/utils.ts'),\n]).then(results => results.filter(Boolean))\n\nconst dependencies = buildDependencyGraph(files)\n\nconsole.log(dependencies)\n// [\n//   {\n//     source: './src/index.ts',\n//     target: './utils',\n//     importedNames: ['helper', 'format']\n//   }\n// ]\n```\n\n---\n\n#### `findEntryPoints(files: FileAnalysis[], dependencies: ModuleDependency[]): string[]`\n\nFind entry point files (files that aren't imported by anyone).\n\n```typescript\nimport { findEntryPoints } from '@specmind/core'\n\nconst entryPoints = findEntryPoints(files, dependencies)\nconsole.log(entryPoints)\n// ['./src/index.ts', './src/cli.ts']\n```\n\n---\n\n### Language Utilities\n\n#### `detectLanguage(filePath: string): SupportedLanguage | null`\n\nDetect language from file extension.\n\n```typescript\nimport { detectLanguage } from '@specmind/core'\n\nconsole.log(detectLanguage('app.ts'))        // 'typescript'\nconsole.log(detectLanguage('utils.js'))      // 'javascript'\nconsole.log(detectLanguage('main.py'))       // 'python'\nconsole.log(detectLanguage('styles.css'))    // null\n```\n\n---\n\n#### `getLanguageConfig(language: SupportedLanguage): LanguageConfig`\n\nGet configuration for a specific language.\n\n```typescript\nimport { getLanguageConfig } from '@specmind/core'\n\nconst config = getLanguageConfig('typescript')\nconsole.log(config.functionNodeTypes)\n// ['function_declaration', 'arrow_function', 'method_definition', ...]\n```\n\n---\n\n### Individual Extractors (Advanced)\n\nFor fine-grained control, you can use individual extractors:\n\n```typescript\nimport { parseCode, extractFunctions, extractClasses } from '@specmind/core'\n\nconst tree = parseCode(code, 'typescript')\nconst functions = extractFunctions(tree, 'file.ts', 'typescript')\nconst classes = extractClasses(tree, 'file.ts', 'typescript')\n```\n\n---\n\n## Type Definitions\n\nAll types are exported with both TypeScript types and Zod schemas for runtime validation.\n\n### Core Types\n\n```typescript\nimport type {\n  FileAnalysis,\n  FunctionDefinition,\n  ClassDefinition,\n  ImportStatement,\n  ExportStatement,\n  ModuleDependency,\n} from '@specmind/core'\n```\n\n### Zod Schemas\n\n```typescript\nimport {\n  FileAnalysisSchema,\n  FunctionDefinitionSchema,\n  ClassDefinitionSchema,\n} from '@specmind/core'\n\n// Runtime validation\nconst result = FileAnalysisSchema.safeParse(data)\nif (result.success) {\n  console.log(result.data)\n}\n```\n\n---\n\n## What We Extract\n\n### Functions\n\n```typescript\n{\n  name: string\n  qualifiedName: string          // e.g., \"MyClass.myMethod\"\n  parameters: Parameter[]\n  returnType?: string\n  isExported: boolean\n  isAsync: boolean\n  location: SourceLocation\n  docComment?: string            // JSDoc comment if present\n}\n```\n\n### Classes / Interfaces\n\n```typescript\n{\n  name: string\n  qualifiedName: string\n  kind: 'class' | 'interface' | 'type' | 'enum'\n  isExported: boolean\n  isAbstract: boolean\n  extendsFrom: string[]          // Base classes\n  implements: string[]           // Implemented interfaces\n  methods: MethodDefinition[]\n  properties: PropertyDefinition[]\n  location: SourceLocation\n  docComment?: string\n}\n```\n\n### Imports\n\n```typescript\n{\n  source: string                 // Module path: './utils', 'react'\n  imports: Array<{\n    name: string                 // Imported name\n    alias?: string               // Alias if renamed\n    isDefault: boolean\n    isNamespace: boolean         // import * as name\n  }>\n  location: SourceLocation\n}\n```\n\n### Exports\n\n```typescript\n{\n  name: string\n  isDefault: boolean\n  source?: string                // Re-export source if applicable\n  location: SourceLocation\n}\n```\n\n---\n\n## Supported Languages\n\n| Language   | Status | File Extensions | Features |\n|------------|--------|-----------------|----------|\n| TypeScript | ✅ Full | `.ts`, `.tsx` | Functions, classes, interfaces, types, enums, imports, exports, generics, decorators |\n| JavaScript | ✅ Full | `.js`, `.jsx` | Functions, classes, imports, exports, generators, async/await, ES6+ |\n| Python     | ✅ Full | `.py`, `.pyi` | Functions, classes, imports, type hints, async/await, decorators |\n| Go         | 🚧 Planned | `.go` | Coming soon |\n| Rust       | 🚧 Planned | `.rs` | Coming soon |\n\n---\n\n## Implementation Details\n\n### Tree-Sitter Approach\n\nWe use **tree-sitter queries** (pattern matching for ASTs) instead of manual traversal:\n\n```typescript\n// Example query for TypeScript functions\nconst functionQuery = `\n  (function_declaration\n    name: (identifier) @name\n    parameters: (formal_parameters) @params\n    return_type: (type_annotation)? @return_type) @function\n`\n```\n\nThis approach:\n- **Fast**: Optimized pattern matching\n- **Robust**: Handles syntax errors gracefully\n- **Maintainable**: Declarative queries instead of imperative code\n- **Consistent**: Same pattern across all languages\n\n### What We DON'T Do\n\nUnlike full static analysis tools, we focus on **high-level architecture**:\n\n- ❌ No deep type inference (we use declared types)\n- ❌ No control flow analysis (if/loops/branches)\n- ❌ No variable tracking within functions\n- ❌ No runtime behavior analysis\n\nWe extract **just enough** for generating clean architecture diagrams and documentation.\n\n---\n\n## Examples\n\n### Example 1: Analyze a TypeScript Module\n\n```typescript\nimport { analyzeFileContent } from '@specmind/core'\n\nconst code = `\nimport { Database } from './database'\n\nexport class UserRepository {\n  constructor(private db: Database) {}\n\n  async findById(id: string): Promise<User | null> {\n    return await this.db.query('SELECT * FROM users WHERE id = ?', [id])\n  }\n\n  async save(user: User): Promise<void> {\n    await this.db.insert('users', user)\n  }\n}\n`\n\nconst analysis = analyzeFileContent('user-repository.ts', code, 'typescript')\n\nconsole.log('Imports:', analysis.imports)\n// [{ source: './database', imports: [{ name: 'Database', isDefault: false }] }]\n\nconsole.log('Classes:', analysis.classes.map(c => c.name))\n// ['UserRepository']\n\nconsole.log('Methods:', analysis.classes[0].methods.map(m => m.name))\n// ['constructor', 'findById', 'save']\n```\n\n### Example 2: Build Dependency Graph\n\n```typescript\nimport { analyzeFileContent, buildDependencyGraph } from '@specmind/core'\n\nconst files = [\n  analyzeFileContent('index.ts', `import { UserService } from './services'`, 'typescript'),\n  analyzeFileContent('services.ts', `import { Database } from './db'`, 'typescript'),\n  analyzeFileContent('db.ts', `export class Database {}`, 'typescript'),\n]\n\nconst deps = buildDependencyGraph(files)\n\nconsole.log(deps)\n// [\n//   { source: 'index.ts', target: './services', importedNames: ['UserService'] },\n//   { source: 'services.ts', target: './db', importedNames: ['Database'] }\n// ]\n```\n\n### Example 3: Find All Exported Functions\n\n```typescript\nconst analysis = await analyzeFile('./src/utils.ts')\n\nconst exportedFunctions = analysis.functions.filter(f => f.isExported)\n\nexportedFunctions.forEach(fn => {\n  console.log(`${fn.name}(${fn.parameters.map(p => `${p.name}: ${p.type}`).join(', ')}): ${fn.returnType}`)\n})\n```\n\n### Example 4: Analyze Python Code\n\n```typescript\nimport { analyzeFileContent } from '@specmind/core'\n\nconst pythonCode = `\nfrom typing import List, Optional\n\nclass UserService:\n    def __init__(self, db_connection: str):\n        self.db = db_connection\n\n    async def get_users(self, limit: int = 10) -> List[dict]:\n        return await self.db.query(\"SELECT * FROM users LIMIT ?\", [limit])\n\n    def _validate_user(self, user: dict) -> bool:\n        return \"id\" in user and \"name\" in user\n`\n\nconst analysis = analyzeFileContent('user_service.py', pythonCode, 'python')\n\nconsole.log('Classes:', analysis.classes.map(c => c.name))\n// ['UserService']\n\nconsole.log('Methods:', analysis.classes[0].methods.map(m => ({\n  name: m.name,\n  visibility: m.visibility,\n  isAsync: m.isAsync\n})))\n// [\n//   { name: '__init__', visibility: 'public', isAsync: false },\n//   { name: 'get_users', visibility: 'public', isAsync: true },\n//   { name: '_validate_user', visibility: 'private', isAsync: false }\n// ]\n\nconsole.log('Imports:', analysis.imports)\n// [{ source: 'typing', imports: [{ name: 'List' }, { name: 'Optional' }] }]\n```\n\n---\n\n## Development\n\n### Build\n\n```bash\npnpm build\n```\n\n### Test\n\n```bash\npnpm test\n```\n\n### Lint\n\n```bash\npnpm lint\n```\n\n---\n\n## Integration with SpecMind\n\nThis package is the foundation for:\n\n- **`@specmind/cli`**: Uses `@specmind/core` to analyze codebases and generate .sm files\n- **Future: Architecture Generator**: Convert analysis results to Mermaid diagrams\n- **Future: Architecture Differ**: Compare architectures across versions\n\n---\n\n## Design Philosophy\n\nPer [CONSTITUTION.md](../../CONSTITUTION.md):\n\n1. **Tree-sitter for ALL parsing** (Section 2.3)\n2. **Pure logic - NO CLI/UI dependencies** (Section 3.2)\n3. **Type-safe everything** (Section 6.3)\n4. **Multi-language support** (Section 6.1)\n\nThis package provides clean, typed APIs that can be used by CLI tools, VS Code extensions, or any other interface.\n\n---\n\n## Contributing\n\nSee the main [CONSTITUTION.md](../../CONSTITUTION.md) for development guidelines.\n\n### Adding a New Language\n\n1. Add language to `SupportedLanguage` type in `types/index.ts`\n2. Install tree-sitter grammar: `pnpm add tree-sitter-{language}`\n3. Create language config in `analyzer/language-config.ts`\n4. Add parser support in `analyzer/parser.ts`\n5. Test with example files\n\n---\n\n## License\n\nMIT\n\n---\n\n## Related Packages\n\n- **[@specmind/format](../format)**: .sm file format parser and validator\n- **[@specmind/cli](../cli)**: CLI tool using this package (coming soon)\n- **[specmind-vscode](../vscode)**: VS Code extension for .sm files\n","readmeFilename":"README.md"}