create-thefirma-template
v0.1.15
Published
Interactive CLI to scaffold theFirma project templates
Maintainers
Readme
theFirma Template
Interactive CLI that scaffolds a full monorepo project based on your tech choices. Pick your stack and get a working codebase in seconds.
bun create thefirma-template my-appUsage
bun create thefirma-template my-app
npm create thefirma-template my-app
pnpm create thefirma-template my-appOr use the interactive prompts (no arguments):
bun create thefirma-template
# → Project name? my-app
# → Runtime? Bun / Node.js
# → Web framework? ...What you get
The scaffolder asks about your tech choices and generates a Bun + Turborepo monorepo with shared packages and optional apps.
Categories
| Category | Options | |----------|---------| | Runtime | Bun, Node.js | | Package Manager | bun, npm, pnpm | | Web Frontend | TanStack Router, React Router v7, Next.js 15, None | | Backend | Hono, Express 5, NestJS, None | | Database | SQLite, PostgreSQL, MySQL, MongoDB, None | | ORM | Prisma (if database selected) | | Deploy | Docker (web), Docker (server), None | | Addons | Biome, Turborepo, Husky, PWA, Tauri, Electrobun, Vite |
Structure
my-app/
├── apps/
│ ├── web/ # Frontend (TanStack / React Router / Next.js)
│ ├── server/ # API (Hono / Express / NestJS)
│ └── native/ # Mobile (Expo + NativeWind)
├── packages/
│ ├── config/ # Shared TypeScript config
│ ├── db/ # Prisma schema + client
│ ├── env/ # Environment validation (t3-env)
│ ├── theme/ # Colors & typography tokens
│ └── types/ # Shared Zod schemas
└── docs/All packages are already wired with workspace:* references. Just run install and dev.
Examples
Minimal — no apps, just shared packages:
bun create thefirma-template my-lib --runtime bun --pkg-mgr bunFull stack — web + API + database:
bun create thefirma-template my-app \
--web react-router --backend hono --db postgresql --orm prisma \
--addons biome,turborepo,huskyDevelopment
git clone <this-repo>
cd thefirma-template
bun install
bun run dev # runs src/index.ts directly
bun run build # compile to dist/Test a scaffold locally:
THEFIRMA_FRAGMENTS_DIR=./fragments bun run devPublishing
bun run build
npm publish --access publicThe package ships dist/ (compiled CLI) and fragments/ (template files). Source files (src/) are excluded.
License
MIT
