home.social

#conventionalcommits — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #conventionalcommits, aggregated by home.social.

  1. As a companion project to sprig-commit which I published earlier, tonight I created sprig-lint. Similar to #commitlint, it validates the #conventionalCommits format and general styling, but it is implemented as a single #bash 3.2 script with zero dependencies.

    github.com/nsrosenqvist/sprig-

    #devtools #git

  2. I created this small #git hook script that helps you work with #ConventionalCommits and issue tagging for commit messages (eg. #Jira). Zero dependencies, pure #bash. I hope it can be useful to someone.

    github.com/nsrosenqvist/sprig-

    #devtools

  3. You don't want contributors? Well, enforce #conventionalcommits - because that's how you ensure you don't get any contributors!

  4. Just published a guide on using changelogen + a custom AI slash command to auto-generate and clean up your ‎`CHANGELOG.md` from Conventional Commits. Duplicate issues gone, contributor names fixed, semantic bumps handled.

    flori.dev/reads/changelogen-ai

    #TypeScript #DevTools #ConventionalCommits #changelog

  5. So... I use #gitmoji for my #ConventionalCommits, and I absolutely love it. I've been using semantic-release-gitmoji [1] in order to build a `CHANGELOG.md` file out of the commit history, but it doesn't seem to be particularly well-maintained. I'm currently bumping up against a security vulnerability that I can't patch (reliably) because of a transient dependency, so I'm hoping somebody out there has an alternative approach. A cursory web search turned up bupkis.

    I'm not necessarily married to semantic-release, but I like it quite a bit and would prefer to continue using it if possible. (I've used release-please in the past and thought it was decent, as well, so if there's a solution involving that, maybe I'd be up for it.)

    Does anybody else build changelogs from conventional commits using gitmoji? If so, what's your stack?

    1. github.com/momocow/semantic-re

  6. Every changelog autogenerated from a commit history using #ConventionalCommits is its own argument against ‘Conventional Commits’.

  7. I'm not thrilled with #Drupal adopting #ConventionalCommits. For one thing, it doesn't properly spec the grammar of the description part. conventionalcommits.org/en/v1.

  8. Using conventional commits at work and someone puts everything as a ‘chore’, but like, I get it.

    #ConventionalCommits

  9. PSA: I just updated thi.ng/monopub (a tool for synchronized publishing of packages in a monorepo) to add a new option to truncate generated changelogs with a configurable cut-off date (i.e. to exclude older versions). I've set the default cut off to 1st of January 3 years ago. As a result this saves around 1MB of just changelog files per full #ThingUmbrella release (for 200 packages). Older version history can of course still be obtained via Git...

    #OpenSource #Monorepo #ConventionalCommits

  10. Has someone attempted to create a version of #ConventionalCommits based on using git trailers instead of the commit message's subject?

    I mean, there've always been people complaining that this kind of semantic metadata wouldn't belong into the free-form subject

    A reddit user also suggested using git notes for this purpose, but compared to git trailers, they have some trade-offs in functionality

    #amCoding #amProgramming #softwareDevelopment #softwareEngineering

  11. Convention over customization.
    This is why I love projects like Keep a Changelog, Conventional Commits and Semantic Versioning. They allow for some neat processing by other tools which just wouldn't ever be possible if everyone did their own, custom thing.

  12. I hereby propose that the Conventional Commits standard is expanded by the commit type `tmp:`

    > This commit type is used for placeholder work that is intentionally messy, unsquashable, and unreviewable. This type of commit is only meant to exist as a transient solution in the codebase, and the reasons for its presence are not subject to questioning. It serves a functional but impermanent purpose.

    Characteristics:
    - Cannot be squashed in a clean-up process.
    - Often contains quick, messy, or experimental code.
    - Reserved for situations where there’s an unspoken reason for its existence, known only to the contributor.

    #Git #ConventionalCommits #CommitHistory #GitSquash

  13. @levitte Thanks! For me #ConventionalCommits are an approach to ensure that all relevant information is in the repository -- not in a PR or an email that is detached and will be lost eventually, even when the sources are preserved. They can provide a narrative, tags, references in a non-intrusive, yet fully integrated fashion.

    Still have to learn how they feel in practice, though.

  14. Some interesting stats for some of you: The ratio of git commit types[1] in #ThingUmbrella over the past 6+ years (1st colum) vs over the past year only (since 2023-01-01, 2nd column):

    docs: 15.0% | 23.9%
    feat: 44.2% | 47.5%
    fix: 11.9% | 9.5%
    perf: 1.8% | 1.6%
    refactor: 27.1% | 17.5%

    These numbers show a drastic uptick in documentation related efforts (1.6x more commits of that type) and I sincerely hope this effort will start bearing fruits at some point and wasn't all wasted...

    Underlining this increased focus on documentation & explanations is also visible in terms of effort creating/refactoring/maintaining the 155 example projects included in the repo. Here're the numbers of example related commits over the past three years:

    2021: 84
    2022: 80
    2023: 170

    Personally, I don't know of any other project which supplies this amount & variety of examples (from basic to more advanced and not even counting the other hundreds of code snippets in doc strings showing basic usage & use cases) - yet documentation remains the #2 issue deemed "problematic" (after "discoverability")...

    I'm not sure if my neurodivergence is at play here, but I just don't understand how to connect some of these efforts & findings (or I don't understand people's expectations, also not helped by lack of concrete feedback given, even if asked directly)...

    [1] Being able to easily build additional tooling/automation is one of the many amazing side effects of using conventionalcommits.org/ — I highly recommend it for your own repos!

    #ThingUmbrella #OpenSource #Documentation #Git #ConventionalCommits #Statistics

  15. Do you know #ConventionalCommits and #ConventionalComments? What would #ConventionalTodos look like? Is it a mixture of ImDone and todo.txt or something completely different?

  16. Does anyone I know regularly use Conventional Commits for their personal, work, or open-source projects? I’m curious what the tooling and workflow is like. Hearing some first-hand experience would be awesome!

    #conventionalcommits #devlife

  17. Can someone enlighten me how #ConventionalCommits and atomic commits go together? When I implement a feature - even a small one - it almost always takes multiple self-contained commits. I don't like the idea of squashing everything together once I'm done. So what's the "right" way to approach this? Using the scope like this? 🤔

    feat(my-feature): ...
    feat(my-feature): ...
    refactor(my-feature): ...
    feat(my-feature): ...

  18. Anyone here recommend tooling for working with #ConventionalCommits (conventionalcommits.org/en/v1.)?

    Note: I'm working on Ubuntu. I quite liked the look of #cocogitto, but couldn't find a way to install it...

  19. 📚 J'ai mis à jour le README de mon projet de découverte du langage #golang pour y donner un peu plus de contexte ~ github.com/jbuget/explore-gola

    J'en ai profité pour augmenter mon niveau de commitage:
    - suivre les conventional commits #conventionalcommits
    - m'inspirer de #gitmoji (chaque commit commence par un emoji spécifique et standardisé)
    - mettre des titres et surtout des descriptions intéressantes

    Je ne promets pas de maintenir ce niveau pour un tel projet

    🔗 See github.com/pvdlg/conventional-