diff --git a/githooks/pre-commit b/githooks/pre-commit
new file mode 100755
index 0000000000000000000000000000000000000000..a70dd02f246dabe3f9df7eadaf51e6e865331654
--- /dev/null
+++ b/githooks/pre-commit
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+set -e
+
+REPO_ROOT_DIR="$(git rev-parse --show-toplevel)"
+
+files=$((git diff --cached --name-only --diff-filter=ACMR | grep -Ei "\.rs$") || true)
+if [ ! -z "${files}" ]; then
+    cargo fmt --all
+    git add $(echo "$files" | paste -s -d " " -)
+fi
+
diff --git a/src/main.rs b/src/main.rs
index f79c691f0853c5b08e114041f7c8db43b0452fe0..f328e4d9d04c31d0d70d16d21a07d1613be9d577 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,2 +1 @@
-fn main() {
-}
+fn main() {}
diff --git a/traits/src/lib.rs b/traits/src/lib.rs
index 07e79ac8fc69b242877737afd75668c18706486b..73f43fa1496e0fe00372862cbaee64897bd60776 100644
--- a/traits/src/lib.rs
+++ b/traits/src/lib.rs
@@ -1,5 +1,3 @@
 #![cfg_attr(not(feature = "std"), no_std)]
 
-pub trait MultiCurrency {
-
-}
+pub trait MultiCurrency {}