Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .githooks/commit-msg
Original file line number Diff line number Diff line change
@@ -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
73 changes: 71 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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)
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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:

Expand Down
1 change: 1 addition & 0 deletions test.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
my new file contents
1 change: 1 addition & 0 deletions test2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
my new file contents
1 change: 1 addition & 0 deletions test3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ok super
1 change: 1 addition & 0 deletions test4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ok super