@checkmarkdevtools/commitlint-plugin-rai 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,30 @@
1
+ Polyform Shield License 1.0.0
2
+
3
+ Copyright (c) 2025 ChecKMarK DevTools / Ashley Childress
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to use,
7
+ copy, modify, and/or distribute the Software for any purpose—including personal, professional, or commercial use—subject to the following conditions:
8
+
9
+ 1. **No Profit or Monetization.**
10
+ The Software may not be sold, rebranded, licensed, hosted as a paid SaaS, or used as the basis of any product or service from which you or your organization earns revenue or profit, without explicit written permission from Ashley Childress.
11
+
12
+ - **You CAN** use, copy, fork, or adapt this for your own workflows, inside your company, for client projects, demos, education, or anything else—as long as you’re not selling the code, charging for it, or making money from the project itself.
13
+ - **You CANNOT** resell, offer as a paid service, or monetize this project or its derivatives without prior written approval.
14
+
15
+ 2. **Endorsement.**
16
+ Neither the name of ChecKMarK DevTools / Ashley Childress nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission.
17
+
18
+ 3. **Attribution.**
19
+ Any public fork, copy, or substantial reuse must include this LICENSE and a clear statement in your documentation or README:
20
+ “Based on original work by ChecKMarK DevTools / Ashley Childress – see \[original repo link\].”
21
+
22
+ 4. **No Warranty.**
23
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24
+
25
+ Full license text: https://polyformproject.org/licenses/shield/1.0.0/
26
+
27
+ ---
28
+
29
+ This project is licensed under Polyform Shield License 1.0.0.
30
+ For exceptions or monetization/commercialization questions, contact Ashley Childress at [human@checkmarkdevtools.dev](mailto:human@checkmarkdevtools.dev).
package/README.md CHANGED
@@ -1,18 +1,33 @@
1
1
  # @checkmarkdevtools/commitlint-plugin-rai
2
2
 
3
- Commitlint plugin for enforcing AI attribution in commit messages using standard Git trailers.
3
+ <p align="center">
4
+ <img
5
+ src="https://raw.githubusercontent.com/ChecKMarKDevTools/admin-things/main/assets/logos/checkmark-rai-lint-logo.png"
6
+ alt="ChecKMarK RAI"
7
+ width="160"
8
+ />
9
+ </p>
4
10
 
5
- ## Installation
11
+ <p align="center">
12
+ A commitlint plugin that enforces exactly one thing:<br />
13
+ if AI touched the code, say so in the commit. ⚖️
14
+ </p>
15
+
16
+ <p align="center">
17
+ That’s it. No philosophy, no negotiations. Pick a trailer and move on.
18
+ </p>
19
+
20
+ ## Installation 🔧
6
21
 
7
22
  ```bash
8
23
  npm install --save-dev @checkmarkdevtools/commitlint-plugin-rai
9
24
  ```
10
25
 
11
- ## Usage
26
+ ## Usage 🚦
12
27
 
13
- Add to your `commitlint.config.js`:
28
+ Add the plugin to your `commitlint.config.js`:
14
29
 
