whatisgithub

What is stackage?

psibi/stackage — explained in plain English

Analysis updated 2026-07-11 · repo last pushed 2023-07-30

DockerfileAudience · developerComplexity · 3/5DormantSetup · moderate

In one sentence

A hub where package maintainers submit and curate Haskell packages so they are tested and confirmed to work together in stable snapshots called Stackage.

Mindmap

mindmap
  root((repo))
    What it does
      Curates Haskell packages
      Creates nightly snapshots
      Maintains LTS releases
    How it works
      Maintains package list
      Checks compatibility via PRs
      Freezes snapshots once built
    Audience
      Package authors
      Haskell maintainers
    Use cases
      Submit a package
      Check build compatibility
    Related pieces
      stackage org server
      Curator tooling
      Nightly and LTS repos
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Submit your Haskell package for inclusion in Stackage via a pull request.

USE CASE 2

Check whether your package is compatible with the latest Stackage snapshot.

USE CASE 3

Review the maintainers agreement before adding a new package.

USE CASE 4

Track which packages are included in nightly or LTS snapshots.

What is it built with?

HaskellDockerfile

How does it compare?

psibi/stackagecaspermeijn/wallabag-test-servernodejs/wasm-builder
Stars2
LanguageDockerfileDockerfileDockerfile
Last pushed2023-07-302024-12-242026-03-17
MaintenanceDormantStaleMaintained
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a Docker environment to build the package set and familiarity with Haskell tooling.

No license information is provided in this repository's explanation.

So what is it?

Haskell is a programming language with a large community-run library of open-source packages called Hackage. The problem is that anyone can upload anything to Hackage, and packages don't always work together, a new version of one package might break another package that depends on it. Stackage solves this by creating a curated, vetted set of packages that are tested and confirmed to work together. This repository is the hub where that curation happens. At a high level, the project maintains a list of which packages to include and rules about how they should fit together. For nightly snapshots, the system grabs the newest versions of all included packages, calculates a build plan, and verifies that everything compiles. For LTS (Long Term Support) releases, it takes the most recent build plan and carries it forward, locking major versions to keep things stable for at least three months. Once a snapshot is created, it's frozen, it won't get newer versions, only bug-fix-level updates within the same LTS line. This particular repository is aimed at package authors and maintainers who want their Haskell packages included in Stackage. To get a package in, the maintainer agrees to a maintainers' agreement, ensures the package builds and tests successfully, and confirms it's compatible with the newest versions of its dependencies. Submissions happen via pull requests, which get automatically checked for compatibility. Everyday users who just want to use Stackage don't need this repo, they go to stackage.org or use a build tool called Stack that has Stackage built in. The broader project spans several repositories: one for the server that hosts stackage.org, one for the curator tooling, and others for the nightly and LTS package sets themselves. There's also a data flow document for anyone curious about how the pieces connect. Building the entire package set yourself is possible but not recommended, the maintainers note that you'll likely run into issues you have to debug on your own.

Copy-paste prompts

Prompt 1
I have a Haskell package on Hackage and want it included in Stackage. Walk me through the steps to submit a pull request to the stackage repository, including what the maintainers agreement requires.
Prompt 2
Help me understand the difference between Stackage nightly snapshots and LTS releases, and explain which one I should target when submitting my Haskell package.
Prompt 3
My Stackage pull request failed an automatic compatibility check. Help me read the build errors and figure out which dependency version is causing the problem.
Prompt 4
Generate a checklist for keeping my Haskell package compatible with Stackage so it does not get removed from future snapshots.

Frequently asked questions

What is stackage?

A hub where package maintainers submit and curate Haskell packages so they are tested and confirmed to work together in stable snapshots called Stackage.

What language is stackage written in?

Mainly Dockerfile. The stack also includes Haskell, Dockerfile.

Is stackage actively maintained?

Dormant — no commits in 2+ years (last push 2023-07-30).

What license does stackage use?

No license information is provided in this repository's explanation.

How hard is stackage to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is stackage for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.