Contributing to RailsEventStore organization repositories

Any kind of contribution is welcomed.

Found a bug? Have a question?

  • Create a new issue, assuming one does not already exist.
  • Clearly describe the problem including steps to reproduce when it is a bug.
  • If possible provide a Pull Request with failing test case.

Prepare a Pull Request

  • Fork the RailsEventStore monorepo

    git clone git@github.com:RailsEventStore/rails_event_store.git
    cd rails_event_store
    
  • Make sure you have all latest changes or rebase your forked repository master branch with RailsEventStore master branch

    cd rails_event_store
    make rebase
    
  • Create a pull request branch

    git checkout -b new_branch
    
  • Implement your feature, don't forget about tests & documentation (to see how to work with documentation files check documentation's readme

  • Make sure your code pass all tests

    make test
    

    You could test each project separately, just enter the project folder and run tests (make test again) there.

  • Make sure your changes survive mutation testing

    make mutate
    

    Will run mutation tests for all projects. The same command executed in specific project's folder will run mutation tests only for that project. Mutation tests might be time consuming, so you could try to limit the scope of mutations to some specific subjects:

    make mutate SUBJECT=code_to_mutate
    

    How to specify code_to_mutate is described in Mutant documentation.

  • Don't forget to create a Pull Request. You could do it even if not everything is ready. The sooner you will share your changes the quicker feedback you will get.

License

By contributing, you agree that your contributions will be licensed under its MIT License.