diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,15 @@
 `shellmet` uses [PVP Versioning][1].
 The changelog is available [on GitHub][2].
 
+## 0.0.3.0 — Sep 28, 2019
+
+* [#10](https://github.com/kowainik/shellmet/issues/10):
+  Add doctest.
+  (by [@vrom911](https://github.com/vrom911))
+* [#13](https://github.com/kowainik/shellmet/issues/13):
+  Support GHC-8.8.1.
+  (by [@chshersh](https://github.com/chshersh))
+
 ## 0.0.2.0 — Jul 4, 2019
 
 * [#8](https://github.com/kowainik/shellmet/issues/8):
diff --git a/README.lhs b/README.lhs
--- a/README.lhs
+++ b/README.lhs
@@ -2,9 +2,9 @@
 
 [![Build status](https://img.shields.io/travis/kowainik/shellmet.svg?logo=travis)](https://travis-ci.org/kowainik/shellmet)
 [![Hackage](https://img.shields.io/hackage/v/shellmet.svg?logo=haskell)](https://hackage.haskell.org/package/shellmet)
-[![MPL-2.0 license](https://img.shields.io/badge/license-MPL--2.0-blue.svg)](LICENSE)
 [![Stackage Lts](http://stackage.org/package/shellmet/badge/lts)](http://stackage.org/lts/package/shellmet)
 [![Stackage Nightly](http://stackage.org/package/shellmet/badge/nightly)](http://stackage.org/nightly/package/shellmet)
+[![MPL-2.0 license](https://img.shields.io/badge/license-MPL--2.0-blue.svg)](LICENSE)
 
 Out of the shell solution for scripting in Haskell. Shellmet provides an easy and
 convenient way to call shell commands from Haskell programs.
@@ -15,7 +15,7 @@
 runnable. You can build and execute with the following command:
 
 ```shell
-cabal new-run readme
+cabal run readme
 ```
 
 ### Setting up
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,9 +2,9 @@
 
 [![Build status](https://img.shields.io/travis/kowainik/shellmet.svg?logo=travis)](https://travis-ci.org/kowainik/shellmet)
 [![Hackage](https://img.shields.io/hackage/v/shellmet.svg?logo=haskell)](https://hackage.haskell.org/package/shellmet)
-[![MPL-2.0 license](https://img.shields.io/badge/license-MPL--2.0-blue.svg)](LICENSE)
 [![Stackage Lts](http://stackage.org/package/shellmet/badge/lts)](http://stackage.org/lts/package/shellmet)
 [![Stackage Nightly](http://stackage.org/package/shellmet/badge/nightly)](http://stackage.org/nightly/package/shellmet)
+[![MPL-2.0 license](https://img.shields.io/badge/license-MPL--2.0-blue.svg)](LICENSE)
 
 Out of the shell solution for scripting in Haskell. Shellmet provides an easy and
 convenient way to call shell commands from Haskell programs.
@@ -15,7 +15,7 @@
 runnable. You can build and execute with the following command:
 
 ```shell
-cabal new-run readme
+cabal run readme
 ```
 
 ### Setting up
diff --git a/shellmet.cabal b/shellmet.cabal
--- a/shellmet.cabal
+++ b/shellmet.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                shellmet
-version:             0.0.2.0
+version:             0.0.3.0
 synopsis:            Out of the shell solution for scripting in Haskell
 description:         Shellmet provides easy and convenient way to call shell commands from Haskell programs
 homepage:            https://github.com/kowainik/shellmet
@@ -13,17 +13,18 @@
 category:            Shell, Command Line
 build-type:          Simple
 extra-doc-files:     README.md
-                   , CHANGELOG.md
+                     CHANGELOG.md
 tested-with:         GHC == 8.2.2
                      GHC == 8.4.4
                      GHC == 8.6.5
+                     GHC == 8.8.1
 
 source-repository head
   type:                git
   location:            https://github.com/kowainik/shellmet.git
 
 common common-options
-  build-depends:       base >= 4.10.1.0 && < 4.13
+  build-depends:       base >= 4.10.1.0 && < 4.14
 
   ghc-options:         -Wall
                        -Wincomplete-uni-patterns
@@ -53,7 +54,7 @@
   hs-source-dirs:      src
   exposed-modules:     Shellmet
 
-  build-depends:       process ^>= 1.6.3
+  build-depends:       process ^>= 1.6.1
                      , text ^>= 1.2.3
 
 executable readme
@@ -75,3 +76,14 @@
   build-depends:       shellmet
 
   ghc-options:         -threaded -rtsopts -with-rtsopts=-N
+
+test-suite shellmet-doctest
+  import:              common-options
+  type:                exitcode-stdio-1.0
+  hs-source-dirs:      test
+  main-is:             Doctest.hs
+
+  build-depends:       doctest
+                     , Glob
+
+  ghc-options:         -threaded
diff --git a/src/Shellmet.hs b/src/Shellmet.hs
--- a/src/Shellmet.hs
+++ b/src/Shellmet.hs
@@ -28,17 +28,10 @@
 {- | This instance is needed to provide functionality to call commands by using
 simple string literals in 'IO' monad.
 
->>> "ls" ["-1"]
-⚙  ls -1
-CHANGELOG.md
-CONTRIBUTING.md
-dist-newstyle
-LICENSE
-README.md
-shellmet.cabal
-src
-stack.yaml
-test
+>>> "ls" ["-1", "test"]
+⚙  ls -1 test
+Doctest.hs
+Spec.hs
 -}
 instance (a ~ [Text], b ~ IO ()) => IsString (a -> b) where
     fromString :: String -> [Text] -> IO ()
diff --git a/test/Doctest.hs b/test/Doctest.hs
new file mode 100644
--- /dev/null
+++ b/test/Doctest.hs
@@ -0,0 +1,13 @@
+module Main (main) where
+
+import System.FilePath.Glob (glob)
+import Test.DocTest (doctest)
+
+main :: IO ()
+main = do
+    sourceFiles <- glob "src/**/*.hs"
+    doctest
+        $ "-XInstanceSigs"
+        : "-XOverloadedStrings"
+        : "-XScopedTypeVariables"
+        : sourceFiles
