Contributing Guide

Contributions to TRX are welcome — whether that's a bug fix, a new backend, a UI improvement, or documentation. This page provides an overview. For full details, see CONTRIBUTING.md in the repository.


Getting Started

git clone https://github.com/pie-314/trx.git
cd trx
cargo build        # ensure the project compiles
cargo run          # smoke test in your terminal
cargo test         # run the test suite

Contribution Areas

AreaExamples
Backend IntegrationsNew package managers (dnf, zypper, winget)
TUI ImprovementsNew widgets, themes, layout changes
Fuzzy SearchBetter scoring heuristics, performance
PerformanceCaching, parallel execution
Bug FixesReproduce, isolate, and fix issues
DocumentationImprove this site, README, examples

Pull Request Workflow

  1. Fork the repository and create a feature branch:
    git checkout -b feat/dnf-backend
    
  2. Make your changes.
  3. Run cargo fmt and cargo clippy (zero warnings preferred).
  4. Run cargo test.
  5. Commit using conventional commit messages (see Coding Guidelines).
  6. Open a PR describing what changed, why, and how it was tested.

Issues

Before filing an issue, check if it already exists. When reporting a bug, include:

  • Steps to reproduce
  • Platform (OS, package manager version)
  • TRX version (trx --version)
  • Relevant terminal output or screenshots

Common issue labels: good first issue, help wanted, backend, tui, fuzzy, performance.