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

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitlint_rai-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 3e191c961b1600a84e5874ba9a1aef68d7a452c5a32defe0023917ef9d250e06
MD5 6368722d637fbca86164cbc8393020b2
BLAKE2b-256 485fab649477f9ea5b52832dfa51d66b1d3dcaa40f52ed85803c6beeb25ef4d7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: gitlint_rai-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 eb1a6d938091fba41221c6b9f66eaefe5a3dcafe39a1d0b174cee469e7c1c232
MD5 c86b2bc8024d31e25fec01d0c99cd88c
BLAKE2b-256 8c00cf9b26c3ae996bfd7c0cbdc47e6e278153194c9182f0749727687249f168

See more details on using hashes here.

Provenance

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