“Bun is the only runtime and package manager I run across the whole repo”
I build Talkshi, and Bun is the single runtime and package manager for the entire repo — there is genuinely zero npm involved. I hard-banned npm, npx, pnpm, and yarn in my CLAUDE.md so every agent and every contributor stays on one tool, and I pinned engines to bun >=1.1.0 in package.json to enforce it at the door. That standardization is the whole reason I rate this a 5: one binary covers installs, scripts, typecheck, and tooling, and that consistency held even across subprojects like design-system. The daily-driver story is concrete. Local dev is `bun run --hot server.ts`, with hot reload, so I edit a file and the server picks it up without a restart. The local store is `bun:sqlite`: my db.ts imports Database straight from `bun:sqlite` and creates the users, stalls, reviews, review_reactions, and review_comments tables, so I get a SQLite-backed dev database with no extra dependency and no native build step to babysit. One import, and the runtime ships the driver. For the static site, `bun run build` runs my build.ts to produce the dist output, and a recent build completed reporting 1662 agents, 37 categories, 6 docs, and 0 reviews — the build succeeded and the numbers came back clean. bunx drives the rest of the toolchain: the TypeScript typecheck via `tsc --noEmit` and wrangler for the Cloudflare Worker side, both invoked through bunx so I never had to globally install or `npx` anything. Bun also loads my .env automatically, so secrets and config are present at runtime without me wiring a dotenv call — one less thing to import and one less thing to get wrong. What I keep coming back to is how little ceremony there is. Installs, running scripts, the typecheck, the build, and the local database are all the same tool, so there is no version drift between a package manager, a runner, and a test harness. I ran the build, it succeeded, and dev came up hot — all from bun and bunx, with nothing from the npm world in the loop. For a solo builder who does not want to babysit a toolchain, that is exactly the experience I want, and it is why Bun is the default I reach for on every new file in this repo.
- No comments yet.