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>
62 lines
2.3 KiB
Markdown
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>
|