A Vite + React app for generating internal release messages from ticket details, with server-side Groq requests.
- Groq requests now run through
/api/generateso the API key stays server-side. - Manual version entry is now the only supported flow because the automated version lookup was unreliable in practice.
- The previous GitHub Pages deployment flow was removed because a static-only deploy cannot safely hold the required secrets.
- Date formatting now uses local calendar dates instead of timezone-sensitive
new Date('YYYY-MM-DD')parsing.
- React 18
- TypeScript
- Vite
- Custom CSS
- Vercel-style serverless functions in
api/
Create a .env file in the project root:
cp .env.example .envRequired:
GROQ_API_KEY=gsk_your_api_key_hereInstall dependencies:
npm installStart the app:
npm run devvite.config.ts mounts local /api/generate middleware during development, so npm run dev exercises the same API boundary as production.
Build the frontend:
npm run buildnpm run build runs a typecheck first and then bundles the production app with scripts/build.mjs, producing dist/index.html, dist/assets/app.js, and dist/assets/app.css.
Run the automated tests:
npm testPreview the static frontend bundle:
npm run previewnpm run preview only serves the built frontend. It does not emulate the serverless API routes.
Deploy this project to a platform that supports both:
- static Vite output
- server-side functions with secrets
The repo now includes vercel.json, so Vercel is the simplest deployment target.
Production secrets:
GROQ_API_KEY
- Enter version numbers manually.
- Choose the release date and time.
- Paste ticket details.
- Generate the release message.
- Review and copy the result.