# rack/rack

A modular Ruby web server interface.

Repository: https://github.com/rack/rack
Canonical: https://ross.abutalabs.com/products/rack
Language: Ruby
License: NOASSERTION
License Family: other
Topics: ruby, rack, web
Last push: 2026-08-14T02:48:06+00:00

## Health v2 (maintenance only)
Score: 82/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 97, release rhythm 53, longevity 100
- inputs: {"age_days": 6461, "days_push": 19, "days_rel": 154, "gap_med": 141, "n_releases_24m": 2}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5128, forks 1678 (observed 2026-08-28T04:09:10.960322+00:00)

## What it is
Rack is a minimal, modular Ruby library and specification that wraps HTTP requests and responses into a simple call, unifying the bridge between web servers, web frameworks, and web applications. It defines the de facto standard interface that virtually all Ruby web servers (Puma, Falcon, Passenger) and frameworks (Rails, Sinatra) conform to.

## Use cases
- build a minimal web application in ruby without a full framework
- connect a ruby web framework to different web servers through one standard interface
- write http middleware for requests and responses in ruby
- serve a hello world app with config.ru and rackup
- understand the interface between ruby web servers and frameworks
- wrap http requests and responses in a simple ruby method call

## When to choose
- you are developing any web application in Ruby, since most frameworks depend on it
- you need server-agnostic Ruby apps that run on Puma, Falcon, Passenger, or NGINX Unit
- you are building a Ruby web framework or middleware stack and need a standard HTTP abstraction
- you want a tiny, stable foundation instead of a batteries-included framework

## When to avoid
- your project is not in Ruby
- you want a full-featured framework with routing, ORM, and views out of the box - Rack itself only provides the interface
- you need Rack::Session or the rackup binary without installing the separate rack-session and rackup gems

## Facets
- artifact type: library
- maturity: stable
- function: http-server, middleware
- domain: web-development, backend, apis
- platform: ruby
- tags: ruby-gem, web-server-interface, rack-specification, http-abstraction, middleware, rackup, web-server

## Member repositories
- rack/rack (main) score 82

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:10.960322+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:02:03.908365+00:00, confidence not recorded.
  - readme: https://github.com/rack/rack (fetched 2026-08-28T04:09:10.960322+00:00, sha 4208a4c73485)
- Data as of 2026-08-30T08:39:29.467469+00:00.
