awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
go-chi avatar

go-chi/chi

0
View on GitHub↗
22,418 stars·1,117 forks·Go·MIT·43 viewsgo-chi.io↗

Chi

Chi is a lightweight, idiomatic router and middleware framework for building web services in Go. It is designed to integrate directly with the standard library, providing a set of utilities for managing HTTP request routing, context propagation, and modular service composition.

The project distinguishes itself through a radix-tree-based routing system that supports recursive nesting, allowing developers to mount independent sub-routers onto specific path prefixes. This hierarchical structure enables the creation of organized, modular applications where request handlers are grouped and managed through consistent middleware chains.

The framework provides a comprehensive toolkit for API development, including capabilities for request context management, URL parameter extraction, and role-based access control. It includes built-in utilities for common request processing tasks such as logging, compression, and authentication, which can be composed into sequences to ensure consistent behavior across an entire application.

Features

  • HTTP Routers - Provides a lightweight, idiomatic router for building modular web services in Go.
  • Middleware Frameworks - Offers a composable framework for managing request processing components like logging and authentication.
  • RESTful APIs - Delivers a toolkit for managing request context, parameters, and routing in RESTful web services.
  • Request Routing - Directs incoming network requests to appropriate handlers using a flexible, pattern-based routing system.
  • HTTP Routing - Defines structured URL patterns and path parameters to direct traffic to specific handler functions.
  • Middleware Chains - Provides a structured pipeline for processing HTTP requests through sequences of reusable middleware components.
  • HTTP Routing - Small and expressive HTTP router.
  • Language Toolkits - Lightweight, idiomatic router for Go HTTP services.
  • Routing and Middleware - Lightweight, idiomatic, and composable HTTP router.
  • Web Frameworks - Lightweight, idiomatic, and composable HTTP router.
  • Recursive Router Mountings - Supports mounting independent sub-routers to create modular, hierarchical application structures.
  • Middleware Orchestration - Orchestrates sequences of request processing logic to handle cross-cutting concerns across application endpoints.
  • Radix Tree Routers - Implements high-performance request routing using a compressed radix tree structure for efficient path matching.
  • Role-Based Access Control - Restricts access to sensitive resources by verifying user permissions against defined roles.
  • Request Context - Manages request-specific data and state throughout the lifecycle of an incoming network request.
  • Request Context Propagation - Facilitates passing metadata and request-scoped state through the middleware stack to final handlers.
  • Request Middleware - Provides built-in utilities for common request processing tasks like compression and authentication.
  • Standard Libraries - Integrates directly with standard library interfaces to ensure compatibility with existing ecosystem tools.

Star history

Star history chart for go-chi/chiStar history chart for go-chi/chi

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Chi

These projects share indexed features with Chi. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • gorilla/muxgorilla avatar

    gorilla/mux

    21,832View on GitHub↗

    This project is a request router and web framework for the Go programming language. It provides a toolkit for matching incoming HTTP network requests to specific handler functions by evaluating criteria such as URL paths, request methods, headers, and hostnames. The framework distinguishes itself through its flexible matching capabilities, which include support for regular expressions and dynamic variable extraction from URL segments. It allows developers to organize routes into logical hierarchies, share common path prefixes, and maintain a central registry of named routes to facilitate prog

    Gogogolanggorilla
    View on GitHub↗21,832
  • senchalabs/connectsenchalabs avatar

    senchalabs/connect

    9,888View on GitHub↗

    Connect is an HTTP middleware framework and routing library designed as a wrapper for the Node.js HTTP server. It serves as a middleware composition engine that allows for the creation of chains of request handlers to process HTTP traffic and manage application errors. The framework enables the orchestration of pluggable functions to execute security, logic, and routing rules in a specific sequence. It provides the ability to match incoming request URLs to specific logic handlers based on path prefixes. The system covers broader capabilities including centralized error handling to ensure con

    JavaScriptjavascriptnodejs
    View on GitHub↗9,888
  • kataras/iriskataras avatar

    kataras/iris

    25,582View on GitHub↗

    Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the infrastructure necessary to build HTTP/2 web applications, REST APIs, and MVC-based websites. The project distinguishes itself through a flexible architectural model that supports multiple isolated application instances within a single process and allows for binary-embedded asset loading to eliminate external filesystem dependencies. It features dynamic router hot-reloading and a pluggable view engine for rendering dynamic HTML content. The framework covers a broad range of capabilities,

    Go
    View on GitHub↗25,582
  • julienschmidt/httprouterjulienschmidt avatar

    julienschmidt/httprouter

    17,121View on GitHub↗

    httprouter is a high-performance HTTP request router for Go that maps incoming network requests to specific handler functions using a radix tree. It functions as a request dispatcher and path parameter parser, organizing URL paths in a tree structure to ensure efficient lookups. The router specializes in capturing dynamic segments and catch-all wildcards from URL paths to pass directly into request handlers. It implements method-specific routing and automatically manages responses for unsupported HTTP methods. The library covers broader capabilities including request normalization through tr

    Gogogolanghttp
    View on GitHub↗17,121
Compare all 30 related projects→

Frequently asked questions

What does go-chi/chi do?

Chi is a lightweight, idiomatic router and middleware framework for building web services in Go. It is designed to integrate directly with the standard library, providing a set of utilities for managing HTTP request routing, context propagation, and modular service composition.

What are the main features of go-chi/chi?

The main features of go-chi/chi are: HTTP Routers, Middleware Frameworks, RESTful APIs, Request Routing, HTTP Routing, Middleware Chains, Language Toolkits, Routing and Middleware.

Which projects share features with go-chi/chi?

Projects with overlapping indexed features include: gorilla/mux — This project is a request router and web framework for the Go programming language. It provides a toolkit for matching… senchalabs/connect — Connect is an HTTP middleware framework and routing library designed as a wrapper for the Node.js HTTP server. It… kataras/iris — Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the… julienschmidt/httprouter — httprouter is a high-performance HTTP request router for Go that maps incoming network requests to specific handler… weavejester/compojure — Compojure is a routing library for Ring web applications that maps HTTP requests to handler functions using composable… go-martini/martini — Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It…