We'd love to get patches from you!
The workflow that we support right now is:
- Fork finagle
- Make a feature branch
- Make your cool new feature or bugfix on your branch
- Write a test for your change
- From your branch, make a pull request against twitter/finagle/master
- Work with repo maintainers to get merged in
- Wait for your change to be pulled into twitter/finagle/master
- Merge twitter/finagle/master into your origin master
- Delete your feature branch
We've standardized on using the ScalaTest testing framework. A lot of our older tests are still on Specs, which we are slowly converting to ScalaTest. If you are looking for an easy way to start contributing, finding a few Specs tests to move over to ScalaTest is a great way to get started!
Because ScalaTest has such a big surface area, we use a restricted subset of it in our tests to keep them easy to read. We use the "assert" api, and not the "matchers" one, and we use the FunSuite mixin, which supports xUnit-like semantics.
We generally follow Effective Scala, and the Scala Style Guide. When in doubt, look around the codebase and see how it's done elsewhere.