{"_id":"archicore","_rev":"35-57bef9aacc81a120891b5f22b552b20b","name":"archicore","dist-tags":{"latest":"0.4.5"},"versions":{"0.1.0":{"name":"archicore","version":"0.1.0","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.0","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"4d061136d2e8736dc811bf330d6ce6b290c9972a","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.0.tgz","fileCount":118,"integrity":"sha512-oOFCeLhNGVlCg9VyxGaNndE2vOGbtrMlbEUktzYZPfV2jYDQlP9j7WQmfLouZTo3pMhNivw5eCkPWW+30L9QHg==","signatures":[{"sig":"MEUCIQCRqmgpzfVMyQyJbp1gNixe7ynM1tFMcmkSrjx0WlrAfQIgUkpGX5ef0kLtvsyIqI190J9w7A+4CNv0R2gaA3LyldU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671132},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","tree-sitter":"^0.21.1","@anthropic-ai/sdk":"^0.32.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.0_1767915698503_0.7315817659906598","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"archicore","version":"0.1.2","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.2","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"2e11887f3afcb1bc4acc528e35948df6e940d712","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.2.tgz","fileCount":118,"integrity":"sha512-ApIZh5/H3G76BoYiXwTqVZ347BZkCJ67WWyfwBWJOaCAoWjuNXerbYe/6zUPhzrYAEkQyPuHkbSX54lLrJzbdw==","signatures":[{"sig":"MEUCIHA6hfi4c1+FJONUDFho4GlK+ef2VEaFhIZuul5skkj1AiEA+DUh23w03oz6Eb7c1Gdo3rjvNJYqyWOigqS5yURxu5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671362},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","tree-sitter":"^0.21.1","@anthropic-ai/sdk":"^0.32.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.2_1767918897461_0.14216149901978703","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"archicore","version":"0.1.3","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.3","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"058404558ea598ab46b0cb6364d44f489ab91f57","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.3.tgz","fileCount":122,"integrity":"sha512-utwukxUH4MtEFA9gEb+lespI3jFeSzxGRFe1dD3xYSQl4frrAfHMiB8OXSShhrAH3Rkg7OvEuxCBc0wAjAO+mg==","signatures":[{"sig":"MEUCIBD4uBomVbTuQmEAQnZxr435qeDwetIAp5jj05D11FIpAiEA6p7ewRvXHr8XwKmnQ3zKbUVAMOsl21iVdncEYNpT+P8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703770},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","tree-sitter":"^0.21.1","@anthropic-ai/sdk":"^0.32.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.3_1767920575958_0.36091720521944204","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"archicore","version":"0.1.4","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.4","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"8c4f5c387a71d2344839387e0b22d583c1569767","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.4.tgz","fileCount":122,"integrity":"sha512-Y8U+NQVnZ/0P7JKMtRYkWraMyNO6KX2CUkjU2J6lsbvmv3s41qN24mAVrccgbnzIJyu0IxqIHwmaaIGpgcDVQA==","signatures":[{"sig":"MEQCICbRjCTHgO760AfR0LL8Di/7PriJOwlu4LcteKDJr4LaAiB59xqKkcfaZ7rc7xYOUoP8TF55pVDu6RUk80eR2XfC6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704459},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","tree-sitter":"^0.21.1","@anthropic-ai/sdk":"^0.32.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.4_1767921314221_0.8653263647487834","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"archicore","version":"0.1.5","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.5","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"1154b67258e13710ab043bc5d5d53f27b72e7599","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.5.tgz","fileCount":122,"integrity":"sha512-PLF93AELC91cPwVHGQlNxVNcbiPqWz8ITLkHA9NDV0azm1ZjxIdEYHaijIKaDlEl5VJ72MDtpTFjFiV5RyVtCA==","signatures":[{"sig":"MEUCIQCYapqkALtcsT1pfwSFgT26FJ1ZDs5iJrMXXsdVsldXZQIgEHxnLDSI/ql7YWvZ/GEzXFP281txt06TIuTjFb3dQ1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705482},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","tree-sitter":"^0.21.1","@anthropic-ai/sdk":"^0.32.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.5_1767921873026_0.3315985223830704","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"archicore","version":"0.1.6","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.6","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"47b41d99e93479980c624cd53a8fd34c6e52e1b8","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.6.tgz","fileCount":122,"integrity":"sha512-G5qxgDCG8izC9OEOTSTTLo2azYxh131veCXSEWnAqmSlNZVnNI0xTW0CeNQtVnCyZvHmUqO+O/gKr4xFyfbh9w==","signatures":[{"sig":"MEYCIQCr6BYqVjcAd26ojZMQgJoY7IZltkvGW3hx6O9HBzQI0gIhAOwlK+egzrtV1rak+u2wes3CYG4kqAtjlcM8xT0Ru/lP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":732125},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","tree-sitter":"^0.21.1","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.6_1768084347115_0.5600412005829527","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"archicore","version":"0.1.7","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.7","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"09c8ae85eebc438355a21febe904d60228344b88","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.7.tgz","fileCount":122,"integrity":"sha512-/nRlSFp+qwmmhlIdm1UsTLhKey6FoBcVMW/eAhQDzq8dFIDwEFzNngMufkCzejRQNGlb1mwWWpQx3EZOdTi7Vw==","signatures":[{"sig":"MEYCIQDTrPJyelDuYoUJFtVymJsiUogvhSsuTquWEdpqMvf9tgIhAI/y4ILFqrkpgC0ccYmbgoAXWiytzFvQBr8Dk0AQGEmd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":735643},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","tree-sitter":"^0.21.1","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.7_1768085309711_0.3047281922294045","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"archicore","version":"0.1.8","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.8","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"ee7bb527437b14e223d3aeaa279f9e7b7b7d3d41","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.8.tgz","fileCount":122,"integrity":"sha512-q2FqSbzrgAaDEk79XxzXlOceHTfZhQOQ4dJSVeFONEdM+frsb7qTuySboN/PWM0Uu1i19L8euBWWO2hmqesJaQ==","signatures":[{"sig":"MEYCIQCC501xdrOgm60thi1pU6POru6Pk1X53G7J9tx4REo0DwIhALrVwvzC1x8P41kOpZm5YRc3cmFiypaG3JqRjvXQ6W1D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":741234},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","tree-sitter":"^0.21.1","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.8_1768095460505_0.30276707615709064","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"archicore","version":"0.1.9","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.1.9","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"3193a859e7bc69e2a1521657e56dede99d185c2b","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.1.9.tgz","fileCount":130,"integrity":"sha512-e8pJJ2SQBMjH+jAdnGzhwdBuDLK9OZV6lPzhzpXcs0kIdJCQoWPmsQn5G10hfKylBlym83XwPi3RF6hMWJqo0Q==","signatures":[{"sig":"MEUCIQDl2KAxlh90GZQKdapfSjdsR60iYkupK8yf9bgMp4pZ9AIgZQeK35lZYWcCL6P3a11hSVqFJP+Eb3ZhdL033GfU2z4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":803155},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.1.9_1768166179263_0.8567718516227796","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"archicore","version":"0.2.0","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.0","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"12a98fe51d3400e0f2759b8530b6f9f82f31f306","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.0.tgz","fileCount":130,"integrity":"sha512-Ha0IJogRGdakx+Nl4qYshotnLLhsKHcxV70V7bSw+R7WeMa0FGiB4+BjC5/SUSDuB4G7tYHWEWKthCxj+qNmng==","signatures":[{"sig":"MEYCIQDgjWAvi9FPOPFnqYbsDq/FhZsbXv+Kv7O/B6VryhqlsAIhANHKCxNZkfywWzRNArlJsss53mH0qNK1Cr4ef0vPdCDT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806345},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","server:dev":"tsx watch src/server/index.ts"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.0_1768167501694_0.3554940863165399","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"archicore","version":"0.2.1","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.1","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"3c9b5965c6b6e2b5553d7daa04cd01f4b967d071","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.1.tgz","fileCount":136,"integrity":"sha512-nlR5kknizAE9Se78jmRJDSxOfnSPw65XLr7Lsdj/RMjnTJG99eEHlL/BX38CJ6g4U1T7f7l40/agQEfXyrTs1A==","signatures":[{"sig":"MEQCIGm9Z/adeyXdxSZwXjTLhFm4tEnf359HzsLJNQwXYKTKAiA/+2nVy7VA83ZkjNrVjtzCIcEFgWJrFha+w5bDtPfCxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":871199},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","@types/pg":"^8.11.6","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.1_1768422889860_0.4600539742657457","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"archicore","version":"0.2.2","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.2","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"7689a75f6667bcbc39789bbbe6a57217926f53f0","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.2.tgz","fileCount":140,"integrity":"sha512-IFggDk2+jZOEO7h1hQXkF9ZCZ5bcUWz0zIT0MWw82p2IoFevQdEUnaJumzjT8jp0iOCtmIzF+v3VXWxzuPBngA==","signatures":[{"sig":"MEQCIHJCHXCQcp7G1SPJ8W4amX80HUsEMUaj1BDBrCIV7ESfAiAO+BGc9kXYpRbDhgx4FFGjEkzXWLOttOmCPAfWeOjxkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":914792},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","@types/pg":"^8.11.6","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.2_1768430468504_0.28597004368196477","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"archicore","version":"0.2.3","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.3","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"6694dad1e14d6072307ee7f36b6e40d43ca8bae9","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.3.tgz","fileCount":142,"integrity":"sha512-vUznTCv8/W+XjJ2RhWAM/UURhqglViN7viY4MFD2rV453H1SUCRe7LtZuepOJl7ynQ5uyHjcrhUUxTtdN94s8Q==","signatures":[{"sig":"MEYCIQCv4zKW/0gccfdhpG9NCVvgyZGXkC4UA3Lof8th6Z2W1AIhAOuqU/PES0AY317giXgytKlCZzXObptE83MGSa/9Dt/9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":930028},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.3_1768431783971_0.3432170542290862","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"archicore","version":"0.2.4","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.4","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"1d26bb6141e7ac309bf15a4be15caf237851e5b2","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.4.tgz","fileCount":142,"integrity":"sha512-WPCZbP+4QBQpVsTpvKfrnd3W+62OpLVlB6WbDCSAz4KGG92GU4AkK5rLLj3Z7/YUjOmImqO+TzzPHPo3NMg9kQ==","signatures":[{"sig":"MEQCIH8MBSFGWOyy1SSR8bqEmo10Eqb4sQb5UAo2M/7vzqRJAiA7a+w10gO4c0eEzbGxko6fHsmVl4is/v5HxLKvSESlGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":930028},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.4_1768494635627_0.02560855152102337","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"archicore","version":"0.2.5","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.5","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"68d2d23eb8d310bd13f6b34aca67a773c07c3043","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.5.tgz","fileCount":146,"integrity":"sha512-1osxQdKJNBwiK63eiibLPJHfpGc+njit5jREEMLdOtKmijw8UfFu5wlSU3+jXJ2H7sWlS8BE5+TOTQqWJsPhIA==","signatures":[{"sig":"MEYCIQCtW4Yaxk0qWoye7UdnEFjt1y6hCNYsYnbIinx+jDaW6gIhAMUVdsU/cUyS0RZD6xATbuNiaFQ3QZJAnhPR6GfdGQIq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":983046},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.5_1768496844277_0.7481806257410923","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"archicore","version":"0.2.6","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.6","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"8a36cfbf0a3de6a3c4c13a1d0aaaf650541dd9d1","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.6.tgz","fileCount":146,"integrity":"sha512-0HVfczXDA6n38E3Ujc5vzIj6ZjFZ8RR+9DxygyeKf4Z8w0rI6z32EHFp+UEBzHy5NAeV5nnLj5UB89ZYe7vrDQ==","signatures":[{"sig":"MEQCIDqpARBJRjfeHswX/6d3t7W6IhiCOocd82ABVeo6r/9ZAiADzh1wwHF4FvM5boNNAvrMToPDFLwd/gQPMl7+yrCl1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":984671},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.6_1768500783568_0.32151988410824317","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"archicore","version":"0.2.7","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.7","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"b9bdb74488b4712b84ead95782aa1663b95e0984","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.7.tgz","fileCount":146,"integrity":"sha512-TJ0QzB0FdaBVarNJXz+GOTjihUPH+kb02qAnLDJlc6PE5MKl5cmv6fvP7FXMPKNoG9+U9HHECSZPylx+XzDucg==","signatures":[{"sig":"MEUCIQD92RGUwiIefLtqY9RZu4fmxInyEXQ8i3DIQuRgcyiAmwIgFD+7eAiatpNtZBBdMNsoyVDnkO6cf+AvunEMQNRfd4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":984695},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","claude":"^0.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.7_1768503353791_0.074920106704498","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"archicore","version":"0.2.8","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.8","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"81be198ef47d732d437cddbdf84e91f0fa748a26","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.8.tgz","fileCount":146,"integrity":"sha512-15MguEVfjKMkiGJAQ5eoVwKjz45Oa4rtUVCH2ey6gPzAgq3gceFOXwpB5GDFKc30tbL8mSJicXjY0IsjmU6wqw==","signatures":[{"sig":"MEUCIQDcdWr/YyeK3yZJpebjV36F8EvlS8IQyrvDgV5mmjiPuAIgZTHfBRxUYO0bmgbdSNg5OeqTk3r7Pa2upBuBN2w6+uM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":984695},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","claude":"^0.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.8_1768505831668_0.0687193015476566","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"archicore","version":"0.2.9","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.2.9","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"9059f5ab7ea0c02dfac6d8d07cd6b0a312860b37","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.2.9.tgz","fileCount":148,"integrity":"sha512-34ZrOcoHlkVi6EWXta5fOVElgliI0TPYFBVP4b9dQlcFosL5pd/jwapKGPlaTcBZwsnDe1t26LcsslzDc97vxw==","signatures":[{"sig":"MEUCIQDr/QSYlLU2nc9eN9WIKKn1aqdY912gtSRthau22Xh+9AIgMmQZvA3teddE9C61Iu7jVCNs2+oTDWhmjhfYucW0Kto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1018131},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","claude":"^0.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.2.9_1768515733701_0.3542417631627153","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"archicore","version":"0.3.0","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.0","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"8229da956631d550547883bd8ece002405786eee","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.0.tgz","fileCount":148,"integrity":"sha512-OW/RQUbJI4nDBPnqVByhcJjS2yEb/6BGiDWGM2ts2SYR/4X9pXft57pWbLmi9HfVXa93XiDiS1Zse9ShXoaZcA==","signatures":[{"sig":"MEUCIQDfsc2Koadc2AdGJpu4XLLUNQkjNubj8HK+rVgQF826LQIgIxGxlLBY3BzwnCQYpvtErJg8727DGYEUbparccf8UxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1018158},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","claude":"^0.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","unzipper":"^0.12.3","archicore":"^0.2.9","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","@types/unzipper":"^0.10.11","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.0_1768518316128_0.873956483287107","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"archicore","version":"0.3.1","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.1","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"8990a4c153a6dc70f6371f5c5f8ccb0a399d7729","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.1.tgz","fileCount":148,"integrity":"sha512-aPEtWY7sZSDvIDHT034M79xw6QllMHKj47mv5JBkbv2R64BFZOm/weSkKIann3FwbHzqY50wWNpY1xfnnBg5zw==","signatures":[{"sig":"MEYCIQCnXxv4ZXl/jYI03s6teZEQu0c4Uv3Cayqd/NS64qMTBgIhAPTts0OX0cPmO0RYQObG+WCX6hgv1aJXT8GSHnEjdDB2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1071773},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.1_1768606564449_0.49151424562223056","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"archicore","version":"0.3.2","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.2","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"ef2a5fa66538dc4cf737c56baba4a69fd9d11d77","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.2.tgz","fileCount":168,"integrity":"sha512-MgYCwPwfzNMSHgZ2ZLEEtSL9JuLhUnZucmszQLI8Bd+whX6ElixNlbuo7Esqtx3hn582xvq3zlOCkO1OY4Pf7Q==","signatures":[{"sig":"MEQCIHPcE/dFl8kzMKNsiWqBiPMfM5MTS7Wdyqz4hCf5M25DAiAKzGXfa/GnzlT63m+XSjDF/EP7YuMTIsGnt2DkMqfrxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1213686},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.2_1769131008115_0.9450574922375878","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"archicore","version":"0.3.3","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.3","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"dc558f77ce36f97e0d1f1e4bc1a9e12eee07e101","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.3.tgz","fileCount":168,"integrity":"sha512-fh+wPaIfmIy7P31yFodIbmGT5UYnHVvEVp3/p8vejrXBcGRMwxaUjJavay5ffrKdbHDfDEbpKNOWGITW2ckeQw==","signatures":[{"sig":"MEUCIHmXqoS7e8SeIhupG5yzFXQXnsO/Fus328VAdiUVIVQvAiEAw8pkMZQYkLmGwY44YBmlOMoITO4U8ep+gIJVR2aqt+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1213703},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.3_1769133191114_0.24536745875606925","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"archicore","version":"0.3.4","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.4","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"b156538288c9485187a5e5cebf7e17a453a9f079","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.4.tgz","fileCount":168,"integrity":"sha512-9BCC8wETR1cCqb1iDZI9pFPVdzat15j2zKHXJq7VADUTLQ/nstK7+tT9T6yKDxywc004eKaUjBLeYkqTqSm3pA==","signatures":[{"sig":"MEYCIQD43OznNVbAV/KAgQw1G534WguQ1xDzWMlpdy99NAMRGwIhAOAlsMuyPn5e89Il0VL7C91oKO8uxFKQ/bSkNN7pfnpk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1219932},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.4_1769137585707_0.22299200356752036","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"archicore","version":"0.3.5","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.5","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"ac04ab985f468a642d3622dd5ec0f76d2e987ff3","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.5.tgz","fileCount":168,"integrity":"sha512-mFgFcjfFlnDhI4ExzgzxUZuDTn3yrnXWCVfUdKUtFNPxVCl59mQojlGJRwFulV0SFKcwxENhuoVYFyIl4UOnxw==","signatures":[{"sig":"MEQCIA/Mroq/K8go43qZ8KmsAvg4Cc0HcrSr06yxQV8vsayqAiA1zR89vUmKBUoPjzAxyOywhqbKGbEUEfDIdOCNfwwRZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1223019},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.5_1769141449420_0.5905434756246837","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"archicore","version":"0.3.6","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.6","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"5e8c459c8799ce01f04637ef63e6ad5bb102fcf5","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.6.tgz","fileCount":168,"integrity":"sha512-nKLSUD1hh3/Jt60hRcaXxuW2RW2Lp7rkn7KNAbZoPN5zJbdB9JXx8sKA3XkFtqdWCqgowxiE++EEPiS0g/VsJw==","signatures":[{"sig":"MEUCIQCDpe1o3fKq3AbH75vX7T9GPLwJLardesFpV7MXQ16P5gIgPVrNfEEUpyzwgrIhsObvp0amVnOjCJOVE2zrdnJfW3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1223040},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.6_1769298938803_0.7718865356249669","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"archicore","version":"0.3.7","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.7","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"68b369f6b4636e9f87dfb2c92805d1c9f44c3e64","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.7.tgz","fileCount":170,"integrity":"sha512-ARlL5xiZJE+Gii+8e6rRxCL9eT5tCcyVnCS1V9WNu2UsPvPI5HK0IsEr1W21juldprCOIN1sq4Hl5R0IM2Yvyw==","signatures":[{"sig":"MEUCIQCalk/5QVW8iPJafvcSl/KmGALyeg+hyLDwfop0QsScWgIgU3uKEkA5dPyPsEstGbOwUTlBx8jLva61eQHVj/kNXwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1275258},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.7_1769300419732_0.5754881619619019","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"archicore","version":"0.3.8","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.8","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"5272e45db885204db3fb1e484f904409bbf19caa","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.8.tgz","fileCount":172,"integrity":"sha512-0GtV1OTbeoBLm0Ig98Poij8n8tQMk97rgAzLCfLtj4vj7ndANUwdHNR5bRY8G2AkFaJnwuSoy5naqiJwxBfQdg==","signatures":[{"sig":"MEQCIApKy3OlUC67z/YvBPD/7UrduM0Plrs2wdlzA9RjnlAPAiBaBep/XlZbBUN00SkW2yPpsGso1dPMAL9WSOEGmQRjEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1287051},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"18c3882240946922ff56e6b3e310cac9a6bcfa24","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.8_1769366879451_0.21014188824244107","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"archicore","version":"0.3.9","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.3.9","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"a944e7a295abd26b13ac372be51dc5ac3ec0234f","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.3.9.tgz","fileCount":172,"integrity":"sha512-KXEgj10vG1IERa5t/s3QY1W4t6fMCWgh6HK2ujQXw9S3sDepkYzSgRI9BKJOclgCmE7xv8tMJcsA1jXuNCt/rQ==","signatures":[{"sig":"MEUCIQCjzrdtY4WTwPtkWL72AWxLcrz585fuU3gMZlY33lD85QIgVNmXQ3Xb2JElE1o4rkGmmecvNPUSVvxcl4qwZeCmDoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1289124},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"18c3882240946922ff56e6b3e310cac9a6bcfa24","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.3.9_1769635582672_0.9130496475394547","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"archicore","version":"0.4.0","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.4.0","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"6060a9a657911edf0afcec870369ba944478d32e","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.4.0.tgz","fileCount":172,"integrity":"sha512-Lls6g53xelMQkrzWpD37VT0435gupiG6X1p10hKDgJ7qNKKmU1DlZiQYw3thTwMZ3SB5XnPu4NWadDRYyI7fMg==","signatures":[{"sig":"MEYCIQDNxnL0x179JaniVy3FzfyYoLhj9HDjryFSiv8VQeSFngIhALc/tsAA9va8CcPC9uPOqVx2XGyJsfaef/Vc0WjahhxJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1289321},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"18c3882240946922ff56e6b3e310cac9a6bcfa24","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.4.0_1769636693642_0.9216887986816344","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"archicore","version":"0.4.1","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.4.1","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"45fe4902c4ba84e6f4a35e883fe6d9a9147777d2","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.4.1.tgz","fileCount":174,"integrity":"sha512-ohwY/i6yqB1bRZihuI4oMtgwvUIwNSmgtlyJRcHtuMc5N9xc0phQq+Wxu/3t8pgs5sFrrF/F/VDgyTtC33MNlA==","signatures":[{"sig":"MEYCIQDwt5Ju5JisoTpUBRcv/bMg/CKHVZr1i/Gep1ZhulIVXQIhALwWPmhMTZNdyArive9hrHlnUUtGqikQKI7/prtRUW8w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1318841},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"18c3882240946922ff56e6b3e310cac9a6bcfa24","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.4.1_1769638275038_0.936188525319045","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"archicore","version":"0.4.2","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.4.2","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"bde9588fe6859c8415278e5f47e884fc7b56d348","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.4.2.tgz","fileCount":174,"integrity":"sha512-mvp/QEFK1L0mWEtIePGorPd80p9S1DGyrMqvOOkw344N9UY7z7SnjZrLKZGycsybXTxsc75/5UKEPab6ycZSZg==","signatures":[{"sig":"MEUCIHdsh/2KtUQg0d+UNj07/3Ezl/SqhXjZ24QyWVq1Z3cpAiEA6Up0oSF/5nxqyk50QiVoTuc7lo3CYhS6uzjO7lPUzlc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1322502},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"18c3882240946922ff56e6b3e310cac9a6bcfa24","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.4.2_1769639666724_0.1733313365724405","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"archicore","version":"0.4.3","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.4.3","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"bdf3114e33652e661da047fb48323fa2178f126d","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.4.3.tgz","fileCount":180,"integrity":"sha512-eewl1Q8cOWaZcbvj1GKnaM2DO7zaMe5UeyoH+6Fdyh8q+J3lQ+fN1iVa5ASmziUEi5nFGppSH6+0PRplGDDj2w==","signatures":[{"sig":"MEUCIQD7BW3e1OYhT6QvNaI+Wxk5hxYAoD4s80y0t9YtLkrQmgIgeTjAj5pVQOFhca91QLxUE5ZPAsYiEMRaJ6PJgVkSuTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1439814},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"18c3882240946922ff56e6b3e310cac9a6bcfa24","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.4.3_1769715595189_0.8583356769894164","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"archicore","version":"0.4.4","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","_id":"archicore@0.4.4","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"bin":{"archicore":"dist/cli.js"},"dist":{"shasum":"acd6ea21edd974af0be66b32baf7120ee3b0ceba","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.4.4.tgz","fileCount":180,"integrity":"sha512-X3ACWE/U6Qbf8zLBnhPVA4k/DNYYgmmxjtPiq2An15BS+cJ345dIUA1s9gP6MMRHqJvQ9ewIHRYsha2IqQGKdA==","signatures":[{"sig":"MEUCIEsJczHBWHBsXLJOaaIxh2j7bskUBZNwMIXz99PpWZSpAiEAhH3xCQy4AE52pk7k0QGnT+LF5cybKHMS+bMLr4In9TY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1440827},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"18c3882240946922ff56e6b3e310cac9a6bcfa24","scripts":{"cli":"tsx src/cli.ts","dev":"tsx watch src/index.ts","docs":"npm --prefix docs-public run start","build":"tsc","index":"tsx src/cli.ts index","start":"node dist/index.js","impact":"tsx src/cli.ts impact","server":"tsx src/server/index.ts","analyze":"tsx src/cli.ts analyze","build:all":"npm run build && npm run build:frontend","docker:up":"docker compose up -d","typecheck":"tsc --noEmit","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docs:build":"npm --prefix docs-public run build","server:dev":"tsx watch src/server/index.ts","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:build":"docker build -t archicore .","docs:install":"npm --prefix docs-public install","build:frontend":"node scripts/build-frontend.js","docker:dev:down":"docker compose -f docker-compose.dev.yml down"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"_npmVersion":"10.8.2","description":"AI Software Architect - code analysis, impact prediction, semantic search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","zod":"^3.24.1","cors":"^2.8.5","glob":"^11.0.0","uuid":"^11.0.3","boxen":"^8.0.1","chalk":"^5.4.1","bcrypt":"^5.1.1","dotenv":"^16.4.7","helmet":"^8.0.0","morgan":"^1.10.1","multer":"^2.0.2","openai":"^4.73.0","adm-zip":"^0.5.16","express":"^5.2.1","figures":"^6.1.0","ioredis":"^5.9.1","passport":"^0.7.0","unzipper":"^0.12.3","commander":"^12.1.0","cli-table3":"^0.6.5","mime-types":"^3.0.2","nodemailer":"^6.9.15","compression":"^1.7.4","tree-sitter":"^0.21.1","cli-progress":"^3.12.0","cookie-parser":"^1.4.7","@types/unzipper":"^0.10.11","passport-github2":"^0.1.12","@anthropic-ai/sdk":"^0.32.0","express-rate-limit":"^7.5.0","tree-sitter-python":"^0.21.0","@qdrant/js-client-rest":"^1.11.0","tree-sitter-javascript":"^0.21.4","tree-sitter-typescript":"^0.21.2","passport-google-oauth20":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^5.4.11","@types/pg":"^8.11.6","clean-css":"^5.3.3","typescript":"^5.7.2","@types/cors":"^2.8.19","@types/node":"^22.10.2","@types/bcrypt":"^5.0.2","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/adm-zip":"^0.5.7","@types/express":"^5.0.6","@types/passport":"^1.0.16","@types/mime-types":"^3.0.1","@types/nodemailer":"^6.4.16","@types/compression":"^1.7.5","@types/cli-progress":"^3.11.6","@types/cookie-parser":"^1.4.7","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","@types/passport-github2":"^1.2.9","@types/passport-google-oauth20":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/archicore_0.4.4_1769716553417_0.5806129626253704","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"archicore","version":"0.4.5","description":"AI Software Architect - code analysis, impact prediction, semantic search","main":"dist/index.js","type":"module","bin":{"archicore":"dist/cli.js"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsc","build:frontend":"node scripts/build-frontend.js","build:all":"npm run build && npm run build:frontend","dev":"tsx watch src/index.ts","start":"node dist/index.js","server":"tsx src/server/index.ts","server:dev":"tsx watch src/server/index.ts","cli":"tsx src/cli.ts","index":"tsx src/cli.ts index","analyze":"tsx src/cli.ts analyze","impact":"tsx src/cli.ts impact","docker:build":"docker build -t archicore .","docker:up":"docker compose up -d","docker:down":"docker compose down","docker:logs":"docker compose logs -f archicore","docker:dev":"docker compose -f docker-compose.dev.yml up -d","docker:dev:down":"docker compose -f docker-compose.dev.yml down","typecheck":"tsc --noEmit","docs":"npm --prefix docs-public run start","docs:build":"npm --prefix docs-public run build","docs:install":"npm --prefix docs-public install"},"keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"author":"","license":"MIT","dependencies":{"@anthropic-ai/sdk":"^0.32.0","@qdrant/js-client-rest":"^1.11.0","@types/unzipper":"^0.10.11","adm-zip":"^0.5.16","bcrypt":"^5.1.1","boxen":"^8.0.1","chalk":"^5.4.1","cli-progress":"^3.12.0","cli-table3":"^0.6.5","commander":"^12.1.0","compression":"^1.7.4","cookie-parser":"^1.4.7","cors":"^2.8.5","dotenv":"^16.4.7","express":"^5.2.1","express-rate-limit":"^7.5.0","figures":"^6.1.0","glob":"^11.0.0","helmet":"^8.0.0","ioredis":"^5.9.1","mime-types":"^3.0.2","morgan":"^1.10.1","multer":"^2.0.2","nodemailer":"^6.9.15","openai":"^4.73.0","passport":"^0.7.0","passport-google-oauth20":"^2.0.0","passport-github2":"^0.1.12","pg":"^8.13.0","ora":"^8.1.1","tar":"^7.4.3","tree-sitter":"^0.21.1","tree-sitter-javascript":"^0.21.4","tree-sitter-python":"^0.21.0","tree-sitter-typescript":"^0.21.2","unzipper":"^0.12.3","uuid":"^11.0.3","zod":"^3.24.1"},"devDependencies":{"@types/adm-zip":"^0.5.7","@types/bcrypt":"^5.0.2","@types/cli-progress":"^3.11.6","@types/compression":"^1.7.5","@types/cookie-parser":"^1.4.7","@types/cors":"^2.8.19","@types/express":"^5.0.6","@types/mime-types":"^3.0.1","@types/morgan":"^1.9.10","@types/multer":"^2.0.0","@types/node":"^22.10.2","@types/nodemailer":"^6.4.16","@types/passport":"^1.0.16","@types/passport-google-oauth20":"^2.0.16","@types/passport-github2":"^1.2.9","@types/pg":"^8.11.6","clean-css":"^5.3.3","html-minifier-terser":"^7.2.0","javascript-obfuscator":"^4.1.1","tsx":"^4.19.2","typescript":"^5.7.2","vite":"^5.4.11"},"_id":"archicore@0.4.5","gitHead":"18c3882240946922ff56e6b3e310cac9a6bcfa24","types":"./dist/index.d.ts","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-CcRlH1ceIOLx/hAbJNGw+KeCfER8VyKLhELfGrlwO5iNvvc2/oIvGe30Bv75ndGbiSw+ZCR7Ot6E3IjsqyyuqA==","shasum":"c4074c4df394833c85705aaa740d48c505fb0796","tarball":"https://registry.npmjs.org/archicore/-/archicore-0.4.5.tgz","fileCount":180,"unpackedSize":1444652,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGPHiyn08/fBlNP3LetP5XO7KVPpB+7krIK2vBfXmXx3AiEA/uGjcRcM2a4e+bWJvFNfU+sZgjkyWWicHuwS/hAP7PQ="}]},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"directories":{},"maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/archicore_0.4.5_1769722947846_0.21804275174763"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-08T23:41:38.502Z","modified":"2026-01-29T21:42:28.191Z","0.1.0":"2026-01-08T23:41:38.643Z","0.1.2":"2026-01-09T00:34:57.692Z","0.1.3":"2026-01-09T01:02:56.177Z","0.1.4":"2026-01-09T01:15:14.438Z","0.1.5":"2026-01-09T01:24:33.244Z","0.1.6":"2026-01-10T22:32:27.288Z","0.1.7":"2026-01-10T22:48:29.947Z","0.1.8":"2026-01-11T01:37:40.718Z","0.1.9":"2026-01-11T21:16:19.427Z","0.2.0":"2026-01-11T21:38:21.852Z","0.2.1":"2026-01-14T20:34:50.069Z","0.2.2":"2026-01-14T22:41:08.652Z","0.2.3":"2026-01-14T23:03:04.171Z","0.2.4":"2026-01-15T16:30:35.827Z","0.2.5":"2026-01-15T17:07:24.469Z","0.2.6":"2026-01-15T18:13:03.768Z","0.2.7":"2026-01-15T18:55:53.975Z","0.2.8":"2026-01-15T19:37:11.859Z","0.2.9":"2026-01-15T22:22:13.923Z","0.3.0":"2026-01-15T23:05:16.323Z","0.3.1":"2026-01-16T23:36:04.738Z","0.3.2":"2026-01-23T01:16:48.374Z","0.3.3":"2026-01-23T01:53:11.289Z","0.3.4":"2026-01-23T03:06:25.858Z","0.3.5":"2026-01-23T04:10:49.606Z","0.3.6":"2026-01-24T23:55:38.994Z","0.3.7":"2026-01-25T00:20:19.905Z","0.3.8":"2026-01-25T18:47:59.633Z","0.3.9":"2026-01-28T21:26:22.881Z","0.4.0":"2026-01-28T21:44:53.857Z","0.4.1":"2026-01-28T22:11:15.222Z","0.4.2":"2026-01-28T22:34:26.927Z","0.4.3":"2026-01-29T19:39:55.411Z","0.4.4":"2026-01-29T19:55:53.607Z","0.4.5":"2026-01-29T21:42:28.054Z"},"license":"MIT","keywords":["ai","architecture","code-analysis","ast","vector-db","impact-analysis"],"description":"AI Software Architect - code analysis, impact prediction, semantic search","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"readme":"# ArchiCore - AI Software Architect\n\n<div align=\"center\">\n\n![ArchiCore Logo](https://via.placeholder.com/200x200/0ea5e9/ffffff?text=ArchiCore)\n\n**Intelligent AI-Powered Software Architecture Analysis Platform**\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue.svg)](https://www.typescriptlang.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Docker](https://img.shields.io/badge/Docker-Ready-2496ED.svg)](https://www.docker.com/)\n[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15-336791.svg)](https://www.postgresql.org/)\n\n[🌐 Website](https://archicore.io) | [📖 Documentation](https://docs.archicore.io) | [🚀 API](https://api.archicore.io)\n\n</div>\n\n---\n\n## 📋 Table of Contents\n\n- [Overview](#overview)\n- [Key Features](#key-features)\n- [Architecture](#architecture)\n- [Technology Stack](#technology-stack)\n- [Quick Start](#quick-start)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Web Dashboard](#web-dashboard)\n  - [CLI Tool](#cli-tool)\n  - [REST API](#rest-api)\n- [Authentication & Security](#authentication--security)\n- [Configuration](#configuration)\n- [Deployment](#deployment)\n- [API Reference](#api-reference)\n- [Development](#development)\n- [Roadmap](#roadmap)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n**📚 Complete Documentation:**\n- **[API & CLI Reference](./API_CLI_REFERENCE.md)** - Полная документация всех API endpoints, CLI команд и поддерживаемых языков\n- **[TODO](./TODO.md)** - Список задач и планов развития\n- **[Business Model](./BUSINESS-QA.md)** - Бизнес-модель и ответы на вопросы\n- **[Deployment Guide](./DEPLOYMENT.md)** - Инструкция по развертыванию\n\n---\n\n## 🎯 Overview\n\n**ArchiCore** - это интеллектуальная платформа для анализа и управления архитектурой программного обеспечения, построенная на основе AI. Система понимает код на глубоком семантическом уровне, отслеживает все зависимости и помогает принимать обоснованные архитектурные решения.\n\n### Зачем нужен ArchiCore?\n\n**Проблема**: В больших проектах разработчики часто вносят изменения, не понимая полного влияния на систему. Это приводит к багам, техническому долгу и архитектурной деградации.\n\n**Решение**: ArchiCore анализирует весь код, строит граф зависимостей, использует семантическую память и AI для предсказания влияния изменений, выявления рисков и генерации рекомендаций.\n\n### Для кого?\n\n- 👨‍💻 **Software Architects** - контроль архитектуры, выявление нарушений\n- 👩‍💼 **Tech Leads** - review кода, анализ влияния изменений\n- 🏢 **Development Teams** - снижение багов, улучшение code quality\n- 📊 **CTO/Engineering Managers** - метрики, технический долг, risk assessment\n\n---\n\n## ✨ Key Features\n\n### 🧠 Intelligent Code Understanding\n\n- **AST Parsing** - Глубокий синтаксический анализ через Tree-sitter (40+ языков)\n- **Dependency Graph** - Полный граф зависимостей между компонентами, функциями, классами\n- **Symbol Extraction** - Извлечение всех символов: функции, классы, интерфейсы, переменные\n- **Call Graph Analysis** - Граф вызовов для отслеживания потоков данных\n- **Semantic Memory** - Vector database (Qdrant) для семантического понимания кода\n\n### 🎯 Change Impact Analysis\n\n- **Real-time Impact Detection** - Определение затронутых компонентов при изменениях\n- **Risk Assessment** - Автоматическая оценка рисков (Critical, High, Medium, Low)\n- **Dependency Tracking** - Отслеживание прямых и транзитивных зависимостей\n- **Impact Visualization** - Графическое представление влияния изменений\n- **Smart Recommendations** - AI-генерируемые рекомендации по снижению рисков\n\n### 🔍 Semantic Code Search\n\n- **Natural Language Queries** - Поиск по смыслу: \"функции обработки платежей\"\n- **Vector Similarity** - Поиск семантически похожих фрагментов кода\n- **Context-Aware Results** - Результаты с учетом контекста и зависимостей\n- **Multi-language Support** - Поиск во всех поддерживаемых языках одновременно\n\n### 🤖 AI Architect Assistant\n\n- **Architectural Questions** - \"Как организована аутентификация в системе?\"\n- **Code Review** - Автоматический анализ качества и соответствия best practices\n- **Documentation Generation** - Генерация архитектурной документации\n- **Refactoring Suggestions** - Предложения по улучшению архитектуры\n- **Dead Code Detection** - Выявление неиспользуемого кода\n- **Code Duplication Analysis** - Поиск дублирования для рефакторинга\n\n### 🔐 Enterprise-Grade Security\n\n- **Multi-Provider OAuth** - Google, GitHub authentication\n- **Email Verification** - 6-значные коды, SMTP integration (Zoho)\n- **Disposable Email Protection** - Блокировка 180+ временных email доменов\n- **JWT Authentication** - Secure token-based auth\n- **Device Flow** - Безопасная CLI авторизация через web browser\n- **API Keys Management** - Создание, ротация, отзыв API ключей\n- **Audit Logs** - Полное логирование всех действий пользователей\n- **Rate Limiting** - Защита от abuse и DDoS\n- **CORS & Helmet** - Защита web endpoints\n- **bcrypt Password Hashing** - Industry-standard password security\n- **AES-256 Encryption** - Шифрование чувствительных данных\n\n### 📊 Project Management\n\n- **Multi-Project Support** - Управление несколькими проектами\n- **Team Collaboration** - Совместная работа команд (до 20 разработчиков)\n- **GitHub Integration** - Автоматический анализ PR, webhooks\n- **Version Control** - Отслеживание изменений архитектуры\n- **Progress Tracking** - Метрики качества и технического долга\n\n### 🌐 Multiple Interfaces\n\n- **Web Dashboard** - Интуитивный UI для визуализации и управления\n- **CLI Tool** - Мощный command-line interface для automation\n- **REST API** - Полное API для интеграции с CI/CD и другими системами\n- **Webhooks** - GitHub webhooks для автоматического анализа\n\n### 📈 Analytics & Metrics\n\n- **Code Metrics** - Cyclomatic complexity, lines of code, maintainability index\n- **Architecture Metrics** - Coupling, cohesion, modularity scores\n- **Technical Debt Tracking** - Идентификация и quantification технического долга\n- **Trend Analysis** - Отслеживание изменений метрик во времени\n- **Custom Dashboards** - Настраиваемые дашборды для команд\n\n### 🚀 Developer Experience\n\n- **60+ Language Support** - TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, Scala, C#, F#, Swift, Dart, PHP, Ruby, Haskell, Elixir и другие\n- **IDE Integration** - VS Code, JetBrains (в разработке)\n- **CI/CD Ready** - Интеграция с GitLab CI, GitHub Actions, Jenkins\n- **Docker Support** - Полная containerization для легкого deployment\n- **Auto-Scaling** - Поддержка горизонтального масштабирования\n- **Real-time Updates** - Live reload при изменениях кода\n- **Interactive CLI** - Autocomplete, progress bars, colored output\n\n---\n\n## 🏗️ Architecture\n\nArchiCore построен по принципам чистой архитектуры с четким разделением слоев:\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                         Web Dashboard                            │\n│            (React/Vue-like SPA - public/*.html)                  │\n│  - Project Management  - Analytics  - Settings  - Admin Panel    │\n└─────────────────────────────────────────────────────────────────┘\n                              ↓ HTTPS/API\n┌─────────────────────────────────────────────────────────────────┐\n│                      API Gateway (Express 5)                     │\n│  OAuth, JWT Auth, Rate Limiting, CORS, Helmet, Audit Logging    │\n└─────────────────────────────────────────────────────────────────┘\n                              ↓\n        ┌─────────────────────┼─────────────────────┐\n        ↓                     ↓                     ↓\n┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐\n│  Authentication  │ │   Project Core   │ │  Analysis Engine │\n│   - OAuth 2.0    │ │  - Code Indexing │ │  - Impact Analysis│\n│   - Email Verify │ │  - AST Parsing   │ │  - Risk Assessment│\n│   - Device Flow  │ │  - Dependency Gr.│ │  - Recommendations│\n│   - API Keys     │ │  - Metrics       │ │  - Dead Code Det. │\n└──────────────────┘ └──────────────────┘ └──────────────────┘\n        ↓                     ↓                     ↓\n┌─────────────────────────────────────────────────────────────────┐\n│                    Semantic Memory Layer                         │\n│  - Vector Embeddings (Jina AI)  - Semantic Search (Qdrant)      │\n│  - Code Similarity  - Natural Language Queries                   │\n└─────────────────────────────────────────────────────────────────┘\n        ↓                     ↓                     ↓\n┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐\n│   PostgreSQL     │ │      Redis       │ │      Qdrant      │\n│  - Users, Auth   │ │  - Cache Layer   │ │  - Vector Store  │\n│  - Projects      │ │  - Sessions      │ │  - Embeddings    │\n│  - Audit Logs    │ │  - Rate Limits   │ │  - Similarity    │\n└──────────────────┘ └──────────────────┘ └──────────────────┘\n        ↓                     ↓                     ↓\n┌─────────────────────────────────────────────────────────────────┐\n│                     AI Orchestration Layer                       │\n│  - Claude (Anthropic)  - GPT (OpenAI)  - DeepSeek (Budget)      │\n│  - Context Management  - Prompt Optimization  - Response Caching │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n### Data Flow\n\n1. **User Authentication** → OAuth/Email verification → JWT token\n2. **Project Creation** → GitHub sync / Local upload → File indexing\n3. **Code Indexing** → AST Parsing (Tree-sitter) → Symbol extraction → Dependency graph\n4. **Semantic Embedding** → Code chunks → Jina AI → Vector storage (Qdrant)\n5. **Change Analysis** → Modified files → Impact engine → Affected components → Risk assessment\n6. **AI Query** → User question → Context retrieval → LLM (Claude/GPT) → Structured response\n\n---\n\n## 🛠️ Technology Stack\n\n### Backend\n- **Runtime**: Node.js 18+ (LTS)\n- **Language**: TypeScript 5.3\n- **Framework**: Express 5.0\n- **Authentication**: Passport.js (OAuth 2.0), JWT\n- **Validation**: Zod, Express Validator\n\n### Databases\n- **Primary Database**: PostgreSQL 15 (users, projects, audit logs)\n- **Cache Layer**: Redis 7 (sessions, rate limiting, temporary data)\n- **Vector Database**: Qdrant (semantic embeddings, similarity search)\n\n### AI & ML\n- **LLM Providers**:\n  - Anthropic Claude (Opus 4.5, Sonnet 4.5) - Recommended\n  - OpenAI GPT (GPT-4 Turbo, GPT-4)\n  - DeepSeek (deepseek-chat, deepseek-coder) - Budget option\n- **Embeddings**: Jina AI (jina-embeddings-v2-base-code)\n- **Code Parsing**: Tree-sitter (40+ languages)\n\n### Frontend\n- **Architecture**: Vanilla JavaScript (SPA-like)\n- **Styling**: Tailwind-like custom CSS\n- **Build**: Vite (development), Custom minification & obfuscation\n- **State Management**: localStorage + fetch API\n\n### Infrastructure\n- **Containerization**: Docker, Docker Compose\n- **Reverse Proxy**: Nginx (SSL termination, load balancing)\n- **SSL**: Let's Encrypt (auto-renewal)\n- **CI/CD**: GitLab CI/CD\n- **Monitoring**: Custom logging + Audit service\n\n### Email & Notifications\n- **SMTP**: Zoho Mail (verification codes, welcome emails)\n- **Templates**: HTML email templates with branding\n- **Rate Limiting**: 30s cooldown between resends\n\n### Security\n- **Password Hashing**: bcrypt (10 rounds)\n- **Encryption**: AES-256-GCM (sensitive data)\n- **CORS**: Configurable whitelist\n- **Headers**: Helmet.js (CSP, HSTS, XSS protection)\n- **Rate Limiting**: Express rate limit (100 req/15min)\n- **Disposable Email**: 180+ domain blacklist\n\n### Development Tools\n- **Package Manager**: npm\n- **Linting**: ESLint\n- **Formatting**: Prettier\n- **Testing**: Jest (planned)\n- **Git Hooks**: Husky (planned)\n\n### Supported Languages\n**60+ языков** через Tree-sitter AST parsing и regex-based analysis:\n\n**JavaScript/TypeScript Ecosystem:** TypeScript, JavaScript, JSX/TSX, Vue.js, Svelte, Astro\n**Systems Programming:** Go, Rust, Zig, Nim, C, C++\n**JVM Languages:** Java, Kotlin, Scala, Groovy, Clojure\n**.NET Languages:** C#, F#, Visual Basic\n**Web/Scripting:** PHP, Ruby, Perl, Lua\n**Mobile:** Swift, Dart/Flutter, Objective-C\n**Functional:** Haskell, OCaml, Erlang, Elixir, Julia, R\n**Other:** Python, Crystal\n**Markup/Styles:** HTML, CSS, SCSS, Sass, Less, Stylus, XML\n**Data Formats:** JSON, YAML, TOML, INI\n**Database:** SQL, Prisma, GraphQL\n**Infrastructure:** Terraform, Protobuf, Docker, Makefile, CMake\n**Shell:** Bash, Zsh, PowerShell, Batch\n**Documentation:** Markdown, reStructuredText\n\n📖 **[Complete Language Support Matrix →](./API_CLI_REFERENCE.md#supported-languages)**\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- **Node.js** 18+ ([Download](https://nodejs.org/))\n- **Docker** (optional but recommended) ([Download](https://www.docker.com/))\n- **PostgreSQL** 15+ (или через Docker)\n- **Redis** 7+ (или через Docker)\n\n### 1. Clone Repository\n\n```bash\ngit clone https://github.com/yourusername/archicore.git\ncd archicore\n```\n\n### 2. Install Dependencies\n\n```bash\nnpm install\n```\n\n### 3. Configure Environment\n\n```bash\ncp .env.example .env\n```\n\nЗаполните `.env` своими ключами:\n\n```env\n# Server\nPORT=3000\nNODE_ENV=production\nBASE_URL=http://localhost:3000\n\n# Database\nDATABASE_URL=postgresql://postgres:password@localhost:5432/archicore\n\n# Redis\nREDIS_URL=redis://localhost:6379\n\n# Qdrant Vector DB\nQDRANT_URL=http://localhost:6333\n\n# AI Providers (выберите один или несколько)\nANTHROPIC_API_KEY=sk-ant-xxx  # Рекомендуется для production\nOPENAI_API_KEY=sk-xxx          # Альтернатива\nDEEPSEEK_API_KEY=sk-xxx        # Бюджетный вариант\nJINA_API_KEY=jina_xxx          # Для embeddings\n\n# OAuth (опционально)\nGOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com\nGOOGLE_CLIENT_SECRET=GOCSPX-xxx\nGITHUB_CLIENT_ID=xxx\nGITHUB_CLIENT_SECRET=xxx\n\n# Email (для verification)\nZOHO_SMTP_USER=noreply@archicore.io\nZOHO_SMTP_PASS=xxx\nEMAIL_FROM_ADDRESS=noreply@archicore.io\nEMAIL_FROM_NAME=ArchiCore\n\n# Security\nJWT_SECRET=your-super-secret-jwt-key-change-this\nENCRYPTION_KEY=your-32-char-encryption-key-here\nSESSION_SECRET=your-session-secret-change-this\n\n# Admin\nADMIN_EMAIL=admin@archicore.io\n```\n\n### 4. Start with Docker (Recommended)\n\n```bash\n# Запустить все сервисы (PostgreSQL, Redis, Qdrant, ArchiCore)\ndocker compose up -d\n\n# Проверить логи\ndocker compose logs -f archicore\n```\n\nArchiCore будет доступен на:\n- **Dashboard**: http://localhost:3000\n- **API**: http://localhost:3000/api\n\n### 5. Start Manually (Alternative)\n\n```bash\n# Запустить PostgreSQL\ndocker run -d --name postgres -p 5432:5432 \\\n  -e POSTGRES_PASSWORD=password \\\n  -e POSTGRES_DB=archicore \\\n  postgres:15\n\n# Запустить Redis\ndocker run -d --name redis -p 6379:6379 redis:7\n\n# Запустить Qdrant\ndocker run -d --name qdrant -p 6333:6333 qdrant/qdrant\n\n# Собрать проект\nnpm run build\n\n# Запустить ArchiCore\nnpm start\n```\n\n### 6. Create First User\n\nОткройте браузер: http://localhost:3000\n\n1. Нажмите **Sign Up**\n2. Введите email и password\n3. Подтвердите email (код придет на почту)\n4. Готово! Вы в системе\n\n---\n\n## 📦 Installation\n\n### Docker Deployment (Production)\n\nРекомендуется для production. Все сервисы в контейнерах.\n\n```bash\n# 1. Клонировать репозиторий\ngit clone https://github.com/yourusername/archicore.git\ncd archicore\n\n# 2. Настроить .env\ncp .env.example .env\nnano .env  # Заполнить все ключи\n\n# 3. Собрать и запустить\ndocker compose build\ndocker compose up -d\n\n# 4. Проверить статус\ndocker compose ps\n\n# 5. Просмотр логов\ndocker compose logs -f archicore\n\n# 6. Остановить\ndocker compose down\n```\n\n**Docker Compose включает:**\n- ArchiCore (Node.js app)\n- PostgreSQL 15\n- Redis 7\n- Qdrant vector DB\n- Nginx reverse proxy (если настроен)\n\n### Manual Installation (Development)\n\nДля локальной разработки без Docker.\n\n#### Step 1: Install Node.js\n\n```bash\n# Ubuntu/Debian\ncurl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -\nsudo apt-get install -y nodejs\n\n# macOS (Homebrew)\nbrew install node@18\n\n# Windows\n# Download from https://nodejs.org/\n```\n\n#### Step 2: Install Databases\n\n**PostgreSQL:**\n```bash\n# Ubuntu/Debian\nsudo apt install postgresql postgresql-contrib\n\n# macOS\nbrew install postgresql@15\nbrew services start postgresql@15\n\n# Windows\n# Download from https://www.postgresql.org/download/windows/\n```\n\n**Redis:**\n```bash\n# Ubuntu/Debian\nsudo apt install redis-server\nsudo systemctl start redis\n\n# macOS\nbrew install redis\nbrew services start redis\n\n# Windows\n# Download from https://github.com/microsoftarchive/redis/releases\n```\n\n**Qdrant:**\n```bash\n# Через Docker (рекомендуется)\ndocker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrant\n\n# Или скачать binary\n./start-qdrant.sh  # Linux/Mac\nstart-qdrant.bat   # Windows\n```\n\n#### Step 3: Setup Database\n\n```bash\n# Создать базу данных\ncreatedb archicore\n\n# Или через psql\npsql -U postgres\nCREATE DATABASE archicore;\n\\q\n```\n\n#### Step 4: Install ArchiCore\n\n```bash\n# Клонировать и установить зависимости\ngit clone https://github.com/yourusername/archicore.git\ncd archicore\nnpm install\n\n# Настроить .env\ncp .env.example .env\nnano .env\n\n# Собрать проект\nnpm run build\n\n# Запустить\nnpm start\n```\n\n#### Step 5: Verify Installation\n\n```bash\n# Проверить доступность API\ncurl http://localhost:3000/health\n\n# Должен вернуть:\n# {\"status\":\"ok\",\"version\":\"0.3.1\"}\n```\n\n### NPM Package (CLI Only)\n\nУстановить ArchiCore CLI глобально:\n\n```bash\nnpm install -g archicore\n\n# Авторизоваться\narchicore login\n\n# Начать использование\narchicore projects list\n```\n\n---\n\n## 💻 Usage\n\nArchiCore предоставляет три способа взаимодействия: Web Dashboard, CLI Tool и REST API.\n\n### 🌐 Web Dashboard\n\n#### 1. Landing Page (`/`)\n\nГлавная страница с описанием продукта, ценами и возможностями.\n\n**Features:**\n- Hero section с CTA\n- Features overview\n- Pricing plans (Free, Team, Pro, Enterprise)\n- Footer с navigation\n\n#### 2. Authentication (`/auth`)\n\nСтраница входа/регистрации.\n\n**Login:**\n```\n1. Email + Password\n2. OAuth (Google / GitHub)\n```\n\n**Sign Up:**\n```\n1. Enter email + password\n2. Verify email (6-digit code sent via SMTP)\n3. Automatic login after verification\n```\n\n**Features:**\n- Email verification required\n- Disposable email blocked (180+ domains)\n- Device flow for CLI auth\n- Password recovery (planned)\n\n#### 3. Dashboard (`/dashboard`)\n\nГлавный рабочий интерфейс после авторизации.\n\n**Sections:**\n\n**Projects:**\n- Create new project (name, description, GitHub URL)\n- List all projects with stats\n- Select active project\n- Delete projects\n\n**Project Actions:**\n```\n├── Index Project - Анализ кода и построение графа\n├── Full Analysis - Полный отчет (metrics, security, duplication, dead code)\n├── Security Analysis - Проверка уязвимостей\n├── Dead Code Detection - Поиск неиспользуемого кода\n├── Code Duplication - Поиск дублирования\n├── Metrics Report - Code metrics (complexity, LOC, maintainability)\n├── Refactoring Suggestions - AI рекомендации\n└── Export Data - JSON/HTML/Markdown/CSV\n```\n\n**Code Search:**\n- Semantic search: \"функции для обработки платежей\"\n- Results with file paths, line numbers, relevance scores\n\n**AI Architect:**\n- Ask questions: \"Как организована аутентификация?\"\n- Context-aware answers based on your codebase\n- Architecture recommendations\n\n**Account Section:**\n- Profile information\n- Subscription tier (Free/Team/Pro/Enterprise)\n- Usage statistics (API calls, projects, storage)\n- Logout\n\n#### 4. Pricing Page (`/pricing`)\n\nТарифные планы с подробным описанием.\n\n**Plans:**\n\n| Feature | Free | Team | Pro | Enterprise |\n|---------|------|------|-----|------------|\n| **Price** | $0 | $249/mo | $599/mo | Custom |\n| **Repositories** | 1 | 3 | 10 | Unlimited |\n| **Developers** | 1 | 5 | 20 | Unlimited |\n| **Analysis** | Snapshot | Regular | PR-level | Continuous |\n| **API Access** | ❌ | ❌ | ✅ | ✅ |\n| **GitHub/GitLab Integration** | ❌ | ❌ | ✅ | ✅ |\n| **Data Retention** | 7 days | 14 days | 30 days | Custom |\n| **Support** | Community | Email | Priority | Dedicated manager |\n\n#### 5. Admin Panel (`/admin`)\n\nПанель администратора (только для admin role).\n\n**Features:**\n- **Users Management**: List, search, edit, delete users\n- **Tier Management**: Change user subscription tiers\n- **Statistics**: Total users, projects, API calls, storage\n- **Audit Logs**: View all user actions with filters\n- **System Settings**:\n  - Maintenance mode toggle\n  - Email configuration test\n  - Cache management (clear Redis/memory)\n  - System backup & restore\n  - Factory reset\n- **Export**: Export all system data (JSON/CSV)\n\n#### 6. Legal Pages\n\n- **Privacy Policy** (`/privacy.html`)\n- **Terms of Service** (`/terms.html`)\n- **Security** (`/security.html`)\n\n---\n\n### 🖥️ CLI Tool\n\nArchiCore CLI - мощный инструмент для автоматизации и CI/CD интеграции.\n\n#### Installation\n\n```bash\n# Установить глобально\nnpm install -g archicore\n\n# Или использовать локально\nnpx archicore [command]\n```\n\n#### Authentication\n\n```bash\n# Device Flow (открывает браузер для авторизации)\narchicore login\n\n# Введите код из терминала на странице авторизации\n# После успеха токен сохраняется в ~/.archicore/config.json\n```\n\n#### Project Management\n\n```bash\n# Список проектов\narchicore projects list\n\n# Создать проект\narchicore projects create --name \"My App\" --github \"https://github.com/user/repo\"\n\n# Выбрать активный проект\narchicore projects select\n\n# Удалить проект\narchicore projects delete --id abc123\n```\n\n#### Code Analysis\n\n```bash\n# Индексировать проект (AST + граф зависимостей)\narchicore index --dir /path/to/project\n\n# Полный анализ\narchicore full-analysis\n\n# Анализ безопасности\narchicore security\n\n# Поиск мертвого кода\narchicore dead-code\n\n# Метрики кода\narchicore metrics\n\n# Дублирование кода\narchicore duplication\n\n# Рефакторинг рекомендации\narchicore refactoring\n```\n\n#### Semantic Search\n\n```bash\n# Поиск по смыслу\narchicore search --query \"функции валидации email\" --limit 10\n\n# Результат:\n# 🔍 RESULTS:\n#\n# 1. src/utils/validators.ts:45 (relevance: 94.2%)\n#    export function validateEmail(email: string): boolean {\n#\n# 2. src/auth/email-validator.ts:12 (relevance: 89.7%)\n#    class EmailValidator {\n```\n\n#### AI Architect\n\n```bash\n# Задать вопрос\narchicore ask --question \"Как организована работа с платежами?\"\n\n# Анализ изменений\narchicore analyze \\\n  --description \"Добавить новый метод оплаты\" \\\n  --files \"src/payments/processor.ts\" \\\n  --type \"feature\"\n\n# Результат:\n# ⚠️  AFFECTED COMPONENTS: 23\n# 🔴 CRITICAL: 5\n# 🟠 HIGH: 11\n# 🟡 MEDIUM: 7\n#\n# RISKS:\n# [HIGH] Breaking change in PaymentProcessor interface\n# [MEDIUM] New dependencies added to payment flow\n#\n# RECOMMENDATIONS:\n# ✅ Add backward compatibility wrapper\n# ✅ Update API documentation\n# ✅ Write integration tests for new method\n```\n\n#### Export\n\n```bash\n# Экспорт результатов анализа\narchicore export --format json --output analysis.json\narchicore export --format html --output report.html\narchicore export --format markdown --output ANALYSIS.md\narchicore export --format csv --output metrics.csv\n```\n\n#### Interactive Mode\n\n```bash\n# Интерактивный режим с autocomplete\narchicore chat\n\n# Внутри появится меню команд:\n# > /help        - Показать доступные команды\n# > /search      - Семантический поиск\n# > /ask         - Вопрос AI архитектору\n# > /analyze     - Анализ изменений\n# > /metrics     - Метрики проекта\n# > /exit        - Выход\n```\n\n📖 **[Complete CLI Documentation →](./API_CLI_REFERENCE.md#complete-cli-reference)**\n\n---\n\n### 🔌 REST API\n\nПолное REST API для интеграции с CI/CD, webhooks, custom tools.\n\n#### Base URL\n\n```\nProduction: https://api.archicore.io\nDevelopment: http://localhost:3000/api\n```\n\n#### Authentication\n\n**JWT Token:**\n```bash\n# Login\ncurl -X POST https://api.archicore.io/auth/login \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"email\":\"user@example.com\",\"password\":\"secret\"}'\n\n# Response:\n# {\"success\":true,\"token\":\"eyJhbGc...\",\"user\":{...}}\n\n# Use token in requests\ncurl -H \"Authorization: Bearer eyJhbGc...\" \\\n  https://api.archicore.io/projects\n```\n\n**API Key:**\n```bash\n# Create API key (через dashboard /developer)\ncurl -X POST https://api.archicore.io/developer/keys \\\n  -H \"Authorization: Bearer YOUR_JWT\" \\\n  -d '{\"name\":\"CI/CD Key\",\"expiresInDays\":365}'\n\n# Use API key\ncurl -H \"X-API-Key: ak_xxx\" \\\n  https://api.archicore.io/projects\n```\n\n#### Endpoints Overview\n\n**Authentication:**\n```\nPOST   /api/auth/register              - Регистрация\nPOST   /api/auth/login                 - Вход\nPOST   /api/auth/logout                - Выход\nGET    /api/auth/me                    - Текущий пользователь\nGET    /api/auth/usage                 - Статистика использования\nPOST   /api/auth/send-verification-code - Отправить код верификации\nPOST   /api/auth/verify-email          - Подтвердить email\n```\n\n**OAuth:**\n```\nGET    /api/auth/oauth/google          - Начать Google OAuth\nGET    /api/auth/oauth/google/callback - Google callback\nGET    /api/auth/oauth/github          - Начать GitHub OAuth\nGET    /api/auth/oauth/github/callback - GitHub callback\n```\n\n**Device Flow (CLI):**\n```\nPOST   /api/auth/device/code           - Получить device code\nPOST   /api/auth/device/token          - Обменять код на токен\nGET    /api/auth/device/verify/:code   - Проверить код\nPOST   /api/auth/device/authorize      - Авторизовать устройство\n```\n\n**Projects:**\n```\nGET    /api/projects                   - Список проектов\nPOST   /api/projects                   - Создать проект\nGET    /api/projects/:id               - Получить проект\nPUT    /api/projects/:id               - Обновить проект\nDELETE /api/projects/:id               - Удалить проект\nPOST   /api/projects/:id/index         - Индексировать код\nGET    /api/projects/:id/architecture  - Архитектурная информация\nGET    /api/projects/:id/graph         - Граф зависимостей\nGET    /api/projects/:id/metrics       - Метрики кода\n```\n\n**Analysis:**\n```\nPOST   /api/analyze/impact             - Анализ влияния изменений\nPOST   /api/analyze/security           - Анализ безопасности\nPOST   /api/analyze/full               - Полный анализ\nPOST   /api/analyze/dead-code          - Мертвый код\nPOST   /api/analyze/duplication        - Дублирование\nPOST   /api/analyze/refactoring        - Рекомендации по рефакторингу\n```\n\n**AI:**\n```\nPOST   /api/ai/search                  - Семантический поиск\nPOST   /api/ai/ask                     - Вопрос AI архитектору\nPOST   /api/ai/simulate                - Симуляция изменений\n```\n\n**GitHub:**\n```\nGET    /api/github/auth                - GitHub OAuth\nGET    /api/github/callback            - GitHub callback\nGET    /api/github/repositories        - Список репозиториев\nPOST   /api/github/webhooks            - Создать webhook\n```\n\n**Admin:**\n```\nGET    /api/admin/users                - Список пользователей\nPUT    /api/admin/users/:id/tier       - Изменить tier\nGET    /api/admin/stats                - Статистика системы\nGET    /api/admin/audit-logs           - Аудит логи\nGET    /api/admin/settings             - Настройки системы\nPOST   /api/admin/settings             - Обновить настройки\nPOST   /api/admin/test-email           - Тест email\nPOST   /api/admin/maintenance          - Включить maintenance mode\nGET    /api/admin/export/all           - Экспорт всех данных\n```\n\n**Developer:**\n```\nGET    /api/developer/keys             - Список API ключей\nPOST   /api/developer/keys             - Создать API ключ\nDELETE /api/developer/keys/:id         - Удалить API ключ\nPOST   /api/developer/keys/:id/revoke  - Отозвать API ключ\n```\n\n**Upload & Utilities:**\n```\nPOST   /api/upload                     - Загрузить файлы проекта\nPOST   /api/report-issue               - Отправить bug report\nGET    /api/tasks/:taskId              - Статус задачи\nGET    /api/tasks/:taskId/stream       - WebSocket progress updates\n```\n\n📖 **[Complete API Documentation →](./API_CLI_REFERENCE.md#complete-api-reference)**\n\n#### Example: Analyze Impact\n\n```bash\ncurl -X POST https://api.archicore.io/analyze/impact \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"projectId\": \"proj_abc123\",\n    \"change\": {\n      \"type\": \"modify\",\n      \"description\": \"Рефакторинг AuthService\",\n      \"files\": [\"src/services/auth-service.ts\"],\n      \"symbols\": [\"AuthService\", \"login\", \"register\"]\n    }\n  }'\n```\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"impact\": {\n    \"affectedNodes\": [\n      {\n        \"id\": \"AuthController\",\n        \"file\": \"src/controllers/auth.ts\",\n        \"severity\": \"critical\",\n        \"reason\": \"Direct dependency on modified AuthService\"\n      },\n      {\n        \"id\": \"UserService\",\n        \"file\": \"src/services/user-service.ts\",\n        \"severity\": \"high\",\n        \"reason\": \"Calls AuthService.login()\"\n      }\n    ],\n    \"risks\": [\n      {\n        \"severity\": \"high\",\n        \"message\": \"Breaking change in public API\",\n        \"recommendation\": \"Add deprecation warnings before removing methods\"\n      }\n    ],\n    \"recommendations\": [\n      \"Review 15 affected components\",\n      \"Add integration tests for auth flow\",\n      \"Update API documentation\"\n    ],\n    \"summary\": {\n      \"total\": 15,\n      \"critical\": 3,\n      \"high\": 7,\n      \"medium\": 4,\n      \"low\": 1\n    }\n  }\n}\n```\n\n---\n\n## 🔐 Authentication & Security\n\nArchiCore реализует многоуровневую систему безопасности корпоративного уровня.\n\n### Authentication Methods\n\n#### 1. Email + Password\n\n**Registration Flow:**\n```\n1. User submits email + password\n2. System checks disposable email (180+ blocked domains)\n3. Sends 6-digit verification code via SMTP (Zoho)\n4. User enters code (10-minute expiry)\n5. Password hashed with bcrypt (10 rounds)\n6. User created, JWT token issued\n7. Welcome email sent\n```\n\n**Login Flow:**\n```\n1. User submits email + password\n2. Password verified with bcrypt\n3. JWT token issued (24h expiry)\n4. Refresh token stored in DB (30d expiry)\n5. Audit log created\n```\n\n#### 2. OAuth 2.0 (Google, GitHub)\n\n**Flow:**\n```\n1. User clicks \"Continue with Google/GitHub\"\n2. Redirected to provider authorization page\n3. User grants permissions\n4. Provider redirects to /callback with code\n5. ArchiCore exchanges code for access token\n6. Fetches user profile (email, name, avatar)\n7. Creates user if first login OR logs in existing\n8. JWT token issued\n9. Redirected to dashboard with token in URL\n10. Frontend saves token to localStorage\n```\n\n**Implemented Providers:**\n- ✅ Google OAuth 2.0 (scope: profile, email)\n- ✅ GitHub OAuth 2.0 (scope: user:email)\n\n#### 3. Device Flow (CLI)\n\n**Flow for CLI authentication:**\n```\n1. CLI requests device code: POST /api/auth/device/code\n2. Server returns: {device_code, user_code, verification_url}\n3. CLI displays: \"Go to https://archicore.io/auth/device and enter: ABCD-1234\"\n4. User opens browser, enters code\n5. User authorizes device\n6. CLI polls: POST /api/auth/device/token with device_code\n7. On success, receives JWT token\n8. Token saved to ~/.archicore/config.json\n```\n\n#### 4. API Keys\n\n**For programmatic access:**\n```\n1. User creates API key via dashboard (/developer)\n2. Key format: ak_xxxxxxxxxxxxxxxxxx (40 chars)\n3. Key stored hashed in database\n4. Use in requests: X-API-Key: ak_xxx\n5. Keys can be revoked or deleted\n6. Supports expiration (optional)\n```\n\n### Security Features\n\n#### Password Security\n- **Hashing**: bcrypt with 10 salt rounds\n- **Validation**: Min 8 chars, complexity requirements (planned)\n- **Reset**: Email-based password reset (planned)\n\n#### JWT Tokens\n- **Algorithm**: HS256\n- **Expiry**: 24 hours (configurable)\n- **Payload**: userId, email, role, tier\n- **Secret**: From environment variable JWT_SECRET\n- **Refresh**: Refresh tokens with 30d expiry (planned)\n\n#### Disposable Email Protection\n- **Database**: 180+ temporary email domains\n- **Blocked services**: 10minutemail, guerrillamail, mailinator, yopmail, temp-mail, etc.\n- **Check points**: Registration, email verification, OAuth\n- **Error message**: \"Temporary/disposable email addresses are not allowed\"\n\n#### Email Verification\n- **Code**: 6 random digits\n- **Expiry**: 10 minutes\n- **Storage**: In-memory Map (auto-cleanup on expiry)\n- **Rate limit**: 30 seconds between resends\n- **Transport**: SMTP via Zoho (TLS, port 587)\n- **Templates**: Branded HTML emails\n\n#### Rate Limiting\n- **Global**: 100 requests per 15 minutes per IP\n- **Auth endpoints**: 5 login attempts per 15 minutes\n- **Email sending**: 3 codes per hour per email\n- **Headers**: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset\n\n#### Encryption\n- **Algorithm**: AES-256-GCM\n- **Key**: From environment ENCRYPTION_KEY (32 chars)\n- **Use cases**: Sensitive user data, API keys in DB, OAuth tokens\n\n#### Audit Logging\n**All actions logged:**\n- Authentication (login, logout, register, OAuth)\n- Project operations (create, update, delete)\n- Analysis requests\n- Admin actions (user management, settings changes)\n- API key operations\n\n**Log fields:**\n- userId, username, action, timestamp, ip, userAgent\n- success/failure, errorMessage\n- details (JSON with context-specific data)\n\n#### CORS & Headers\n- **CORS**: Configurable whitelist (production), allow-all (development)\n- **Helmet.js**: CSP, HSTS, X-Frame-Options, XSS Protection\n- **Gzip**: Response compression\n\n#### HTTPS\n- **Production**: Let's Encrypt SSL certificates\n- **Auto-renewal**: Certbot cron job\n- **Redirect**: HTTP → HTTPS (nginx)\n- **HSTS**: Strict-Transport-Security header\n\n---\n\n## ⚙️ Configuration\n\n### Environment Variables\n\nПолный список переменных окружения:\n\n```env\n# ═══════════════════════════════════════════════════════════\n# SERVER CONFIGURATION\n# ═══════════════════════════════════════════════════════════\nPORT=3000\nNODE_ENV=production\nBASE_URL=https://archicore.io\n\n# ═══════════════════════════════════════════════════════════\n# DATABASE\n# ═══════════════════════════════════════════════════════════\nDATABASE_URL=postgresql://user:password@localhost:5432/archicore\nDATABASE_POOL_MIN=2\nDATABASE_POOL_MAX=20\n\n# ═══════════════════════════════════════════════════════════\n# REDIS CACHE\n# ═══════════════════════════════════════════════════════════\nREDIS_URL=redis://localhost:6379\nREDIS_PASSWORD=\nREDIS_DB=0\n\n# ═══════════════════════════════════════════════════════════\n# QDRANT VECTOR DATABASE\n# ═══════════════════════════════════════════════════════════\nQDRANT_URL=http://localhost:6333\nQDRANT_API_KEY=\nQDRANT_COLLECTION_NAME=archicore\n\n# ═══════════════════════════════════════════════════════════\n# AI PROVIDERS\n# ═══════════════════════════════════════════════════════════\n\n# Anthropic Claude (Рекомендуется)\nANTHROPIC_API_KEY=sk-ant-api03-xxx\nANTHROPIC_MODEL=claude-sonnet-4-20250514\n# Доступные модели:\n# - claude-opus-4-20250514 (самый умный, дорогой)\n# - claude-sonnet-4-20250514 (баланс качество/цена) ⭐\n# - claude-haiku-4-20250514 (быстрый, дешевый)\n\n# OpenAI GPT\nOPENAI_API_KEY=sk-xxx\nOPENAI_MODEL=gpt-4-turbo-preview\n# Доступные модели:\n# - gpt-4-turbo-preview (новый GPT-4 Turbo)\n# - gpt-4 (стандартный GPT-4)\n# - gpt-3.5-turbo (быстрый, дешевый)\n\n# DeepSeek (Бюджетный вариант)\nDEEPSEEK_API_KEY=sk-xxx\nDEEPSEEK_MODEL=deepseek-chat\n# Доступные модели:\n# - deepseek-chat (общего назначения)\n# - deepseek-coder (для кода) ⭐\n\n# Jina AI (Embeddings)\nJINA_API_KEY=jina_xxx\nJINA_MODEL=jina-embeddings-v2-base-code\n\n# ═══════════════════════════════════════════════════════════\n# OAUTH PROVIDERS\n# ═══════════════════════════════════════════════════════════\n\n# Google OAuth 2.0\nGOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com\nGOOGLE_CLIENT_SECRET=GOCSPX-xxx\nGOOGLE_CALLBACK_URL=https://archicore.io/api/auth/oauth/google/callback\n\n# GitHub OAuth\nGITHUB_CLIENT_ID=xxx\nGITHUB_CLIENT_SECRET=xxx\nGITHUB_CALLBACK_URL=https://archicore.io/api/auth/oauth/github/callback\n\n# ═══════════════════════════════════════════════════════════\n# EMAIL (SMTP)\n# ═══════════════════════════════════════════════════════════\nSMTP_HOST=smtp.zoho.com\nSMTP_PORT=587\nSMTP_SECURE=false\nZOHO_SMTP_USER=noreply@archicore.io\nZOHO_SMTP_PASS=xxx\nEMAIL_FROM_ADDRESS=noreply@archicore.io\nEMAIL_FROM_NAME=ArchiCore\n\n# ═══════════════════════════════════════════════════════════\n# SECURITY\n# ═══════════════════════════════════════════════════════════\nJWT_SECRET=your-super-secret-jwt-key-min-32-chars\nJWT_EXPIRY=24h\nENCRYPTION_KEY=your-32-character-encryption-key\nSESSION_SECRET=your-session-secret-min-32-chars\n\n# CORS\nCORS_ORIGIN=https://archicore.io,https://app.archicore.io\nCORS_CREDENTIALS=true\n\n# Rate Limiting\nRATE_LIMIT_WINDOW_MS=900000\nRATE_LIMIT_MAX_REQUESTS=100\n\n# ═══════════════════════════════════════════════════════════\n# ADMIN\n# ═══════════════════════════════════════════════════════════\nADMIN_EMAIL=admin@archicore.io\nADMIN_PASSWORD=change-this-in-production\n\n# ═══════════════════════════════════════════════════════════\n# FEATURES (Optional)\n# ═══════════════════════════════════════════════════════════\nENABLE_GITHUB_INTEGRATION=true\nENABLE_WEBHOOKS=true\nENABLE_METRICS=true\nENABLE_ANALYTICS=true\n\n# ═══════════════════════════════════════════════════════════\n# LOGGING\n# ═══════════════════════════════════════════════════════════\nLOG_LEVEL=info\n# Levels: error, warn, info, debug, trace\nLOG_FORMAT=json\n# Formats: json, pretty\n```\n\n### Architecture Configuration\n\nФайл `.archicore/architecture.json` для определения правил архитектуры:\n\n```json\n{\n  \"boundedContexts\": [\n    {\n      \"id\": \"auth\",\n      \"name\": \"Authentication Context\",\n      \"description\": \"User authentication and authorization\",\n      \"modules\": [\"src/server/routes/auth.ts\", \"src/server/services/auth-service.ts\"],\n      \"dependencies\": [],\n      \"prohibitedDependencies\": [\"src/ui\", \"src/business-logic\"]\n    },\n    {\n      \"id\": \"core\",\n      \"name\": \"Core Business Logic\",\n      \"description\": \"Main business domain\",\n      \"modules\": [\"src/core\"],\n      \"dependencies\": [\"auth\"],\n      \"prohibitedDependencies\": [\"src/infrastructure\"]\n    }\n  ],\n  \"entities\": [\n    {\n      \"id\": \"user\",\n      \"name\": \"User\",\n      \"context\": \"auth\",\n      \"properties\": [\"id\", \"email\", \"username\", \"role\"],\n      \"relationships\": [\n        {\"entity\": \"project\", \"type\": \"one-to-many\"}\n      ],\n      \"invariants\": [\n        \"email must be unique\",\n        \"email must be verified before login\"\n      ]\n    }\n  ],\n  \"rules\": [\n    {\n      \"id\": \"no-circular-deps\",\n      \"description\": \"No circular dependencies allowed\",\n      \"severity\": \"error\",\n      \"check\": \"circular-dependencies\"\n    },\n    {\n      \"id\": \"layer-separation\",\n      \"description\": \"UI layer cannot depend on database layer\",\n      \"severity\": \"error\",\n      \"check\": \"layer-violation\",\n      \"config\": {\n        \"layers\": [\"ui\", \"business\", \"data\"],\n        \"allowedDependencies\": {\n          \"ui\": [\"business\"],\n          \"business\": [\"data\"],\n          \"data\": []\n        }\n      }\n    }\n  ],\n  \"invariants\": [\n    \"All API endpoints must have rate limiting\",\n    \"All user actions must be logged in audit\",\n    \"Passwords must be hashed with bcrypt\"\n  ]\n}\n```\n\n### Docker Compose Configuration\n\nПример production `docker-compose.yml`:\n\n```yaml\nversion: '3.9'\n\nservices:\n  # ArchiCore Application\n  archicore:\n    build: .\n    container_name: archicore\n    restart: unless-stopped\n    ports:\n      - \"3000:3000\"\n    environment:\n      - NODE_ENV=production\n      - DATABASE_URL=postgresql://postgres:${DB_PASSWORD}@postgres:5432/archicore\n      - REDIS_URL=redis://redis:6379\n      - QDRANT_URL=http://qdrant:6333\n    env_file:\n      - .env\n    depends_on:\n      - postgres\n      - redis\n      - qdrant\n    volumes:\n      - ./data:/app/data\n    networks:\n      - archicore-network\n    healthcheck:\n      test: [\"CMD\", \"curl\", \"-f\", \"http://localhost:3000/health\"]\n      interval: 30s\n      timeout: 10s\n      retries: 3\n\n  # PostgreSQL Database\n  postgres:\n    image: postgres:15-alpine\n    container_name: archicore-postgres\n    restart: unless-stopped\n    environment:\n      - POSTGRES_USER=postgres\n      - POSTGRES_PASSWORD=${DB_PASSWORD}\n      - POSTGRES_DB=archicore\n    volumes:\n      - postgres-data:/var/lib/postgresql/data\n    networks:\n      - archicore-network\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U postgres\"]\n      interval: 10s\n      timeout: 5s\n      retries: 5\n\n  # Redis Cache\n  redis:\n    image: redis:7-alpine\n    container_name: archicore-redis\n    restart: unless-stopped\n    command: redis-server --appendonly yes\n    volumes:\n      - redis-data:/data\n    networks:\n      - archicore-network\n    healthcheck:\n      test: [\"CMD\", \"redis-cli\", \"ping\"]\n      interval: 10s\n      timeout: 3s\n      retries: 3\n\n  # Qdrant Vector Database\n  qdrant:\n    image: qdrant/qdrant:latest\n    container_name: archicore-qdrant\n    restart: unless-stopped\n    volumes:\n      - qdrant-data:/qdrant/storage\n    networks:\n      - archicore-network\n    healthcheck:\n      test: [\"CMD-SHELL\", \"timeout 1 bash -c '</dev/tcp/localhost/6333'\"]\n      interval: 10s\n      timeout: 5s\n      retries: 3\n\n  # Nginx Reverse Proxy (Optional)\n  nginx:\n    image: nginx:alpine\n    container_name: archicore-nginx\n    restart: unless-stopped\n    ports:\n      - \"80:80\"\n      - \"443:443\"\n    volumes:\n      - ./nginx.conf:/etc/nginx/nginx.conf:ro\n      - ./ssl:/etc/nginx/ssl:ro\n    depends_on:\n      - archicore\n    networks:\n      - archicore-network\n\nvolumes:\n  postgres-data:\n  redis-data:\n  qdrant-data:\n\nnetworks:\n  archicore-network:\n    driver: bridge\n```\n\n---\n\n## 🚢 Deployment\n\n### Production Deployment (Linux Server)\n\nПолная инструкция для deployment на production сервер.\n\n#### Prerequisites\n\n- Ubuntu 20.04+ / Debian 11+ / CentOS 8+\n- Root или sudo доступ\n- Домен с настроенным DNS (A record → server IP)\n\n#### Step 1: Prepare Server\n\n```bash\n# Обновить систему\nsudo apt update && sudo apt upgrade -y\n\n# Установить Docker\ncurl -fsSL https://get.docker.com -o get-docker.sh\nsudo sh get-docker.sh\nsudo usermod -aG docker $USER\n\n# Установить Docker Compose\nsudo curl -L \"https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose\nsudo chmod +x /usr/local/bin/docker-compose\n\n# Установить Nginx\nsudo apt install nginx -y\n\n# Установить Certbot (Let's Encrypt)\nsudo apt install certbot python3-certbot-nginx -y\n```\n\n#### Step 2: Clone & Configure\n\n```bash\n# Клонировать репозиторий\ncd /opt\nsudo git clone https://github.com/yourusername/archicore.git\ncd archicore\n\n# Создать .env\nsudo cp .env.example .env\nsudo nano .env  # Заполнить production значения\n\n# Установить правильные permissions\nsudo chown -R $USER:$USER /opt/archicore\n```\n\n#### Step 3: SSL Certificate\n\n```bash\n# Получить SSL сертификат\nsudo certbot --nginx -d archicore.io -d www.archicore.io -d api.archicore.io -d docs.archicore.io\n\n# Auto-renewal настроен автоматически через systemd timer\n# Проверить:\nsudo systemctl status certbot.timer\n```\n\n#### Step 4: Nginx Configuration\n\n```bash\n# Создать конфиг\nsudo nano /etc/nginx/sites-available/archicore\n\n# Вставить:\n```\n\n```nginx\n# Main app (archicore.io)\nserver {\n    listen 443 ssl http2;\n    server_name archicore.io www.archicore.io;\n\n    ssl_certificate /etc/letsencrypt/live/archicore.io/fullchain.pem;\n    ssl_certificate_key /etc/letsencrypt/live/archicore.io/privkey.pem;\n\n    location / {\n        proxy_pass http://localhost:3000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection 'upgrade';\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_cache_bypass $http_upgrade;\n    }\n}\n\n# API subdomain (api.archicore.io)\nserver {\n    listen 443 ssl http2;\n    server_name api.archicore.io;\n\n    ssl_certificate /etc/letsencrypt/live/archicore.io/fullchain.pem;\n    ssl_certificate_key /etc/letsencrypt/live/archicore.io/privkey.pem;\n\n    location / {\n        proxy_pass http://localhost:3000/api;\n        proxy_http_version 1.1;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n\n# Redirect HTTP to HTTPS\nserver {\n    listen 80;\n    server_name archicore.io www.archicore.io api.archicore.io;\n    return 301 https://$host$request_uri;\n}\n```\n\n```bash\n# Включить сайт\nsudo ln -s /etc/nginx/sites-available/archicore /etc/nginx/sites-enabled/\nsudo nginx -t\nsudo systemctl reload nginx\n```\n\n#### Step 5: Start Services\n\n```bash\ncd /opt/archicore\n\n# Собрать образы\nsudo docker compose build\n\n# Запустить все сервисы\nsudo docker compose up -d\n\n# Проверить статус\nsudo docker compose ps\nsudo docker compose logs -f archicore\n```\n\n#### Step 6: Setup Systemd Service (Optional)\n\nДля автоматического запуска при перезагрузке:\n\n```bash\nsudo nano /etc/systemd/system/archicore.service\n```\n\n```ini\n[Unit]\nDescription=ArchiCore Application\nRequires=docker.service\nAfter=docker.service\n\n[Service]\nType=oneshot\nRemainAfterExit=yes\nWorkingDirectory=/opt/archicore\nExecStart=/usr/local/bin/docker-compose up -d\nExecStop=/usr/local/bin/docker-compose down\nTimeoutStartSec=0\n\n[Install]\nWantedBy=multi-user.target\n```\n\n```bash\nsudo systemctl enable archicore\nsudo systemctl start archicore\n```\n\n#### Step 7: Monitoring & Logs\n\n```bash\n# Просмотр логов\nsudo docker compose logs -f archicore\nsudo docker compose logs -f postgres\nsudo docker compose logs -f redis\n\n# Статус контейнеров\nsudo docker compose ps\n\n# Использование ресурсов\nsudo docker stats\n\n# Nginx access log\nsudo tail -f /var/log/nginx/access.log\n\n# Nginx error log\nsudo tail -f /var/log/nginx/error.log\n```\n\n#### Step 8: Backup Strategy\n\n```bash\n# Создать backup скрипт\nsudo nano /opt/archicore/backup.sh\n```\n\n```bash\n#!/bin/bash\nBACKUP_DIR=/opt/backups/archicore\nDATE=$(date +%Y%m%d_%H%M%S)\n\n# Создать директорию\nmkdir -p $BACKUP_DIR\n\n# Backup PostgreSQL\ndocker exec archicore-postgres pg_dump -U postgres archicore | gzip > $BACKUP_DIR/postgres_$DATE.sql.gz\n\n# Backup Redis\ndocker exec archicore-redis redis-cli BGSAVE\ndocker cp archicore-redis:/data/dump.rdb $BACKUP_DIR/redis_$DATE.rdb\n\n# Backup Qdrant\ndocker cp archicore-qdrant:/qdrant/storage $BACKUP_DIR/qdrant_$DATE\n\n# Удалить старые бэкапы (>30 дней)\nfind $BACKUP_DIR -name \"*.gz\" -mtime +30 -delete\n\necho \"Backup completed: $DATE\"\n```\n\n```bash\n# Сделать исполняемым\nsudo chmod +x /opt/archicore/backup.sh\n\n# Добавить в cron (ежедневно в 2 AM)\nsudo crontab -e\n0 2 * * * /opt/archicore/backup.sh >> /var/log/archicore-backup.log 2>&1\n```\n\n#### Step 9: Update Procedure\n\n```bash\n# Обновление ArchiCore до новой версии\ncd /opt/archicore\nsudo git pull origin main\nsudo docker compose build\nsudo docker compose up -d\n\n# Откатиться к предыдущей версии при проблемах\nsudo git log --oneline  # Найти хеш коммита\nsudo git checkout <commit-hash>\nsudo docker compose build\nsudo docker compose up -d\n```\n\n### CI/CD Pipeline (GitLab CI)\n\nПример `.gitlab-ci.yml`:\n\n```yaml\nstages:\n  - test\n  - build\n  - deploy\n\nvariables:\n  DOCKER_DRIVER: overlay2\n  DOCKER_TLS_CERTDIR: \"/certs\"\n\n# Run tests\ntest:\n  stage: test\n  image: node:18\n  cache:\n    paths:\n      - node_modules/\n  script:\n    - npm ci\n    - npm run lint\n    - npm run test  # Когда тесты будут написаны\n  only:\n    - merge_requests\n    - main\n\n# Build Docker image\nbuild:\n  stage: build\n  image: docker:latest\n  services:\n    - docker:dind\n  script:\n    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY\n    - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA .\n    - docker build -t $CI_REGISTRY_IMAGE:latest .\n    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA\n    - docker push $CI_REGISTRY_IMAGE:latest\n  only:\n    - main\n\n# Deploy to production\ndeploy_production:\n  stage: deploy\n  image: alpine:latest\n  before_script:\n    - apk add --no-cache openssh-client\n    - eval $(ssh-agent -s)\n    - echo \"$SSH_PRIVATE_KEY\" | tr -d '\\r' | ssh-add -\n    - mkdir -p ~/.ssh\n    - chmod 700 ~/.ssh\n    - ssh-keyscan $PRODUCTION_SERVER >> ~/.ssh/known_hosts\n  script:\n    - ssh $PRODUCTION_USER@$PRODUCTION_SERVER \"cd /opt/archicore && git pull && docker compose pull && docker compose up -d\"\n  only:\n    - main\n  when: manual\n```\n\n---\n\n## 📚 API Reference\n\n### Authentication API\n\n#### POST /api/auth/register\n\nРегистрация нового пользователя.\n\n**Request:**\n```json\n{\n  \"email\": \"user@example.com\",\n  \"password\": \"SecurePass123!\",\n  \"username\": \"johndoe\"\n}\n```\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"message\": \"Verification code sent to your email\"\n}\n```\n\n**Errors:**\n- `400` - Invalid email/password, disposable email blocked\n- `409` - Email already exists\n\n---\n\n#### POST /api/auth/verify-email\n\nПодтверждение email с verification code.\n\n**Request:**\n```json\n{\n  \"email\": \"user@example.com\",\n  \"code\": \"123456\"\n}\n```\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n  \"user\": {\n    \"id\": \"usr_abc123\",\n    \"email\": \"user@example.com\",\n    \"username\": \"johndoe\",\n    \"role\": \"user\",\n    \"tier\": \"free\",\n    \"createdAt\": \"2026-01-17T10:00:00Z\"\n  }\n}\n```\n\n**Errors:**\n- `400` - Invalid or expired code\n- `404` - Email not found\n\n---\n\n#### POST /api/auth/login\n\nВход с email и паролем.\n\n**Request:**\n```json\n{\n  \"email\": \"user@example.com\",\n  \"password\": \"SecurePass123!\"\n}\n```\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n  \"user\": {\n    \"id\": \"usr_abc123\",\n    \"email\": \"user@example.com\",\n    \"username\": \"johndoe\",\n    \"role\": \"user\",\n    \"tier\": \"pro\",\n    \"createdAt\": \"2026-01-17T10:00:00Z\"\n  }\n}\n```\n\n**Errors:**\n- `401` - Invalid credentials\n- `403` - Email not verified\n\n---\n\n### Projects API\n\n#### GET /api/projects\n\nПолучить список проектов пользователя.\n\n**Headers:**\n```\nAuthorization: Bearer <token>\n```\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"projects\": [\n    {\n      \"id\": \"proj_abc123\",\n      \"name\": \"E-commerce Platform\",\n      \"description\": \"Online store backend\",\n      \"githubUrl\": \"https://github.com/user/ecommerce\",\n      \"language\": \"TypeScript\",\n      \"filesCount\": 243,\n      \"linesOfCode\": 15420,\n      \"indexed\": true,\n      \"lastIndexed\": \"2026-01-17T12:00:00Z\",\n      \"createdAt\": \"2026-01-15T10:00:00Z\"\n    }\n  ]\n}\n```\n\n---\n\n#### POST /api/projects\n\nСоздать новый проект.\n\n**Request:**\n```json\n{\n  \"name\": \"E-commerce Platform\",\n  \"description\": \"Online store backend\",\n  \"githubUrl\": \"https://github.com/user/ecommerce\"\n}\n```\n\n**Response (201):**\n```json\n{\n  \"success\": true,\n  \"project\": {\n    \"id\": \"proj_abc123\",\n    \"name\": \"E-commerce Platform\",\n    \"description\": \"Online store backend\",\n    \"githubUrl\": \"https://github.com/user/ecommerce\",\n    \"indexed\": false,\n    \"createdAt\": \"2026-01-17T12:00:00Z\"\n  }\n}\n```\n\n---\n\n#### POST /api/projects/:id/index\n\nИндексировать код проекта.\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"stats\": {\n    \"filesProcessed\": 243,\n    \"symbolsExtracted\": 1854,\n    \"graphNodes\": 2107,\n    \"graphEdges\": 4523,\n    \"vectorsCreated\": 1854,\n    \"languages\": {\n      \"TypeScript\": 180,\n      \"JavaScript\": 45,\n      \"JSON\": 18\n    },\n    \"symbols\": {\n      \"function\": 892,\n      \"class\": 156,\n      \"interface\": 234,\n      \"variable\": 572\n    }\n  }\n}\n```\n\n---\n\n### Analysis API\n\n#### POST /api/analyze/impact\n\nАнализ влияния изменений.\n\n**Request:**\n```json\n{\n  \"projectId\": \"proj_abc123\",\n  \"change\": {\n    \"type\": \"modify\",\n    \"description\": \"Refactor payment service\",\n    \"files\": [\"src/services/payment-service.ts\"],\n    \"symbols\": [\"PaymentService\", \"processPayment\"]\n  }\n}\n```\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"impact\": {\n    \"affectedComponents\": [\n      {\n        \"id\": \"PaymentController\",\n        \"file\": \"src/controllers/payment.ts\",\n        \"line\": 45,\n        \"severity\": \"critical\",\n        \"reason\": \"Direct dependency on PaymentService\"\n      },\n      {\n        \"id\": \"OrderService\",\n        \"file\": \"src/services/order-service.ts\",\n        \"line\": 120,\n        \"severity\": \"high\",\n        \"reason\": \"Calls PaymentService.processPayment()\"\n      }\n    ],\n    \"risks\": [\n      {\n        \"severity\": \"critical\",\n        \"message\": \"Breaking change in public API\",\n        \"recommendation\": \"Add deprecation warnings\"\n      },\n      {\n        \"severity\": \"high\",\n        \"message\": \"12 components depend on modified code\",\n        \"recommendation\": \"Review all affected components\"\n      }\n    ],\n    \"recommendations\": [\n      \"Add integration tests for payment flow\",\n      \"Update API documentation\",\n      \"Notify team about breaking changes\"\n    ],\n    \"summary\": {\n      \"total\": 23,\n      \"critical\": 3,\n      \"high\": 12,\n      \"medium\": 6,\n      \"low\": 2\n    }\n  }\n}\n```\n\n---\n\n#### POST /api/analyze/security\n\nАнализ безопасности кода.\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"findings\": [\n    {\n      \"severity\": \"critical\",\n      \"type\": \"SQL Injection\",\n      \"file\": \"src/database/users.ts\",\n      \"line\": 45,\n      \"message\": \"Unsanitized user input in SQL query\",\n      \"recommendation\": \"Use parameterized queries\"\n    },\n    {\n      \"severity\": \"high\",\n      \"type\": \"XSS Vulnerability\",\n      \"file\": \"src/views/profile.ts\",\n      \"line\": 23,\n      \"message\": \"Unescaped user content in HTML\",\n      \"recommendation\": \"Use proper HTML escaping\"\n    }\n  ],\n  \"summary\": {\n    \"critical\": 1,\n    \"high\": 3,\n    \"medium\": 7,\n    \"low\": 12,\n    \"info\": 5\n  }\n}\n```\n\n---\n\n### AI API\n\n#### POST /api/ai/search\n\nСемантический поиск кода.\n\n**Request:**\n```json\n{\n  \"projectId\": \"proj_abc123\",\n  \"query\": \"функции валидации email\",\n  \"limit\": 5\n}\n```\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"results\": [\n    {\n      \"file\": \"src/utils/validators.ts\",\n      \"line\": 45,\n      \"code\": \"export function validateEmail(email: string): boolean {\",\n      \"relevance\": 0.942,\n      \"context\": \"Email validation utility\"\n    },\n    {\n      \"file\": \"src/auth/email-validator.ts\",\n      \"line\": 12,\n      \"code\": \"class EmailValidator implements IValidator {\",\n      \"relevance\": 0.897,\n      \"context\": \"Authentication email validation\"\n    }\n  ]\n}\n```\n\n---\n\n#### POST /api/ai/ask\n\nЗадать вопрос AI архитектору.\n\n**Request:**\n```json\n{\n  \"projectId\": \"proj_abc123\",\n  \"question\": \"Как организована аутентификация в системе?\"\n}\n```\n\n**Response (200):**\n```json\n{\n  \"success\": true,\n  \"answer\": \"В системе используется многоуровневая аутентификация:\\n\\n1. **JWT Tokens** - основной механизм (src/auth/jwt.ts)\\n2. **OAuth 2.0** - Google и GitHub (src/auth/oauth/)\\n3. **Email Verification** - подтверждение через SMTP (src/auth/email-verify.ts)\\n\\nПоток аутентификации:\\n- User → Email+Password OR OAuth\\n- Verification code → Email\\n- Code validation → JWT token\\n- Token → Stored in localStorage\\n- Requests → Authorization: Bearer <token>\\n\\nБезопасность:\\n- Passwords: bcrypt (10 rounds)\\n- Tokens: HS256, 24h expiry\\n- Rate limiting: 5 attempts/15min\",\n  \"sources\": [\n    {\"file\": \"src/auth/jwt.ts\", \"relevance\": 0.95},\n    {\"file\": \"src/auth/oauth/google.ts\", \"relevance\": 0.88},\n    {\"file\": \"src/auth/email-verify.ts\", \"relevance\": 0.91}\n  ]\n}\n```\n\n---\n\n## 🛠️ Development\n\n### Setup Development Environment\n\n```bash\n# Clone repository\ngit clone https://github.com/yourusername/archicore.git\ncd archicore\n\n# Install dependencies\nnpm install\n\n# Start databases (Docker)\ndocker compose -f docker-compose.dev.yml up -d\n\n# Copy env file\ncp .env.example .env\n\n# Fill in development keys\nnano .env\n\n# Start in development mode (with hot reload)\nnpm run dev\n```\n\n### Project Structure\n\n```\narchicore/\n├── public/                    # Frontend (SPA-like vanilla JS)\n│   ├── index.html            # Dashboard\n│   ├── auth.html             # Authentication page\n│   ├── pricing.html          # Pricing page\n│   ├── admin.html            # Admin panel\n│   ├── privacy.html          # Privacy policy\n│   ├── terms.html            # Terms of service\n│   └── assets/               # Static assets\n├── src/\n│   ├── server/               # Backend (Express)\n│   │   ├── routes/           # API routes\n│   │   │   ├── auth.ts       # Authentication endpoints\n│   │   │   ├── oauth.ts      # OAuth flows\n│   │   │   ├── projects.ts   # Project management\n│   │   │   ├── analyze.ts    # Analysis endpoints\n│   │   │   ├── ai.ts         # AI endpoints\n│   │   │   ├── admin.ts      # Admin endpoints\n│   │   │   └── developer.ts  # API keys management\n│   │   ├── services/         # Business logic\n│   │   │   ├── auth-service.ts\n│   │   │   ├── audit-service.ts\n│   │   │   ├── database.ts\n│   │   │   ├── email-service.ts\n│   │   │   └── encryption.ts\n│   │   ├── config/           # Configuration\n│   │   │   └── passport.ts   # OAuth strategies\n│   │   └── middleware/       # Express middleware\n│   ├── code-index/           # Code indexing engine\n│   │   ├── index.ts          # Main indexer\n│   │   ├── ast-parser.ts     # Tree-sitter parser\n│   │   ├── symbol-extractor.ts\n│   │   └── dependency-graph.ts\n│   ├── semantic-memory/      # Vector DB layer\n│   │   ├── index.ts\n│   │   ├── embedding-service.ts  # Jina AI\n│   │   └── vector-store.ts       # Qdrant\n│   ├── impact-engine/        # Change impact analysis\n│   │   └── index.ts\n│   ├── orchestrator/         # AI orchestration\n│   │   └── index.ts          # Claude/GPT/DeepSeek\n│   ├── analyzers/            # Code analyzers\n│   │   ├── security.ts\n│   │   ├── dead-code.ts\n│   │   ├── duplication.ts\n│   │   └── metrics.ts\n│   ├── cli/                  # CLI tool\n│   │   └── commands/\n│   ├── types/                # TypeScript types\n│   └── utils/                # Utilities\n├── .archicore/               # Architecture config\n│   └── architecture.json\n├── docker-compose.yml        # Production compose\n├── docker-compose.dev.yml    # Development compose\n├── Dockerfile\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n### Available Scripts\n\n```bash\n# Development\nnpm run dev              # Start with hot reload (tsx watch)\nnpm run dev:debug        # Start with debugger\n\n# Build\nnpm run build            # Compile TypeScript\nnpm run build:frontend   # Minify & obfuscate frontend\nnpm run build:all        # Build backend + frontend\n\n# Production\nnpm start                # Start production server\n\n# CLI\nnpm run cli              # Run CLI commands\n\n# Database\nnpm run db:migrate       # Run migrations (planned)\nnpm run db:seed          # Seed database (planned)\n\n# Testing\nnpm test                 # Run tests (planned)\nnpm run test:watch       # Watch mode (planned)\nnpm run test:coverage    # Coverage report (planned)\n\n# Linting\nnpm run lint             # ESLint\nnpm run lint:fix         # Auto-fix issues\nnpm run format           # Prettier (planned)\n\n# Docker\nnpm run docker:build     # Build Docker image\nnpm run docker:up        # Start containers\nnpm run docker:down      # Stop containers\nnpm run docker:logs      # View logs\n```\n\n### Code Style\n\n- **Language**: TypeScript (strict mode)\n- **Formatting**: Prettier (2 spaces, single quotes)\n- **Linting**: ESLint (Airbnb config)\n- **Naming**:\n  - Files: `kebab-case.ts`\n  - Classes: `PascalCase`\n  - Functions: `camelCase`\n  - Constants: `UPPER_SNAKE_CASE`\n  - Interfaces: `PascalCase` (no `I` prefix)\n\n### Contributing Guidelines\n\n1. **Fork** the repository\n2. **Create** feature branch (`git checkout -b feature/amazing-feature`)\n3. **Commit** changes (`git commit -m 'Add amazing feature'`)\n4. **Push** to branch (`git push origin feature/amazing-feature`)\n5. **Open** Pull Request\n\n**PR Requirements:**\n- Clear description of changes\n- Tests for new features (when test framework is ready)\n- No linting errors\n- Updated documentation if needed\n\n---\n\n## 🗺️ Roadmap\n\n### Q1 2026 (Current)\n\n- [x] ✅ Core code indexing (AST + dependency graph)\n- [x] ✅ Semantic memory (Qdrant + embeddings)\n- [x] ✅ Impact analysis engine\n- [x] ✅ Web dashboard\n- [x] ✅ Authentication (Email, OAuth, Device Flow)\n- [x] ✅ Email verification system\n- [x] ✅ Disposable email protection\n- [x] ✅ PostgreSQL integration\n- [x] ✅ Redis caching\n- [x] ✅ Audit logging\n- [x] ✅ Admin panel\n- [x] ✅ Domain & SSL setup\n- [ ] ⏳ Payment integration (Revolut)\n- [ ] ⏳ Unit & integration tests\n\n### Q2 2026\n\n- [ ] GitHub PR analysis (automatic comments)\n- [ ] GitLab integration\n- [ ] VS Code extension\n- [ ] Slack/Discord notifications\n- [ ] Custom architecture rules engine\n- [ ] Team collaboration features\n- [ ] Advanced metrics dashboard\n- [ ] Code quality trends\n\n### Q3 2026\n\n- [ ] JetBrains IDE plugin (IntelliJ, WebStorm)\n- [ ] Automated refactoring suggestions with code generation\n- [ ] Technical debt tracking & prioritization\n- [ ] AI-powered architecture recommendations\n- [ ] On-premise deployment option\n- [ ] SAML/SSO authentication\n\n### Q4 2026\n\n- [ ] Real-time collaboration (shared analysis sessions)\n- [ ] Custom LLM fine-tuning for domain-specific code\n- [ ] Advanced visualization (3D dependency graphs)\n- [ ] Mobile app (iOS/Android)\n- [ ] Kubernetes operator\n- [ ] Multi-region deployment\n\n### Future Vision\n\n- **AI Pair Programmer**: Real-time coding assistant with full codebase context\n- **Autonomous Refactoring**: AI automatically refactors technical debt\n- **Predictive Analytics**: Predict bugs before they happen\n- **Architecture Governance**: Enforce architectural rules at commit time\n- **Cross-Project Intelligence**: Learn from multiple projects to improve recommendations\n\n---\n\n## 📄 License\n\nMIT License\n\nCopyright (c) 2026 ArchiCore\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n---\n\n## 📚 Documentation\n\n- **[Complete API & CLI Reference](./API_CLI_REFERENCE.md)** - Все endpoints, команды и языки\n- **[Online Documentation](https://docs.archicore.io)** - Интерактивная документация\n- **[TODO & Roadmap](./TODO.md)** - Планы развития\n- **[Business Model](./BUSINESS-QA.md)** - Бизнес-модель\n\n## 🤝 Support\n\n- **Email**: support@archicore.io\n- **GitHub Issues**: https://github.com/yourusername/archicore/issues\n- **Twitter**: [@archicore_ai](https://twitter.com/archicore_ai)\n- **Discord**: https://discord.gg/archicore (coming soon)\n\n---\n\n## 🙏 Acknowledgments\n\n- **Tree-sitter** - Parsing framework\n- **Qdrant** - Vector database\n- **Anthropic** - Claude AI\n- **Jina AI** - Code embeddings\n- **PostgreSQL** - Reliable database\n- **Redis** - Fast caching\n- **Express.js** - Web framework\n- **Docker** - Containerization\n- **All contributors** who helped make ArchiCore better!\n\n---\n\n<div align=\"center\">\n\n**[⬆ Back to Top](#archicore---ai-software-architect)**\n\nMade with ❤️ by the ArchiCore Team\n\n</div>\n","readmeFilename":"README.md"}