The hackmanager package

[Tags:bsd3, library, program]

Simplify managing Haskell projects by generating files like README.md, .travis.yml, etc.


[Skip to Readme]

Properties

Versions 0.1.0.0
Dependencies base (>=4.7 && <5), bytestring (>=0.10), Cabal (>=1.20), directory (>=1.2), file-embed (>=0.0.8), Glob (>=0.7), hackmanager, hastache (>=0.6), http-client (>=0.4), http-client-tls (>=0.2), http-types (>=0.8.6), mtl (>=2.2), optparse-applicative (>=0.11), process (>=1.2), text (>=1.2) [details]
License BSD3
Copyright (c) 2015 Alexander Thiemann
Author Alexander Thiemann <mail@athiemann.net>
Maintainer Alexander Thiemann <mail@athiemann.net>
Category Development
Home page http://github.com/agrafix/hackmanager
Source repository head: git clone https://github.com/agrafix/hackmanager
Uploaded Sun Aug 23 13:39:11 UTC 2015 by AlexanderThiemann
Distributions NixOS:0.1.0.0
Downloads 167 total (10 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2015-08-23 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for hackmanager

Readme for hackmanager-0.1.0.0

hackmanager

Build Status

Intro

Generate useful files for Haskell projects

Cli Usage: hackmanager

$ hackmanager --help
hackmanager - Generate useful files for Haskell projects

Usage: hackmanager COMMAND
  Simplify managing Haskell projects by generating files like README.md,
  .travis.yml, etc.

Available options:
  -h,--help                Show this help text

Available commands:
  readme                   
  travis                   
  gitignore                

(c) 2015 Alexander Thiemann - BSD3 License

Library Usage Example

module Main where

import Hack.Manager.Collector
import Hack.Manager.Readme

import qualified Data.Text as T

main :: IO ()
main =
    do pi <- getProjectInfo
       case pi of
         Left err -> putStrLn err
         Right info ->
             do rm <- renderReadme info
                putStrLn (T.unpack rm)

Install

  • From Source (cabal): git clone https://github.com/agrafix/hackmanager.git && cd hackmanager && cabal install
  • From Source (stack): git clone https://github.com/agrafix/hackmanager.git && cd hackmanager && stack build

Features

  • Automagically collect package information such as
    • package name
    • GHC compatibility
    • stack Project
    • Hackage / Stackage status
    • License
    • Examples
    • Cli Usage
  • Typecheck examples
  • Generate informative README.md (Can be extended using a MORE.md)
  • Generate .travis.yml (cabal or stack based)
  • Generate .gitignore

The generated .travis.yml and .gitignore are intended as starting templates, while the generated README.md should not be modified by hand. Rerun hackmanager readme before every commit (commit hook?) to keep it up to date. If you would like to add custom sections, create a MORE.md.

Roadmap

There's no real roadmap - I will add features as needed. I am open to any contributions!

Misc

Supported GHC Versions

  • 7.10.2

License

Released under the BSD3 license. (c) 2015 Alexander Thiemann