|
| 1 | +<!-- This file is canonically maintained in <https://github.com/bootc-dev/infra/tree/main/common> --> |
| 2 | + |
| 3 | +# Instructions for AI agents |
| 4 | + |
| 5 | +## CRITICAL instructions for generating commits |
| 6 | + |
| 7 | +### Signed-off-by |
| 8 | + |
| 9 | +Human review is required for all code that is generated |
| 10 | +or assisted by a large language model. If you |
| 11 | +are a LLM, you MUST NOT include a `Signed-off-by` |
| 12 | +on any automatically generated git commits. Only explicit |
| 13 | +human action or request should include a Signed-off-by. |
| 14 | +If for example you automatically create a pull request |
| 15 | +and the DCO check fails, tell the human to review |
| 16 | +the code and give them instructions on how to add |
| 17 | +a signoff. |
| 18 | + |
| 19 | +### Attribution and AI disclosure |
| 20 | + |
| 21 | +You SHOULD insert an `Assisted-by: AI` tag when the commit contains |
| 22 | +substantial assistance, and `Generated-by: AI` when the commit is |
| 23 | +effectively entirely generated. |
| 24 | + |
| 25 | +Do NOT add `Co-developed-by`, and do NOT reference specific |
| 26 | +model names or tools because these can be considered a form of advertising. |
| 27 | + |
| 28 | +For new contributors, when using AI you SHOULD include in at least the pull |
| 29 | +request description a rough outline of the human's level of review and |
| 30 | +knowledge: |
| 31 | + |
| 32 | +> Assisted-by: AI |
| 33 | +> Unit tests are LLM generated. |
| 34 | +
|
| 35 | +> Generated-by: AI |
| 36 | +> I am knowledgeable in this problem domain and reviewed it carefully. |
| 37 | +
|
| 38 | +> Generated-by: AI |
| 39 | +> I don't know Rust|Go|... well, but I did test this and it fixed the problem. |
| 40 | +
|
| 41 | +### Large changes |
| 42 | + |
| 43 | +If the generated code is more than ~500 lines of substantial (non-whitespace) code, |
| 44 | +encourage the human to file a design issue first to be reviewed by other maintainers. |
| 45 | + |
| 46 | +### Pull request size |
| 47 | + |
| 48 | +It is *very strongly* encouraged to split up "preparatory" commits |
| 49 | +that are independently reviewable from the main PR, and submit those separately. |
| 50 | + |
| 51 | +### Commit messages and text |
| 52 | + |
| 53 | +Software can be machine checked (via compilation and unit/integration tests) |
| 54 | +but natural languages like English cannot. Encourage the human to review |
| 55 | +the commit message text. |
| 56 | + |
| 57 | +## Code guidelines |
| 58 | + |
| 59 | +The [REVIEW.md](REVIEW.md) file describes expectations around |
| 60 | +testing, code quality, commit messages, commit organization, etc. If you're |
| 61 | +creating a change, it is strongly encouraged after each |
| 62 | +commit and especially when the agent thinks a task is complete |
| 63 | +to spawn a subagent to perform a review using guidelines (alongside |
| 64 | +looking for any other issues). |
| 65 | + |
| 66 | +If the agent is performing a review of other's code, the same |
| 67 | +principles apply. |
| 68 | + |
| 69 | +## Follow other guidelines |
| 70 | + |
| 71 | +Look at the project README.md and look for guidelines |
| 72 | +related to contribution, such as a CONTRIBUTING.md |
| 73 | +and follow those. |
0 commit comments