diff --git a/.gitignore b/.gitignore
index bb4a269071409f4afe9c15b4318a8e43a2062f55..3acb5cd45cd067677300be2f33ce8f07e8dc7aa6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,8 @@
-output/*
-cache/*
+output/
+cache/
+.cache/
+.tox/
+*.log
 *.pyc
 *~
 ~*
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000000000000000000000000000000000000..b78fa5110a47173dfa4bc06371efedef486dbf38
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,19 @@
+[tox]
+envlist = build
+skipsdist = True
+
+[testenv]
+envdir = {toxinidir}/.tox/env
+basepython = python2
+deps =
+    Fabric
+    pelican
+commands =
+    build: fab build
+    serve: fab build serve
+    publish: fab publish
+    publish: git push
+whitelist_externals =
+    ssh
+    rsync
+    git