diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,8 +1,9 @@
 import           Distribution.Simple
 import           System.Environment  (lookupEnv)
 
-main = defaultMain
+main = writeBashCompletions >> defaultMain
 
+-- TODO only write if we can't find our own thing!
 writeBashCompletions :: IO ()
 writeBashCompletions = do
     home <- lookupEnv "HOME"
diff --git a/madlang.cabal b/madlang.cabal
--- a/madlang.cabal
+++ b/madlang.cabal
@@ -1,5 +1,5 @@
 name:                madlang
-version:             2.4.1.4
+version:             2.4.1.5
 synopsis:            Randomized templating language DSL
 description:         Madlang is a text templating language written in Haskell,
                      meant to explore computational creativity and generative
@@ -19,6 +19,7 @@
                    , demo/*.mad
                    , bash/mkCompletions
                    , cabal.project.local
+                   , man/madlang.1
 cabal-version:       >=1.10
 
 Flag development {
diff --git a/man/madlang.1 b/man/madlang.1
new file mode 100644
--- /dev/null
+++ b/man/madlang.1
@@ -0,0 +1,35 @@
+.\" Automatically generated by Pandoc 1.19.2.4
+.\"
+.TH "madlang (1)" "" "" "" ""
+.hy
+.SH NAME
+.PP
+madlang \- a text templating language for generative literature
+.SH SYNOPSIS
+.PP
+madlang run <file> madlang debug <file> madlang lint <file>
+.SH DESCRIPTION
+.PP
+\f[B]madlang\f[] is an interpreted language for generative literature
+and computational creativity.
+It is implemented in Haskell.
+.SH OPTIONS
+.TP
+.B \f[B]\-h\f[] \f[B]\-\-help\f[]
+Display help
+.RS
+.RE
+.TP
+.B \f[B]\-r\f[] \f[B]\-\-rep\f[]
+Generate output more than once
+.RS
+.RE
+.SH CONFIGURATION
+.PP
+Place files in $HOME/.madlang for them to be available globally as
+libraries.
+.SH EXAMPLES
+.PP
+You can examine some examples by
+.SH AUTHORS
+Vanessa McHale<vanessa.mchale@reconfigure.io>.
