## 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](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 Signed-off-by: Your Name