{"_id":"@artisann-studios/repo-int","_rev":"8-a7745de180af9bae0c72778cacc0cc7a","name":"@artisann-studios/repo-int","dist-tags":{"latest":"1.3.1"},"versions":{"0.2.0":{"name":"@artisann-studios/repo-int","version":"0.2.0","license":"UNLICENSED","_id":"@artisann-studios/repo-int@0.2.0","maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"homepage":"https://github.com/ImArtisann/repo-int#readme","bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"bin":{"repo-int":"index.ts"},"dist":{"shasum":"482bee4d600a7f93a1162adbcd52d7160ce1884d","tarball":"https://registry.npmjs.org/@artisann-studios/repo-int/-/repo-int-0.2.0.tgz","fileCount":47,"integrity":"sha512-AQWsO5nLKZTqx+404wNrfNNMYQggaxndCbPGKI78SuwhBqEnauSuVKl48hX4KIG02uXsTJBFBoE3z5kplPolvg==","signatures":[{"sig":"MEYCIQDfQBf4cl8+l0a1tl6Axpwkjl+pRsKBJV/2xsE6cG3LrAIhAIh1+/AxiXnphoAEahBCpYv6sRdndpMNFUHQSFQblLa5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166865},"type":"module","_from":"file:/private/tmp/artisann-studios-repo-int-0.2.0.tgz","module":"index.ts","scripts":{"lint":"oxlint . --no-error-on-unmatched-pattern","test":"bun test","check":"bun run typecheck && bun run format:check && bun run lint && bun test","format":"oxfmt --write .","prepare":"bunx --bun husky","lint:fix":"oxlint --fix . --no-error-on-unmatched-pattern","typecheck":"tsc --noEmit","format:check":"oxfmt --check .","publish:package":"bun publish"},"_npmUser":{"name":"artisann","email":"artisann@artisann.dev"},"_resolved":"/private/tmp/artisann-studios-repo-int-0.2.0.tgz","_integrity":"sha512-AQWsO5nLKZTqx+404wNrfNNMYQggaxndCbPGKI78SuwhBqEnauSuVKl48hX4KIG02uXsTJBFBoE3z5kplPolvg==","repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"_npmVersion":"10.9.4","description":"Initialize a Bun repository with TypeScript-Go 7, Oxc tooling, anti-slop rules, optional Effect tooling, Husky, Dependabot, and branch protection.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.62.0","oxlint":"1.77.0","@types/bun":"latest","typescript":"7.0.2","lint-staged":"^17.3.0","@effect/tsgo":"0.36.4","@oxlint/plugins":"1.77.0","oxlint-tsgolint":"7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/repo-int_0.2.0_1788223835753_0.5340969403725428","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@artisann-studios/repo-int","version":"0.2.1","license":"UNLICENSED","_id":"@artisann-studios/repo-int@0.2.1","maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"homepage":"https://github.com/ImArtisann/repo-int#readme","bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"bin":{"repo-int":"index.ts"},"dist":{"shasum":"75a3a7e3e4ca96ec75d819db36571034b8923197","tarball":"https://registry.npmjs.org/@artisann-studios/repo-int/-/repo-int-0.2.1.tgz","fileCount":47,"integrity":"sha512-zVUc5zDiPR697RfuR8lll6+DKy/I2jz0AH8diTcLPI+rYuqyclzQO6KR1tL4vITwCtX66y8xdE8E6iYeaSn4Hw==","signatures":[{"sig":"MEYCIQCV27YnR9TPjkk1YZnx9NIcVodi6vVLB1RSmk+h+SFDMQIhAPcgFDXTvS+xSyiIuIGjXvjRYJDaxqfA1ci4GxVmabk1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBreoSIVz0spKi9/wUuTitsNxhqNOeQOiw+D9OBlRlzcAiBIdBJY9pZDe9BrARsI5OV1fxS0mFfAZzR2S4Eq4dDpYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artisann-studios%2frepo-int@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166865},"type":"module","module":"index.ts","gitHead":"6de03725fb208f9aca727d699b05107866d5dff0","scripts":{"lint":"oxlint . --no-error-on-unmatched-pattern","test":"bun test","check":"bun run typecheck && bun run format:check && bun run lint && bun test","format":"oxfmt --write .","prepare":"bunx --bun husky","lint:fix":"oxlint --fix . --no-error-on-unmatched-pattern","typecheck":"tsc --noEmit","format:check":"oxfmt --check .","publish:package":"bun publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80be67da-b193-4e49-9e2c-254d4bdc0f12"}},"repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"_npmVersion":"12.0.2","description":"Initialize a Bun repository with TypeScript-Go 7, Oxc tooling, anti-slop rules, optional Effect tooling, Husky, Dependabot, and branch protection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.62.0","oxlint":"1.77.0","@types/bun":"latest","typescript":"7.0.2","lint-staged":"^17.3.0","@effect/tsgo":"0.36.4","@oxlint/plugins":"1.77.0","oxlint-tsgolint":"7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/repo-int_0.2.1_1788224244696_0.1413817443447667","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@artisann-studios/repo-int","version":"0.3.0","license":"UNLICENSED","_id":"@artisann-studios/repo-int@0.3.0","maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"homepage":"https://github.com/ImArtisann/repo-int#readme","bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"bin":{"repo-int":"index.ts"},"dist":{"shasum":"ee40933e4bd7f1ebb681c531f4ac538bc003bf80","tarball":"https://registry.npmjs.org/@artisann-studios/repo-int/-/repo-int-0.3.0.tgz","fileCount":49,"integrity":"sha512-lQpnQ0JJZKM3JgKmLe/qNN1XXLOMR7fVXsvkC79BC+8+gpKGRNWxyVbeOSv64nSwIZC15hy017KadxSR9Bx2dA==","signatures":[{"sig":"MEQCIBQGCFIGs9MVxnWGcQdfGP7zAYJeZSSn8CruMwaElZbTAiAxA8YwToPmlTsPt+ZI2zwPGI0CrwrXmQ/CfNyZM46SUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHD2b8J0mKG51B1fO2Bu4N4o01onnHnHERHZrOjCgV5qAiEA0K51gyNh/8pMCLVL6yDsNDEbIiF0c2IBXMtJCi12C6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artisann-studios%2frepo-int@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170487},"type":"module","module":"index.ts","gitHead":"e6f00f1d9acdbc42d4f04a24dc5c40be723396f2","scripts":{"lint":"oxlint . --no-error-on-unmatched-pattern","test":"bun test","check":"bun run typecheck && bun run format:check && bun run lint && bun test","format":"oxfmt --write .","prepare":"bunx --bun husky","lint:fix":"oxlint --fix . --no-error-on-unmatched-pattern","typecheck":"tsc --noEmit","format:check":"oxfmt --check .","publish:package":"bun publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80be67da-b193-4e49-9e2c-254d4bdc0f12"}},"repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"_npmVersion":"12.0.2","description":"Initialize a Bun repository with TypeScript-Go 7, Oxc tooling, anti-slop rules, optional Effect tooling, Husky, Dependabot, and branch protection.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.62.0","oxlint":"1.77.0","@types/bun":"latest","typescript":"7.0.2","lint-staged":"^17.3.0","@effect/tsgo":"0.36.4","@oxlint/plugins":"1.77.0","oxlint-tsgolint":"7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/repo-int_0.3.0_1788225250210_0.4302403921093769","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@artisann-studios/repo-int","version":"1.0.0","license":"UNLICENSED","_id":"@artisann-studios/repo-int@1.0.0","maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"homepage":"https://github.com/ImArtisann/repo-int#readme","bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"bin":{"repo-int":"index.ts"},"dist":{"shasum":"1aa534a134be3be829edec18daea8ee4db4c4371","tarball":"https://registry.npmjs.org/@artisann-studios/repo-int/-/repo-int-1.0.0.tgz","fileCount":79,"integrity":"sha512-J8g135lNfmXX2nuqz9vvIOoBI5alI3R1bb62HAioA4s2dHdoGPG4hCQm/sHj9ME06uRT4ET2Pt2UrMaRixWf6Q==","signatures":[{"sig":"MEUCIFbFWO9Ol4n897MIMaX6wdu987WZkTz3PWvDh/XepcMyAiEA8imknk3gSpGbM7aQJ8A1JGP3LPiqT2yH+s7yQ6iD1nU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD87H+SRMWVmyPS0jHNeSrwLrvriFQYqLQqS2LLqLwjPwIhAKhrefNtW6RYxfwCGlOmdTEBYVTZU3MyyGSSiQsd4yr+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artisann-studios%2frepo-int@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203483},"type":"module","module":"index.ts","gitHead":"79dcb5e22060a9a33a2bea91a3c68e8b42aba2b5","scripts":{"lint":"oxlint . --no-error-on-unmatched-pattern","test":"bun test ./src","check":"bun run typecheck && bun run format:check && bun run lint && bun run test","format":"oxfmt --write .","prepare":"bunx --bun husky","lint:fix":"oxlint --fix . --no-error-on-unmatched-pattern","typecheck":"tsc --noEmit","format:check":"oxfmt --check .","publish:package":"bun publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80be67da-b193-4e49-9e2c-254d4bdc0f12"}},"repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaffold a Bun + Vite+ monorepo with Effect tooling, Alchemy stacks, Convex/Confect, TanStack Start, and Astro templates.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.62.0","oxlint":"1.77.0","@types/bun":"latest","typescript":"7.0.2","lint-staged":"^17.3.0","@effect/tsgo":"0.36.4","@oxlint/plugins":"1.77.0","oxlint-tsgolint":"7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/repo-int_1.0.0_1788687919173_0.9390696212398131","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@artisann-studios/repo-int","version":"1.1.0","license":"UNLICENSED","_id":"@artisann-studios/repo-int@1.1.0","maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"homepage":"https://github.com/ImArtisann/repo-int#readme","bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"bin":{"repo-int":"index.ts"},"dist":{"shasum":"a20a2ab4d8ccdfb970287d9f96e9de83b61a2b20","tarball":"https://registry.npmjs.org/@artisann-studios/repo-int/-/repo-int-1.1.0.tgz","fileCount":102,"integrity":"sha512-jFUW5IU2eQJY8pWj5GwxquZFzOWlj2gNmhEuLRntWddGsUUYez4rneak/sBckLKTLXUrSnRv31xWAcfMLf7MAA==","signatures":[{"sig":"MEYCIQC243+UCkM123h83D1hsl6nboSb1bLSDrK0rHLu4RkumgIhAKzhwrX0hRe7cV6TbNI6vuHtL6iG2bgX8d6IVWHAOl2U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBUfclow92YKB8cdezeH7Dt+KeJjyJGJsDx9LfQmzNVLAiA30h6gWAlZg2b4TWPHjAFqR3BXptLRbT48Gn3fqmVcgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artisann-studios%2frepo-int@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":248052},"type":"module","module":"index.ts","gitHead":"e3944eaf93521a0e08a8ba97658b0442ae0382a8","scripts":{"lint":"oxlint . --no-error-on-unmatched-pattern","test":"bun test ./src","check":"bun run typecheck && bun run format:check && bun run lint && bun run test","format":"oxfmt --write .","prepare":"bunx --bun husky","lint:fix":"oxlint --fix . --no-error-on-unmatched-pattern","typecheck":"tsc --noEmit","format:check":"oxfmt --check .","publish:package":"bun publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80be67da-b193-4e49-9e2c-254d4bdc0f12"}},"repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaffold a Bun + Vite+ monorepo with Effect tooling, Alchemy stacks, Convex/Confect, shadcn UI, R2 assets, TanStack Start, and Astro templates.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.62.0","oxlint":"1.77.0","@types/bun":"latest","typescript":"7.0.2","lint-staged":"^17.3.0","@effect/tsgo":"0.36.4","@oxlint/plugins":"1.77.0","oxlint-tsgolint":"7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/repo-int_1.1.0_1788824113083_0.6971000197885779","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@artisann-studios/repo-int","version":"1.2.0","license":"UNLICENSED","_id":"@artisann-studios/repo-int@1.2.0","maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"homepage":"https://github.com/ImArtisann/repo-int#readme","bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"bin":{"repo-int":"index.ts"},"dist":{"shasum":"5908b4bbde3ca206a1dd91d7c03e62a62d4f04c3","tarball":"https://registry.npmjs.org/@artisann-studios/repo-int/-/repo-int-1.2.0.tgz","fileCount":103,"integrity":"sha512-hHzwyYQZjOxh7MS5+MwGEqTqhSeullDqGWLJYbc2HjWOM64NEFgTTGyh+6Lis9kxRaS4PhFFe2HEQ93aRNeopQ==","signatures":[{"sig":"MEQCIHlVA+AWyON70AzwG0DKyXHpsQPY+WY1rE9RHXsSn+UXAiA3shwPcTFByqby04TOKxko9MH+lpJXmyt7r7dyxJjduQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDCadLXnfVYZO6E7Cghgn8LXj8SvO3Kmui9f36980HfeAIgO56rMCoA5zNAgR3Gu1GGYc7cSX/QyAvjyX4k4jPy19s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artisann-studios%2frepo-int@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":255984},"type":"module","module":"index.ts","gitHead":"c1db1358b73f544db07d81c204d63f3f8c02ac83","scripts":{"lint":"oxlint . --no-error-on-unmatched-pattern","test":"bun test ./src","check":"bun run typecheck && bun run format:check && bun run lint && bun run test","format":"oxfmt --write .","prepare":"bunx --bun husky","lint:fix":"oxlint --fix . --no-error-on-unmatched-pattern","typecheck":"tsc --noEmit","format:check":"oxfmt --check .","publish:package":"bun publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80be67da-b193-4e49-9e2c-254d4bdc0f12"}},"repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaffold a Bun + Vite+ monorepo with Effect tooling, Alchemy stacks, Convex/Confect, shadcn UI, R2 assets, TanStack Start, and Astro templates.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.62.0","oxlint":"1.77.0","@types/bun":"latest","typescript":"7.0.2","lint-staged":"^17.3.0","@effect/tsgo":"0.36.4","@oxlint/plugins":"1.77.0","oxlint-tsgolint":"7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/repo-int_1.2.0_1788824995894_0.963478857817512","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@artisann-studios/repo-int","version":"1.3.0","license":"UNLICENSED","_id":"@artisann-studios/repo-int@1.3.0","maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"homepage":"https://github.com/ImArtisann/repo-int#readme","bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"bin":{"repo-int":"index.ts"},"dist":{"shasum":"c153b4f44aba50d6d84d7790e60b4ba6eb813bc2","tarball":"https://registry.npmjs.org/@artisann-studios/repo-int/-/repo-int-1.3.0.tgz","fileCount":104,"integrity":"sha512-kxr9S6oGptjXglnJy4d2FJKClrGSNcdL01ghhLeE/L4SlFSesC9TPNOgxhQ0t5crh1RqQ0zNZA8HOecnWgiOeA==","signatures":[{"sig":"MEYCIQC59E8mhd9DezXk1DYfxYjWlteQHRVIxeh+KQtN1AFMLAIhAKY7UQw8begNCnuf4Bjerc93MtPJOggFmNOhRtKcRwaO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDCj85XuaeMWlRZZ+I5j+xmu/eQrpK6XQBiVS6l4IVK/AIhAPuPyqqOiu2/WJG1zJJoMxWviM+GZpOxBJqo3SH8Lzx5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artisann-studios%2frepo-int@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265100},"type":"module","module":"index.ts","gitHead":"72b620520ad549905fa762224e709cb4581d167a","scripts":{"lint":"oxlint . --no-error-on-unmatched-pattern","test":"bun test ./src","check":"bun run typecheck && bun run format:check && bun run lint && bun run test","format":"oxfmt --write .","prepare":"bunx --bun husky","lint:fix":"oxlint --fix . --no-error-on-unmatched-pattern","typecheck":"tsc --noEmit","format:check":"oxfmt --check .","publish:package":"bun publish"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80be67da-b193-4e49-9e2c-254d4bdc0f12"}},"repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaffold a Bun + Vite+ monorepo with Effect tooling, Alchemy stacks, Convex/Confect, shadcn UI, R2 assets, TanStack Start, and Astro templates.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.62.0","oxlint":"1.77.0","@types/bun":"latest","typescript":"7.0.2","lint-staged":"^17.3.0","@effect/tsgo":"0.36.4","@oxlint/plugins":"1.77.0","oxlint-tsgolint":"7.0.2001"},"_npmOperationalInternal":{"tmp":"tmp/repo-int_1.3.0_1788833773494_0.2076013854042471","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"_id":"@artisann-studios/repo-int@1.3.1","bin":{"repo-int":"index.ts"},"bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"dist":{"shasum":"f41374fbd83b98fdb9a8917aaaaf6d7584e8e757","tarball":"https://registry.npmjs.org/@artisann-studios/repo-int/-/repo-int-1.3.1.tgz","fileCount":145,"integrity":"sha512-pbF3FFCUB6wtwsEWDCBOFRdZmJxuOswy4RseJ/FHrPgcSgybc/135QzSBxsye4KeNVKp0hWk+ul7ckNkF3yn5Q==","signatures":[{"sig":"MEYCIQDQSqoBceY4NYbmx9zfy8GDQbGKo8uTWuN8uZi8q9SF/wIhAPwE6oPPkBVdtDPg9ZPxtt6dqaNH22BezLLMvyCG/Oio","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE3taHVVynx2zMzDmY4ONcMtnmCWca3r+zS/6IkCOcNRAiBHwMMP+SARnO8lhZstqZx3VybfaUGy7mGkSkGO+2uK/Q=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artisann-studios%2frepo-int@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445878},"name":"@artisann-studios/repo-int","type":"module","module":"index.ts","gitHead":"ca0566002df9e5a3b4eb606e0fbb441e05888621","license":"UNLICENSED","scripts":{"test":"bun test ./src","check":"vp check && tsc --noEmit","prepare":"lefthook install && effect-tsgo patch --typescript --oxlint","deploy:github":"alchemy deploy stacks/github.ts","publish:package":"bun publish"},"version":"1.3.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80be67da-b193-4e49-9e2c-254d4bdc0f12"}},"homepage":"https://github.com/ImArtisann/repo-int#readme","repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaffold a Bun + Vite+ monorepo with Effect tooling, Alchemy stacks, Convex/Confect, shadcn UI, R2 assets, TanStack Start, and Astro templates.","directories":{},"maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"_nodeVersion":"24.20.0","dependencies":{"effect":"4.0.0-rc.113","@effect/platform-bun":"4.0.0-rc.113"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"alchemy":"2.0.0-beta.77","lefthook":"^2.1.12","vite-plus":"0.3.0","@types/bun":"latest","typescript":"7.0.2","@effect/tsgo":"0.41.0","@oxlint/plugins":"1.79.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/repo-int_1.3.1_1789118204114_0.4544745300002564"}}},"time":{"created":"2026-09-01T00:50:35.498Z","modified":"2026-09-11T09:16:44.771Z","0.2.0":"2026-09-01T00:50:35.903Z","0.2.1":"2026-09-01T00:57:24.802Z","0.3.0":"2026-09-01T01:14:10.302Z","1.0.0":"2026-09-06T09:45:19.266Z","1.1.0":"2026-09-07T23:35:13.163Z","1.2.0":"2026-09-07T23:49:56.057Z","1.3.0":"2026-09-08T02:16:13.609Z","1.3.1":"2026-09-11T09:16:44.238Z"},"bugs":{"url":"https://github.com/ImArtisann/repo-int/issues"},"license":"UNLICENSED","homepage":"https://github.com/ImArtisann/repo-int#readme","repository":{"url":"git+https://github.com/ImArtisann/repo-int.git","type":"git"},"description":"Scaffold a Bun + Vite+ monorepo with Effect tooling, Alchemy stacks, Convex/Confect, shadcn UI, R2 assets, TanStack Start, and Astro templates.","maintainers":[{"name":"artisann","email":"artisann@artisann.dev"}],"readme":"# @artisann-studios/repo-int\n\nPublic Bun CLI for scaffolding a Bun-workspaces monorepo managed by Vite+, with\nEffect tooling and Alchemy deployment stacks.\n\n## Use\n\nRun in a new repository directory; `bun init` is not required:\n\n```bash\nmkdir my-repository\ncd my-repository\nbun x @artisann-studios/repo-int config convex ui assets tanstack astro --owner ImArtisann --yes\n```\n\nRequires Bun 1.4 or newer, Node.js for the toolchain executables, and network\naccess. Registry credentials are not required. Pass `--owner <login>` for the\nGitHub stack, or authenticate `gh` so repo-int can resolve your login.\n\n| Template   | Result                                                                                                                                                                                          |\n| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `config`   | Root Vite+ lint/format/test/task configuration, Effect TypeScript tooling, shared `@repo/typescript-config`, lefthook, CI, Dependabot, CodeRabbit, merged `.gitignore`, and `stacks/github.ts`. |\n| `convex`   | `@repo/backend` in `packages/backend`, with Convex, Confect, example notes queries/mutations, Confect-generated code, and Convex AI guidelines/skills.                                          |\n| `ui`       | `@repo/ui` in `packages/ui`, with shadcn configuration, a Button, mobile hook, class utility, shared Tailwind v4 theme, and package exports. Integrates with TanStack apps.                     |\n| `assets`   | `@repo/assets` in `packages/assets`, with an Alchemy R2 bucket/custom-domain stack, image manifest generator, upload script, and Unpic components for TanStack and Astro apps.                  |\n| `tanstack` | `@repo/web` in `apps/web`, with TanStack Start, React, Tailwind, and an Alchemy Cloudflare stack. Runs a build to generate the route tree.                                                      |\n| `astro`    | An Astro/Tailwind app with an Alchemy Cloudflare stack. Reuses an existing Astro app in `apps/web` or `apps/static`; otherwise takes `apps/web` when free, or `apps/static`.                    |\n\nTemplates always apply in `config → convex → ui → assets → tanstack → astro`\norder, regardless of argument order. TanStack reserves `apps/web` when both\nfrontend templates are selected. Occupied directories containing a different app\nare not overwritten.\n\nApply `config` first, or include it in the same command as the other templates:\n\n```bash\nbun x @artisann-studios/repo-int config --owner ImArtisann --yes\nbun x @artisann-studios/repo-int convex tanstack --yes\n```\n\nAll scaffold writes precede one `bun install`. Root `prepare` installs lefthook\nand patches TypeScript/Oxlint. Hooks invoke the locally installed Vite+ through\nBun; no global `vp` installation is needed. Formatting runs before linting and\nfixed files are re-staged.\n\n## Existing repositories\n\nManaged configuration files prompt before replacement; non-interactive input\nkeeps differences unless `--yes` is supplied. Scaffold app/package files are\ncreate-only and are never overwritten, including with `--yes`.\n\nRun additional templates from the workspace root or any directory inside it.\nrepo-int finds the initialized workspace in a parent directory without crossing\na nested Git repository boundary. You do not need to repeat `config`:\n\n```bash\ncd apps\nbun x @artisann-studios/repo-int convex --yes\n```\n\nIf `apps/web` contains a different app, `tanstack` asks for another directory\nname. For non-interactive runs, specify the name explicitly:\n\n```bash\nbun x @artisann-studios/repo-int tanstack --app-dir dashboard --yes\n```\n\nThis creates `apps/dashboard`. Use a single directory name, not a path. `--yes`\ndoes not authorize replacing an unrelated app. Use the same `--app-dir` value to\nrerun the template for that app.\n\nPass `--xstate` with `config` to add the XState Oxlint rules under\n`tools/oxlint/xstate/` and enable them in `vite.config.ts`:\n\n```bash\nbun x @artisann-studios/repo-int config --xstate --owner ImArtisann --yes\n```\n\nThe flag requires the `config` template and can be applied to an existing\nworkspace by rerunning `config` with it.\n\nPackage integrations work in either order: add `ui` and `assets` to existing\napps, or create the packages before adding frontend templates. repo-int checks\nthe dependencies of each `apps/*` workspace to select its integration. Unrelated\napps are left unchanged. Occupied `packages/ui` and `packages/assets`\ndirectories must already have the corresponding `@repo/*` package name.\n\nIntegrations add missing app dependencies, shadcn import aliases, and\ncreate-only component/configuration files. The UI integration replaces the app's\nbare Tailwind import in `src/styles.css` with the shared stylesheet import,\nretaining local CSS. Repeated runs do not duplicate the import.\n\nExisting catalog entries and package-manager settings are kept. Missing catalog\nentries, workspace globs, dependencies, and scripts are added. Conflicting\nscripts or dependencies prompt before replacement. Stable package versions use\ncaret ranges; prereleases stay exact. The compatible Vite+/Effect TypeScript\ncompiler and linter versions are pinned together.\n\nExisting `.gitignore` rules are preserved. CodeRabbit path filters are extended\nto exclude generated output, including the whole Confect-managed `convex/`\ndirectory, generated Confect code, AI files, and frontend build artifacts.\nRerunning `config` preserves filters added by the other templates.\n\nVersion 1 replaces the old flag-only initializer. `--effect` is removed: Effect\ntooling is part of `config`. Generated repositories use lefthook instead of\nHusky/lint-staged. repo-int no longer creates GitHub remotes or changes branch\nprotection directly; it only initializes local Git with `main` when needed.\nExisting legacy files are not automatically removed.\n\n## After generation\n\n```bash\nbun run check\nbun run test\nbun run build\n```\n\nConfect code generation runs without deployment credentials. Convex 1.45\nrequires a linked deployment for its own code generation, so that step is\nexplicitly skipped during scaffolding. Link the backend, then generate Convex's\nAPI/server definitions:\n\n```bash\nbun run --cwd packages/backend dev:convex\nbun run --cwd packages/backend codegen\n```\n\nConvex AI skill installation uses `npx`; Convex reports a warning if that\noptional skill installation is unavailable. Guidelines are still installed. A\nfailed TanStack post-install build warns without aborting scaffolding; its route\ntree is regenerated by the next dev/build command.\n\nAuthenticate Alchemy separately before deploying the private, squash-only GitHub\nrepository and its scoped Cloudflare deployment secrets:\n\n```bash\nbun x alchemy login --profile admin\nbun run deploy:github\n```\n\nStart an app with `bun run --cwd apps/web dev` or\n`bun run --cwd apps/static dev`. Cloudflare/GitHub stack deployments require\nyour credentials and are never run by repo-int.\n\n### Production deployment\n\nrepo-int adds `.github/workflows/deploy.yml` without replacing an existing file,\neven with `--yes`. The workflow deploys on pushes to `main`, including merged\npull requests. It does not create PR previews or run cleanup deployments.\n\nFollowing the\n[Alchemy CI/CD guide](https://alchemy.run/cloudflare/tutorial/part-5.md), run\nthe admin-profile setup above once to provision `CLOUDFLARE_API_TOKEN` and\n`CLOUDFLARE_ACCOUNT_ID` as GitHub Actions secrets. App stacks use\n`Cloudflare.state()` so local and CI deployments share remote state.\n\nThe workflow deploys app stacks under `apps/*/alchemy.run.ts` to the `prod`\nstage, including apps with custom directory names. It does not run\n`stacks/github.ts` or provision the R2 assets package. Configure any\napp-specific build variables or secrets in the workflow before its first\ndeployment. Existing custom deployment workflows remain your responsibility.\n\n### Shared shadcn UI\n\n```bash\n# Choose one primitive library for a new UI package.\nbun x @artisann-studios/repo-int ui --ui-base radix --yes\nbun x @artisann-studios/repo-int ui --ui-base base --yes\n\n# Add components after creating the package and app.\nbun x --bun shadcn@latest add input --cwd apps/web\n```\n\n`--ui-base radix` uses Radix UI and the `radix-nova` style. `--ui-base base`\nuses Base UI and the `base-nova` style. Only the selected primitive dependency\nis added. Omit the flag to retain an existing package's choice, or use Radix for\na new package. The flag requires the `ui` template.\n\nBoth `packages/ui/components.json` and the TanStack app's `components.json` use\nthe selected Nova style, neutral colors, Lucide icons, and Tailwind v4.\nComponents, hooks, utilities, and the theme live under `packages/ui/src`. Adding\na shared component from the app routes it to the UI package:\n\n```tsx\nimport { Button } from \"@repo/ui/components/button\";\nimport { useIsMobile } from \"@repo/ui/hooks/use-mobile\";\n```\n\nWith no app yet, run shadcn with `--cwd packages/ui`. Astro apps are not\nconverted to React; using shadcn there requires a separate Astro React\nintegration.\n\nThe selected Button API follows shadcn: Radix uses `asChild`; Base UI uses\n`render` and, for non-button elements, `nativeButton={false}`.\n\nReruns do not switch an existing package's base, even with `--yes`. Changing\nprimitive libraries requires migrating existing components first. Conflicting\napp and package bases are rejected before scaffold files are written. Apps added\nlater inherit the shared package's choice without repeating the flag.\n\n### R2 images and Unpic\n\n```bash\nbun x @artisann-studios/repo-int assets --yes\ncp packages/assets/.env.example packages/assets/.env\n```\n\nSet `ASSETS_HOST` to a custom hostname, such as `assets.example.com`, and\n`ASSETS_ZONE_ID` to its Cloudflare zone ID. `ASSETS_BUCKET_NAME` defaults to a\nnormalized repository name plus `-assets`, using lowercase letters, numbers, and\nhyphens within R2's 63-character limit. The stack creates the bucket and\nattaches the custom domain. It does not change zone-wide image transformation\nsettings.\n\nAdd source images under `packages/assets/images/`; nested directories become key\nprefixes. PNG, JPEG, WebP, AVIF, GIF, and SVG are supported. The generator reads\nintrinsic dimensions and writes `src/manifest.gen.ts`, keyed by source path.\nObject keys include a content hash and use immutable cache headers. Commit the\nsource images and generated manifest.\n\n```bash\nbun run --cwd packages/assets generate\nbun run --cwd packages/assets verify\nbun run --cwd packages/assets upload:plan\n\n# Authenticate and provision the bucket; this does not upload images.\nbun x alchemy login\nbun run --cwd packages/assets deploy\n\n# Set R2_ACCOUNT_ID, R2_ACCESS_KEY_ID, and R2_SECRET_ACCESS_KEY\n# in packages/assets/.env, then upload.\nbun run --cwd packages/assets upload\n```\n\nScope the R2 S3 credentials to object read/write access for the bucket and use\nthe same account as the Alchemy deployment. `upload` regenerates the manifest\nand skips objects already present. `verify` fails on a stale manifest without\nrewriting it. An empty image directory is valid and requires no credentials to\ngenerate or preview.\n\nEach supported app receives `src/components/AssetImage` and\n`.env.assets.example`. Copy the example's public settings into that app's\n`.env`:\n\n- TanStack: `VITE_ASSETS_HOST`, `VITE_ASSETS_TRANSFORM`.\n- Astro: `PUBLIC_ASSETS_HOST`, `PUBLIC_ASSETS_TRANSFORM`.\n\nUse the same hostname as `ASSETS_HOST`. Never copy R2 credentials into app\nenvironment variables. Original R2 images work with transformation mode set to\n`false`. To enable responsive Cloudflare transformations, first enable Image\nTransformations for the zone, then set the app's transform flag to `true` and\nrebuild. Cloudflare usage charges may apply.\n\nFor example, after adding `images/brand/hero.png`, a TanStack component can use:\n\n```tsx\nimport { resolveAssetPath } from \"@repo/assets/urls\";\nimport { AssetImage } from \"./components/AssetImage\";\n\nexport function Hero() {\n    const asset = resolveAssetPath(\"brand/hero.png\");\n    return asset ? (\n        <AssetImage asset={asset} alt=\"Project preview\" width={800} />\n    ) : null;\n}\n```\n\nThe lookup also typechecks while the manifest is empty. Astro uses the same\n`asset`, `alt`, and `width` props through its native `AssetImage.astro`\ncomponent. For metadata URLs, use\n`assetUrl(asset, \"https://assets.example.com\")` from `@repo/assets/urls`.\n\n## Develop and publish\n\nrepo-int runs the same toolchain it installs — Vite+ (`vp check`), lefthook\nhooks, and Effect tooling:\n\n```bash\nbun install\nbun run check\nbun run test\n```\n\nRepository tests are scoped to `src`; Confect's template `notes.spec.ts` defines\nan API contract, not a Bun test. Publishing a GitHub release runs\n`.github/workflows/publish.yml`, verifies the package, and publishes to npm\nthrough trusted publishing.\n","readmeFilename":"README.md"}