๐ท๏ธ 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  
 
featFor a new feature  adds new functionality or capability 
 
fixFor a bug fix  corrects incorrect or broken behavior 
 
choreFor non-functional  changes configs, build scripts, or metadata 
 
docsFor documentation  changes only (README, inline docs, etc.) 
 
styleCode style changes (whitespace, formatting, linting no logic change) 
 
refactorCode refactor  without changing external behavior 
perfFor performance improvements  
 
testAdding or updating tests  
 
buildChanges that affect the build system  (e.g., makefiles, package managers) 
 
ciChanges related to CI/CD  (e.g., GitHub Actions, Travis) 
 
revertReverts  a previous commit 
 
๐งฉ Common Scopes (Optional but Helpful) 
Scope Typical Use  
 
coreMain logic or functionality 
 
uiTerminal or graphical user interface 
 
depsDependency related changes (e.g., Cargo.toml, package.json) 
 
docsDocumentation files 
 
setupInstall/bootstrap/initialization scripts 
 
scriptsBash or other automation tools 
 
desktop.desktop files or related metadata 
configConfiguration 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