← ClaudeAtlas

echolisted

Echo Go web framework. Covers routing, middleware, binding, context, and WebSocket. Use for high-performance, minimalist Go APIs. USE WHEN: user mentions "echo", "labstack echo", "go echo framework", asks about "echo middleware", "echo context", "echo binding", "echo websocket", "high performance go api", "echo router" DO NOT USE FOR: Gin projects - use `gin` instead, Fiber projects - use `fiber` instead, Chi projects - use `chi` instead, non-Go backends
claude-dev-suite/claude-dev-suite · ★ 33 · AI & Automation · score 80
Install: claude install-skill claude-dev-suite/claude-dev-suite
# Echo Core Knowledge > **Deep Knowledge**: Use `mcp__documentation__fetch_docs` with technology: `echo` for comprehensive documentation. ## Basic Setup ```go package main import ( "github.com/labstack/echo/v4" "net/http" ) func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!") }) e.Logger.Fatal(e.Start(":8080")) } ``` ## Routing ### Basic Routes ```go e := echo.New() e.GET("/users", listUsers) e.GET("/users/:id", getUser) e.POST("/users", createUser) e.PUT("/users/:id", updateUser) e.DELETE("/users/:id", deleteUser) // Any method e.Any("/any", handleAny) // Match specific methods e.Match([]string{"GET", "POST"}, "/multi", handler) ``` ### Path Parameters ```go // Single parameter e.GET("/users/:id", func(c echo.Context) error { id := c.Param("id") return c.JSON(http.StatusOK, map[string]string{"id": id}) }) // Multiple parameters e.GET("/users/:userId/posts/:postId", func(c echo.Context) error { userId := c.Param("userId") postId := c.Param("postId") return c.JSON(http.StatusOK, map[string]string{ "userId": userId, "postId": postId, }) }) ``` ### Route Groups ```go api := e.Group("/api") v1 := api.Group("/v1") v1.GET("/users", listUsersV1) v1.POST("/users", createUserV1) v2 := api.Group("/v2") v2.GET("/users", listUsersV2) v2.POST("/users", createUserV2) // Group with middleware admin := api.Group("/admin", adminMiddlewar