Files
hop-gate/COMMIT_MESSAGE.md

2.4 KiB
Raw Permalink Blame History

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:

    [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.

    [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:

    - 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:

    [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):

    [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.