{"_id":"0xstack","_rev":"9-f7f171b6d3acbf22932e64ce9f9059c5","name":"0xstack","dist-tags":{"latest":"1.2.0"},"versions":{"0.1.1":{"name":"0xstack","version":"0.1.1","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"license":"MIT","_id":"0xstack@0.1.1","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"bin":{"0xstack":"dist/index.js"},"dist":{"shasum":"542c10cadf5f93b66d671b4be78c533db86e761c","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-0.1.1.tgz","fileCount":7,"integrity":"sha512-Gu8txHQJADw2LDZPTFNP2xrnylZl9ugiFhFJk9e22MhqLOzMKK32+s4KgJsqIlTdzafhMHpTY49PPyPq8PdN0g==","signatures":[{"sig":"MEYCIQDqRfm9UDvyWirH25ESGfsZcEFKb871g2m/WEdcv/dVHwIhAO7MYVLkCyb6y8LKjfIxl98FvKqpqLqBMiNatk0fqOa/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1012896},"type":"module","exports":{".":"./dist/index.js"},"gitHead":"a17f339a038715837c2bfeffc8cdcd400ddc59aa","private":false,"scripts":{"dev":"tsx src/index.ts","build":"tsup src/index.ts --format esm --dts --sourcemap","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm build"},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"repository":{"url":"git+https://github.com/0xmilord/0xstack.git","type":"git"},"_npmVersion":"11.4.2","description":"<p align=\"center\">   <strong>0xstack</strong> (npm: <code>0xstack</code>) </p>","directories":{},"_nodeVersion":"22.14.0","dependencies":{"cac":"^6.7.14","ora":"^8.2.0","zod":"^4.3.6","jiti":"^2.5.1","chalk":"^5.6.2","execa":"^9.6.0","prompts":"^2.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","typescript":"^5.9.2","@types/node":"^24.3.1","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/0xstack_0.1.1_1775045519500_0.1494894434895382","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"0xstack","version":"0.1.2","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"license":"MIT","_id":"0xstack@0.1.2","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"bin":{"0xstack":"dist/index.js"},"dist":{"shasum":"dcf88741a5b2b457c5c30a3f47e03686dc0f3ddd","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-0.1.2.tgz","fileCount":7,"integrity":"sha512-C7qix1AW0S93suF0LioH7Im8qhkt+pvONTfTb0kx0+PrqrAmNdW6Oy1ca6rDcMiHQCj26Ia2Sb9prrhc7a73nw==","signatures":[{"sig":"MEUCIGUFbkPORfueBLRDfjrgxSNCso45/Jnnx8IsNPbhC+PcAiEA4f3A/wkG9TvXasKqa/0e33Np0JTKG9zFmadIiRURQLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1012629},"type":"module","_from":"file:0xstack-0.1.2.tgz","exports":{".":"./dist/index.js"},"private":false,"scripts":{"dev":"tsx src/index.ts","build":"tsup src/index.ts --format esm --dts --sourcemap","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"_resolved":"/tmp/0034e37d6918ada943ebf9049cc1e82b/0xstack-0.1.2.tgz","_integrity":"sha512-C7qix1AW0S93suF0LioH7Im8qhkt+pvONTfTb0kx0+PrqrAmNdW6Oy1ca6rDcMiHQCj26Ia2Sb9prrhc7a73nw==","repository":{"url":"git+https://github.com/0xmilord/0xstack.git","type":"git"},"_npmVersion":"11.9.0","description":"<p align=\"center\">   <strong>0xstack</strong> (npm: <code>0xstack</code>) </p>","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cac":"^6.7.14","ora":"^8.2.0","zod":"^4.3.6","jiti":"^2.5.1","chalk":"^5.6.2","execa":"^9.6.0","prompts":"^2.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","typescript":"^5.9.2","@types/node":"^24.3.1","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/0xstack_0.1.2_1775046117394_0.9087664948631109","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"0xstack","version":"0.1.3","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"license":"MIT","_id":"0xstack@0.1.3","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"bin":{"0xstack":"dist/index.js"},"dist":{"shasum":"ef17a35d70411a7852ad8070446867d51d15d3e4","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-0.1.3.tgz","fileCount":7,"integrity":"sha512-cHvuk38dGTaF/mK5JSwDBg+RoaXSTk76T3zqkAuXIqiXulhapart7irsNNP3pyKsznm+Ca8fE7pCHpKdMVX06A==","signatures":[{"sig":"MEQCIAnXE7ztaGjvmDjlEEHopGU2nB1pHEYZYJv1Ng4mTluhAiA/v9uZj+ohoptv+D5ktVNFOHwQLH0J7MAXbXR6w5gaWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1042521},"type":"module","_from":"file:0xstack-0.1.3.tgz","exports":{".":"./dist/index.js"},"private":false,"scripts":{"dev":"tsx src/index.ts","build":"tsup src/index.ts --format esm --dts --sourcemap","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"_resolved":"/tmp/ecf35badfb570619a5e422514ef48594/0xstack-0.1.3.tgz","_integrity":"sha512-cHvuk38dGTaF/mK5JSwDBg+RoaXSTk76T3zqkAuXIqiXulhapart7irsNNP3pyKsznm+Ca8fE7pCHpKdMVX06A==","repository":{"url":"git+https://github.com/0xmilord/0xstack.git","type":"git"},"_npmVersion":"11.9.0","description":"<p align=\"center\">   <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\"> </p>","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cac":"^6.7.14","ora":"^8.2.0","zod":"^4.3.6","jiti":"^2.5.1","chalk":"^5.6.2","execa":"^9.6.0","prompts":"^2.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","typescript":"^5.9.2","@types/node":"^24.3.1","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/0xstack_0.1.3_1775047665418_0.32388302511968603","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"0xstack","version":"0.1.4","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"license":"MIT","_id":"0xstack@0.1.4","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"bin":{"0xstack":"dist/index.js"},"dist":{"shasum":"2928bc6e843dbeacb82695a47ca3bbd74aef4e9d","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-0.1.4.tgz","fileCount":7,"integrity":"sha512-BskjqUqvCWEWeiSZuQRwi/M0wlRzp0bBZ93LpSg/RHO1IKQqz/9YsWoYlMTErCNQ9Abqb/re1YNmE4AQ3YAjrQ==","signatures":[{"sig":"MEQCIG6tTunNMOvt8Qo0YcD5qcdn+kG3pLw8+B6OUIGXfLbfAiBeea7p2Mft+hbSLLsMwgXLIkO0LtVehRnRaLWxmVSFLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1042965},"type":"module","_from":"file:0xstack-0.1.4.tgz","exports":{".":"./dist/index.js"},"private":false,"scripts":{"dev":"tsx src/index.ts","build":"tsup src/index.ts --format esm --dts --sourcemap","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"_resolved":"/tmp/45323c5c0ec91979b3f59229edaed156/0xstack-0.1.4.tgz","_integrity":"sha512-BskjqUqvCWEWeiSZuQRwi/M0wlRzp0bBZ93LpSg/RHO1IKQqz/9YsWoYlMTErCNQ9Abqb/re1YNmE4AQ3YAjrQ==","repository":{"url":"git+https://github.com/0xmilord/0xstack.git","type":"git"},"_npmVersion":"11.9.0","description":"<p align=\"center\">   <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\"> </p>","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cac":"^6.7.14","ora":"^8.2.0","zod":"^4.3.6","jiti":"^2.5.1","chalk":"^5.6.2","execa":"^9.6.0","prompts":"^2.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.5.0","typescript":"^5.9.2","@types/node":"^24.3.1","@types/prompts":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/0xstack_0.1.4_1775052017565_0.43312707136751527","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"0xstack","version":"0.1.5","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"license":"MIT","_id":"0xstack@0.1.5","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"bin":{"0xstack":"dist/index.js"},"dist":{"shasum":"194aab20be53f917cb52d7b64dbcae3f2b39f10d","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-0.1.5.tgz","fileCount":7,"integrity":"sha512-D7WNlU2t718GaBvwP+MyhPoa1t9w7w0T5QVDpyGG+QtPAMXmwqlUSR9J7l5uFiLL8PX68JGnpRtPGguBeblEmw==","signatures":[{"sig":"MEUCIHelNZ9dNjsMPYUkE9rw/Ih8GRHHPqqvHGxDR5NqxgP2AiEAvqZbCmtFjFORvmMRk0OZhfq/TL0C2IBTVJ/e/udoYOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1122082},"type":"module","_from":"file:0xstack-0.1.5.tgz","exports":{".":"./dist/index.js"},"private":false,"scripts":{"dev":"tsx src/index.ts","build":"tsup src/index.ts --format esm --dts --sourcemap","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"_resolved":"/tmp/ed0b825635ff26c68f9eb8c16e508d8a/0xstack-0.1.5.tgz","_integrity":"sha512-D7WNlU2t718GaBvwP+MyhPoa1t9w7w0T5QVDpyGG+QtPAMXmwqlUSR9J7l5uFiLL8PX68JGnpRtPGguBeblEmw==","repository":{"url":"git+https://github.com/0xmilord/0xstack.git","type":"git"},"_npmVersion":"11.9.0","description":"<p align=\"center\">   <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\"> </p>","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cac":"6.7.14","ora":"8.2.0","zod":"4.3.6","jiti":"2.5.1","chalk":"5.6.2","execa":"9.6.0","prompts":"2.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.5","tsup":"8.5.0","typescript":"5.9.2","@types/node":"24.3.1","@types/prompts":"2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/0xstack_0.1.5_1775097483343_0.300247205738418","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"0xstack","version":"0.1.7","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"license":"MIT","_id":"0xstack@0.1.7","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"bin":{"0xstack":"dist/index.js"},"dist":{"shasum":"9d113d639278d353f7e1eb60e5beddd163551695","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-0.1.7.tgz","fileCount":7,"integrity":"sha512-uvZEA4IxWCUJKEt2/p3/dCvHCKk5qbWFfaNqA+cPgiWS85xmSjpldbw1ii2q6WqkYbVXH9fsSP+SC7W0OYMf0w==","signatures":[{"sig":"MEQCIGU4kIrkA80IC9mRD+PJKh30MNzNsFFD84D+faXEYlsTAiBuofyuwkAHKQaOoArD4pdG/sb8aLiAa1Rggcr5CQ5mMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1287594},"type":"module","_from":"file:0xstack-0.1.7.tgz","exports":{".":"./dist/index.js"},"private":false,"scripts":{"dev":"tsx src/index.ts","build":"tsup src/index.ts --format esm --dts --sourcemap","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"_resolved":"/tmp/1c2930624e5a587abc732384102e63c9/0xstack-0.1.7.tgz","_integrity":"sha512-uvZEA4IxWCUJKEt2/p3/dCvHCKk5qbWFfaNqA+cPgiWS85xmSjpldbw1ii2q6WqkYbVXH9fsSP+SC7W0OYMf0w==","repository":{"url":"git+https://github.com/0xmilord/0xstack.git","type":"git"},"_npmVersion":"11.9.0","description":"<p align=\"center\">   <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\"> </p>","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cac":"6.7.14","ora":"8.2.0","zod":"4.3.6","jiti":"2.5.1","chalk":"5.6.2","execa":"9.6.0","prompts":"2.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.5","tsup":"8.5.0","typescript":"5.9.2","@types/node":"24.3.1","@types/prompts":"2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/0xstack_0.1.7_1775103927963_0.04043689000789752","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"0xstack","version":"1.0.0","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"license":"MIT","_id":"0xstack@1.0.0","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"bin":{"0xstack":"dist/index.js"},"dist":{"shasum":"d95f7d2719105f261f191f5bd7f0037985e2e90f","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-1.0.0.tgz","fileCount":7,"integrity":"sha512-4MvHUXf8iYdKONBbMG12zJ2CXd6NeUdI2hPmdaR47ZQjAaArDUkkDNJpWgDLD6zZrnNG6atSksZNibE4dtYALQ==","signatures":[{"sig":"MEYCIQC+XEpbs/kDlzjFBDHRUzLNxuG9wyNUXw6eIc8/suI6AQIhAPs/fAtmLIUtuuvOnoNOqqJKmwdTWVAGxpFDjtMlV+0U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1363717},"type":"module","_from":"file:0xstack-1.0.0.tgz","exports":{".":"./dist/index.js"},"private":false,"scripts":{"dev":"tsx src/index.ts","lint":"pnpm typecheck","test":"vitest run","build":"tsup src/index.ts --format esm --dts --sourcemap","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"_resolved":"C:\\Users\\user3\\AppData\\Local\\Temp\\5728edc2305ee5fb415cc992c81ade86\\0xstack-1.0.0.tgz","_integrity":"sha512-4MvHUXf8iYdKONBbMG12zJ2CXd6NeUdI2hPmdaR47ZQjAaArDUkkDNJpWgDLD6zZrnNG6atSksZNibE4dtYALQ==","repository":{"url":"git+https://github.com/0xmilord/0xstack.git","type":"git"},"_npmVersion":"11.4.2","description":"<p align=\"center\">\r   <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\">\r </p>","directories":{},"_nodeVersion":"22.14.0","dependencies":{"cac":"6.7.14","ora":"8.2.0","zod":"4.3.6","jiti":"2.5.1","chalk":"5.6.2","execa":"9.6.0","prompts":"2.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.5","tsup":"8.5.0","vitest":"3.2.4","typescript":"5.9.2","@types/node":"24.3.1","@types/prompts":"2.4.9","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/0xstack_1.0.0_1775472776890_0.927667915734705","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"0xstack","version":"1.1.0","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"license":"MIT","_id":"0xstack@1.1.0","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"bin":{"0xstack":"dist/index.js"},"dist":{"shasum":"2809be9b0e363fe19376801029130d399611f50f","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-1.1.0.tgz","fileCount":7,"integrity":"sha512-EQc80ra5rPWm02zKkoH8VuRx6AbfUVC05i9hlX/78Ea8qVDBqpgUHVU4MPffMX6iWWbP9cBLbPF6z39smILYqw==","signatures":[{"sig":"MEYCIQCy1lSKHir4MUsxnw0x8AOPu73P+nNdlI2AXdMMlvveigIhAMsLgCwrOxkKnvjbVGPlBB0qcCgFa//kfRWK8bfGo2bj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1470811},"type":"module","_from":"file:0xstack-1.1.0.tgz","exports":{".":"./dist/index.js"},"private":false,"scripts":{"dev":"tsx src/index.ts","lint":"pnpm typecheck","test":"vitest run","build":"tsup src/index.ts --format esm --dts --sourcemap","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"_resolved":"C:\\Users\\user3\\AppData\\Local\\Temp\\6ddfdb586453df3d96f8d1c96357b75c\\0xstack-1.1.0.tgz","_integrity":"sha512-EQc80ra5rPWm02zKkoH8VuRx6AbfUVC05i9hlX/78Ea8qVDBqpgUHVU4MPffMX6iWWbP9cBLbPF6z39smILYqw==","repository":{"url":"git+https://github.com/0xmilord/0xstack.git","type":"git"},"_npmVersion":"11.4.2","description":"<p align=\"center\">\r   <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\">\r </p>","directories":{},"_nodeVersion":"22.14.0","dependencies":{"cac":"6.7.14","ora":"8.2.0","zod":"4.3.6","jiti":"2.5.1","chalk":"5.6.2","execa":"9.6.0","prompts":"2.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.20.5","tsup":"8.5.0","vitest":"3.2.4","typescript":"5.9.2","@types/node":"24.3.1","@types/prompts":"2.4.9","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/0xstack_1.1.0_1775481321417_0.5565279497202826","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"0xstack","version":"1.2.0","private":false,"type":"module","bin":{"0xstack":"dist/index.js"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"exports":{".":"./dist/index.js"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/0xmilord/0xstack.git"},"homepage":"https://github.com/0xmilord/0xstack","bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"dependencies":{"cac":"6.7.14","chalk":"5.6.2","execa":"9.6.0","jiti":"2.5.1","ora":"8.2.0","prompts":"2.4.2","zod":"4.3.6"},"devDependencies":{"@types/node":"24.3.1","@types/prompts":"2.4.9","@vitest/coverage-v8":"3.2.4","tsup":"8.5.0","tsx":"4.20.5","typescript":"5.9.2","vitest":"3.2.4"},"scripts":{"dev":"tsx src/index.ts","build":"tsup src/index.ts --format esm --dts --sourcemap","lint":"pnpm typecheck","typecheck":"tsc -p tsconfig.json --noEmit","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_id":"0xstack@1.2.0","description":"<p align=\"center\">\r   <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\">\r </p>","_integrity":"sha512-K+jpxBqHKBXDYvRsP0zQ3bWRzR0dmO200PbWbWPmPQJVy+SIeqOVxuh8RKPiFkXEid4P97/hx4jPyfOdhzR9zA==","_resolved":"C:\\Users\\user3\\AppData\\Local\\Temp\\ca7bef745b8346bc87542671dee2823a\\0xstack-1.2.0.tgz","_from":"file:0xstack-1.2.0.tgz","_nodeVersion":"22.14.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-K+jpxBqHKBXDYvRsP0zQ3bWRzR0dmO200PbWbWPmPQJVy+SIeqOVxuh8RKPiFkXEid4P97/hx4jPyfOdhzR9zA==","shasum":"f30ee50f88abc5fcba5b103af11a9cc928d4e5ec","tarball":"https://registry.npmjs.org/0xstack/-/0xstack-1.2.0.tgz","fileCount":7,"unpackedSize":1471035,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEYG21ODuukslUMoHtkhvnkNz6foqfOPOb9S8kokAdajAiEA/kXVx1+w0a+bjij4zAGHYTtLy8+SlfZSHoZYh1BXMAA="}]},"_npmUser":{"name":"0xmilord","email":"0xmilorddraws@gmail.com"},"directories":{},"maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/0xstack_1.2.0_1775481854491_0.5482058933496097"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-01T12:11:59.379Z","modified":"2026-04-06T13:24:14.899Z","0.1.1":"2026-04-01T12:11:59.729Z","0.1.2":"2026-04-01T12:21:57.565Z","0.1.3":"2026-04-01T12:47:45.556Z","0.1.4":"2026-04-01T14:00:17.753Z","0.1.5":"2026-04-02T02:38:03.566Z","0.1.7":"2026-04-02T04:25:28.162Z","1.0.0":"2026-04-06T10:52:57.091Z","1.1.0":"2026-04-06T13:15:21.580Z","1.2.0":"2026-04-06T13:24:14.778Z"},"bugs":{"url":"https://github.com/0xmilord/0xstack/issues"},"license":"MIT","homepage":"https://github.com/0xmilord/0xstack","keywords":["cli","nextjs","starter","supabase","drizzle","better-auth"],"repository":{"type":"git","url":"git+https://github.com/0xmilord/0xstack.git"},"description":"<p align=\"center\">\r   <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\">\r </p>","maintainers":[{"name":"0xmilord","email":"0xmilorddraws@gmail.com"}],"readme":"<p align=\"center\">\r\n  <img src=\"./assets/0xstack.svg\" width=\"130\" alt=\"0xstack logo\">\r\n</p>\r\n\r\n<h1 align=\"center\">\r\n  0xstack\r\n</h1>\r\n\r\n<p align=\"center\">\r\n  <strong>Production CQRS Architecture system for Next.js | PostgreSQL | Drizzle | Better Auth | TanStack Query</strong>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <strong>0xstack</strong> (npm: <code>0xstack</code>) is a <strong>self-healing architecture engine</strong> for <strong>SaaS</strong> and internal apps: <strong>React Server Components</strong>, <strong>Server Actions</strong>, <strong>TanStack Query</strong> on the client, <strong>Drizzle ORM</strong> + <strong>Postgres</strong> (Supabase-friendly), and <strong>Better Auth</strong>.\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <a href=\"#-what-is-0xstack\"><strong>What it is</strong></a> ·\r\n  <a href=\"#architecture\"><strong>Architecture</strong></a> ·\r\n  <a href=\"#getting-started\"><strong>Get Started</strong></a> ·\r\n  <a href=\"#the-saas-starter-landscape\"><strong>Landscape</strong></a>\r\n</p>\r\n\r\n---\r\n\r\n## 🚀 What is 0xstack?\r\n\r\n**0xstack = Production architecture system for Next.js**\r\n\r\n- **📐 Read/Write separation** — Two highways: fast reads (loaders) + safe writes (actions → rules → repos)\r\n- **🛡️ Enforced boundaries** — ESLint + `doctor` prevent architecture drift\r\n- **🔧 CLI that keeps your repo correct** — `baseline`, `sync`, `upgrade` auto-heal your codebase over time\r\n\r\n```bash\r\n# Start a new project in 2 minutes\r\nnpx 0xstack@latest init\r\n\r\n# Install full production baseline (idempotent)\r\nnpx 0xstack baseline --profile full\r\n\r\n# Validate architecture, deps, and env\r\nnpx 0xstack doctor\r\n\r\n# Reconcile repo with config (plan or apply)\r\nnpx 0xstack sync --apply\r\n```\r\n\r\n> [!IMPORTANT]\r\n> **Do NOT install this package with `npm i 0xstack`.** \r\n> 0xstack is a project initializer. Installing it as a dependency will only give you a `node_modules` folder and a `package.json`.\r\n>\r\n> To start a new project, use:\r\n> ```bash\r\n> npx 0xstack@latest init\r\n> ```\r\n\r\n> [!WARNING]\r\n> **Experimental Stage**: 0xstack is currently in an experimental stage. Implementation details and APIs may change. Use with caution in critical environments. Found a bug? [Report it here](https://github.com/0xmilord/0xstack/issues) and help us build!\r\n\r\n---\r\n\r\n<div align=\"center\">\r\n\r\n[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![License][license-image]][license-url] [![PRs Welcome][contribute-image]][contribute-url]\r\n\r\n</div>\r\n\r\n## Table of contents\r\n\r\n- [What is 0xstack?](#-what-is-0xstack)\r\n- [Architecture](#architecture)\r\n- [Naming: 0xstack vs oxstack](#naming-0xstack-vs-oxstack)\r\n- [Who is this for?](#who-is-this-for)\r\n- [The SaaS Starter Landscape](#the-saas-starter-landscape)\r\n- [Frequently asked questions](#frequently-asked-questions)\r\n- [What you need vs optional](#what-you-need-vs-optional)\r\n- [Modules (capabilities)](#modules-capabilities)\r\n- [CLI commands](#cli-commands)\r\n- [Configuration](#configuration)\r\n- [Getting started](#getting-started)\r\n- [Release process](#release-process)\r\n- [Contributing](#contributing)\r\n\r\n## Architecture\r\n\r\n```mermaid\r\nflowchart TB\r\n  subgraph Read[\"Read highway (fast reads)\"]\r\n    RSC[\"RSC pages\"]\r\n    L[\"Loaders (React.cache + tags)\"]\r\n    RepoR[\"Repos\"]\r\n    DB[(Postgres / Drizzle)]\r\n    RSC --> L --> RepoR --> DB\r\n  end\r\n\r\n  subgraph Write[\"Write highway (mutations)\"]\r\n    CC[\"Client components\"]\r\n    SA[\"Server actions\"]\r\n    RU[\"Rules (Zod + authz)\"]\r\n    SV[\"Services (orchestration)\"]\r\n    RepoW[\"Repos\"]\r\n    CC --> SA --> RU --> SV --> RepoW --> DB\r\n  end\r\n\r\n  subgraph External[\"External HTTP\"]\r\n    API[\"app/api/v1/*\"]\r\n    WH[\"Webhooks\"]\r\n    API --> SV\r\n    WH --> SV\r\n  end\r\n\r\n  CFG[[\"0xstack.config.ts\"]]\r\n  CFG -.->|gates routes + imports| RSC\r\n  CFG -.->|gates routes + imports| API\r\n```\r\n\r\n**CLI and repo hygiene loop:**\r\n\r\n```mermaid\r\nflowchart LR\r\n  INIT[init] --> CFG[0xstack.config.ts]\r\n  CFG --> BASE[baseline]\r\n  BASE --> DOC[docs-sync]\r\n  DOC --> DEV[develop]\r\n  DEV --> DOC2[doctor]\r\n  DEV --> SYN[sync]\r\n  SYN -->|optional| UP[upgrade --apply]\r\n  DOC2 --> DEV\r\n```\r\n\r\n### Layer definitions\r\n\r\n| Layer | Purpose | Rules |\r\n|-------|---------|-------|\r\n| **Repos** | Data access only | No business logic, no imports from UI |\r\n| **Loaders** | Read-only facades | Use `React.cache()`, shape output for viewer/public |\r\n| **Rules** | Business rules for writes | Authz + invariants + validation glue |\r\n| **Services** | Orchestration only | Multi-step flows, transactions, integrations |\r\n| **Server actions** | Internal API for the app | Call `requireAuth()`, validate with Zod, trigger revalidation |\r\n| **API routes** | External only | Call same rules/services as actions |\r\n| **Client hooks** | Transport + cache | TanStack Query only, no business logic |\r\n\r\n---\r\n\r\n## Naming: 0xstack vs oxstack\r\n\r\nThe project name is **0xstack** ( **`0xstack`** on npm ) — a leading **zero**, not the letter **o**. Common web search typo: **oxstack**. This section uses both spellings so search engines and readers land in the right place.\r\n\r\n## Who is this for?\r\n\r\n0xstack fits teams that want:\r\n\r\n- A **typed Next.js App Router** codebase with **Zod** validation and a **clear CQRS-style split** (loaders vs actions vs repos).\r\n- **TanStack Query** for **client-side cache and mutations** without putting business logic in hooks.\r\n- **Drizzle** instead of Prisma, and **Better Auth** instead of legacy NextAuth-only patterns.\r\n- **Supabase Postgres** (or any Postgres) with migrations and **optional** modules: **billing** (Dodo or Stripe), **object storage** (GCS, S3, or Supabase Storage), **MDX blog**, **SEO** metadata routes, **PWA**, **observability** stubs.\r\n- A **repeatable operator CLI** (`doctor`, `sync`, `generate`, `add`) comparable in spirit to a **framework for your repo** — closer to a **managed starter** than a one-shot template unzip.\r\n\r\n## The SaaS Starter Landscape\r\n\r\nThis table is a **high-level tradeoff guide**, helping you choose the right tool for your project requirements.\r\n\r\n| Topic | **One-shot Templates** (ShipFast, etc.) | **Component-First** (Shadcn/UI starters) | **0xstack** (The Architecture Engine) |\r\n|------|------------------------------|-------------------------------------|--------------|\r\n| **Core Value** | Speed of initial setup (Zip/Git clone) | Great UI out of the box | **Long-term architecture integrity** |\r\n| **Lifecycle** | \"Generating\" is the end of the tool's job | Manual updates and maintenance | **Continuous sync, doctor, and baseline** |\r\n| **Architecture** | Often a \"flat\" structure | Often UI-component centric | **Strict CQRS (Loaders vs. Actions vs. Repos)** |\r\n| **After Day 30** | You own a large, drifted codebase | Manually keeping up with UI updates | **CLI helps reconcile code with config** |\r\n| **AI Experience** | AI can easily break the \"flat\" layers | AI generates components well | **AI is constrained by architectural rules** |\r\n\r\n**When 0xstack is the right fit:** You are building a serious SaaS or internal tool and want a **factory CLI** that keeps **docs, deps, and boundaries** aligned with your config as you grow.\r\n\r\n---\r\n\r\n## Frequently asked questions\r\n\r\nDiscovery-oriented answers (T3 Stack, TanStack Query starter, Supabase Drizzle, npm package):\r\n\r\n**Is 0xstack a starter or a framework?**  \r\nIt is an **Architecture Engine**. Unlike a standard starter that you clone once, 0xstack stays with your project. You use the CLI to sync dependencies and enforce boundaries throughout the app's life.\r\n\r\n**Is this a TanStack starter?**  \r\nIt is a **TanStack Query–friendly Next.js starter**: generated apps include **TanStack Query** for client data fetching and cache invalidation; routing and server data use **RSC** and **loaders** per the “two highways” model.\r\n\r\n**Supabase Drizzle starter — is Supabase required?**  \r\nAny **Postgres** works with **`DATABASE_URL`**. Docs and examples often mention **Supabase** because it is a common host for managed Postgres.\r\n\r\n**Next.js server actions starter with architecture enforcement?**  \r\nYes: generated apps prefer **Server Actions** for writes, **`lib/rules`** + **`lib/services`** + **`lib/repos`**, and **`doctor`** checks for common boundary mistakes.\r\n\r\n**npm package name?**  \r\n**`0xstack`** — search **“0xstack npm”** to install.\r\n\r\n## What is 0xstack?\r\n\r\n0xstack is a **starter system** (not just a template):\r\n\r\n- **Scaffold** a new app via `init` (interactive wizard or flags for CI)\r\n- **Install and activate** capabilities via `baseline` (driven by `0xstack.config.ts` + profile)\r\n- **Validate** env, dependencies, and layer boundaries via `doctor` (add `--strict` for extra PRD hygiene)\r\n- **Reconcile** the repo over time via `sync` (plan by default; `--apply` runs baseline + docs, optional lint/format/drizzle)\r\n- **Progressive activation**: **installed ≠ activated** — heavy SDKs and routes stay off until a module is enabled in config\r\n\r\nThe generated app uses two entry points:\r\n\r\n| Surface | Use |\r\n|--------|-----|\r\n| **Internal (RSC + server actions)** | Product UI: reads via loaders, writes via actions → rules → services → repos |\r\n| **External (`/api/v1/*`)** | Clients, webhooks, cron: stable HTTP routes that reuse the same services/rules |\r\n\r\nBilling and storage can be wired to **Dodo** or **Stripe**, and **GCS**, **S3**, or **Supabase Storage**, depending on config.\r\n\r\n## Generated app architecture\r\n\r\nHigh-level data flow in a 0xstack app:\r\n\r\n```mermaid\r\nflowchart TB\r\n  subgraph Read[\"Read highway (fast reads)\"]\r\n    RSC[\"RSC pages\"]\r\n    L[\"Loaders (React.cache + tags)\"]\r\n    RepoR[\"Repos\"]\r\n    DB[(Postgres / Drizzle)]\r\n    RSC --> L --> RepoR --> DB\r\n  end\r\n\r\n  subgraph Write[\"Write highway (mutations)\"]\r\n    CC[\"Client components\"]\r\n    SA[\"Server actions\"]\r\n    RU[\"Rules (Zod + authz)\"]\r\n    SV[\"Services (orchestration)\"]\r\n    RepoW[\"Repos\"]\r\n    CC --> SA --> RU --> SV --> RepoW --> DB\r\n  end\r\n\r\n  subgraph External[\"External HTTP\"]\r\n    API[\"app/api/v1/*\"]\r\n    WH[\"Webhooks\"]\r\n    API --> SV\r\n    WH --> SV\r\n  end\r\n\r\n  CFG[[\"0xstack.config.ts\"]]\r\n  CFG -.->|gates routes + imports| RSC\r\n  CFG -.->|gates routes + imports| API\r\n```\r\n\r\nCLI and repo hygiene loop:\r\n\r\n```mermaid\r\nflowchart LR\r\n  INIT[init] --> CFG[0xstack.config.ts]\r\n  CFG --> BASE[baseline]\r\n  BASE --> DOC[docs-sync]\r\n  DOC --> DEV[develop]\r\n  DEV --> DOC2[doctor]\r\n  DEV --> SYN[sync]\r\n  SYN -->|optional| UP[upgrade --apply]\r\n  DOC2 --> DEV\r\n```\r\n\r\n## What you need vs optional\r\n\r\n### You need\r\n\r\n| Requirement | Why |\r\n|-------------|-----|\r\n| **Node.js** (LTS recommended) | CLI + Next.js |\r\n| **npm, pnpm, yarn, or bun** | Install deps; CLI detects lockfiles where relevant |\r\n| **A Postgres database** | Drizzle ORM; docs assume **Supabase** URLs but any Postgres works if `DATABASE_URL` is set |\r\n| **Better Auth–compatible env** | `BETTER_AUTH_SECRET`, `BETTER_AUTH_URL`, session cookies — see generated `.env.example` |\r\n\r\n### You do not need on day one\r\n\r\nThese are **optional modules** (off until enabled in config):\r\n\r\n- **Billing** (Dodo or Stripe) and their API keys\r\n- **Object storage** (GCS, S3, or Supabase Storage) and bucket credentials\r\n- **Resend** for transactional email\r\n- **SEO / MDX blog** if you ship a minimal internal app first\r\n- **PWA**, **Sentry**, **OpenTelemetry**, **background jobs** stubs\r\n\r\nRun `npx 0xstack doctor` after enabling a module to see missing deps, files, and env keys for that profile.\r\n\r\n## Modules (capabilities)\r\n\r\nActivation is controlled only through **`0xstack.config.ts`** (`modules` + **`profiles`** like **`core`** / **`full`**). The CLI is built from smaller internal pieces (for example billing core + Dodo or Stripe provider), but you only choose the knobs below.\r\n\r\n| `modules` key | When enabled | When off |\r\n|---------------|--------------|----------|\r\n| **`auth`** | Always **`better-auth`** in v1: Drizzle adapter, sessions, auth routes | N/A (fixed) |\r\n| **`orgs`** | Multi-tenant baseline: orgs, membership, org-scoped actions/loaders | Rarely turned off; default presets expect orgs for the app shell |\r\n| **`billing`** | **`dodo`** or **`stripe`**: checkout, portal, webhooks, DB subscription state, `getBillingService()` via factories | **`false`**: no billing API routes or heavy billing imports |\r\n| **`storage`** | **`gcs`**, **`s3`**, or **`supabase`**: signed uploads, assets table, `getStorageService()` | **`false`**: no storage API routes |\r\n| **`email`** | **`resend`**: verify/reset email templates + hooks | **`false`**: no Resend wiring |\r\n| **`cache`** | LRU + tag helpers for RSC | Can disable with **`--no-cache`** on init |\r\n| **`pwa`** | Manifest, SW stub, push scaffolding | No PWA routes or public SW assets |\r\n| **`seo`** | `robots.ts`, `sitemap.ts`, JSON-LD, OG routes, **`getSeoConfig()`** | Those routes/helpers removed |\r\n| **`blogMdx`** | `content/blog`, MDX, blog + RSS | No blog or RSS routes |\r\n| **`observability`** | **`sentry`** / **`otel`** flags install and scaffold instrumentation | Off: lighter deps |\r\n| **`jobs`** | **`enabled`**: reconcile/cron-style API stub for async work | **`enabled: false`**: stub routes absent |\r\n\r\nBaseline also wires **security** (proxy, headers, API guards), **webhook ledger** (when billing needs idempotency), and **UI foundation** (shells, marketing pages) so the app matches the PRD shape.\r\n\r\nEnable combinations with **`init`** flags, **`wizard`**, **`add <module>`** (see **`0xstack modules`**), or by editing config and running **`baseline`**.\r\n\r\n**Progressive factories** (after baseline): **`lib/services/module-factories.ts`** exposes **`getBillingService()`**, **`getStorageService()`**, and **`getSeoConfig()`** so you do not statically import disabled stacks.\r\n\r\n## CLI commands\r\n\r\nAll commands support **`--dir <path>`** where noted (default: current working directory). Package ID on npm is **`0xstack`**; examples use `npx` — use `pnpm dlx` / `yarn dlx` / `bunx` equivalently.\r\n\r\n### Lifecycle\r\n\r\n| Command | Purpose |\r\n|---------|---------|\r\n| **`init`** | Create Next.js app + 0xstack layout; progressive TUI or **`--yes`** + module flags (`--billing`, `--storage`, `--seo`, `--blog`, `--email`, `--pwa`, `--jobs`, `--sentry`, `--otel`, `--no-cache`, `--pm`, `--name`, `--theme`, `--interactive`) |\r\n| **`baseline`** | Idempotent install: deps, Better Auth schema gen, Drizzle migrations pipeline, **module lifecycle** (install → activate → **consolidated validate** → per-module validate/sync), docs refresh, key indexes **`--profile core|full`**, **`--pm`** |\r\n| **`sync`** | **Plan** deps drift + disabled-module leftovers; **`--apply`** runs baseline + **docs-sync**. Optional **`--lint`**, **`--format`**, **`--drizzle-generate`** (with `--apply`). **`--profile`**, **`--pm`** |\r\n| **`upgrade`** | **Plan** or **`--apply`**: refresh PRD hygiene (config keys, runtime Zod schema, ESLint boundaries file, module factories, Vitest stub) without full codemods |\r\n| **`doctor`** | Env schema keys, deps for enabled modules, file presence, import boundaries, migrations hints. **`--strict`**: also fail on missing generated-domain tests, ESLint boundary bundle, module factories |\r\n\r\n### Generators and modules\r\n\r\n| Command | Purpose |\r\n|---------|---------|\r\n| **`generate <domain>`** | Schema slice, repo, service, loader, rules, actions, query/mutation keys, hooks (if **`--with-api`**), UI page stub, optional **`/api/v1/<plural>`**, minimal **Vitest** tests under `tests/<plural>/` |\r\n| **`add <module>`** | Enable a module in config and run baseline (ids: **`0xstack modules`**) |\r\n| **`modules`** | Print installable module ids for **`add`** |\r\n\r\n### Config and insight\r\n\r\n| Command | Purpose |\r\n|---------|---------|\r\n| **`config-print`** | Resolved **JSON** after profile merge **`--profile`** |\r\n| **`config-validate`** | Zod validation of **`0xstack.config.ts`** |\r\n| **`deps`** | Expected **app** deps from config; **`--cli`** lists this CLI’s deps |\r\n| **`wizard`** | Interactive reconfiguration + baseline **`--profile`**, **`--pm`** |\r\n\r\n### Docs and vendor CLIs\r\n\r\n| Command | Purpose |\r\n|---------|---------|\r\n| **`docs-sync`** (alias **`docs:sync`**) | Regenerate marker-backed docs (`--profile`) |\r\n| **`shadcn [...args]`** | Passthrough **`shadcn@latest`** |\r\n| **`auth [...args]`** | Passthrough **`auth@latest`** (Better Auth CLI) |\r\n| **`drizzle [...args]`** | **`drizzle-kit`** via local package manager |\r\n| **`wrap`** | Short help for wrappers and operator helpers |\r\n\r\n### Git and release\r\n\r\n| Command | Purpose |\r\n|---------|---------|\r\n| **`git init`** | `git init` in project dir |\r\n| **`git status`** | `git status` |\r\n| **`git commit`** | Prompted **Conventional Commit** (type / scope / subject) or **`-m` / `--message`** |\r\n| **`release`** | If **`.changeset`** exists, runs **`npx @changesets/cli status`**; otherwise prints adoption hints |\r\n\r\n## Configuration\r\n\r\n- Primary file: **`0xstack.config.ts`** using **`defineConfig`** from **`lib/0xstack/config.ts`**\r\n- **Profiles** (e.g. **`core`**, **`full`**) patch **`modules`** for repeatable presets\r\n- **`baseline`** / **`sync --apply`** / **`wizard`** read this file; **`doctor`** / **`sync`** validate it\r\n\r\n## Getting started\r\n\r\nThis package is published to **npm**, and works with **npm / pnpm / yarn / bun**.\r\n\r\n### npm\r\n\r\n```bash\r\nnpx 0xstack init\r\n```\r\n\r\n### pnpm\r\n\r\n```bash\r\npnpm dlx 0xstack init\r\n```\r\n\r\n### yarn\r\n\r\n```bash\r\nyarn dlx 0xstack init\r\n```\r\n\r\n### bun\r\n\r\n```bash\r\nbunx 0xstack init\r\n```\r\n\r\nTypical flow after init:\r\n\r\n```bash\r\nnpx 0xstack baseline --profile full\r\ncp .env.example .env.local\r\nnpx 0xstack doctor --profile full\r\npnpm dev\r\n```\r\n\r\n## 🎯 Why 0xstack for Vibecoders & AI-First Devs\r\n\r\nIf you are a **\"vibecoder\"**—someone who flows with creativity, experiments fast, and leans on **AI-assisted development** (Cursor, GitHub Copilot, or AI Agents)—0xstack is designed to be your best friend.\r\n\r\nWhen you're generating code with AI at 100mph, you need a framework that acts as a **mentor**, ensuring that even your most \"vibey\" sessions result in a scalable, production-ready codebase.\r\n\r\n### 🚀 Why it vibes with AI-assisted dev:\r\n- **Guardrail Architecture**: CQRS (Reads/Writes separation) enforces discipline automatically. If you drop AI-generated logic into the repo, the framework nudges you to put it in the right layer (Rules vs. Services vs. Repos).\r\n- **AI Synergy**: AI agents perform better when they have clear boundaries. 0xstack's strict folder structure and `doctor` command ensure that AI-generated boilerplate fits into a predictable, robust pattern.\r\n- **No \"Rewrite Wall\"**: Most \"fast\" prototypes hit a wall and need a complete rewrite at 10k users. with 0xstack, you prototype *and* build for scale simultaneously. You don't have to choose between speed and stability.\r\n- **Self-Healing Loop**: Use **`baseline`**, **`sync`**, and **`doctor`** to auto-reconcile your repo. If your AI coding session drifts too far, the CLI helps pull the architecture back into alignment.\r\n\r\n### 🧭 The Paradigm Difference\r\n- **One-shot Boilerplates**: Great for a weekend project where you want to hack something together and ship.\r\n- **0xstack**: Great for devs who want to build a serious SaaS that stays clean, secure, and professional as it grows.\r\n\r\n\r\n---\r\n\r\n[downloads-image]: https://img.shields.io/npm/dm/0xstack\r\n[npm-url]: https://www.npmjs.com/package/0xstack\r\n[npm-image]: https://img.shields.io/npm/v/0xstack\r\n[license-url]: ./LICENSE\r\n[license-image]: https://img.shields.io/npm/l/0xstack\r\n[contribute-url]: ./CONTRIBUTING.md\r\n[contribute-image]: https://img.shields.io/badge/PRs-welcome-blue.svg\r\n","readmeFilename":"README.md"}