diff --git a/README.md b/README.md
new file mode 100644
index 0000000..630f09e
--- /dev/null
+++ b/README.md
@@ -0,0 +1,80 @@
+# Dot
+
+## Description
+There is no place like $HOME. All my dotfiles, and a guide for bootstrapping a new install.
+
+## Table of Contents
+
+- [Description](#description)
+- [Features](#features)
+- [Usage](#usage)
+- [Credits / Resources](#credits--resources)
+- [License](#license)
+
+## Features / TODOS
++ Easy to copy.
++ Defaults to revert to.
++ Templates for easy productivity.
++ Usage Guide
+
+## Usage
+Just copy and paste, or follow the guide below.
+
+If you're starting out as root, do not login as user until you've altered /etc/xdg/user-dirs.defaults.
+
+[For example](https://myrepos.dev/Randy-Jordan/eg), you can see the [custom configuration](https://myrepos.dev/Randy-Jordan/eg/src/branch/main/xdg/custom_user-dirs), or the [default](https://myrepos.dev/Randy-Jordan/eg/src/branch/main/xdg/user-dirs.defaults).
+Marked folders are mapped to xdg features. The ones linked to repositories need to be downloaded as needed. They are as follows:
+
+- [x] DESKTOP=gui
+- [x] DOWNLOAD=dl
+- [x] TEMPLATES=eg
+- [ ] MARKDOWN=md
+- [x] PUBLICSHARE=pub
+- [x] DOCUMENTS=media/docs
+- [x] MUSIC=media/music
+- [x] PICTURES=media/pics
+- [x] VIDEOS=media/vids
+- [ ] PDF=media/pdf
+- [ ] CAD=cad
+- [ ] REPO=repo
+- [ ] SCRIPTS=sh
+- [ ] VIRTUALMACHINES=vm
+
+Once complete, assign the appropriate privileges, and login as the user.
+
+If this is your first time setting this up. Run these commands:
+
+`git init --bare $HOME/.dot` To create our dotfiles folder.
+`alias config='/usr/bin/git --git-dir=$HOME/.dot/ --work-tree=$HOME` Set git to alias to config.
+`config config --local status.showUntrackedFiles no` So every file is not tracked, just what we add.
+`echo "alias config='/usr/bin/git --git-dir=$HOME/.dot/ --work-tree=$HOME'" >> $HOME/.bashrc` bashrc alias.
+
+You can use the easy snippet here: `curl https://gist.myrepos.dev/scratch.sh | bash`
+
+If you are already tracking your dotfiles and this a fresh install, you can run these commands:
+`alias config='/usr/bin/git --git-dir=$HOME/.dot/ --work-tree=$HOME'` Alias config
+`echo ".dot" >> .gitignore` Avoid weird recursion problems where you clone.
+`git clone --bare https://github.com/Randy-Jordan/dot.git $HOME/.dot` Clone repo
+`alias config='/usr/bin/git --git-dir=$HOME/.dot/ --work-tree=$HOME'` Current shell scope
+
+You may already have some dotfiles, so we will back them up to avoid conficts.
+`mkdir -p .config-backup && \
+config checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | \
+xargs -I{} mv {} .config-backup/{}`
+
+Now we can run the checkout command to get our dotfiles from the repo.
+`config checkout`
+Make sure to set untracked files setting.
+`config config --local status.showUntrackedFiles no`
+
+These commands have also been made into an easy bash script: `curl https://gist.myrepos.dev/config.sh | bash`
+
+`config status` To see status of your dotfiles.
+`config add .xyzfile` To start adding dotfiles.
+
+## Credits / Resources
+[Tom Preston-Werner - README Driven Development](https://tom.preston-werner.com/2010/08/23/readme-driven-development.html)
+[Dotfiles: Best way to store in a bare git repository](https://www.atlassian.com/git/tutorials/dotfiles)
+
+## License
+This project is licensed under GPLv3 - see the [LICENSE](LICENSE) file for details.