Skip to content

Commit ded441d

Browse files
Revise contribution guidelines and add AI code section
Updated the contribution guidelines to include AI-generated code considerations and revised existing sections for clarity.
1 parent f77fc9f commit ded441d

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

CONTRIBUTING.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22
## How to contribute to NanoXLSX
33

44
### Preamble
5-
65
Thank you very much for your interest in NanoXLSX. This library is maintained completely based on community effort and is currently not backed by a company or organization. Any contribution is highly appreciated and helps to increase the quality and relevance of NanoXLSX, [PicoXLSX](https://github.com/rabanti-github/PicoXLSX) and [NanoXLSX4J](https://github.com/rabanti-github/NanoXLSX4j).
76

87
However, to ensure a good experience for everyone (library users, developers, or other contributors), we kindly ask to follow the recommendations in this document when contributing to the library
98

109
### Creating an issue
1110

1211
#### General
13-
1412
* Please use one of the provided issue templates if applicable
1513
* Please use English as common language. If you don't feel confident about this, don't worry. [DeepL]( https://www.deepl.com/translator) or other online translators can help to write an issue quite smoothly
1614
* Please only open an issue if that issue may be relevant to you or another party, and if you are willing to reply to upcoming questions or request for clarification. Abandoned or irrelevant issues may be closed after some weeks or months
@@ -56,6 +54,18 @@ However, to ensure a good experience for everyone (library users, developers, or
5654
* Excessive use of the var keyword (The goal of the library is to make its usage as clear as possible and that code snippets are always appropriately typed, even if the usings are not available)
5755
* Uses cryptic variable or function names (`CalcAmount` may be OK as function name , but `GT56R` may not)
5856
* Introduces (inline) hard-coded values that are either already defined as constants or could be substituted by an existing enum or similar code parts
59-
* Code that is clearly copied from somewhere else or is AI generated
60-
* External sources: Ensure compliance with the licenses. Don’t use code that may have a more restrictive license than NanoXLSX (MIT) or that has no license declaration
61-
* AI: That’s great, and we love what AI can achieve nowadays! But please, revise the code, check it, and remove unnecessary comments. Ensure that this code cannot cause a licensing issue too
57+
* Code that is clearly copied from external sources: Ensure compliance with the licenses. Don’t use code that may have a more restrictive license than NanoXLSX (MIT) or that has no license declaration
58+
59+
### AI generated code
60+
61+
Some promises were made, some were not kept, and some expectations were far exceeded.
62+
We have come to the conclusion that AI-generated code (especially from AI agents) can significantly increase both productivity and code quality. However, the following must be observed when submitting PRs that include AI-generated code:
63+
64+
* Please do not submit very large AI-driven refactorings without discussing them first. During code reviews, we must ensure that only the necessary scope has been changed in order to prevent side effects, compatibility issues, or inconsistencies.
65+
* Please make sure to carefully review AI-generated code before submitting it. Even an AI can have a bad day.
66+
* Please remove unnecessary comments, TODOs (where not needed), and other markup that only serves the AI. If you create (or have generated) context files for the code, do not commit them at this time. **Note**: A decision may be made later on whether to introduce a dedicated context directory (for Copilots / agents, etc.).
67+
* Please ensure that AI-generated code does not break any unit tests.
68+
* Please ensure that AI-generated unit tests are meaningful (not: `Assert.True(true)` or similar).
69+
* Please ensure that AI-generated code follows the project’s defined contribution, coding, and code style guidelines.
70+
71+
Happy coding! 🤖

0 commit comments

Comments
 (0)