Project setup hub
Use these guides to wire optional features. Copy .env.example to .env.local for local secrets (gitignored). Never commit tokens.
For the full reference maintained with the code, see docs/TEMPLATE_SETUP.md.
Guides
Environment variables (quick reference)
| Variable | Scope | Where to configure |
NEXT_PUBLIC_TINA_CLIENT_ID | Client / CLI | app.tina.io |
TINA_TOKEN | Server / CLI | Tina project → Tokens |
NEXT_PUBLIC_TINA_BRANCH | Optional | Tina / git branch |
NEXT_PUBLIC_RECAPTCHA_SITE_KEY | Client | Google reCAPTCHA Admin |
RECAPTCHA_SECRET_KEY | Server only | Google (optional server verify) |
| EmailJS keys / template IDs | App code or env | emailjs.com |
NEXT_PUBLIC_NETEASE_PLAYLIST_ID | Client | Playlist id from music.163.com |
NEXT_PUBLIC_GITHUB_USERNAME | Client | Your GitHub login |
GITHUB_TOKEN | Server only | github.com/settings/tokens |
UPSTASH_REDIS_REST_URL | Server | console.upstash.com |
UPSTASH_REDIS_REST_TOKEN | Server | Upstash Redis → REST API |
Commands
| Command | Purpose |
npm run dev | Tina dev + Next.js (see Tina guide) |
npm run build | Tina Cloud build + next build (needs TINA_TOKEN + client id) |
npm run build:local | Local Tina build without Cloud (CI / offline) |