Buckets:
| # I. Commit rules | |
| General Best Practices | |
| ## 1. Single Responsibility | |
| - Each commit should contain related changes only | |
| - If you find yourself using "and" in your commit message, consider splitting it | |
| ## 2. Size Matters | |
| - Keep commits small and focused | |
| - Aim for changes that can be described in 50 characters or less | |
| ## 3. Logical Units | |
| - Commits should represent logical units of change | |
| - Someone should be able to understand what changed and why from your commit | |
| ## 4. When to Create a New Commit | |
| - When completing a distinct step toward your goal | |
| - When making changes that could be rolled back independently | |
| - When switching between different types of changes (e.g., from feature work to bug fixing) | |
| # II. Commit format | |
| - Commit prefixes | |
| ``` | |
| feat: new feature | |
| fix: bug fix | |
| docs: documentation changes | |
| style: formatting, missing semi colons, etc (no code change) | |
| refactor: refactoring code | |
| test: adding tests, refactoring tests | |
| chore: updating build tasks, package manager configs, etc | |
| perf: performance improvements | |
| ci: CI related changes | |
| build: changes that affect the build system | |
| revert: reverting a previous commit | |
| ``` | |
| - Basic format: | |
| ``` | |
| <type>[optional scope]: <description> | |
| [optional body] | |
| [optional footer(s)] | |
| ``` | |
| - Examples: | |
| ``` | |
| feat(auth): add login with Google OAuth | |
| fix(api): handle null response from users endpoint | |
| docs: update README installation steps | |
| refactor(cart): simplify checkout flow | |
| test(auth): add unit tests for password validation | |
| ``` | |
| - Best practices: | |
| + Use imperative mood in description ("add" not "added") | |
| + Don't capitalize first letter of description | |
| + No period at end of description | |
| + Keep description under 50 characters | |
| + Add detailed explanation in body if needed | |
| + Reference issues/PRs in footer | |
| ## feat: new feature | |
| - When to use: Adding new functionality to your application | |
| ``` | |
| ✅ Good: | |
| feat(auth): add login form component | |
| feat(products): create shopping cart functionality | |
| feat(api): add endpoint for user preferences | |
| ❌ Avoid: | |
| feat: multiple unrelated features | |
| feat: big feature with many changes (break it down!) | |
| ``` | |
| ## fix: bug fixes | |
| - When to use: Fixing a bug or error in existing code | |
| ``` | |
| ✅ Good: | |
| fix(checkout): calculate total price correctly | |
| fix(ui): prevent modal from closing unexpectedly | |
| fix(auth): handle expired token refresh | |
| ❌ Avoid: | |
| fix: multiple bug fixes | |
| fix: weekend bug fixes (separate them!) | |
| ``` | |
| ## docs: Documentation | |
| - When to use: Changes to documentation only | |
| ``` | |
| ✅ Good: | |
| docs: add API authentication guide | |
| docs(setup): update installation steps | |
| docs(components): add JSDoc for Button component | |
| ❌ Avoid: | |
| docs: various documentation updates | |
| docs: fix typos everywhere | |
| ``` | |
| ## style: Code Style | |
| - When to use: Changes that don't affect code behavior | |
| ``` | |
| ✅ Good: | |
| style: format user service using prettier | |
| style(css): align header elements | |
| style: remove trailing whitespace | |
| ❌ Avoid: | |
| style: fix various style issues | |
| style: cleanup (too vague!) | |
| ``` | |
| ## refactor: Code Refactoring | |
| - When to use: Restructuring existing code without changing its behavior | |
| ``` | |
| ✅ Good: | |
| refactor(auth): extract validation logic to separate service | |
| refactor: convert class components to functional | |
| refactor(api): use async/await instead of promises | |
| ❌ Avoid: | |
| refactor: massive code reorganization | |
| refactor: cleanup old code | |
| ``` | |
| ## test: Testing Changes | |
| - When to use: Adding or modifying tests | |
| ``` | |
| ✅ Good: | |
| test(auth): add unit tests for password validation | |
| test(api): update user service mocks | |
| test: add integration tests for checkout flow | |
| ❌ Avoid: | |
| test: add more tests | |
| test: fix broken tests | |
| ``` | |
| ## chore: Maintenance | |
| - When to use: Changes to build process or auxiliary tools | |
| - More examples: | |
| - Update .gitignore file | |
| - Updating editor configs (.editorconfig) | |
| - Modifying build scripts | |
| - Updating package.json metadata | |
| - Configuring linting rules | |
| - Managing development dependencies | |
| ``` | |
| ✅ Good: | |
| chore(deps): update react to v18 | |
| chore: add eslint configuration | |
| chore(scripts): add database seed script | |
| ❌ Avoid: | |
| chore: various updates | |
| chore: cleanup | |
| ``` | |
| ## perf: Performance | |
| - When to use: Code changes that improve performance | |
| ``` | |
| ✅ Good: | |
| perf(queries): add index for faster user search | |
| perf(images): implement lazy loading | |
| perf(api): add response caching | |
| ❌ Avoid: | |
| perf: various optimizations | |
| perf: make it faster | |
| ``` | |
Xet Storage Details
- Size:
- 4.34 kB
- Xet hash:
- 3404a6460e3ecc6bb673120aff1bbf57181c0bf9da77809f69634228eabcf2b8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.