Files
hop-gate/COMMIT_MESSAGE.md

75 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Commit Message Requirements
- A commit message consists of a **title** and an optional **body**.
### 1. Commit Title Format
- The commit title must follow this format:
```text
[type] short summary of main change [BREAK]
```
- `type` is enclosed in square brackets (`[` `]`) and describes the nature of the change. For example:
- `[feature]` : new feature
- `[fix]` : bug fix
- `[docs]` : documentation changes
- `[refactor]` : refactoring without behavior change
- `[test]` : tests added or updated
- `[chore]` : build, config, or other maintenance tasks
- You may introduce additional types if needed, following the same `[type]` pattern.
- The text after the type is a **concise, one-line summary of the most important change**.
- Keep the title **under 72 characters**.
- Use **present tense** in the title.
- e.g. `add`, `fix`, `update`, `refactor` (not `added`, `fixed`)
### 2. BREAK Suffix
- If the commit introduces a **breaking change** (for example, variable renames, API signature changes, or anything that breaks backward compatibility), add the `[BREAK]` suffix at the end of the title.
```text
[feature] add new auth middleware [BREAK]
[refactor] rename core config struct [BREAK]
```
- If there is no breaking change, do **not** add `[BREAK]`.
### 3. Commit Body
- The commit body should **briefly describe the key changes in the edited files**.
- A bullet list is recommended:
```text
- describe change 1
- describe change 2
- summarize changes per file or module
```
- Focus on **what changed and why**, rather than low-level implementation details.
- If there are security or privacy-related changes, explicitly mention them.
### 4. Examples
- Without breaking changes:
```text
[feature] add support for local proxy client
- add CLI flags for local proxy configuration
- implement basic request forwarding logic
- update documentation with usage examples
```
- With breaking changes (e.g., renaming variables or structures):
```text
[refactor] rename db config fields for clarity [BREAK]
- rename DSN to DatabaseURL in the config struct
- update all references in store and CLI packages
- adjust environment variable parsing logic
```
This guideline preserves the original projects requirements (present tense, short main-change summary, explicit BREAK marking) while adapting the format to use `[type]` commit prefixes.