Open source · Go · Echo

Structure, not boilerplate.

EchoNext gives Echo a project layout, typed handlers, and generated OpenAPI—so every service starts clean and stays that way.

$ go get github.com/abdussamadbello/echonext@v1.5.0
api/users.go
type CreateUser struct {
  Name string `json:"name" validate:"required,min=2"`
  Email string `json:"email" validate:"required,email"`
}

func createUser(c echo.Context, req CreateUser) (User, error) {
  // req is already bound and validated
  return users.Create(req)
}

app.POST("/users", createUser, echonext.Route{
  Summary: "Create a user",
  SuccessStatus: 201,
})
Echo compatiblemiddleware + context
OpenAPI 3.0generated automatically
MIT licensedopen by default
v1.5.0latest stable docs

Decided for you

The patterns come with it.

Project layout, binding, validation, responses, and documentation all follow one set of conventions. You write the endpoints that are actually yours.

01

Typed by default

Request and response structs become the contract. Handler signatures stay explicit and compiler-friendly.

02

OpenAPI from code

Generate an OpenAPI 3 specification from the same routes and Go types that serve production traffic.

03

Validation included

Use familiar struct tags and receive consistent validation failures before business logic runs.

04

CLI workflows

Scaffold a project, generate a domain, and run dev builds without inventing a layout first.

05

Beyond REST

Build file uploads, WebSocket hubs, and gqlgen-backed GraphQL endpoints with Echo context access.

06

Production helpers

Opt into testing, database, config, metrics, request IDs, and OpenTelemetry contrib packages.

Keep Echo. Skip the plumbing.

Progressive, not prescriptive.

Wrap the routes that benefit from a typed contract and keep using standard Echo middleware, groups, context methods, static assets, and error handling everywhere else.

By hand

Every endpoint repeats itself

  • Bind request payloads manually
  • Invoke validation by hand
  • Maintain schemas separately
  • Repeat response envelopes
With EchoNext

The framework carries it

  • Declare request and response structs
  • Register a typed handler
  • Generate and serve OpenAPI
  • Keep the complete Echo surface

A practical toolkit

From route to runtime.

Start with the core wrapper. Add only the integrations and contrib packages your service actually needs.

Your next service

Start structured. Stay that way.

Install the stable release, scaffold a project, and register your first typed route.