mirror of https://github.com/theNewDynamic/gohugo-theme-ananke.git

Patrick Kollitsch
17 hours ago a819d1ece3d6819dd8bde48688cff345ce65f5cd
docs: add AI contributor guide to CONTRIBUTING.md
1 files modified
73 ■■■■ changed files
CONTRIBUTING.md 73 ●●●● patch | view | raw | blame | history
CONTRIBUTING.md
@@ -2,15 +2,21 @@
Thanks for helping improve Ananke. This document describes the current contribution workflow for this repository.
- [Ways to Contribute](#ways-to-contribute)
- [Release Process](#release-process)
- [Before You Start](#before-you-start)
- [Reporting Bugs and Requesting Features](#reporting-bugs-and-requesting-features)
- [Pull Request Workflow](#pull-request-workflow)
- [Circumventing Git Hooks](#circumventing-git-hooks)
- [Documentation Contributions](#documentation-contributions)
- [Attribution](#attribution)
- [License](#license)
* [Ways to Contribute](#ways-to-contribute)
* [Release Process](#release-process)
* [Before You Start](#before-you-start)
* [Reporting Bugs and Requesting Features](#reporting-bugs-and-requesting-features)
* [Pull Request Workflow](#pull-request-workflow)
* [Circumventing Git Hooks](#circumventing-git-hooks)
* [Documentation Contributions](#documentation-contributions)
* [AI Guidelines](#ai-guidelines)
  * [Terminology](#terminology)
  * [Core Principle](#core-principle)
  * [Using AI for Code Contributions](#using-ai-for-code-contributions)
  * [Using AI for Communication](#using-ai-for-communication)
  * [Final Note](#final-note)
* [Attribution](#attribution)
* [License](#license)
## Ways to Contribute
@@ -98,6 +104,55 @@
Please keep links relative where possible and remove stale references when updating pages.
## AI Guidelines
This section is based on a proposed guideline introduced in a pull request to Node.js ([PR #62105](https://github.com/nodejs/node/pull/62105)). This is a project-specific adaptation and applies to this repository.
### Terminology
* **AI** refers to any generative tool used to produce code or text (e.g. LLM-based systems).
* **LLM** refers specifically to large language models.
* **Tool** refers to any software used to assist development, including AI.
### Core Principle
**Contributions are made by people, not tools.**
AI is acceptable as a tool for any part of the workflow. However, responsibility cannot be delegated. Every contribution must be authored, understood, and defended by the person submitting it.
The answer to "Why is this an improvement?" must never be "I'm not sure, the AI did it."
Pull requests that contain changes the author does not fully understand or demonstrate a lack of understanding will be closed without review.
### Using AI for Code Contributions
AI may assist, but it must not replace judgement, understanding, or ownership.
When using AI as part of development:
* **Understand the codebase first.** Do not skip familiarisation with the relevant subsystem. AI frequently produces incorrect or outdated assumptions. Always verify against the actual source code in this repository.
* **Own every line you submit.** You are responsible for every change in your pull request, regardless of how it was created. PRs that contain changes the author does not fully understand will be closed without review.
* **No blind generation.** Do not generate large blocks of code and submit them without review. If you do not understand what the code does, do not include it.
* **Keep logical commits.** Structure commits in a clear and coherent way. Do not dump generated changes into a single commit. Follow the repository's commit message guidelines.
* **Test thoroughly.** AI-generated code must pass all tests and be validated manually. Never assume correctness because a tool suggested it. Do not remove or alter tests without explicit understanding and justification.
* **Edit generated output critically.** AI-generated code and comments are often verbose, redundant, or incorrect. Remove what is unnecessary or incorrect. Keep only what is necessary and accurate.
* **Stay accountable.** If you open a pull request, you are expected to follow through. Respond to feedback, iterate, and either complete or close the work yourself.
### Using AI for Communication
Communication must remain human, precise, and intentional.
* **No AI-only communication.** Do not submit comments, issue descriptions, or pull request texts that are entirely generated by AI.
* **Translations should be done using dedicated translation tools:** "English is not my first language" is not a reason to use AI to generate responses. Translate your own thoughts instead of outsourcing them.
* **Verify everything.** Any AI-assisted text must be checked for correctness before submission.
* **Complete templates properly.** Fill out pull request templates with actual information. Do not replace them with generated summaries. If you use AI to generate a PR then *prompt* your tool using the template to keep the format of the PR.
* **Reference real sources.** Link to actual code, documentation, or specifications within this repository or relevant upstream sources. Do not rely on AI statements as authority. If your AI is adding links verify they do exist. It remains your contribution and your responsibility.
* **Use tools for clarity, not substitution.** They must not replace direct, intentional communication.
### Final Note
AI is a tool. It can speed things up, help explore options, and reduce friction. It does not replace responsibility. If you submit a contribution, your name is on it. Act accordingly.
## Attribution
If you want to receive attribution for your contribution please follow the [contribution guidelines](https://allcontributors.org/en/bot/usage/) to add yourself to the list of contributors [in the Ananke theme documentation](https://github.com/davidsneighbour/gohugo-theme-ananke-documentation). A permanently open issue to add your contribution can be found [at the documentation repository](https://github.com/davidsneighbour/gohugo-theme-ananke-documentation/issues/1). Read the initial message to understand how to add yourself to the list of contributors.