* feat: support hono rpc * add wrangler file * update name of wrangler file * add wrangler as a dependency * add compatibility_flags * trigger ci * core: add health check to docker file * expose port 80 * update custom healthcheck * feat: implement openapi * install dependencies in root * debug yml * update yml * update port * update dockerfile with envs * completely move away from apiClient * rename backend to api * refactor: update server descriptions and comment out local spec saving * update lock file * use api.classroomio.com * add support for redis * fix: add missing line break in WelcomeModal.svelte * refactor: remove wrangler configuration and update Vite config for API integration
OpenAPI Spec Generator Script
This script generates the OpenAPI specification from your Hono application and optionally uploads it to a Cloudflare R2 bucket.
Usage
Generate and Upload OpenAPI spec
pnpm run upload:openapi
Direct script usage
tsx scripts/upload-openapi-spec.ts
Examples
# Generate spec locally only
pnpm upload:openapi
Environment Variables
For R2 upload functionality, set these environment variables:
CLOUDFLARE_ACCESS_KEY=your_access_key
CLOUDFLARE_SECRET_ACCESS_KEY=your_secret_key
CLOUDFLARE_ACCOUNT_ID=your_account_id
Output
The script will:
- Generate the OpenAPI specification from your Hono app routes
- Save locally to
dist/openapi/openapi.json - Upload to R2 (if credentials provided):
openapi/openapi-YYYY-MM-DD.json(dated version)openapi/openapi-latest.json(latest version)
GitHub Action Integration
This script is integrated with a GitHub Action that automatically generates and uploads the OpenAPI spec on code changes.
Automatic Workflow
The GitHub Action runs on:
- Push to main - Automatically uploads to R2
- Pull Requests - Generates spec for review (no upload)
- Manual dispatch - Allows manual triggering with custom parameters
Setup
- Required secrets:
CLOUDFLARE_ACCESS_KEYCLOUDFLARE_SECRET_ACCESS_KEYCLOUDFLARE_ACCOUNT_IDPUBLIC_SUPABASE_URLPUBLIC_SUPABASE_ANON_KEY
Features
- ✅ Automatic OpenAPI spec generation from Hono routes
- ✅ Local file generation for development
- ✅ Cloudflare R2 upload with versioning
- ✅ GitHub Action integration
- ✅ Environment-specific deployments
- ✅ PR previews and artifacts
- ✅ Error handling and logging
- ✅ CLI help with
--helpflag