add caching, puma, and code climate to repo