Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 3.59 KB

CONTRIBUTING.md

File metadata and controls

45 lines (30 loc) · 3.59 KB

phantom

Reactive type-safe Scala DSL for Cassandra - Contributing to phantom

CI Test coverage(%) Code quality Stable version ScalaDoc Chat Open issues Average issue resolution time
Build Status Coverage Status Codacy Rating Maven Central ScalaDoc Gitter Percentage of issues still open Average time to resolve an issue

Contributing to phantom

back to top

Contributions are most welcome!

To contribute, simply submit a "Pull request" via GitHub.

We use GitFlow as a branching model and SemVer for versioning.

  • When you submit a "Pull request" we require all changes to be squashed.
  • You will have to create a new release branch every time changes are made.
  • We never merge more than one commit at a time. All the n commits on your feature branch must be squashed.
  • We won't look at the pull request until Travis CI says the tests pass, make sure tests go well.
  • Add your name to the contributors list, we love to share credits if they are well deserved!
  • Add your company to the list of adopters, the more adopters our projects have the more people from our company will work hard to maintain and improve them.

In spirit, we follow the Twitter Scala Style Guidelines. We will reject your pull request if it doesn't meet code standards, but we'll happily give you a hand to get it right.

Some of the things that will make us seriously frown:

  • Blocking when you don't have to. It just makes our eyes hurt when we see useless blocking.
  • Testing should be thread safe and fully async, use ParallelTestExecution if you want to show off.
  • Writing tests should use the pre-existing tools, they bring in EmbeddedCassandra, Zookeeper and other niceties, allowing us to run multi-datacenter tests.
  • Use the common patterns you already see here, we've done a lot of work to make it easy.
  • Don't randomly import stuff. We are very big on alphabetized clean imports.
  • Tests must pass on both the Oracle and OpenJDK JVM implementations. The only sensitive bit is the Scala reflection mechanism used to detect columns.