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.5.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.5-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitlint_rai-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 11117bed25371b595053b0050a6f689b8f7707513fe20620b5f2e4feb77d9e7d
MD5 6a6e4fa595cb308bf192cfcd1e91c6f5
BLAKE2b-256 ef1e3239124639fc42ddb320248a5e55e57ab0b5adb28f5cea466ceac949073e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitlint_rai-0.1.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: gitlint_rai-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b10637f4262d6208f5d9a1e84ad374d955b028ce6382647dbd73673bfd3418db
MD5 bb9057c33451f70313a49d711bb8a684
BLAKE2b-256 0de8d9774731e317e97fe0421c7df9f91a8fa8c7918849b59b9b852491fb9215

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitlint_rai-0.1.5-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