A starter template for building fully documented type-safe JSON APIs with Hono and Open API
See the codeA starter template for building fully documented type-safe JSON APIs with Hono and Open API.
A new version of drizzle was released since the video showing this starter was made. See this commit for the changes required to use drizzle v0.35+
A new version of zod was released since the video showing this starter was made. See this commit for the changes required to use zod v4.
For a cloudflare specific template, see the cloudflare branch on this repo
For other deployment examples see the hono-node-deployment-examples repo
Clone this template without git history
npx degit w3cj/hono-open-api-starter my-api
cd my-api
Create .env file
cp .env.example .env
Install dependencies
pnpm install
Create sqlite db / push schema
pnpm drizzle-kit push
Run
pnpm dev
Lint
pnpm lint
Test
pnpm test
Base hono app exported from app.ts. Local development uses @hono/node-server defined in index.ts - update this file or create a new entry point to use your preferred runtime.
Typesafe env defined in env.ts - add any other required environment variables here. The application will not start if any required environment variables are missing
See src/routes/tasks for an example Open API group. Copy this folder / use as an example for your route groups.
All app routes are grouped together and exported into single type as AppType in app.ts for use in RPC / hono/client.
| Path | Description |
|---|---|
| GET /doc | Open API Specification |
| GET /reference | Scalar API Documentation |
| GET /tasks | List all tasks |
| POST /tasks | Create a task |
| GET /tasks/{id} | Get one task by id |
| PATCH /tasks/{id} | Patch one task by id |
| DELETE /tasks/{id} | Delete one task by id |
101 followers · starred Jan 2025
234 followers · starred Nov 2024
42 followers · starred Jan 2025
77 followers · starred Oct 2024
A starter template for building fully documented type-safe JSON APIs with Hono and Open API
See the codeA starter template for building fully documented type-safe JSON APIs with Hono and Open API.
A new version of drizzle was released since the video showing this starter was made. See this commit for the changes required to use drizzle v0.35+
A new version of zod was released since the video showing this starter was made. See this commit for the changes required to use zod v4.
For a cloudflare specific template, see the cloudflare branch on this repo
For other deployment examples see the hono-node-deployment-examples repo
Clone this template without git history
npx degit w3cj/hono-open-api-starter my-api
cd my-api
Create .env file
cp .env.example .env
Install dependencies
pnpm install
Create sqlite db / push schema
pnpm drizzle-kit push
Run
pnpm dev
Lint
pnpm lint
Test
pnpm test
Base hono app exported from app.ts. Local development uses @hono/node-server defined in index.ts - update this file or create a new entry point to use your preferred runtime.
Typesafe env defined in env.ts - add any other required environment variables here. The application will not start if any required environment variables are missing
See src/routes/tasks for an example Open API group. Copy this folder / use as an example for your route groups.
All app routes are grouped together and exported into single type as AppType in app.ts for use in RPC / hono/client.
| Path | Description |
|---|---|
| GET /doc | Open API Specification |
| GET /reference | Scalar API Documentation |
| GET /tasks | List all tasks |
| POST /tasks | Create a task |
| GET /tasks/{id} | Get one task by id |
| PATCH /tasks/{id} | Patch one task by id |
| DELETE /tasks/{id} | Delete one task by id |
101 followers · starred Jan 2025
234 followers · starred Nov 2024
42 followers · starred Jan 2025
77 followers · starred Oct 2024