diff --git a/README.md b/README.md
new file mode 100644
index 0000000..90a38be
--- /dev/null
+++ b/README.md
@@ -0,0 +1,22 @@
+# mddiff
+
+mddiff is a tool for comparing the frontmatter of two markdown files and generating a [JSON patch](https://jsonpatch.com/) file.
+
+## Usage
+
+```
+Usage: mddiff [OPTIONS] <file> <file2>
+
+Arguments:
+  <file>   First File
+  <file2>  Second File
+
+Options:
+  -p, --pretty              Output formatted json patch
+  -a, --add                 Only output add operations
+  -m, --modify              Only output modify operations
+  -d, --delete              Only output delete operations
+  -t, --test <key> <val>    Add test case to json patch
+  -x, --exclude <JSONPATH>  Exclude json path from diff
+  -k, --keys <JSONPATH>     Only include the specified json paths in diff
+```
\ No newline at end of file
diff --git a/src/main.rs b/src/main.rs
index 44025b6..c774d43 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -149,6 +149,24 @@ fn main() {
 
     let mut diff = serde_json::to_value(diff).unwrap();
 
+    if let Some(test_cases) = args.get_many::<String>("test") {
+        // TODO : Multiple test arguments
+        let test_cases: Vec<_> = test_cases.collect();
+
+        let path = test_cases.get(0).unwrap();
+        let val = test_cases.get(1).unwrap();
+
+        diff.as_array_mut().unwrap().insert(0,
+            serde_json::json!(
+                {
+                    "op": "test",
+                    "path": path,
+                    "value": val
+                }
+            )
+        );
+    }
+
     if let Some(excludes) = args.get_many::<String>("exclude") {
         let excludes: Vec<String> = excludes.cloned().collect();
         diff = exclude_json_paths(&diff, &excludes);