Skip to main content

Gitlint plugin for RAI footer validation

Project description

gitlint-rai

ChecKMarK RAI

A commitlint plugin that enforces exactly one thing:
if AI touched the code, say so in the commit. ⚖️

That’s it. No philosophy, no negotiations. Pick a trailer and move on.

Installation 🔧

pip install gitlint-rai

Or with uv, which is objectively the better choice:

uv add gitlint-rai

Usage 🚦

Add this to your .gitlint config:

[general]
extra-path=gitlint_rai

Then run:

gitlint

Or use the standalone wrapper:

gitlint-rai

To verify the rule loaded:

gitlint --list-rules | grep rai-footer-exists

Expected output:

rai-footer-exists  Commit message must include a valid RAI footer

If you see that, the plugin is active and doing its job.

Valid Trailers 📌

Pick exactly one. If you skip it, the commit fails. If you use two, the commit also fails.

This is not a debate.

  1. Authored-by: [Human] <email> — all you, no AI involved
  2. Commit-generated-by: [AI Tool] <email> — AI wrote the commit message, you wrote the code
  3. Assisted-by: [AI Tool] <email> — AI helped some, you were driving
  4. Co-authored-by: [AI Tool] <email> — roughly 50/50, like actual pair programming
  5. Generated-by: [AI Tool] <email> — AI did most of it, you supervised

All patterns are case-insensitive, because life is too short for that kind of pedantry.

Why This Exists ⚖️

Git already supports trailers. Commits already support attribution. What they don’t do is require you to be honest when AI is involved.

This plugin exists to make that honesty boring, consistent, and automatic, so nobody has to reconstruct intent later by reading commit history like tea leaves.

If you want the longer reasoning behind this, it lives at Did AI Erase Attribution?.

This plugin is the practical follow-through.

Requirements ⚙️

  • Python >= 3.11, < 3.13
  • gitlint >= 0.19.1

License 📄

PolyForm Shield License 1.0.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitlint_rai-0.1.4.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitlint_rai-0.1.4-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file gitlint_rai-0.1.4.tar.gz.

File metadata

  • Download URL: gitlint_rai-0.1.4.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitlint_rai-0.1.4.tar.gz
Algorithm Hash digest
SHA256 dbe1d7e5f283126098a494ae56f7d1cf959bc84b3405a717b5eb601d6d0c03d8
MD5 d7ee6807e51837dbc74a389693a53cbc
BLAKE2b-256 0fd6c2c81f73ecd38dfd23335e189a8d96e6130d9e899161b83797a1f8e349d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitlint_rai-0.1.4.tar.gz:

Publisher: release-please.yml on ChecKMarKDevTools/rai-lint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gitlint_rai-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: gitlint_rai-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitlint_rai-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f687e4d0666ab709d8c56585fe565bb6f6b1999830f3dcfb56c82994b19a3a17
MD5 be8e732bca21dae63889363186a617c8
BLAKE2b-256 617a4db7513d5d2b93e807a674595decaa3258177f4aa993272bfb86cd66fa56

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitlint_rai-0.1.4-py3-none-any.whl:

Publisher: release-please.yml on ChecKMarKDevTools/rai-lint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page