|
| 1 | +# Commit Message Guidelines |
| 2 | + |
| 3 | +A good commit message should be descriptive and provide context about the changes made. This helps improve code review, debugging, and long-term maintainability. |
| 4 | + |
| 5 | +## Commit Message Format |
| 6 | + |
| 7 | +Use the following format for commit messages: |
| 8 | + |
| 9 | +```md |
| 10 | +<type>(<scope>): <short message> (optional issue references) |
| 11 | +``` |
| 12 | + |
| 13 | +### `<type>` |
| 14 | + |
| 15 | +The `<type>` field indicates the nature of the changes made in the commit. Use one of the following values: |
| 16 | + |
| 17 | +| Type | Description | |
| 18 | +|----------|---------------------------------------------------------------| |
| 19 | +| feat | A new feature or enhancement to existing functionality. | |
| 20 | +| fix | A bug fix or correction of an issue. | |
| 21 | +| docs | Documentation updates (e.g., README, code comments). | |
| 22 | +| style | Code style changes (e.g., formatting, indentation, no logic). | |
| 23 | +| refactor | Code refactoring without changing external behavior. | |
| 24 | +| perf | Performance improvements. | |
| 25 | +| test | Adding or modifying tests. | |
| 26 | +| chore | Routine tasks, maintenance, or tooling changes. | |
| 27 | + |
| 28 | +### `<scope>` |
| 29 | + |
| 30 | +The `<scope>` is optional, but recommended. It helps clarify which part of the project the commit affects. Use one of the following scopes: |
| 31 | + |
| 32 | +| Scope | Description | |
| 33 | +|-------------|---------------------------------------------| |
| 34 | +| repo | Project-wide configuration or setup | |
| 35 | +| single-agent | Changes related to the single-agent sub directory | |
| 36 | +| multi-agent | Changes related to the multi-agent sub directory | |
| 37 | + |
| 38 | +### `<short message>` |
| 39 | + |
| 40 | +A concise summary of what the commit does. |
| 41 | + |
| 42 | +#### Writing Tips |
| 43 | + |
| 44 | +- Use the imperative mood (e.g., “Add” not “Added”) |
| 45 | +- Capitalize the first letter |
| 46 | +- Don’t end with a period |
| 47 | +- Keep under 50 characters if possible |
| 48 | +- Be specific (e.g., “Add agent tools” > “Update code”) |
| 49 | +- Avoid "I", "this commit", or "fix" as vague verbs |
| 50 | + |
| 51 | +### Commit Example Format |
| 52 | + |
| 53 | +```md |
| 54 | +<type>(<scope>): <short message> (optional issue references) |
| 55 | + |
| 56 | +<BLANK LINE> |
| 57 | +<optional longer description> |
| 58 | +``` |
| 59 | + |
| 60 | +**Example:** |
| 61 | + |
| 62 | +```md |
| 63 | +feat(single-agent): Add agent tools (fixes #12) |
| 64 | + |
| 65 | +This adds a responsive tools that connected to the external business API. |
| 66 | +``` |
| 67 | + |
| 68 | +### Issue References |
| 69 | + |
| 70 | +Use GitHub issue references to link commits to issues. |
| 71 | + |
| 72 | +#### Format |
| 73 | + |
| 74 | +```md |
| 75 | +<action> #<issue_number> |
| 76 | +``` |
| 77 | + |
| 78 | +- `fixes #123` – closes the issue on merge |
| 79 | +- `refs #123` – just links the issue |
| 80 | + |
| 81 | +#### Examples |
| 82 | + |
| 83 | +```md |
| 84 | +fix(single-agent): Validate user input (fixes #42) |
| 85 | +docs(repo): Update README structure (refs #17) |
| 86 | +``` |
| 87 | + |
| 88 | +### Summary Table for Issue Linking (with Scope) |
| 89 | + |
| 90 | +| Purpose | Example Commit Message | Result | |
| 91 | +| ---------------------- | -------------------------------------------------------------- | ---------------------------------- | |
| 92 | +| Close single issue | `fix(single-agent: Update user input validation (fixes #12)` | Links & closes issue #12 | |
| 93 | +| Reference single issue | `docs(repo): Update README structure (refs #34)` | Links issue #34 only | |
| 94 | +| Close multiple issues | `feat(single-agent): Add agent session endpoint (fixes #56, #57)` | Links & closes issues #56, #57 | |
| 95 | +| Reference multiple | `refactor(single-agent): Cleanup extra functionalities (refs #33, #38)` | Links only | |
| 96 | + |
| 97 | +## ✅ Summary Example with All Fields |
| 98 | + |
| 99 | +```md |
| 100 | +feat(single-agent): Add agent tools (fixes #12) |
| 101 | + |
| 102 | +This adds a responsive tools that connected to the external business API. |
| 103 | +``` |
0 commit comments