update(docs): Update docs with initial spec

- Also setup and configured rubocop and made several changes to make it
  pass in most cases.