15
- ```javascript
30
+ ```js
16
31
  export default {
17
32
  extends: ['@commitlint/config-conventional'],
18
33
  plugins: ['@checkmarkdevtools/commitlint-plugin-rai'],
@@ -22,21 +37,40 @@ export default {
22
37
  };
23
38
  ```
24
39
 
25
- ## Valid Footer Formats
40
+ Once this is in place, commitlint will refuse to proceed until a valid RAI trailer is present.
41
+
42
+ ## Valid Trailers 📌
43
+
44
+ Pick **exactly one**.
45
+ Skip it and the commit fails.
46
+ Use more than one and the commit also fails.
47
+
48
+ No negotiations.
49
+
50
+ 1. `Authored-by: [Human] <email>` — all you, no AI involved
51
+ 2. `Commit-generated-by: [AI Tool] <email>` — AI wrote the commit message, you wrote the code
52
+ 3. `Assisted-by: [AI Tool] <email>` — AI helped some, you were still driving
53
+ 4. `Co-authored-by: [AI Tool] <email>` — roughly 50/50, like actual pair programming
54
+ 5. `Generated-by: [AI Tool] <email>` — AI did most of it, you supervised
55
+
56
+ All patterns are case-insensitive, because enforcing honesty does not require enforcing capitalization.
57
+
58
+ ## Why This Exists ⚖️
59
+
60
+ If two humans pair program, both names go on the commit.
61
+ If an AI helps and we pretend it didn’t happen, that’s a choice, but it’s a strange one.
62
+
63
+ Git already supports trailers. This plugin just closes the gap between “we could do this” and “we actually do this,” by making attribution a default instead of a discussion.
26
64
 
27
- 1. **`Authored-by: [Human] <email>`** - Human only, no AI
28
- 2. **`Commit-generated-by: [AI Tool] <email>`** - Trivial AI (docs, commit msg, advice, reviews)
29
- 3. **`Assisted-by: [AI Tool] <email>`** - AI helped, but primarily human code
30
- 4. **`Co-authored-by: [AI Tool] <email>`** - Roughly 50/50 AI and human (40-60 leeway)
31
- 5. **`Generated-by: [AI Tool] <email>`** - Majority of code was AI generated
65
+ If you want the longer version of that reasoning, it’s written up at [Did AI Erase Attribution?](https://dev.to/anchildress1/did-ai-erase-attribution-your-git-history-is-missing-a-co-author-1m2l).
32
66
 
33
- All patterns are case-insensitive.
67
+ This plugin is the boring enforcement layer that follows.
34
68
 
35
- ## Requirements
69
+ ## Requirements ⚙️
36
70
 
37
71
  - Node.js >= 20.0.0
38
72
  - @commitlint/cli >= 19.0.0
39
73
 
40
- ## License
74
+ ## License 📄
41
75
 
42
76
  PolyForm Shield License 1.0.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkmarkdevtools/commitlint-plugin-rai",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Commitlint plugin for RAI footer validation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,8 +14,10 @@
14
14
  },
15
15
  "files": [
16
16
  "dist",
17
- "bom.json",
18
- "README.md"
17
+ "sbom.json",
18
+ "README.md",
19
+ "CHANGELOG.md",
20
+ "LICENSE"
19
21
  ],
20
22
  "engines": {
21
23
  "node": ">=20 <25"
@@ -113,15 +113,15 @@
113
113
  "type": "library",
114
114
  "name": "commitlint-plugin-rai",
115
115
  "group": "@checkmarkdevtools",
116
- "version": "0.1.1",
117
- "bom-ref": "rai-lint|@checkmarkdevtools/commitlint-plugin-rai@0.1.1",
116
+ "version": "0.1.3",
117
+ "bom-ref": "rai-lint|@checkmarkdevtools/commitlint-plugin-rai@0.1.3",
118
118
  "licenses": [
119
119
  {
120
120
  "expression": "LicenseRef-PolyForm-Shield-1.0.0",
121
121
  "acknowledgement": "declared"
122
122
  }
123
123
  ],
124
- "purl": "pkg:npm/%40checkmarkdevtools/commitlint-plugin-rai@0.1.1",
124
+ "purl": "pkg:npm/%40checkmarkdevtools/commitlint-plugin-rai@0.1.3",
125
125
  "properties": [
126
126
  {
127
127
  "name": "cdx:npm:package:path",
@@ -134,11 +134,11 @@
134
134
  {
135
135
  "ref": "rai-lint",
136
136
  "dependsOn": [
137
- "rai-lint|@checkmarkdevtools/commitlint-plugin-rai@0.1.1"
137
+ "rai-lint|@checkmarkdevtools/commitlint-plugin-rai@0.1.3"
138
138
  ]
139
139
  },
140
140
  {
141
- "ref": "rai-lint|@checkmarkdevtools/commitlint-plugin-rai@0.1.1"
141
+ "ref": "rai-lint|@checkmarkdevtools/commitlint-plugin-rai@0.1.3"
142
142
  }
143
143
  ]
144
144
  }