Shepherd uses GitFlow. That basically means you never directly commit to master / dev.
To add a new feature or fix a bug in Shepherd, create a fork or branch from the dev branch. When you're branch is complete and your JUnit's have been created / run clear, create a pull request to merge your branch into dev. Squash your commits if you like, if you don't that will be done be at merge.
If you're working on an issue from the backlog, call your branch dev#{issueNumber}
Shepherd enforces Google Java Format via CI. Pull requests with incorrectly formatted Java files will fail the lint-java check.
Option 1 — Command line (recommended):
Download the google-java-format JAR and run:
java -jar google-java-format-1.25.2-all-deps.jar --replace $(find src -name "*.java")Option 2 — IDE plugins:
- IntelliJ IDEA / Android Studio: Install the google-java-format plugin and enable it under Settings → google-java-format.
- Eclipse: Import the Eclipse style config under Preferences → Java → Code Style → Formatter.
- VS Code: Use the Google Java Format extension or configure the built-in formatter.
Always format before committing to avoid CI failures.
Install ZenHub for your browser and click the ZenHub tab that will appear in this repo. The Pipelines are as follows
- New Issues - Issues yet to be reviewed for priority
- Ice Box - Issues that are valid, but have not been prioritized for the backlog
- Backlog - The Backlog order for priority.
- In Progess - Items that are currently being worked
- QA Review - Issues that have pull requests and require review / approval
- Closed - Item is Done
Work in Progess
- New Code has 'Good' JUnit Tests that cover it
- All JUnit Tests Pass
- Acceptance Criteria of Epic has been satisfied where applicable
- Code does not introduce a vulnerability that can be leveraged to exploit the system/other users