@@ -42,27 +42,29 @@ The co-author line is rarely on the commit a reviewer looks at. An agent adds
4242it to the commit it wrote, the contributor pushes a fix on top, and the review
4343happens on the final diff.
4444
45- When the project squashes on merge, GitHub collects the ` Co-authored-by: ` and
46- ` Signed-off-by: ` lines from all of the pull request's commits and appends them
47- to the squash commit . It also credits each commit author other than the person
45+ When the project squashes on merge, GitHub's default squash message collects
46+ the ` Co-authored-by: ` and ` Signed-off-by: ` lines from all of the pull
47+ request's commits and appends them, whichever body the repository uses . It also credits each commit author other than the person
4848who opened the pull request, so commits written by the Copilot coding agent
4949reach main with a ` Co-authored-by: Copilot ` line. One line missed in any commit
5050becomes a permanent co-author credit on main.
5151
5252## One file
5353
5454[ Commit Check] ( https://github.com/commit-check/commit-check ) reads its rules
55- from a ` cchk.toml ` . This one checks the co-author rule and turns everything
56- else off:
55+ from a ` cchk.toml ` . This one checks the co-author rule, turns off the message
56+ format and branch name rules, and allows any subject up to 1000 characters.
57+ The default author name and email checks ([ CC101] ( ../../rules.md#cc101 ) ,
58+ [ CC102] ( ../../rules.md#cc102 ) ) stay on:
5759
5860``` toml
5961warn = [" CC014" ] # the policy does not ask for disclosure: report it, never fail
6062
6163[commit ]
6264ai_attribution = " disclose" # fail if an AI tool is credited as co-author or sign-off
6365conventional_commits = false # no message format
64- subject_max_length = 1000 # no subject length limit
65- subject_min_length = 0
66+ subject_max_length = 1000 # allow long subjects
67+ subject_min_length = 0 # and short ones
6668
6769[branch ]
6870conventional_branch = false # no branch name rules
@@ -96,8 +98,9 @@ Squash message `Add retries to the HTTP client (#214)` CC015 ai-co-author
9698
9799Make ** Commit Check** a required check in the branch's ruleset, and the pull
98100request can't be merged until the contributor removes the line from their
99- commits. The App only reads the repository and writes check runs. It never
100- comments, and it is free for public repositories. The
101+ commits. The App can read the repository and its pull requests and can write
102+ only check runs ([ what it reads] ( ../../privacy.md ) ). It never comments, and it is
103+ free for public repositories. The
101104[ App guide] ( ../../guides/github-app.md#pull-requests ) shows what is checked
102105under each merge setting.
103106
@@ -109,10 +112,11 @@ reads the same file and checks every commit of the pull request.
109112
110113It catches the co-author and sign-off lines that Claude Code, GitHub Copilot
111114(including the coding agent), Cursor, Codex, Devin, Jules, Amp, Factory Droid
112- and OpenHands write, and model names such as ` gemini-2.5-pro ` . Human co-authors
113- pass, including people who happen to be called Claude or Jules. So do
114- Dependabot, pre-commit.ci and ` Assisted-by: ` trailers, which this policy
115- doesn't forbid.
115+ and OpenHands write, and model names such as ` gemini-2.5-pro ` . It matches those
116+ known signatures, so a tool it doesn't recognize yet passes. Human co-authors
117+ pass, including people who happen to be called Claude or Jules, and so do
118+ Dependabot and pre-commit.ci. ` Assisted-by: ` and ` Generated-by: ` trailers pass
119+ too, since this policy doesn't forbid them.
116120
117121## What it can't do
118122
0 commit comments