Base website project for DevFest 2026, built with Next.js App Router, static export, and localized routing (/en, /fr) without middleware/proxy.
- Next.js 16 (App Router)
- TypeScript
- Tailwind CSS v4
- next-intl
npm install
npm run devOpen http://localhost:3000.
src/
├── app/
│ ├── [locale]/ # Locale pages + locale layout
│ ├── globals.css
│ └── page.tsx # Redirects "/" to default locale
├── i18n/
│ ├── navigation.ts
│ ├── request.ts
│ └── routing.ts
└── messages/
├── en/
└── fr/
- Add new message namespaces under
src/messages/en/*.jsonandsrc/messages/fr/*.json. - Register namespaces in
src/i18n/request.ts. - Use namespaces in components/pages with
getTranslationsoruseTranslations.
npm run lint– ESLintnpm run typecheck– TypeScript checknpm run format– Prettier writenpm run format:check– Prettier checknpm run check– lint + typecheck + build
- Static export is enabled via
output: 'export'. next.config.tsautomatically setsbasePath/assetPrefixduring GitHub Actions builds.- Workflow file:
.github/workflows/nextjs.yml.
To run the same install/build flow used in GitHub Actions:
docker build -f Dockerfile.ci -t devfest2026-ci .make ci
make lint
make build
make check
make docker-ci