diff --git a/.githooks/commit-msg b/.githooks/commit-msg new file mode 100755 index 0000000..f966c3c --- /dev/null +++ b/.githooks/commit-msg @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby + +message_file = ARGV[0] +message = File.read(message_file) + +$grammar_regex = Regexp.new('^:(memo|art|racehorse|non-potable_water|bug|fire|green_heart|white_check_mark|lock|arrow_up|arrow_down|shirt):\s[A-Z][\w\d\s]*[\w\d]\.(\s(Related to)[#\w\d\s]*[\w\d]\.)?$') + +if !$grammar_regex.match(message) + puts "Your message does not match with the rules defined in the CONTRIBUTING.md." + exit 1 +end \ No newline at end of file diff --git a/README.md b/README.md index e8dd49d..c95ab23 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Github Guidelines +# [TEST] Github Guidelines > We will do all that we can to keep the productivity of ourselves, and others, as high as possible -- Uncle Bob @@ -15,7 +15,16 @@ These guidelines are based on [Building a strong community Github documentation] * [Issue Reference](#issue-reference) * [Commit Nature](#commit-nature) * [Milestone](#milestone) + * [Incremental Title](#incremental-title) + * [Short Iterative Due Date](#short-iterative-due-date) + * [Github Issue And Pull Request Priority](#github-issue-and-pull-request-priority) * [Label](#label) + * [Immutablity](#immutablity) + * [Colors](#colors) + * [Categories](#categories) + * [Type](#type) + * [Severity](#severity) + * [Type Of Change](#type-of-change) * [CHANGELOG](#changelog) * [CONTRIBUTING.md](#contributingmd) * [Resources](#resources) @@ -152,6 +161,66 @@ Emojis should help reviewers to quickly and visually identify the nature of the ## Milestone +Milestones should be based on iterative development and produce incremental builds. It enforces Agile methodology and promote continuous integration and deployment. It allows you to follow overall progress and create [changelogs](#changelog) based on opened/closed issues. + +### Incremental Title + +Milestones should be described as increment based on software version. + +**Preferred:** +```markdown +Milestones: + +- 1.1.0 +- 1.2.0 +- 1.3.0 +- 1.4.0 +``` + +**Not Preferred:** +```markdown +Milestones: + +- Backlog +- Ice Box +- Release 1.0 +- Release 2.0 +``` + +*Pro tip*: when closing a milestone, a git tag using software version should be created. + +### Short Iterative Due Date + +**Milestones must have short due dates to define small increment** and should only be closed when progress is at 100%, meaning that all issues and pull requests related to it are closed. If you do not consider an issue to be necessarily closed to finish your current milestone then it should be moved to another one. + +**Preferred:** +```markdown +Milestones: + +- 1.1.0 - Closed 4 weeks ago +- 1.2.0 - Closed 2 weeks ago +- 1.3.0 - Closed 1 day ago +- 1.4.0 - Due by June 8, 2018 +``` + +**Not Preferred:** +```markdown +Milestones: + +- Backlog - No due date +- Ice Box - No due date +- Version 1.0 - Due by September 1, 2019 +- Version 2.0 - Due by September 1, 2022 +``` + +*Pro tip*: when closing a milestone, webhooks can be used to automatically create a release flow. + +### Github Issue And Pull Request Priority + +Milestones should drive development for contributors and help them to focus on most priority issues and pull requests. Priorization should be based on comparaison and it's up to maintainers. + +*Pro tip*: [labels](#label) should help maintainers to compare issues and pull requests easily. + ## Label Labels should help contributors and reviewers to evaluate effort for a specific issue or pull request. @@ -230,7 +299,7 @@ Severity labels are mostly used for bug-related issues. It allows to identify th - ![#00cc41](https://placehold.it/15/00cc41/000000?text=+) (**#00cc41**) `Severity: Medium`: The issue reports cosmetic items, formatting, spelling, colors, etc - ![#c3b2ef](https://placehold.it/15/c3b2ef/000000?text=+) (**#c3b2ef**) `Severity: Low`: The issue concerns a new feature or any addition to the project. -#### Type of change +#### Type Of Change Type of change labels are only used for pull requests. They give information about the effort needed to review a pull request: diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..0d5a690 --- /dev/null +++ b/test.txt @@ -0,0 +1 @@ +my new file contents \ No newline at end of file diff --git a/test2.txt b/test2.txt new file mode 100644 index 0000000..0d5a690 --- /dev/null +++ b/test2.txt @@ -0,0 +1 @@ +my new file contents \ No newline at end of file diff --git a/test3.txt b/test3.txt new file mode 100644 index 0000000..bf8b784 --- /dev/null +++ b/test3.txt @@ -0,0 +1 @@ +ok super \ No newline at end of file diff --git a/test4.txt b/test4.txt new file mode 100644 index 0000000..bf8b784 --- /dev/null +++ b/test4.txt @@ -0,0 +1 @@ +ok super \ No newline at end of file