Next.js app router + Tailwind + shadcn/ui + one health API.
Updated: 9 Oct 2025
This repository is a starter pack. Don’t clone it for your project.
Create your own repository from this template, or bootstrap from scratch using the steps below.
- Click Use this template → Create a new repository in your org/user.
- Clone your new repository.
- Follow Run locally and Deploy below.
# 1) Create project
npx create-next-app@latest my-app --ts --eslint --app --src-dir
cd my-app
# 2) Tailwind (if not included)
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
# tailwind.config.js → add:
# content: ["./src/**/*.{js,ts,jsx,tsx,mdx}"],
# 3) shadcn/ui
npx shadcn-ui@latest init -d
npx shadcn-ui@latest add button card input
# 4) Health API route
mkdir -p src/app/api/health && cat > src/app/api/health/route.ts <<'TS'
export async function GET() {
return new Response(JSON.stringify({ ok: true }), {
headers: { "content-type": "application/json" },
});
}
TS
# 5) Environment file
cp .env.example .env.local # see example below
.env.example
NEXT_PUBLIC_APP_NAME=Since AI Starter
# leave empty to use the same origin as the web app
NEXT_PUBLIC_API_URL=http://localhost:3000
npm install
npm run dev
# open http://localhost:3000
Common scripts
npm run dev # dev server
npm run build # production build
npm start # run built server
- Push your repository to GitHub.
- Import in Vercel (or run
npx vercel
). - Add envs from
.env.local
to Vercel project settings. - Defaults work: Build
npm run build
, Output.next
.
Health check: GET /api/health
→ { "ok": true }
src/
app/
page.tsx # landing page
api/health/route.ts # health endpoint
.env.example
- Keep pull requests small; use Conventional Commits.
- Do not commit secrets. Keep them in
.env.local
or Vercel project envs. - You can remove shadcn/ui if not needed.
License: MIT