Files
trx-rs/CONTRIBUTING.md
sjg e575b3b365 [docs](trx-rs): adopt kernel-style AI attribution trailers
Replace the guidance to credit LLM usage via 'Co-authored-by:' with the
Linux kernel convention. Co-Authored-By and Co-Developed-By are reserved
for human authors (who must also sign off); AI/LLM assistance is
disclosed with an Assisted-By: trailer instead.

Apply the new policy to this commit as a worked example.

Assisted-By: Claude Code (claude-opus-4)
Claude-Session: https://claude.ai/code/session_01NFpGtGTWUEYXLwZeZs2RAV
Signed-off-by: Stan Grams <sjg@haxx.space>
2026-07-17 21:10:09 +02:00

62 lines
2.3 KiB
Markdown

## Workflow
The trx-rs project is organized into three main components:
1. **trx-core**: core library providing the basic functionalities,
2. **trx-server**: server component that hooks up the transceiver,
3. **trx-client**: client component that connects with the trx-server and exposes selected frontends.
When contributing to the project, please follow these guidelines:
- Fork the repository and create a new branch for your changes.
- Make sure your code follows the project's coding style and conventions.
- Write clear and concise commit messages.
- Submit a pull request with a detailed description of your changes.
- Ensure that your changes are tested and pass all existing tests.
## Commit Guidelines
- Use imperative mood in commit messages.
- Keep commit messages short and descriptive.
- Use a maximum of 80 characters per line.
- Use a blank line between the commit message and the body.
- Sign your commits with `git commit -s`.
- Disclose AI/LLM assistance with an `Assisted-By:` trailer (see below).
Use the format below for commit titles:
[<type>](<crate>): <description>
e.g.
- [feat](trx-core): add new feature xyz
- [fix](trx-frontend): fix http frontend xyz issue
- [docs](trx-rs): update README
Use `(trx-rs)` for repo-wide changes that are not specific to any crate.
Allowed types:
- feat: new feature
- fix: bug fix
- docs: documentation changes
- style: code style changes
- refactor: code refactoring
- test: test changes
- chore: build or maintenance changes
Write isolated commits for each crate.
## Attribution trailers
This project follows the Linux kernel convention for crediting work.
The `Co-Authored-By:` and `Co-Developed-By:` trailers name **people** who
authored the change. They are reserved for humans, and every person named
this way must also add their own `Signed-off-by:` line. Never use these
trailers for tools, assistants, or bots.
When a commit was produced with help from an AI assistant or LLM,
disclose it with an `Assisted-By:` trailer naming the tool (and model,
where relevant). The human committer remains the author of record and
takes responsibility for the change through `Signed-off-by:`.
Example:
Assisted-By: Claude Code (claude-opus-4)
Co-Authored-By: Jane Developer <jane@example.com>
Signed-off-by: Your Name <you@example.com>