Build Status

Haskeleton is a project skeleton for Haskell packages. It's a tool, like cabal init, for creating new packages. Unlike cabal init, packages created by Haskeleton are fully-featured and idiomatic. Your new package will have:

For a more complete explanation of these features, read Haskeleton's introductory blog post. It also describes why you might want each of these things.

Haskeleton is implemented as a template for hi. To create a new package, run hi and point it to this repository. For example:

$ hi example \
    --repository git://github.com/tfausak/haskeleton.git
Creating new project with git repository:git://github.com/tfausak/haskeleton.git
    create  example/.gitattributes
    create  example/.gitignore
    create  example/.stylish-haskell.yaml
    create  example/.travis.yml
    create  example/CHANGELOG.md
    create  example/CONTRIBUTING.md
    create  example/HLint.hs
    create  example/Haskeleton.hs
    create  example/LICENSE.md
    create  example/Makefile
    create  example/README.md
    create  example/Setup.hs
    create  example/benchmark/Bench.hs
    create  example/benchmark/ExampleBench.hs
    create  example/executable/Main.hs
    create  example/library/Example.hs
    create  example/example.cabal
    create  example/test-suite/DocTest.hs
    create  example/test-suite/HLint.hs
    create  example/test-suite/HPC.hs
    create  example/test-suite/Haddock.hs
    create  example/test-suite/ExampleSpec.hs
    create  example/test-suite/Spec.hs
    create  example/tmp/.gitignore

Haskeleton works with hi version 1.x. The packages it creates work with GHC 7.8 and 7.6, along with the latest version of the Haskell platform (2014.2.0.0).