diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,10 @@
 `summoner` uses [PVP Versioning][1].
 The changelog is available [on GitHub][2].
 
+## 1.3.0.1 — Apr 10, 2019
+
+* Include golden test files into `extra-source-files`.
+
 ## 1.3.0 — Apr 9, 2019
 
 * [#285](https://github.com/kowainik/summoner/issues/285):
diff --git a/summoner.cabal b/summoner.cabal
--- a/summoner.cabal
+++ b/summoner.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.0
 name:                summoner
-version:             1.3.0
+version:             1.3.0.1
 synopsis:            Tool for scaffolding fully configured batteries-included production-level Haskell projects.
 description:         Tool for scaffolding fully configured batteries-included production-level Haskell projects.
                      See [README.md](https://github.com/kowainik/summoner#-summoner) for details.
@@ -19,6 +19,26 @@
 tested-with:         GHC == 8.2.2
                    , GHC == 8.4.4
                    , GHC == 8.6.4
+extra-source-files:
+    test/golden/fullProject/*.yml
+    test/golden/fullProject/*.yaml
+    test/golden/fullProject/*.md
+    test/golden/fullProject/*.cabal
+    test/golden/fullProject/src/*.hs
+    test/golden/fullProject/app/*.hs
+    test/golden/fullProject/test/*.hs
+    test/golden/fullProject/benchmark/*.hs
+    test/golden/fullProject/.gitignore
+    test/golden/fullProject/.travis.yml
+    test/golden/fullProject/.stylish-haskell.yaml
+    test/golden/fullProject/stack-8.4.4.yaml
+    test/golden/fullProject/stack-8.2.2.yaml
+    test/golden/fullProject/stack-8.0.2.yaml
+    test/golden/fullProject/LICENSE
+
+    test/golden/smallProject/*.md
+    test/golden/smallProject/*.cabal
+    test/golden/smallProject/app/*.hs
 
 source-repository head
   type:     git
diff --git a/test/golden/fullProject/.gitignore b/test/golden/fullProject/.gitignore
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/.gitignore
@@ -0,0 +1,56 @@
+### Haskell
+dist
+dist-*
+cabal-dev
+*.o
+*.hi
+*.chi
+*.chs.h
+*.dyn_o
+*.dyn_hi
+*.prof
+*.aux
+*.hp
+*.eventlog
+.virtualenv
+.hsenv
+.hpc
+.cabal-sandbox/
+cabal.sandbox.config
+cabal.config
+cabal.project.local
+.ghc.environment.*
+.HTF/
+# Stack
+.stack-work/
+
+### IDE/support
+# Vim
+[._]*.s[a-v][a-z]
+[._]*.sw[a-p]
+[._]s[a-v][a-z]
+[._]sw[a-p]
+*~
+tags
+
+# IntellijIDEA
+.idea/
+.ideaHaskellLib/
+*.iml
+
+# Atom
+.haskell-ghc-mod.json
+
+# VS
+.vscode/
+
+# Emacs
+*#
+.dir-locals.el
+TAGS
+
+# other
+.DS_Store
+
+# User specific
+.secret
diff --git a/test/golden/fullProject/.stylish-haskell.yaml b/test/golden/fullProject/.stylish-haskell.yaml
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/.stylish-haskell.yaml
@@ -0,0 +1,1 @@
+This is stylish-haskell.yaml
diff --git a/test/golden/fullProject/.travis.yml b/test/golden/fullProject/.travis.yml
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/.travis.yml
@@ -0,0 +1,56 @@
+sudo: true
+language: haskell
+
+git:
+  depth: 5
+
+cabal: "2.4"
+
+cache:
+  directories:
+  - "$HOME/.cabal/store"
+  - "$HOME/.stack"
+  - "$TRAVIS_BUILD_DIR/.stack-work"
+
+matrix:
+  include:
+  - ghc: 8.0.2
+  - ghc: 8.2.2
+  - ghc: 8.4.4
+  - ghc: 8.6.4
+  
+  - ghc: 8.2.2
+    env: STACK_YAML="$TRAVIS_BUILD_DIR/stack-8.2.2.yaml"
+  
+  - ghc: 8.4.4
+    env: STACK_YAML="$TRAVIS_BUILD_DIR/stack-8.4.4.yaml"
+  
+  - ghc: 8.6.4
+    env: STACK_YAML="$TRAVIS_BUILD_DIR/stack.yaml"
+
+install:
+  - |
+    if [ -z "$STACK_YAML" ]; then
+      ghc --version
+      cabal --version
+      cabal new-update
+      cabal new-build --enable-tests --enable-benchmarks
+    else
+      curl -sSL https://get.haskellstack.org/ | sh
+      stack --version
+      stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks --ghc-options=-Werror
+    fi
+
+script:
+  - |
+    if [ -z "$STACK_YAML" ]; then
+       cabal new-test --enable-tests
+    else
+      stack test --system-ghc
+    fi
+
+  # HLint check
+  - curl -sSL https://raw.github.com/ndmitchell/neil/master/misc/travis.sh | sh -s -- hlint .
+
+notifications:
+  email: false
diff --git a/test/golden/fullProject/CHANGELOG.md b/test/golden/fullProject/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/CHANGELOG.md
@@ -0,0 +1,12 @@
+# Changelog
+
+`fullProject` uses [PVP Versioning][1].
+The changelog is available [on GitHub][2].
+
+0.0.0
+=====
+
+* Initially created.
+
+[1]: https://pvp.haskell.org
+[2]: https://github.com/kowainik/fullProject/releases
diff --git a/test/golden/fullProject/CONTRIBUTING.md b/test/golden/fullProject/CONTRIBUTING.md
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/CONTRIBUTING.md
@@ -0,0 +1,1 @@
+This is contributing guide
diff --git a/test/golden/fullProject/LICENSE b/test/golden/fullProject/LICENSE
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 Kowainik
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/test/golden/fullProject/README.md b/test/golden/fullProject/README.md
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/README.md
@@ -0,0 +1,10 @@
+# fullProject
+
+[![Hackage](https://img.shields.io/hackage/v/fullProject.svg)](https://hackage.haskell.org/package/fullProject)
+[![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
+[![Stackage Lts](http://stackage.org/package/fullProject/badge/lts)](http://stackage.org/lts/package/fullProject)
+[![Stackage Nightly](http://stackage.org/package/fullProject/badge/nightly)](http://stackage.org/nightly/package/fullProject)
+[![Build status](https://secure.travis-ci.org/kowainik/fullProject.svg)](https://travis-ci.org/kowainik/fullProject)
+[![Windows build status](https://ci.appveyor.com/api/projects/status/github/kowainik/fullProject?branch=master&svg=true)](https://ci.appveyor.com/project/kowainik/fullProject)
+
+Full test project
diff --git a/test/golden/fullProject/app/Main.hs b/test/golden/fullProject/app/Main.hs
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/app/Main.hs
@@ -0,0 +1,7 @@
+module Main (main) where
+
+import FullProject (someFunc)
+
+
+main :: IO ()
+main = someFunc
diff --git a/test/golden/fullProject/appveyor.yml b/test/golden/fullProject/appveyor.yml
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/appveyor.yml
@@ -0,0 +1,24 @@
+install:
+  # Using '-y' and 'refreshenv' as a workaround to:
+  # https://github.com/haskell/cabal/issues/3687
+  - choco source add -n mistuke -s https://www.myget.org/F/mistuke/api/v2
+  - choco install -y ghc --ignore-dependencies
+  - choco install -y cabal-head -pre
+  - refreshenv
+  # See http://help.appveyor.com/discussions/problems/6312-curl-command-not-found#comment_42195491
+  # NB: Do this after refreshenv, otherwise it will be clobbered!
+  - set PATH=%APPDATA%\cabal\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\msys64\usr\bin;%PATH%
+  - cabal --version
+  - cabal %CABOPTS% new-update
+
+environment:
+  global:
+    CABOPTS:  "--store-dir=C:\\SR"
+
+cache:
+  - dist-newstyle
+  - "C:\\SR"
+
+build_script:
+  - cabal %CABOPTS% new-build --enable-tests --enable-benchmarks
+  - cabal %CABOPTS% new-test --enable-tests
diff --git a/test/golden/fullProject/benchmark/Main.hs b/test/golden/fullProject/benchmark/Main.hs
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/benchmark/Main.hs
@@ -0,0 +1,7 @@
+module Main (main) where
+
+import Gauge.Main
+
+
+main :: IO ()
+main = defaultMain [bench "const" (whnf const ())]
diff --git a/test/golden/fullProject/fullProject.cabal b/test/golden/fullProject/fullProject.cabal
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/fullProject.cabal
@@ -0,0 +1,101 @@
+cabal-version:       2.0
+name:                fullProject
+version:             0.0.0
+synopsis:            Full test project
+description:         Full test project
+homepage:            https://github.com/kowainik/fullProject
+bug-reports:         https://github.com/kowainik/fullProject/issues
+license:             MIT
+license-file:        LICENSE
+author:              Kowainik
+maintainer:          xrom.xkov@gmail.com
+copyright:           2018 Kowainik
+category:            Testing
+build-type:          Simple
+extra-doc-files:     README.md
+                   , CHANGELOG.md
+tested-with:         GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.4
+
+source-repository head
+  type:                git
+  location:            https://github.com/kowainik/fullProject.git
+
+library
+  hs-source-dirs:      src
+  exposed-modules:     FullProject
+                       Prelude
+
+  build-depends:       base-noprelude >= 4.9.1.0 && < 4.13
+                     , relude
+
+  ghc-options:         -Wall
+                       -Wcompat
+                       -Widentities
+
+  default-language:    Haskell2010
+  default-extensions:  ConstraintKinds
+                       LambdaCase
+                       OverloadedStrings
+
+executable fullProject
+  hs-source-dirs:      app
+  main-is:             Main.hs
+
+  build-depends:       base-noprelude >= 4.9.1.0 && < 4.13
+                     , fullProject
+                     , relude
+
+  ghc-options:         -Wall
+                       -threaded
+                       -rtsopts
+                       -with-rtsopts=-N
+                       -Wcompat
+                       -Widentities
+
+  default-language:    Haskell2010
+  default-extensions:  ConstraintKinds
+                       LambdaCase
+                       OverloadedStrings
+
+test-suite fullProject-test
+  type:                exitcode-stdio-1.0
+  hs-source-dirs:      test
+  main-is:             Spec.hs
+
+  build-depends:       base-noprelude >= 4.9.1.0 && < 4.13
+                     , fullProject
+                     , relude
+
+  ghc-options:         -Wall
+                       -threaded
+                       -rtsopts
+                       -with-rtsopts=-N
+                       -Wcompat
+                       -Widentities
+
+  default-language:    Haskell2010
+  default-extensions:  ConstraintKinds
+                       LambdaCase
+                       OverloadedStrings
+
+benchmark fullProject-benchmark
+  type:                exitcode-stdio-1.0
+  hs-source-dirs:      benchmark
+  main-is:             Main.hs
+
+  build-depends:       base-noprelude >= 4.9.1.0 && < 4.13
+                     , gauge
+                     , fullProject
+                     , relude
+
+  ghc-options:         -Wall
+                       -threaded
+                       -rtsopts
+                       -with-rtsopts=-N
+                       -Wcompat
+                       -Widentities
+
+  default-language:    Haskell2010
+  default-extensions:  ConstraintKinds
+                       LambdaCase
+                       OverloadedStrings
diff --git a/test/golden/fullProject/src/FullProject.hs b/test/golden/fullProject/src/FullProject.hs
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/src/FullProject.hs
@@ -0,0 +1,6 @@
+module FullProject
+       ( someFunc
+       ) where
+
+someFunc :: IO ()
+someFunc = putStrLn ("someFunc" :: String)
diff --git a/test/golden/fullProject/src/Prelude.hs b/test/golden/fullProject/src/Prelude.hs
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/src/Prelude.hs
@@ -0,0 +1,7 @@
+-- | Uses [relude](https://hackage.haskell.org/package/relude) as default Prelude.
+
+module Prelude
+       ( module Relude
+       ) where
+
+import Relude
diff --git a/test/golden/fullProject/stack-8.0.2.yaml b/test/golden/fullProject/stack-8.0.2.yaml
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/stack-8.0.2.yaml
@@ -0,0 +1,3 @@
+resolver: lts-9.21
+
+extra-deps: [base-noprelude-4.9.1.0]
diff --git a/test/golden/fullProject/stack-8.2.2.yaml b/test/golden/fullProject/stack-8.2.2.yaml
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/stack-8.2.2.yaml
@@ -0,0 +1,6 @@
+resolver: lts-11.22
+
+extra-deps: [base-noprelude-4.10.1.0]
+
+ghc-options:
+  "$locals": -fhide-source-paths
diff --git a/test/golden/fullProject/stack-8.4.4.yaml b/test/golden/fullProject/stack-8.4.4.yaml
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/stack-8.4.4.yaml
@@ -0,0 +1,6 @@
+resolver: lts-12.26
+
+extra-deps: [base-noprelude-4.11.1.0]
+
+ghc-options:
+  "$locals": -fhide-source-paths
diff --git a/test/golden/fullProject/stack.yaml b/test/golden/fullProject/stack.yaml
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/stack.yaml
@@ -0,0 +1,6 @@
+resolver: lts-13.16
+
+extra-deps: [base-noprelude-4.12.0.0]
+
+ghc-options:
+  "$locals": -fhide-source-paths
diff --git a/test/golden/fullProject/test/Spec.hs b/test/golden/fullProject/test/Spec.hs
new file mode 100644
--- /dev/null
+++ b/test/golden/fullProject/test/Spec.hs
@@ -0,0 +1,4 @@
+module Main (main) where
+
+main :: IO ()
+main = putStrLn ("Test suite not yet implemented" :: String)
diff --git a/test/golden/smallProject/CHANGELOG.md b/test/golden/smallProject/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/test/golden/smallProject/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Changelog
+
+`smallProject` uses [PVP Versioning][1].
+
+
+0.0.0
+=====
+
+* Initially created.
+
+[1]: https://pvp.haskell.org
diff --git a/test/golden/smallProject/README.md b/test/golden/smallProject/README.md
new file mode 100644
--- /dev/null
+++ b/test/golden/smallProject/README.md
@@ -0,0 +1,5 @@
+# smallProject
+
+[![Hackage](https://img.shields.io/hackage/v/smallProject.svg)](https://hackage.haskell.org/package/smallProject)
+
+Small test project
diff --git a/test/golden/smallProject/app/Main.hs b/test/golden/smallProject/app/Main.hs
new file mode 100644
--- /dev/null
+++ b/test/golden/smallProject/app/Main.hs
@@ -0,0 +1,4 @@
+module Main (main) where
+
+main :: IO ()
+main = putStrLn ("Hello, world!" :: String)
diff --git a/test/golden/smallProject/smallProject.cabal b/test/golden/smallProject/smallProject.cabal
new file mode 100644
--- /dev/null
+++ b/test/golden/smallProject/smallProject.cabal
@@ -0,0 +1,36 @@
+cabal-version:       2.0
+name:                smallProject
+version:             0.0.0
+synopsis:            Small test project
+description:         Small test project
+license:             AllRightsReserved
+author:              Kowainik
+maintainer:          xrom.xkov@gmail.com
+copyright:           2018 Kowainik
+build-type:          Simple
+extra-doc-files:     README.md
+                   , CHANGELOG.md
+tested-with:         GHC == 8.6.4
+
+executable smallProject
+  hs-source-dirs:      app
+  main-is:             Main.hs
+
+  build-depends:       base ^>= 4.12.0.0
+                     
+                     
+
+  ghc-options:         -Wall
+                       -threaded
+                       -rtsopts
+                       -with-rtsopts=-N
+                       -Wincomplete-uni-patterns
+                       -Wincomplete-record-updates
+                       -Wcompat
+                       -Widentities
+                       -Wredundant-constraints
+                       -fhide-source-paths
+                       -Wmissing-export-lists
+                       -Wpartial-fields
+
+  default-language:    Haskell2010
