Show HN: Infra Commits – Conventional Commits but for infrastructure/operations

ohelm2 pts1 comments

devopsguy/infra-commits - Codeberg.org

This website requires JavaScript.

devopsguy/infra-commits

Watch

Star

Fork

You've already forked infra-commits

Code

Issues

Pull requests

Activity

No description

1 commit

1 branch

0 tags

40 KiB

main

Find a file

HTTPS

Download ZIP<br>Download TAR.GZ<br>Download BUNDLE

Open with VS Code

Open with VSCodium

Open with Intellij IDEA

Octavian Helm

cd75b4cc37

feat: initial commit

2026-07-04 21:49:55 +02:00

spec

feat: initial commit

2026-07-04 21:49:55 +02:00

LICENSE

feat: initial commit

2026-07-04 21:49:55 +02:00

LICENSE-CODE

feat: initial commit

2026-07-04 21:49:55 +02:00

README.md

feat: initial commit

2026-07-04 21:49:55 +02:00

README.md

Infra Commits

A commit message specification for infrastructure-as-code repositories: Terraform and OpenTofu, Pulumi, CloudFormation, Ansible, Kubernetes manifests, Helm, Kustomize, Crossplane, and GitOps configuration repos generally.

Infra Commits is built on top of Conventional Commits 1.0.0. It keeps the header/body/footer format, feat/fix, scopes, and RFC 2119 language largely as-is, and adds what infrastructure work needs that application-code commit conventions don't cover: blast radius, destructive operations, drift, state mutation, environment targeting, and audit-trail footers for change-management processes.

If you're not sure whether you need this or plain Conventional Commits, the short version: use Conventional Commits for application code, use Infra Commits for the repos that provision and manage your infrastructure.

Status

This specification is a draft (0.1.0) , open for review and feedback. The format, types, and footers described here may still change before a 1.0.0 release.

A final version of this specification is planned to be released three months from the publication of the draft (0.1.0) version.

Reading the specification

The specification lives in spec/infra-commits.draft.md. It covers, in order: the message format, the full list of commit types, scope conventions, footer definitions, the distinction between breaking changes and destructive changes, the normative RFC 2119 rule list, guidance on versioning, and a short FAQ.

The canonical, most current version is published at infra.commits.at. Copies of this document elsewhere should be assumed to lag behind that address.

Why this exists

Application libraries release versions that consumers choose to adopt. A lot of infrastructure work doesn't look like that at all: GitOps controllers reconcile continuously, terraform apply often runs straight off a merge to main, and there's frequently no version number anyone is opting into. On top of that, infrastructure carries risks that Conventional Commits has no vocabulary for: a resource being destroyed or replaced, configuration drifting out of band and needing reconciliation, state operations that require careful apply ordering, and change-management requirements that expect a ticket, an approver, and a rollback plan to be traceable from the commit itself.

The full rationale is in the specification's own introduction.

License

The specification text in this repository is licensed under CC BY 4.0, see LICENSE. It's a derivative work based on Conventional Commits 1.0.0 (CC BY 3.0), with attribution and disclosure of changes as required by that license.

Anything added to this repository that qualifies as source code or tooling rather than specification text will be licensed separately under MIT, see LICENSE-CODE.

Contributing

This is an early draft. Feedback, issues, and pull requests proposing changes to the wording, types, or footers are welcome. If you're proposing a new type or footer, it helps to include a real-world example of the commit it would apply to and the problem it solves that the existing vocabulary doesn't.

commits commit infra code specification conventional

Related Articles