|
1 | | -### Arlo Commit Notation |
2 | | -ALWAYS add the 2 character prefix to commit messages. |
3 | | - |
4 | | -## Overview |
5 | | - |
6 | | -Arlo's Commit Notation (ACN) is a system that prefixes commit messages with concise codes to convey: |
7 | | - |
8 | | -1. **Risk Level**: The degree of confidence in the change's safety. |
9 | | -2. **Intention**: The purpose or nature of the change. |
10 | | - |
11 | | -This notation aids in rapid assessment of commits, facilitating safer and more efficient code reviews and integrations. |
12 | | - |
13 | | ---- |
14 | | - |
15 | | -### Risk Levels |
16 | | - |
17 | | -Each commit message starts with a symbol indicating its risk level: |
18 | | - |
19 | | -| Symbol | Risk Level | Description | |
20 | | -| ------ | ---------- | --------------------------------------------------------------- | |
21 | | -| `.` | Safe | This did not break production | |
22 | | -| `-` | Tested | All code in this change was unit tested | |
23 | | -| `!` | Single Action | Not fully tested, but only 1 thing has changed | |
24 | | -| `@` | Risky | Catch all for everything above single action | |
25 | | - |
26 | | -**Note:** If the changes only involve intentions `e` (Environment), `d` (Documentation), or `r` (Refactoring), the risk is typically `.` as these are often not shipped directly to the end user or change production behavior. |
27 | | - |
28 | | ---- |
29 | | - |
30 | | -### Intentions |
31 | | - |
32 | | -Following the risk symbol, a letter denotes the intention of the commit: |
33 | | - |
34 | | -| Letter | Intention | Description | |
35 | | -| ------- | ------------- | ------------------------------------------------- | |
36 | | -| `F` | Feature | Add or modify a feature. | |
37 | | -| `B` | Bugfix | Fix a bug or error. | |
38 | | -| `r` | Refactoring | Improve code structure without changing behavior. | |
39 | | -| `d` | Documentation | Update or add documentation. | |
40 | | -| `e` | Environment | Changes for the dev environment (e.g., CI, scripts, setup). | |
41 | | - |
42 | | -**Note on Casing**: |
43 | | - |
44 | | -* **Uppercase** (`F`, `B`): User-visible change; include in changelogs. |
45 | | -* **Lowercase** (`r`, `d`): Internal changes not visible to end-users. |
46 | | - |
47 | | ---- |
48 | | - |
49 | | -## Commit Message Format |
50 | | - |
51 | | -The general format for commit messages is: |
52 | | - |
53 | | -``` |
54 | | -<Risk Symbol> <Intention Letter> <Title> |
55 | | -
|
56 | | -[Optional Body: Explain the 'why' and 'what' in more detail.] |
57 | | -
|
58 | | -[Optional Co-authors section, see below] |
59 | | -``` |
60 | | - |
61 | | -* **Title**: A concise summary of the change, starting with the ACN prefix. |
62 | | -* **Body**: Optional. Provides more context, reasoning, or details about the change. Separate from the title with a blank line. |
63 | | -* **Co-authors**: Optional. List contributors as described in the Co-authorship section. Separate from the body (or title, if no body) with a blank line. |
64 | | - |
65 | | -**Examples**: |
66 | | - |
67 | | -* `. F Add user login feature` |
68 | | -* `- B Fix null pointer exception in payment module` |
69 | | -* `! r Refactor authentication logic` |
70 | | -* `. d Update README with setup instructions` |
71 | | -* `. e Add commit script |
72 | | - |
73 | | - Added a script to streamline the commit process.` |
74 | | - |
75 | | ---- |
76 | | - |
77 | | -## Co-authorship |
78 | | - |
79 | | -* ALWAYS run tests before commiting |
80 | | -* NEVER commit code if tests are failing |
81 | | -* ALWAYS suggest a commit message and confirm with the user before commiting. |
82 | | - |
83 | | - |
84 | | -### Message |
85 | | -Choose the most important piece and use it as the title. |
86 | | -If extra details are need add them after a line break. |
87 | | -Add the Co-authors. |
88 | | -Ask if you haven't confirmed for this session, save the confirmation in `.windsurf/coauthors.txt`. |
89 | | - |
90 | | -Sample: |
91 | | - |
92 | | -> **Commit Message:** . e added rules |
93 | | - |
94 | | - |
95 | | -### Co-Authors |
96 | | - |
97 | | -| name | github_id | |
98 | | -|---- | ---- | |
99 | | -| Llewellyn | isidore | |
100 | | -| Lars | LarsEckart | |
101 | | -| Jay | JayBazuzi | |
102 | | -| Scott | ScottBob | |
103 | | -| Lada | lexler | |
104 | | - |
105 | | -Co-authors go 1 per line at the bottom of the message, |
106 | | -Credit co-authors. |
107 | | - |
108 | | -**Format**: |
109 | | -``` |
110 | | -Co-authored-by: <name> <<github_id>@users.noreply.github.com> |
111 | | -``` |
112 | | - |
113 | | -**Example**: |
114 | | -``` |
115 | | -- B Fix null pointer exception in payment module |
116 | | -
|
117 | | -The fix addresses the case where the user profile is not fully loaded |
118 | | -before accessing payment details. Added null checks. |
119 | | -
|
120 | | -Co-authored-by: Lars <LarsEckart@users.noreply.github.com> |
121 | | -``` |
0 commit comments