Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save ktnyt/d93e8b6bc7e9b0da1f9305d0c1c9869f to your computer and use it in GitHub Desktop.

Select an option

Save ktnyt/d93e8b6bc7e9b0da1f9305d0c1c9869f to your computer and use it in GitHub Desktop.

For git commits, write a single, emoji-prefixed, imperative commit subject. Keep the subject under ~60 characters, no trailing period. Prefer small, focused commits and human-friendly language. Use lowercase after the emoji.

Format:

  • Subject line only for simple changes: EMOJI short imperative summary
  • Optional body only when it adds necessary context (what/why, not how). Wrap body at ~72 chars. Avoid boilerplate.
  • Do not add scope tags like feat: or fix:; use the emoji as the category indicator.
  • Don’t end the subject with punctuation.
  • Prefer multiple atomic commits over one omnibus commit.

Emoji categories to choose from:

Emoji Description
🩹 Simple fix for a non-critical issue.
βš—οΈ Perform experiments.
πŸ‘½οΈ Update code due to external API changes.
πŸš‘οΈ Critical hotfix.
⬇️ Downgrade dependencies.
⬆️ Upgrade dependencies.
🎨 Improve structure / format of the code.
🍻 Write code drunkenly.
🍱 Add or update assets.
πŸ”– Release / Version tags.
πŸ’₯ Introduce breaking changes.
🧱 Infrastructure related changes.
πŸ› Fix a bug.
πŸ—οΈ Make architectural changes.
πŸ’‘ Add or update comments in source code.
πŸ‘₯ Add or update contributor(s).
πŸ“Έ Add or update snapshots.
πŸ—ƒοΈ Perform database related changes.
πŸ“ˆ Add or update analytics or track code.
🚸 Improve user experience / usability.
πŸ” Add or update secrets.
🀑 Mock things.
⚰️ Remove dead code.
🚧 Work in progress.
πŸ‘· Add or update CI build system.
πŸ’« Add or update animations and transitions.
πŸ₯š Add or update an easter egg.
πŸ”₯ Remove code or files.
🌐 Internationalization and localization.
πŸ₯… Catch errors.
πŸ’š Fix CI Build.
πŸ”¨ Add or update development scripts.
βž– Remove a dependency.
βž• Add a dependency.
πŸ“± Work on responsive design.
🏷️ Add or update types.
πŸ’„ Add or update the UI and style files.
πŸ”’οΈ Fix security or privacy issues.
πŸ”Š Add or update logs.
πŸ”οΈ Improve SEO.
πŸ“ Add or update documentation.
πŸ’Έ Add sponsorships or money related infrastructure.
🧐 Data exploration/inspection.
πŸ”‡ Remove logs.
πŸ‘” Add or update business logic.
πŸ“¦οΈ Add or update compiled files or packages.
πŸ“„ Add or update license.
πŸ›‚ Work on code related to authorization, roles and permissions.
✏️ Fix typos.
πŸ’© Write bad code that needs to be improved.
πŸ“Œ Pin dependencies to specific versions.
♻️ Refactor code.
βͺ️ Revert changes.
πŸš€ Deploy stuff.
🚨 Fix compiler / linter warnings.
🦺 Add or update code related to validation.
πŸ™ˆ Add or update a .gitignore file.
🌱 Add or update seed files.
✨ Introduce new features.
πŸ’¬ Add or update text and literals.
🩺 Add or update healthcheck.
πŸŽ‰ Begin a project.
πŸ§‘β€πŸ’» Improve developer experience.
πŸ§ͺ Add a failing test.
🧡 Add or update code related to multithreading or concurrency.
🚩 Add, update, or remove feature flags.
🚚 Move or rename resources (e.g.: files, paths, routes).
πŸ”€ Merge branches.
πŸ—‘οΈ Deprecate code that needs to be cleaned up.
♿️ Improve accessibility.
βœ… Add, update, or pass tests.
πŸ”§ Add or update configuration files.
⚑️ Improve performance.

Subjects should look like these real examples from the repo:

  • πŸ”– release 4.9.4
  • πŸš€ deploy 4.9.2
  • πŸ› fix sorting on colormatch results page
  • πŸ› fix history issue and regaining lost tray
  • πŸ› fix collection mode exiting when searching
  • πŸ’„ fix grab / grabbing cursor
  • 🚧 testing and moving computers
  • ⬆️ Bump django-htmx from 1.23.2 to 1.24.1

Guidelines for dependency bumps:

  • Use ⬆️ Bump <package> from <old> to <new> in the subject.
  • If you include a body, briefly note changelog/links and whether it’s major/minor.

Guidelines for releases/deploys:

  • πŸ”– release X.Y.Z for tagging a new version.
  • πŸš€ deploy X.Y.Z for pushing that version to production.

Tone and style:

  • Imperative mood: β€œadd”, β€œfix”, β€œupdate”, β€œbump”, β€œremove”.
  • Keep it concise and specific; mention the user-visible area if relevant.
  • Lowercase after the emoji unless a proper noun or version string requires caps.

Templates:

EMOJI short imperative summary

[Optional body: what changed and why; wrap at ~72 chars.]
πŸš€ release X.Y.Z
⬆️ Bump package-name from A.B.C to D.E.F

- optional: one-line reason or link to changelog
πŸ› fix <specific bug or behavior>

- optional: brief why the bug happened or test added

Decision hints:

  • Is it a user-facing bug fix? β†’ πŸ›
  • Is it a release or deploy with a version? β†’ πŸš€
  • Is it only a dependency version change? β†’ ⬆️
  • Is it purely visual/CSS/UI? β†’ πŸ’„
  • Is it partial or exploratory work? β†’ 🚧
  • Otherwise choose the best-fit from the additional emojis.

More example subjects to emulate:

  • ✨ add quick filter to inventory table
  • ♻️ refactor swatch query for readability
  • πŸ§ͺ add tests for library search pagination
  • πŸ“ document test settings and make targets
  • πŸ”§ update pytest config for coverage html
  • πŸ”₯ remove unused static vendor files

Do not:

  • Do not use trailing periods or exclamation marks.
  • Do not include scopes like (app): or feat: prefixes.
  • Do not write long, multi-paragraph bodies unless truly necessary.
  • Do not bundle unrelated changes under one commit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment