Erickson is a simple code review app. Code reviews are created via a command-line client, or the web frontend.
I wanted to show what could be accomplished in web-programming on the server side with Go, with minimal dependencies and complexity. Erickson is both a functional application, and a testbed for exploring my own ideals in software development.
From within the repository you wish you review code:
git erickson post HEAD^...
The arguments to git erickson post
are the same arguments you'd supply to git diff
.
When a review is created, the command line app returns a link to the review. Users can annotate the review, and the owner can mark it as submitted or discarded.
Erickson is pre-alpha software and may not be suitable for running in production. Although it implements TLS, CSRF protection and secure sessions, these features have not been vetted by a security professional. Use at your own risk.
- Dead-simple setup that doesn't require integration with other services.
- Produces a standalone binary that doesn't require an installer or asset files.
- Simple, lightweight UI that requires minimal JS.
- Small feature-set that is robust and reliable.
- A very fast server.
Dimitri Tcaciuc has written a mercurial plugin for erickson. https://github.com/dtcaciuc/hgerickson
- CRUD app that supports the essentials of working with code reviews.
- Side-by-side diff display, rendered as HTML.
- UI for annotations.
- Git plugin for submitting reviews. (Bundled with erickson)
- Notifications (implemented via e-mail)
- Mercurial plugin for submitting reviews.
- Add support for revising reviews. (Partially done in the persistence layer)
- Remove jQuery and use plain old javascript.
- 100% test coverage.