Releases: ramonclaudio/tanstack-cn
v0.2.0
PM-agnostic now. Use npm, pnpm, bun, or yarn.
v0.1.x assumed Bun everywhere. Scripts shelled out to bun run, install commands hardcoded bunx, the CLI defaulted to Bun when it couldn't detect a package manager. Made it work right.
The CLI detects your PM from npm_config_user_agent and falls back to npm. npm create tanstack-cn@latest, pnpm create tanstack-cn@latest, bunx create-tanstack-cn@latest, yarn create tanstack-cn all work. The clean script (full reset, fmt, lint, build, typecheck, test) auto-detects too. CI runs the matrix on all four on every push and PR.
Cloudflare Workers ships now. Switched from Pages, since Pages reserves the ASSETS binding Nitro needs. The CLI rewrites wrangler.toml name at scaffold time so your Worker lands at <your-app>.workers.dev, not tanstack-cn. Vercel got vercel.json for parity with the Netlify and Cloudflare configs.
Swapped the hugeicons d.ts workaround for a patches system. patches/*.patch files apply via git apply in postinstall. Same trick as patch-package minus the dep.
After scaffold, the CLI prints what to edit before deploy: src/lib/site.ts, package.json metadata, VITE_SITE_URL on your platform.
Install
npm create tanstack-cn@latest my-app
# or
pnpm create tanstack-cn@latest my-app
# or
bunx create-tanstack-cn@latest my-app
# or
yarn create tanstack-cn my-appPing me if there are any bugs or feature requests for it.
v0.1.2
Slim down the published tarball.
v0.1.1 was shipping bun.lock (164 KB) inside the scaffolded template. The CLI runs <pm> install right after copying, which regenerates a fresh lockfile immediately, so the bundled one was pure overhead. Also added a defensive filter so build output directories (node_modules, .output, .nitro, .tanstack, dist, coverage) never leak into the tarball if someone runs bun install inside templates/default/ before publishing.
Expected tarball size drops from ~570 KB to ~400 KB. No user-visible behavior change: bunx create-tanstack-cn@latest my-app still installs and scaffolds identically.
Upgrade
bunx create-tanstack-cn@latest my-appv0.1.0 and v0.1.1 are deprecated on npm.
v0.1.1
Fix: .gitignore now lands in scaffolded projects.
npm always strips .gitignore from published tarballs (it's on their always-ignored list, not overridable). v0.1.0 scaffolds were missing it, which meant bun run lint scanned node_modules and reported tens of thousands of false errors.
The fix: the CLI ships the template's .gitignore as _gitignore inside the published package, then renames it back to .gitignore after copying the template at scaffold time. Standard scaffolder workaround (same trick create-next-app and create-vite use).
If you already scaffolded a project from v0.1.0, either drop a .gitignore in manually or re-scaffold with bunx create-tanstack-cn@latest.
Upgrade
bunx create-tanstack-cn@latest my-appv0.1.0 has been deprecated on npm.
v0.1.0
Initial release.
Got tired of every TanStack Start + shadcn starter shipping last year's choices: Radix, ESLint, Prettier, Webpack-era Vite. Built the one I wanted to use.
TanStack Start on Vite 8 (Rolldown + Oxc), Nitro 3 for SSR, React 19, TypeScript 6. Tailwind v4 with shadcn base-luma on @base-ui/react. Oxlint with 232 rules and type-aware linting via oxlint-tsgolint, Oxfmt for formatting and Tailwind class sorting. Vitest 4. Bun runtime.
SEO and launch plumbing wired: canonical, og, twitter, JSON-LD @graph, 2400×1260 og image, sitemap, robots.txt with AI crawler opt-outs, llms.txt, security.txt, PWA manifest with maskable and monochrome icons. Platform-agnostic security headers ship from Nitro routeRules on every preset (Vercel, Cloudflare, Netlify, Node, Bun, Deno). Speculation Rules API prerenders internal links on 200ms hover.
Install
bunx create-tanstack-cn@latest my-app
# or
npm create tanstack-cn@latest my-app
# or clone the template directly:
bunx degit ramonclaudio/tanstack-cn/templates/default my-appcreate-tanstack-cn copies the template, rewrites package.json, detects your package manager, installs dependencies, and initializes a git repo with an initial commit. --no-install and --no-git if you want to skip either.
Packages published
create-tanstack-cn@0.1.0— scaffolder CLItanstack-cn@0.1.0— reserved name,bunx tanstack-cnprints install instructions
Lighthouse desktop (5-run p50): 98 / 100 / 100 / 100. LCP 842ms, CLS 0.000.
Ping me if there are any bugs or feature requests for it.