[chore](docs): update commit message guidelines and remove old file

This commit is contained in:
dalbodeule
2025-11-26 19:24:52 +09:00
parent df1b4758da
commit d14a8eec63
2 changed files with 75 additions and 204 deletions

75
COMMIT_MESSAGE.md Normal file
View File

@@ -0,0 +1,75 @@
## 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.