{"_id":"@ai-coders/installer","_rev":"7-412ff821f0f16159ac03ef21cab7b0f8","name":"@ai-coders/installer","dist-tags":{"latest":"0.7.0"},"versions":{"0.3.0":{"name":"@ai-coders/installer","version":"0.3.0","license":"UNLICENSED","_id":"@ai-coders/installer@0.3.0","maintainers":[{"name":"vinilana","email":"viniciuslanadev@gmail.com"}],"homepage":"https://github.com/vinilana/ai-coders-installers#readme","bugs":{"url":"https://github.com/vinilana/ai-coders-installers/issues"},"bin":{"ai-coders-installer":"dist/cli.js"},"dist":{"shasum":"6d8c6c2a6a36a9b3e14cf16547a6fd605efbe70e","tarball":"https://registry.npmjs.org/@ai-coders/installer/-/installer-0.3.0.tgz","fileCount":127,"integrity":"sha512-TtpeX0NBVlTW/TtmGBAyV9mYQIbezSUo9yzDssELUDvHwjvHZIKnjkTD6+37Z6ABUC/nBAOhZDYll8bbKMVXJg==","signatures":[{"sig":"MEYCIQDwvh3pPkw3IsGflpIDMwsgDQgtFSdeNEH4R2zqjPdKFQIhAIev8slHPgH1DRK005vWd4hceu7QBMsy4itpXQdkuiOT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1625940},"type":"module","engines":{"node":">=22.20.0"},"gitHead":"751311189f94cfa92da97b32c24b9943353cd099","private":false,"scripts":{"test":"vitest run test && npm run test --workspaces --if-present","build":"npm run build --workspaces --if-present && tsc -p tsconfig.json --pretty false","check":"npm run typecheck && npm run test && npm run build && npm run check:package","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --pretty false --noEmit && tsc -p tsconfig.test.json --pretty false --noEmit && npm run typecheck --workspaces --if-present","check:package":"node scripts/check-package.mjs","prepublishOnly":"npm run check"},"_npmUser":{"name":"vinilana","email":"viniciuslanadev@gmail.com"},"repository":{"url":"git+https://github.com/vinilana/ai-coders-installers.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI Coders product installers.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"4.4.3","ssh2":"^1.17.0","@invokta/mcp":"0.5.0","libsodium-wrappers":"^0.8.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/installer_0.3.0_1787170181817_0.0718602123027472","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ai-coders/installer","version":"0.4.0","license":"UNLICENSED","_id":"@ai-coders/installer@0.4.0","maintainers":[{"name":"vinilana","email":"viniciuslanadev@gmail.com"}],"homepage":"https://github.com/vinilana/ai-coders-installers#readme","bugs":{"url":"https://github.com/vinilana/ai-coders-installers/issues"},"bin":{"ai-coders-installer":"dist/cli.js"},"dist":{"shasum":"7b899564636e0f0282f8c0835b7b0a0ee071897b","tarball":"https://registry.npmjs.org/@ai-coders/installer/-/installer-0.4.0.tgz","fileCount":145,"integrity":"sha512-MnyvklvPPgg9QS1S4elYCBGquvX8duFys+8Nad8H21ZrWjrjm7F0YDKK5Zwsrm8ORWqHIP9m5tLx1U6DBcw3vQ==","signatures":[{"sig":"MEUCIQCaiwbhpLKVN1cNZL3N4kTulTtoOONiVn1mITwwuxykEgIgCDsOyeF8cftiNgs2ynBXFSOHdiIGROthXhSUxIjdcoY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICRGWFriyY8TTBPxtGjW1hwK59uQUeEBJVxA1v0y282LAiBq8SEPn5TAhAcOWyvRqiv5RVFmwaWbVSLe8vyWI258KQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1709236},"type":"module","engines":{"node":">=22.20.0"},"gitHead":"2f26626cbd391811ce89ca1eba62fa867cc5fc63","private":false,"scripts":{"test":"vitest run test && npm run test --workspaces --if-present","build":"npm run build --workspaces --if-present && tsc -p tsconfig.json --pretty false","check":"npm run typecheck && npm run test && npm run build && npm run check:package","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --pretty false --noEmit && tsc -p tsconfig.test.json --pretty false --noEmit && npm run typecheck --workspaces --if-present","check:package":"node scripts/check-package.mjs","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:278a6e31-4280-42b7-9fe4-d1b8e1879b71"}},"repository":{"url":"git+https://github.com/vinilana/ai-coders-installers.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI Coders product installers.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"tar":"7.5.22","zod":"4.4.3","ssh2":"^1.17.0","@invokta/mcp":"0.5.0","libsodium-wrappers":"^0.8.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/installer_0.4.0_1787516378056_0.05215892570417435","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@ai-coders/installer","version":"0.5.0","license":"UNLICENSED","_id":"@ai-coders/installer@0.5.0","maintainers":[{"name":"vinilana","email":"viniciuslanadev@gmail.com"}],"homepage":"https://github.com/vinilana/ai-coders-installers#readme","bugs":{"url":"https://github.com/vinilana/ai-coders-installers/issues"},"bin":{"ai-coders-installer":"dist/cli.js"},"dist":{"shasum":"df0f0f719a2000b3c5439ce8a396a144077cb53e","tarball":"https://registry.npmjs.org/@ai-coders/installer/-/installer-0.5.0.tgz","fileCount":148,"integrity":"sha512-xBYShmBiclU26OHaQ4uIN8ESVmy/JwZYjWkCIwFeoosdG02VoYoe81YkM+IfObNpDEX4f7VhG4VuZbVuaA6HHg==","signatures":[{"sig":"MEYCIQCKhLVQySSJBNtRVrVaR1micoh6GWV63/I6qbWgiSUs/gIhAMxH7QNfnYkAMl5JMCQHO2Q7Y+3HhdZ1Z96RouhggjjG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG9U1nrTXy4ecN1U4+Bp0nxGQ0tVrsczjXLMsCYOEINdAiEA1eGURar4VHtaSzhIdinfwcyVhabTCJ1rdlrtlyl8vwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1713713},"type":"module","engines":{"node":">=22.20.0"},"gitHead":"94f957829714216dd25f5f682ba6ff30b895c2da","private":false,"scripts":{"test":"vitest run test && npm run test --workspaces --if-present","build":"npm run build --workspaces --if-present && tsc -p tsconfig.json --pretty false","check":"npm run typecheck && npm run test && npm run build && npm run check:package","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --pretty false --noEmit && tsc -p tsconfig.test.json --pretty false --noEmit && npm run typecheck --workspaces --if-present","check:package":"node scripts/check-package.mjs","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:278a6e31-4280-42b7-9fe4-d1b8e1879b71"}},"repository":{"url":"git+https://github.com/vinilana/ai-coders-installers.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI Coders product installers.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"tar":"7.5.22","zod":"4.4.3","ssh2":"^1.17.0","@invokta/mcp":"0.5.0","libsodium-wrappers":"^0.8.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/installer_0.5.0_1787695464146_0.27472816022295565","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@ai-coders/installer","version":"0.6.0","license":"UNLICENSED","_id":"@ai-coders/installer@0.6.0","maintainers":[{"name":"vinilana","email":"viniciuslanadev@gmail.com"}],"homepage":"https://github.com/vinilana/ai-coders-installers#readme","bugs":{"url":"https://github.com/vinilana/ai-coders-installers/issues"},"bin":{"ai-coders-installer":"dist/cli.js"},"dist":{"shasum":"a38eb6078eb67f0750a1da3c8c9dca211becff77","tarball":"https://registry.npmjs.org/@ai-coders/installer/-/installer-0.6.0.tgz","fileCount":151,"integrity":"sha512-0SpcjR5Vw0SudtqZN3VWNWfgtMHfPoYKWUBqe3Ti6aUBQteP78az/Jl0PxZcpGwATZLuO7ynqC36lnGuBFlJVQ==","signatures":[{"sig":"MEUCIQCUuCyyaaXo8hY8HzOnSPQiuk8Ar2WyRMMDn0N4yH56yAIgLl907RChmLe3KfP7zP34V1g22UKf4hUOFlVA3XTrljA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDEdH9BGM2aAPM7M9YH+C8DFk2O2BXNVg0Q2ctKu15l8AIhAJ7IQpRHvOqtNHltB0nqvpv0784xSQX+ciwEk6viEXCH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1740053},"type":"module","engines":{"node":">=22.20.0"},"gitHead":"247ac148cefd2a477a4fa2988a425800bc9ee6ca","private":false,"scripts":{"test":"vitest run test && npm run test --workspaces --if-present","build":"npm run build --workspaces --if-present && tsc -p tsconfig.json --pretty false","check":"npm run typecheck && npm run test && npm run build && npm run check:package","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --pretty false --noEmit && tsc -p tsconfig.test.json --pretty false --noEmit && npm run typecheck --workspaces --if-present","check:package":"node scripts/check-package.mjs","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:278a6e31-4280-42b7-9fe4-d1b8e1879b71"}},"repository":{"url":"git+https://github.com/vinilana/ai-coders-installers.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI Coders product installers.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"tar":"7.5.22","zod":"4.4.3","ssh2":"^1.17.0","@invokta/mcp":"0.5.0","libsodium-wrappers":"^0.8.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/installer_0.6.0_1787697037973_0.20072649814196963","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@ai-coders/installer","version":"0.6.1","license":"UNLICENSED","_id":"@ai-coders/installer@0.6.1","maintainers":[{"name":"vinilana","email":"viniciuslanadev@gmail.com"}],"homepage":"https://github.com/vinilana/ai-coders-installers#readme","bugs":{"url":"https://github.com/vinilana/ai-coders-installers/issues"},"bin":{"ai-coders-installer":"dist/cli.js"},"dist":{"shasum":"3f1d6329f0e6125f73286f42919de8a092faca8c","tarball":"https://registry.npmjs.org/@ai-coders/installer/-/installer-0.6.1.tgz","fileCount":154,"integrity":"sha512-JlY6CEBZD77je4BWTS4mf9aafyL7ZQIeIagGLh4uf8DiiesNZGtG0LVi+YGcKxjaUhPMfiOmH3K+ULTU4es2nw==","signatures":[{"sig":"MEQCIEAhpBNtu1rUVrezlSsuD8qJIEnCp4dfFX/xCZIYI8z4AiBXGfo2sZ8nsz+Kt4uGFp1/AmBsA00Yy9GIC8kx2rpY8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCop2pmlFbwoOchvpsoUn30tqP9uOykmmIYzVvaqPeDTQIhAKCnayt2ZXfaxGCzlzf119s3ekmE7ybM0gSN/HkP1L+5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1742869},"type":"module","engines":{"node":">=22.20.0"},"gitHead":"3d938284fe82deab9ad25a77f0e6a951191eefc1","private":false,"scripts":{"test":"vitest run test && npm run test --workspaces --if-present","build":"npm run build --workspaces --if-present && tsc -p tsconfig.json --pretty false","check":"npm run typecheck && npm run test && npm run build && npm run check:package","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --pretty false --noEmit && tsc -p tsconfig.test.json --pretty false --noEmit && npm run typecheck --workspaces --if-present","check:package":"node scripts/check-package.mjs","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:278a6e31-4280-42b7-9fe4-d1b8e1879b71"}},"repository":{"url":"git+https://github.com/vinilana/ai-coders-installers.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI Coders product installers.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"tar":"7.5.22","zod":"4.4.3","ssh2":"^1.17.0","@invokta/mcp":"0.7.0","libsodium-wrappers":"^0.8.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/installer_0.6.1_1788185093193_0.10038944030750363","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@ai-coders/installer","version":"0.6.2","license":"UNLICENSED","_id":"@ai-coders/installer@0.6.2","maintainers":[{"name":"vinilana","email":"viniciuslanadev@gmail.com"}],"homepage":"https://github.com/vinilana/ai-coders-installers#readme","bugs":{"url":"https://github.com/vinilana/ai-coders-installers/issues"},"bin":{"ai-coders-installer":"dist/cli.js"},"dist":{"shasum":"6148e0ec6c14e62c29a4fcbfc51747e46cc18f9f","tarball":"https://registry.npmjs.org/@ai-coders/installer/-/installer-0.6.2.tgz","fileCount":154,"integrity":"sha512-g9VlrUesOZTWBkKW0kpTMaHbB6mBjQK54oyLwAi6J2BT8V30UFYGGFMOgLl2hV04DpTmNUfSX/ZeVMCWC8bhww==","signatures":[{"sig":"MEQCIE0tDoVc9ATy/u4JqtHiYeRIjtXBI7qyUNHsQcXuNFIOAiB1T9pAIY2ZfQldb07drcmDc9d1r7RsasSAsKtaWe8WEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICQ+cLk/x1LwJjpx6b6PVbId00mOl6AyME6gG9kpZSYoAiBrWbhZ+AuvlMOHIqn7l9sbgtR9Tyxpw9v0306NEvkOlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1744325},"type":"module","engines":{"node":">=22.20.0"},"gitHead":"1de67b1c56f02f5701fb8f9a9313722d987e0165","private":false,"scripts":{"test":"vitest run test && npm run test --workspaces --if-present","build":"npm run build --workspaces --if-present && tsc -p tsconfig.json --pretty false","check":"npm run typecheck && npm run test && npm run build && npm run check:package","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --pretty false --noEmit && tsc -p tsconfig.test.json --pretty false --noEmit && npm run typecheck --workspaces --if-present","check:package":"node scripts/check-package.mjs","prepublishOnly":"npm run check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:278a6e31-4280-42b7-9fe4-d1b8e1879b71"}},"repository":{"url":"git+https://github.com/vinilana/ai-coders-installers.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI Coders product installers.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"tar":"7.5.22","zod":"4.4.3","ssh2":"^1.17.0","@invokta/mcp":"0.7.0","libsodium-wrappers":"^0.8.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/node":"26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/installer_0.6.2_1788284164775_0.523821397134284","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"_id":"@ai-coders/installer@0.7.0","bin":{"ai-coders-installer":"dist/cli.js"},"bugs":{"url":"https://github.com/vinilana/ai-coders-installers/issues"},"dist":{"shasum":"ce8222fd04c09a4aa08da4bf5f570937e1d8691c","tarball":"https://registry.npmjs.org/@ai-coders/installer/-/installer-0.7.0.tgz","fileCount":154,"integrity":"sha512-dcdqiA/L8pDMvGELRahZRzTV+zaSAwVJOUOwKLFQJ26fu5Y5MvckW0vuvTmN3IKgE62hVzDAENRJq7eHTmdpNg==","signatures":[{"sig":"MEQCIB+OCp5FJ8IufXR6tRjwddC99oHIznCGynU2UNDduFXiAiBK74wqSkD7tjQK40ptsmZrPuHiGZUnZ//Dp4PRm1Dssw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHmTagywin9obWEbyphHWzXOHh8np8EhUyrv68pgGx13AiEAl1Cnje25GpBVSpAA8OwzBNKCFkx5rSizOmwIgLj2R10="}],"unpackedSize":1748278},"name":"@ai-coders/installer","type":"module","engines":{"node":">=22.20.0"},"gitHead":"9fff5f51f06ae460e18c5b7a060a5ce9e8c426c6","license":"UNLICENSED","private":false,"scripts":{"test":"vitest run test && npm run test --workspaces --if-present","build":"npm run build --workspaces --if-present && tsc -p tsconfig.json --pretty false","check":"npm run typecheck && npm run test && npm run build && npm run check:package","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --pretty false --noEmit && tsc -p tsconfig.test.json --pretty false --noEmit && npm run typecheck --workspaces --if-present","check:package":"node scripts/check-package.mjs","prepublishOnly":"npm run check"},"version":"0.7.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:278a6e31-4280-42b7-9fe4-d1b8e1879b71"}},"homepage":"https://github.com/vinilana/ai-coders-installers#readme","repository":{"url":"git+https://github.com/vinilana/ai-coders-installers.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI Coders product installers.","directories":{},"maintainers":[{"name":"vinilana","email":"viniciuslanadev@gmail.com"}],"_nodeVersion":"24.15.0","dependencies":{"tar":"7.5.22","zod":"4.4.3","ssh2":"^1.17.0","@invokta/mcp":"0.7.0","libsodium-wrappers":"^0.8.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/node":"26.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/installer_0.7.0_1788490705990_0.6617299203492406"}}},"time":{"created":"2026-08-19T20:09:41.649Z","modified":"2026-09-04T02:58:26.323Z","0.3.0":"2026-08-19T20:09:41.965Z","0.4.0":"2026-08-23T20:19:38.158Z","0.5.0":"2026-08-25T22:04:24.227Z","0.6.0":"2026-08-25T22:30:38.067Z","0.6.1":"2026-08-31T14:04:53.300Z","0.6.2":"2026-09-01T17:36:04.946Z","0.7.0":"2026-09-04T02:58:26.121Z"},"bugs":{"url":"https://github.com/vinilana/ai-coders-installers/issues"},"license":"UNLICENSED","homepage":"https://github.com/vinilana/ai-coders-installers#readme","repository":{"url":"git+https://github.com/vinilana/ai-coders-installers.git","type":"git"},"description":"AI Coders product installers.","maintainers":[{"name":"vinilana","email":"viniciuslanadev@gmail.com"}],"readme":"# AI Coders Installers\n\nThis repository publishes the product-aware `@ai-coders/installer` CLI while\nkeeping installation code separate from the project templates shared with AI\nCoders members.\n\nThis is proprietary software. The package is published to the public npm\nregistry only so authorized AI Coders users can execute it with `npx`.\nRegistry availability does not make the project open source or grant reuse,\nmodification, or redistribution rights. See [LICENSE](LICENSE).\n\n## Use\n\nCreate an empty directory and run the installer for the product you want to\ninstall:\n\n```sh\nmkdir my-second-brain\ncd my-second-brain\nnpx --yes @ai-coders/installer@latest second-brain\n```\n\nThe same zero-checkout flow works for Severino:\n\n```sh\nmkdir my-severino\ncd my-severino\nnpx --yes @ai-coders/installer@latest severino\n```\n\nThe Severino wizard can configure Slack and Telegram during installation. For\nTelegram, it stores the bot credentials only in the protected VPS environment\nfile and registers the eve webhook automatically after deployment.\n\nThe installer opens Clerk in the browser, verifies product entitlement through\nthe AI Coders API, downloads the authorized immutable release artifact,\nverifies its SHA-256 checksum, validates its fixed product contract, and copies\nit into the empty current directory before starting the existing wizard.\n\nInstallation requires an active paid subscription plan or standalone product\naccess. A free member can authenticate, but the CLI will not download the\nproduct or start the wizard; it opens the AI Coders upgrade page in the browser\ninstead.\n\n## Existing product checkout\n\nRun the installer from the root of a supported product repository:\n\n```sh\nnpx --yes @ai-coders/installer@latest second-brain\nnpx --yes @ai-coders/installer@latest severino\n```\n\nThe command always reads the product's contract from fixed files in the\ncurrent directory — `./invokta.mcp.json` for Second Brain, `./package.json`\nfor Severino — and does not accept a repository path or an alternate manifest\nfile. The requested product must match the contract before any product\ninstaller starts.\n\nBootstrap only runs when the current directory is exactly empty. A non-empty\ndirectory without a valid contract stops before authentication and is never\nmodified.\nAn existing checkout is also authorization-gated: the CLI verifies paid plan or\nstandalone access after validating the contract and before starting the\nproduct wizard.\n\nThe public OAuth client configuration is bundled with the package, so members\ndo not need to provide Clerk settings. Tokens, signed download URLs, and user\ncredentials remain in memory for the current command and are never logged or\npersisted. See\n[Installer authentication](docs/authentication.md) for the one-time Clerk\napplication setup and security contract.\n\n## Develop\n\n```sh\nnpm install\nnpm run check\nnpm start -- second-brain\n```\n\nThe monorepo currently contains:\n\n- `src/`: public CLI, manifest validation, and product dispatch.\n- `packages/second-brain/`: the private Second Brain installer — node-side\n  pipeline under `src/`, plus a React + shadcn/Tailwind web UI under `ui/`\n  that Vite builds into `dist/products/second-brain/ui/`.\n- `packages/severino/`: the private Severino installer — node-side pipeline\n  under `src/`, plus a React + shadcn/Tailwind web UI under `ui/` that Vite\n  builds into `dist/products/severino/ui/`.\n- `packages/installer-ui/`: the private, source-only React + shadcn/Tailwind\n  kit shared by both product UIs through a Vite alias. It is not published.\n- `docs/adding-product.md`: the contract for adding another product installer.\n\nThe public tarball contains the root CLI and compiled product implementations;\nthe private workspace packages are not published independently.\n\n## Release\n\nConventional Commit titles drive an automated Release PR with the version and\nchangelog update. Merging that PR publishes `@ai-coders/installer` through npm\ntrusted publishing without a long-lived npm token. See\n[Releases and npm publishing](docs/releases.md) for the maintainer workflow and\none-time registry bootstrap.\n","readmeFilename":"README.md"}