gertty/CONTRIBUTING.rst
James E. Blair dfbe737cb9 Change some OpenStack to OpenDev or ttygroup
Change-Id: I1992146163b4a2ad9e70751c4ebd6b6a6663e441
2019-04-23 19:21:05 -07:00

2.4 KiB

Contributing

To browse the latest code, see: https://opendev.org/ttygroup/gertty/src/branch/master/ To clone the latest code, use git clone https://opendev.org/ttygroup/gertty

Bugs are handled at: https://storyboard.openstack.org/#!/project/ttygroup/gertty

Code reviews are handled by gerrit at: https://review.opendev.org

Use git review to submit patches (after creating a Gerrit account that links to your launchpad account). Example:

# Do your commits
$ git review
# Enter your username if prompted

Philosophy

Gertty is based on the following precepts which should inform changes to the program:

  • Support large numbers of review requests across large numbers of projects. Help the user prioritize those reviews.
  • Adopt a news/mailreader-like workflow in support of the above. Being able to subscribe to projects, mark reviews as "read" without reviewing, etc, are all useful concepts to support a heavy review load (they have worked extremely well in supporting people who read/write a lot of mail/news).
  • Support off-line use. Gertty should be completely usable off-line with reliable syncing between local data and Gerrit when a connection is available (just like git or mail or news).
  • Ample use of color. Unlike a web interface, a good text interface relies mostly on color and precise placement rather than whitespace and decoration to indicate to the user the purpose of a given piece of information. Gertty should degrade well to 16 colors, but more (88 or 256) may be used.
  • Keyboard navigation (with easy-to-remember commands) should be considered the primary mode of interaction. Mouse interaction should also be supported.
  • The navigation philosophy is a stack of screens, where each selection pushes a new screen onto the stack, and ESC pops the screen off. This makes sense when drilling down to a change from lists, but also supports linking from change to change (via commit messages or comments) and navigating back intuitive (it matches expectations set by the web browsers).
  • Support a wide variety of Gerrit installations. The initial development of Gertty is against the OpenDev Gerrit, and many of the features are intended to help its users with their workflow, however, those features should be implemented in a generic way so that the system does not require a specific Gerrit configuration.