Brief description of what this project does and who it's for.
Live: https://project.pages.dev
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4
- Deployment: Cloudflare Pages via GitHub Actions
- Dev Environment: Nix (optional) + Bun
git clone https://github.com/wezero-studio/project-name.git
cd project-name
nix develop # drops you into a shell with bun, node, treefmt, lefthook
cp .env.example .env.local
bun install
bun run devEnsure you have bun and lefthook installed.
git clone https://github.com/wezero-studio/project-name.git
cd project-name
cp .env.example .env.local
bun install
lefthook install
bun run devOpen http://localhost:3000.
Copy .env.example to .env.local and fill in the values:
| Variable | Description | Where to get it |
|---|---|---|
NEXT_PUBLIC_APP_URL |
Public app URL | Your domain |
| Command | Description |
|---|---|
bun run dev |
Start dev server with Turbopack |
bun run build |
Production build |
bun run lint |
Run ESLint |
bun run format |
Format with treefmt (prettier + nixfmt) |
bun run type-check |
TypeScript type checking |
Deployments are automated via GitHub Actions to Cloudflare Pages. Push to main to deploy to production. PRs get preview deployments with a URL comment.
See the CI/CD SOP for setup details.
src/
app/ # Next.js App Router pages and layouts
components/ # Reusable UI components
lib/ # Utility functions and shared logic
public/ # Static assets (favicon, og-image, etc.)
flake.nix # Nix dev environment
treefmt.nix # treefmt config (nix-native)
treefmt.toml # treefmt config (non-nix fallback)
lefthook.yml # Git hooks (lint, format, type-check on commit)