๐ท๏ธ GitHub Commit Labels (Conventional Commits)
Use these labels to categorize commits for better readability and automation.
Label
Meaning
feat
Adding a new feature
fix
Fixing a bug
docs
Documentation changes (README, Wiki, etc.)
style
Code style changes (formatting, linting, no logic changes)
refactor
Refactoring code without adding features or fixing bugs
perf
Performance improvements
test
Adding or updating tests
build
Changes affecting the build system (package manager, Makefile, etc.)
ci
Changes to CI/CD configurations (GitHub Actions, Travis, etc.)
chore
Miscellaneous changes (updates to dependencies, scripts, etc.)
revert
Reverting a previous commit
Label
Meaning
init
Initial commit
wip
Work in progress (not final)
security
Security-related fixes or improvements
infra
Infrastructure-related changes
db
Database changes (migrations, schema updates)
breaking
Introduces breaking changes (often used as feat!: message)
To specify the affected part of the project, use scopes in parentheses:
feat(ui): add new dark mode toggle
fix(api): resolve authentication issue
docs(readme): update installation guide
โ
Conventional Commits Cheat Sheet
Type
When to Use
feat
For a new feature adds new functionality or capability
fix
For a bug fix corrects incorrect or broken behavior
chore
For non-functional changes configs, build scripts, or metadata
docs
For documentation changes only (README, inline docs, etc.)
style
Code style changes (whitespace, formatting, linting no logic change)
refactor
Code refactor without changing external behavior
perf
For performance improvements
test
Adding or updating tests
build
Changes that affect the build system (e.g., makefiles, package managers)
ci
Changes related to CI/CD (e.g., GitHub Actions, Travis)
revert
Reverts a previous commit
๐งฉ Common Scopes (Optional but Helpful)
Scope
Typical Use
core
Main logic or functionality
ui
Terminal or graphical user interface
deps
Dependency related changes (e.g., Cargo.toml, package.json)
docs
Documentation files
setup
Install/bootstrap/initialization scripts
scripts
Bash or other automation tools
desktop
.desktop files or related metadata
config
Configuration files (.gitignore, .editorconfig, etc.)
feat(setup): add automated Neovim installation via fzf
fix(core): resolve crash when config file is missing
chore(desktop): add Keywords field to .desktop file
docs(readme): update usage instructions for new install flag
refactor(scripts): split setup.sh into modular functions
style(core): reformat using rustfmt
perf(core): reduce setup time by caching downloads
test(core): add tests for package manager detection