diff --git a/Makefile b/Makefile
index 9d28621..3ce6cb3 100644
--- a/Makefile
+++ b/Makefile
@@ -20,4 +20,9 @@ install:
uninstall:
rm ~/bin/viv
-.PHONY: env lint install uninstall bump-version types
+docs: docs/demo.gif
+
+docs/%.gif: docs/%.tape
+ vhs < $<
+
+.PHONY: env lint install uninstall bump-version types docs
diff --git a/README.md b/README.md
index 8ad84eb..f62a250 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,15 @@
-# Viv isn't venv
+# Viv
+
+
+
+
+
+
+
+ viv isn't venv
+
+
+
## Setup
@@ -32,7 +43,8 @@ viv remove $(viv list -q)
## TODO
-- [ ] add doc strings to `src/viv.py`
+
+- [ ] add doc strings to `src/viv/viv.py`
- [ ] use config file (probably ini or json / could also allow toml for python>=3.11)
- [ ] enable a garbage collection based on time or file existence (configurable)
- [ ] unit tests
diff --git a/docs/demo.gif b/docs/demo.gif
new file mode 100644
index 0000000..8c04160
Binary files /dev/null and b/docs/demo.gif differ
diff --git a/docs/demo.tape b/docs/demo.tape
new file mode 100644
index 0000000..5771b55
--- /dev/null
+++ b/docs/demo.tape
@@ -0,0 +1,24 @@
+Set Height 750
+Set Width 1500
+Set Theme "Catppuccin Mocha"
+Output ./docs/demo.gif
+
+Type "viv list"
+Enter
+Sleep 2s
+Type "python examples/cli.py --help"
+Enter
+Sleep 10s
+Type "viv list"
+Enter
+Sleep 3s
+Type "viv info 841"
+Enter
+Sleep 3s
+Type "python examples/cli.py hello 'prospective viv user!'"
+Enter
+Sleep 2s
+Type "python examples/cli.py goodbye 'prospective viv user!'"
+Enter
+Sleep 2s
+