Main guidelines

  • Don't make major changes to the existing structure without thorough testing
  • Thorough testing involves:
    • Multiple use scenarios (core, projects, tools)
    • Clean tests (remove everything and build from scratch)

Using branches

  • dev should be used for development; it doesn’t have to compile successfully but should .
  • master should always compile.
  • Create new dev-featurex branches to develop new features.

Developer Code Contributions

We encourage any developer to contribute to the COSMOS repositories. The following steps show how anyone can sucessfully push their code to the main COSMOS repositories

configure git config --global pull.ff only (to set fast forward merges globaly)

  1. git fork the code repository you are interested in
  2. git clone (you now have permissions to edit your fork)
  3. create a new feature branch 'ex: feature-save-agent007'
  4. build your amazing feature code and make sure it compiles successuly
  5. git add
  6. git commit
  7. git pull --rebase
  8. resolve any conflicts if they exist
  9. git push to your fork
  10. git pull request to the main repo