diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..aeaf852 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,42 @@ +How to Contribute +================= + +Inbucket encourages third-party patches. It's valuable to know how other +developers are using the product. + + +## Getting Started + +If you anticipate your issue requiring a large patch, please first submit a +GitHub issue describing the problem or feature. You are also encouraged to +outline the process you would like to use to resolve the issue. I will attempt +to provide validation and/or guidance on your suggested approach. + + +## Making Changes + +Inbucket uses [git-flow] with default options. If you have git-flow installed, +you can run `git flow feature start `. + +Without git-flow, create a topic branch from where you want to base your work: + - This is usually the `develop` branch, example command: + `git checkout origin/develop -b ` + - Only target the `master` branch if the issue is already resolved in + `develop`. + +Once you are on your topic branch: + +1. Make commits of logical units. +2. Add unit tests to exercise your changes. +3. Run the updated code through `go fmt` and `go vet`. +4. Ensure the code builds and tests with the following commands: + - `go clean ./...` + - `go build ./...` + - `go test ./...` + + +## Thanks + +Thank you for contributing to Inbucket! + +[git-flow]: https://github.com/nvie/gitflow diff --git a/README.md b/README.md index 32e3110..a2af33b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ -Inbucket [![Build Status](https://travis-ci.org/jhillyerd/inbucket.png?branch=master)][Build Status] -======== +Inbucket +============================================================================= +[![Build Status](https://travis-ci.org/jhillyerd/inbucket.png?branch=master)][Build Status] Inbucket is an email testing service; it will accept messages for any email address and make them available via web, REST and POP3. Once compiled, @@ -8,21 +9,22 @@ are all built in). Read more at the [Inbucket Website] -Development Status ------------------- + +## Development Status Inbucket is currently production quality: it is being used for real work. -Please see the [Change Log] and [Issues List] for more details. +Please see the [Change Log] and [Issues List] for more details. If you'd like +to contribute code to the project check out [CONTRIBUTING.md]. -Homebrew Tap ------------- + +## Homebrew Tap Inbucket has an OS X [Homebrew] tap available as [jhillyerd/inbucket][Homebrew Tap], see the `README.md` there for installation instructions. -Building from Source --------------------- + +## Building from Source You will need a functioning [Go installation][Google Go] for this to work. @@ -41,8 +43,8 @@ the web interface will be available at [localhost:9000](http://localhost:9000/). The Inbucket website has a more complete guide to [installing from source][From Source] -About ------ + +## About Inbucket is written in [Google Go] @@ -51,6 +53,7 @@ version can be found at https://github.com/jhillyerd/inbucket [Build Status]: https://travis-ci.org/jhillyerd/inbucket [Change Log]: https://github.com/jhillyerd/inbucket/blob/master/CHANGELOG.md +[CONTRIBUTING.md]: https://github.com/jhillyerd/inbucket/blob/develop/CONTRIBUTING.md [From Source]: http://www.inbucket.org/installation/from-source.html [Google Go]: http://golang.org/ [Homebrew]: http://brew.sh/