diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0e31a2b916d9c32f9c79b8e657256959992cfc17..fd45bbf643fd4a6f500fb651e5a21f16e9f1cf4c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,6 +28,14 @@ default:
     - python -m pip install --upgrade pip
     - pip install --upgrade tox twine
 
+# Override artifact directories
+package_docs:
+  stage: package
+  artifacts:
+    expire_in: 1w
+    paths:
+      - my_awesome_app/docs/build/*
+
 # override package files before script
 package_files:
   before_script:
diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml
index 0632a2348cfcd3007f19d5215f859d1df9f6c137..5d15cbffc4e22a51feba5b28b6f3f7b55d1cb4d2 100644
--- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml
+++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml
@@ -91,14 +91,12 @@ package_files:
 
 package_docs:
   stage: package
-  allow_failure: true
   artifacts:
     expire_in: 1w
     paths:
-      - docs/* # update path to match the dest dir for documentation
+      - docs/build/*
   script:
-    - echo "build and collect docs"
-    - exit 1
+    - tox -e docs
 
 run_integration_tests:
   stage: integration
diff --git a/{{cookiecutter.project_slug}}/pyproject.toml b/{{cookiecutter.project_slug}}/pyproject.toml
index 19e2b25e391f1db8db31e3091203ff79156f2e50..7409dddf67a1db23895ce628f6070e15a5186ddb 100644
--- a/{{cookiecutter.project_slug}}/pyproject.toml
+++ b/{{cookiecutter.project_slug}}/pyproject.toml
@@ -47,6 +47,8 @@ archs = ["AMD64", "x86"]
 [tool.pylint]
 ignore = "_version.py"
 
+# This does nothing until the issue below is resolved:
+# https://github.com/PyCQA/flake8/issues/234
 [tool.flake8]
 max-line-length = 88
 extend-ignore = ["E203"]
diff --git a/{{cookiecutter.project_slug}}/src/{{cookiecutter.project_slug}}/cool_module.py b/{{cookiecutter.project_slug}}/src/{{cookiecutter.project_slug}}/cool_module.py
index bd9416c291b7ed52a278bc6966f2dac155e4aa05..b71bcacd2ec2da4779c07a93886e07444b533e8d 100644
--- a/{{cookiecutter.project_slug}}/src/{{cookiecutter.project_slug}}/cool_module.py
+++ b/{{cookiecutter.project_slug}}/src/{{cookiecutter.project_slug}}/cool_module.py
@@ -3,4 +3,4 @@
 
 def greeter():
     """Prints a nice message"""
-    print("Hello World!")
+    print("Hello World!, test line over 80 but not 88 characters on a single line")
diff --git a/{{cookiecutter.project_slug}}/tox.ini b/{{cookiecutter.project_slug}}/tox.ini
index 7fd330fbb94ab445d96e4a9c8acbbd317075fc5e..5d298cbf6f2011ee4b4e10a80a5894752a04a5b2 100644
--- a/{{cookiecutter.project_slug}}/tox.ini
+++ b/{{cookiecutter.project_slug}}/tox.ini
@@ -31,13 +31,13 @@ usedevelop = False
 envdir = {toxworkdir}/linting
 commands =
     pep8: {envpython} -m flake8 --version
-    pep8: {envpython} -m flake8 src tests
+    pep8: {envpython} -m flake8 --exclude=_version.py --max-line-length 88 --extend-ignore=E203 src tests
     black: {envpython} -m black --version
     black: {envpython} -m black --check --diff src tests
     pylint: {envpython} -m pylint --version
     pylint: {envpython} -m pylint src tests
-    format: {envpython} -m autopep8 -v -aa --in-place --recursive src
-    format: {envpython} -m autopep8 -v -aa --in-place --recursive tests
+    format: {envpython} -m autopep8 -v --max-line-length 88 -aa --in-place --recursive src
+    format: {envpython} -m autopep8 -v --max-line-length 88 -aa --in-place --recursive tests
     format: {envpython} -m black -v src tests
 
 [testenv:docs]