@@ 9,4 9,42 @@ Govern is a configuration management tool.
# Guides
* Writing a runner
-*
+
+# The Lua Shell
+
+Govern comes with a Lua shell!
+While this is not necessarily something you may use on a daily basis, it is a
+helpful little tool to let you write and debug runners and facts.
+
+To start the shell, run:
+
+```sh
+govern -f path/to/config.hcl shell
+```
+
+When the shell starts, you will be greeted with a banner, and a govern shell
+prompt:
+
+```
+govern->
+```
+
+From here, you have access to a fully-fledged Lua 5.1 (5.2-ish) shell.
+
+## Loading the `govern` module
+
+All of the govern-specific functions are kept in the `govern` module.
+To load this module in the shell, and make use of it, run:
+
+```lua
+g = require("govern")
+```
+
+`g` is the local name we have given to the module.
+
+The following functions are available:
+
+* `GetFact(string) -> string` — Provided the name of a fact, will return
+ the value for that fact.
+* `AvailableFacts() -> table` — Returns a table where each value is the
+ name of the available, discovered facts on the system.