diff --git a/.clang-tidy b/.clang-tidy
new file mode 100644
index 0000000000000000000000000000000000000000..3d43393ef073855b1b856f22874b9efd9958fbc0
--- /dev/null
+++ b/.clang-tidy
@@ -0,0 +1 @@
+Checks: -*,cppcoreguidelines-*,google-*,llvm-*,misc-*,modernize-*,performance-*
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e63b33157fae37cafde9df01599afda83d197895
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,21 @@
+sudo: false
+language: cpp
+dist: trusty
+addons:
+  apt:
+    sources:
+      - llvm-toolchain-trusty-3.8
+    packages:
+      - clang-format-3.8
+      - clang-tidy-3.8
+before_install:
+  - wget http://www.cmake.org/files/v3.7/cmake-3.7.1-Linux-x86_64.tar.gz
+install: 
+  - tar -xf cmake-3.7.1-Linux-x86_64.tar.gz
+  - export PATH="${PWD}/cmake-3.7.1-Linux-x86_64/bin:${PATH}"
+  - pip install --user flake8
+script:
+  - cd ${TRAVIS_BUILD_DIR}
+  - scripts/travis/run-clang-format.sh
+  - ~/.local/bin/flake8 --config=flake8.cfg .
+ 
diff --git a/flake8.cfg b/flake8.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..94cbae63c2571d6339f4182df67539b41fe79455
--- /dev/null
+++ b/flake8.cfg
@@ -0,0 +1,4 @@
+[flake8]
+max-line-length: 80
+max-complexity: 14
+format: pylint
diff --git a/scripts/travis/run-clang-format.sh b/scripts/travis/run-clang-format.sh
new file mode 100755
index 0000000000000000000000000000000000000000..2cf0cfef5e988557cf40eda7b9150cec75c8e62a
--- /dev/null
+++ b/scripts/travis/run-clang-format.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+
+if [ -z "${TRAVIS_PULL_REQUEST_BRANCH}" ]
+then
+  echo "This is only designed to run on Pull Requests"
+  exit 1
+else
+  COMMIT_RANGE="${TRAVIS_COMMIT_RANGE/.../ }"
+fi
+
+# Run clang-format
+DIFF="$(${TRAVIS_BUILD_DIR}/scripts/developer/git/git-clang-format --diff ${COMMIT_RANGE})"
+if [ "${DIFF}" != "no modified files to format" ]
+then
+  echo "clang-format:"
+  echo "  Code format checks failed."
+  echo "  Please run clang-format (or git clang-format) on your changes"
+  echo "  before committing."
+  echo "  The following changes are suggested:"
+  echo "${DIFF}"
+  exit 1
+fi
+
+exit 0