diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.0.1
+
+* Added library (stubbed)
+
 ## 0.0.0.1
 
 * `stackage-setup nightly` now works as expected
diff --git a/src/Stackage/CLI/Setup.hs b/src/Stackage/CLI/Setup.hs
new file mode 100644
--- /dev/null
+++ b/src/Stackage/CLI/Setup.hs
@@ -0,0 +1,5 @@
+module Stackage.CLI.Setup (
+  -- TODO
+  ) where
+
+-- TODO: move functionality from main/StackageSetup.hs
diff --git a/stackage-setup.cabal b/stackage-setup.cabal
--- a/stackage-setup.cabal
+++ b/stackage-setup.cabal
@@ -1,5 +1,5 @@
 name:                stackage-setup
-version:             0.0.0.1
+version:             0.0.1
 synopsis:
   An executable for downloading a Haskell setup
 description:
@@ -23,6 +23,14 @@
 source-repository head
   type:     git
   location: git://github.com/fpco/stackage-setup.git
+
+library
+  hs-source-dirs:      src
+  exposed-modules:
+      Stackage.CLI.Setup
+  build-depends:
+      base >=4.7 && <5
+  default-language:    Haskell2010
 
 executable stackage-setup
   hs-source-dirs:      main
