CLI Monorepo
CLI boilerplate to be deployed to Vercel and npm. For developers building a CLI product.
Project structure
Click through the file tree to see the full product structure.
.czrc
.eslintrc.js
.node-version
.npmrc
docker-compose.yml
package.json
pnpm-lock.yaml
pnpm-workspace.yaml
README.md
renovate.json
tsconfig.json
turbo.json
Tech Stack
- Framework:
- Language: TypeScript with strict mode
- Build system: Turborepo
- Styling: TailwindCSS v4 + shadcn/ui
- Database: NeonDB (PostgreSQL) + Drizzle ORM
- Auth: Lucia + GitHub OAuth
- Payments: Stripe
- AI: OpenRouter + AI SDK
- Deployment:
- Web: Vercel
- CLI: npm + Changesets
- DNS: Cloudflare DNS
SEO
- Includes all important SEO tags
- Generate OG images via @vercel/og
- Typesafe JSON-LD rich snippet component
- Automatic sitemap generation
Database
- Powered-by NeonDB (PostgreSQL) and Drizzle ORM
- Commands to generate and apply migrations to local, staging or production databases
- Docker to set-up Postgres locally
- Guides on setting up NeonDB, local Postgres and migrations
Styling
- Powered-by TailwindCSS and shadcn/ui
- Swappable themes via shadcn themes
- Automatic light/dark mode
- Includes many custom components to support current features
Auth
- Powered-by Lucia
- GitHub OAuth included (for web and CLI)
- Authenticated CLI commands
Payment
- Powered-by Stripe
- One-time payments
- e.g. TailwindCSS Plus's components and templates
- Download past invoices
- Webhooks to handle stripe real-time events
- Guides on setting up Stripe and reducing fraud
- Guides on setting up Cloudflare Tunnel for webhook testing
- Guides on paywalling CLI commands
- Guides on setting up Cloudflare Email Routing to send & receive emails from custom domains via Gmail
AI
- Powered-by OpenRouter and AI SDK
- Supports hundreds of models via OpenRouter
Teams management
- Includes only user accounts (i.e. no teams and members management)
Deployment
- Powered-by Vercel, npm and Changesets
- Guides on setting up your Cloudflare DNS
- Guides on setting up automated deployments for your CLI to npm via Changesets
Misc.
- ChatGPT prompts for generating Terms of Service and Privacy Policies