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

2.3 KiB

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: : e.g.

  • feat: add new feature xyz
  • fix: fix http frontend xyz issue
  • docs: 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>