Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 29 additions & 1 deletion CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
############
Contributing
============
############

You can contribute to the project in multiple ways:

Expand Down Expand Up @@ -75,6 +76,9 @@ This creates a clearer project history, and automates our `Releases`_ and change
* Bad: ``Update documentation for projects``
* Good: ``docs(projects): update example for saving project attributes``

Also see the `AI attribution section <ai_attribution_section_>`_ for
information on attributing contributions from AI.

Coding Style
------------

Expand All @@ -90,6 +94,30 @@ To format your code according to our guidelines before committing, run:
cd python-gitlab/
tox -e black,isort

.. _ai_attribution_section:

AI Attribution
--------------

Comment thread
JohnVillalovos marked this conversation as resolved.
When an AI coding assistant contributed meaningfully to a commit (writing or
significantly modifying code, suggesting the fix, generating tests, etc.),
add an ``Assisted-by`` trailer to the commit footer::
Comment on lines +102 to +104

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will pretty quickly get outdated, as agents are now autonomous enough that they're essentially doing the whole implementation. Likewise with models and harnesses, they change every month now and can be extended with MCPs, skills, plugins and other tools that I think muddy the water further.

WDYT about asking for the initial prompt that created the contribution, instead? As discussed offline as well, I think what's becoming more important now is the author's initial intent for a change, as that way we can better reason about whether something is well-intentioned or just slop to fill a GitHub punch card.

Though in that case, it might make more sense to include it in the original PR description as it could pollute the commit log much more than a simple trailer. We could even include it in the PR template, and have agents pick it up automatically.


Assisted-by: <AgentName>:<ModelVersion>

Place it alongside any ``Closes:`` or ``BREAKING CHANGE:`` lines. Omit it when
the AI contribution was trivial (e.g. a one-word suggestion or only
autocomplete) or purely mechanical (running linters, reformatting).

Example::

fix(cli): correct the --spam flag

The --spam flag now says spam three times.

Closes: #1234
Assisted-by: Claude:claude-sonnet-4-6

Running unit tests
------------------

Expand Down
1 change: 1 addition & 0 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.. include:: ../CONTRIBUTING.rst
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
changelog
release-notes
faq
contributing

Comment thread
JohnVillalovos marked this conversation as resolved.

Indices and tables
Expand Down