Cookiecutter template for Haskell CLI programs
Haskell Makefile Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
{{ cookiecutter.project_name }}


Circle CI

A cookiecutter template for command-line scripts.

My goal is to reduce friction for people writing Haskell command-line tools.


$ pip install --user cookiecutter
$ cookiecutter gh:jml/haskell-cli-template

Once the template is created, you can build things with stack or use the provided Makefile.


This cookiecutter project makes a few opinionated decisions:

  • GHC 8.0 only
  • Built with Stack
  • Uses package.yaml (from hpack) to configure dependencies etc.
  • Protolude as the Prelude
  • The hackage name is the repo name is the project name is the executable name
  • Uses CircleCI as its default CI tool
  • Enforces hindent-formatted code in CI


Note that the Cabal file is not checked in to this cookiecutter template.

Uses Johan Tibbe's style guide, enforced by hindent

The cookiecutter project is available under the Apache 2.0 license, but it defaults to creating command-line tools published under the GPL 3 license.