API Protocol Layer — GraphQL (gqlgen) and gRPC (Connect-RPC) alternate engines
- Dominant language
- Go
- Stars
- 0
- Forks
- 0
- Avg merge
- 3h 1m
- Merged PRs (30d)
- 29
Description
Core, not a Feature Pack — every generated project needs *some* way for the client tiers to talk to Go, so unlike the Feature Packs in `README.md` there is no `none` option here, only a choice of engine per tier.
REST (Echo + Huma v2) is the default and the only tier currently implemented. GraphQL and gRPC are alternate engines swapped in at scaffold time.
| Boundary | Protocol | Backend Engine | Client SDK | State |
|---|---|---|---|---|
| Next.js → Go (Tier 2, default) | REST | Echo + Huma v2 | `@hey-api/openapi-ts` + `openapi-fetch` | shipped |
| Next.js → Go (Tier 2) | GraphQL | [gqlgen](https://gqlgen.com/) | Typed GraphQL client / `graphql-request` | to build |
| Next.js → Go (Tier 2) | gRPC | [Connect-RPC](https://connectrpc.com/) / gRPC-Go | `@connectrpc/connect-web` | to build |
| Frontend → Next.js (Tier 1) | REST | Next.js App Router / Server Actions | `fetch` / TanStack Query | shipped |
| Frontend → Next.js (Tier 1) | GraphQL | Next.js Route Handler | GraphQL Codegen + Urql / Apollo | to build |
The scaffolding CLI prompts for this as two independent choices, since the two tiers can mix (e.g. REST to the browser, gRPC internally between Next.js and Go).
Full design, including the tier diagram, lives in `roadmap.md` under *API Protocol Layer*.
**Sequencing:** additive — REST is the default and needs no new design, so these layer on top of the CLI work rather than blocking it.
Contributor guide
No contributing guide indexed for this repository
Research direction
Read the API Protocol Layer section in roadmap.md and the Feature Packs guidance in README.md, then inspect the existing REST scaffolding path and CLI prompt flow. Done means GraphQL and gRPC can be selected independently for the two tiers, including mixed combinations, while REST remains the default.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, graphql, grpc, next.js
- Domain
- api, backend-api-design, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100