stack templates that encode my opinion about how to run Haskell projects.
Each of the templates provides the following:
- a library where all of the code lives
- tests, using tasty, with automatic discovery via tasty-discover
- sample tests using hedgehog
- benchmarks, using criterion
- command-line pasing using optparse-applicative
- hlint enforced with CI, coupled with an
.hlint.yaml
for local customizations
Each of the templates assumes you already have the following:
A simple command-line tool.
An API server that uses servant, and provides:
- logging
- Prometheus metrics
- a simple HTML interface, styled with Bootstrap 4
$ stack new <your-project> path/to/cli -p "category:Web" -p "synopsis:Short summary of your program" -p "image-registry:quay.io/jml"
And then follow the instructions in the generated README.rst