Stack

Haskell project CLI for creating projects, managing GHC toolchains and dependencies, and building, testing, or running packages.

$curl -sSL https://get.haskellstack.org/ | sh
Language
Haskell
Stars
4,049
Category
Package Managers
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

Stack is a Haskell project workflow CLI that combines toolchain setup, dependency resolution, builds, and project commands around a stack.yaml snapshot. It is built for reproducible local development and CI in Haskell codebases rather than general system package management.

What It Enables
  • Create or initialize Haskell projects, pin them to a snapshot, and install the GHC version and supporting tools they need.
  • Build, test, benchmark, document, and run project packages or selected components from one CLI.
  • Inspect dependency sets, build paths, and project metadata for debugging, environment setup, or follow-up automation.
Agent Fit
  • Most commands are non-interactive and project-scoped, which makes Stack workable in CI and agent loops for build, test, run, and environment setup.
  • Structured output exists but is narrow: stack ls dependencies json emits JSON and stack query emits YAML, while much of the rest of the surface is text-first.
  • Best fit when an agent already has a checked-out Haskell project and needs to validate builds, run executables, or inspect the Stack environment.
Caveats
  • First runs can download GHC, package indexes, or MSYS2, so automation is slower and more environment-sensitive than simpler language CLIs.
  • The documented Homebrew formula is unofficial and can lag new releases; the direct installer or release binaries are the canonical paths.