diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..a4668e5
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,17 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+Each new release typically also includes the latest modulesync defaults.
+These should not affect the functionality of the module.
+
+## [v0.1.0](https://github.com/lsst-it/puppet-pi/tree/v0.1.0) (2023-11-21)
+
+[Full Changelog](https://github.com/lsst-it/puppet-pi/compare/91b1c47a61d6cd04cdc3fe18a69cde0c7566aa61...v0.1.0)
+
+**Implemented enhancements:**
+
+- fwv [\#3](https://github.com/lsst-it/puppet-pi/pull/3) ([jhoblitt](https://github.com/jhoblitt))
+
+
+
+\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
diff --git a/REFERENCE.md b/REFERENCE.md
new file mode 100644
index 0000000..002e0a8
--- /dev/null
+++ b/REFERENCE.md
@@ -0,0 +1,124 @@
+# Reference
+
+
+
+## Table of Contents
+
+### Classes
+
+* [`pi::cmdline`](#pi--cmdline): Manages /boot/cmdline.txt parameters.
+* [`pi::config`](#pi--config): Manages `/boot/config.txt`
+
+### Defined types
+
+* [`pi::cmdline::parameter`](#pi--cmdline--parameter): Manage a single /boot/cmdline.txt kernel parameter
+* [`pi::config::fragment`](#pi--config--fragment): Create a /boot/config.txt fragment
+
+## Classes
+
+### `pi::cmdline`
+
+Manages /boot/cmdline.txt parameters.
+
+#### Parameters
+
+The following parameters are available in the `pi::cmdline` class:
+
+* [`parameters`](#-pi--cmdline--parameters)
+* [`reboot`](#-pi--cmdline--reboot)
+
+##### `parameters`
+
+Data type: `Hash[String[1], Hash]`
+
+A hash of pi::cmdline::parameter resources to create.
+
+Default value: `{}`
+
+##### `reboot`
+
+Data type: `Boolean`
+
+Whether or not to force a reboot when `/boot/cmdline.txt` parameters change.
+
+Default value: `true`
+
+### `pi::config`
+
+Manages `/boot/config.txt`
+
+#### Parameters
+
+The following parameters are available in the `pi::config` class:
+
+* [`fragments`](#-pi--config--fragments)
+* [`reboot`](#-pi--config--reboot)
+
+##### `fragments`
+
+Data type: `Hash[String[1], Hash]`
+
+A hash of profile::pi::config::fragments to be concatenated into
+`/boot/config.txt`.
+
+Default value: `{}`
+
+##### `reboot`
+
+Data type: `Boolean`
+
+Whether or not to force a reboot when `/boot/config.txt` changes.
+
+Default value: `true`
+
+## Defined types
+
+### `pi::cmdline::parameter`
+
+Manage a single /boot/cmdline.txt kernel parameter
+
+#### Parameters
+
+The following parameters are available in the `pi::cmdline::parameter` defined type:
+
+* [`parameter`](#-pi--cmdline--parameter--parameter)
+
+##### `parameter`
+
+Data type: `Optional[String[1]]`
+
+The kernel parameter to manage. E.g. 8250.nr_uarts=1
+
+Note that the management of parameters is not very intelligent.
+8250.nr_uarts=1 and 8250.nr_uarts=2 would be treated as two different
+parameters.
+
+Default value: `undef`
+
+### `pi::config::fragment`
+
+Create a /boot/config.txt fragment
+
+#### Parameters
+
+The following parameters are available in the `pi::config::fragment` defined type:
+
+* [`content`](#-pi--config--fragment--content)
+* [`order`](#-pi--config--fragment--order)
+
+##### `content`
+
+Data type: `Optional[String[1]]`
+
+/boot/config.txt configuration fragment
+
+Default value: `undef`
+
+##### `order`
+
+Data type: `Integer[1]`
+
+Order of the fragment within /boot/config.txt
+
+Default value: `50`
+