Reporting Bugs
If something doesn’t work as expected, the best way to help is to open a detailed issue on GitHub so maintainers can reproduce and address the problem.Open a GitHub Issue
Describe the bug clearly
Provide reproduction steps
Include your environment details
v0.2.1), and Rust toolchain version if you are running from source.Suggesting Features
Have an idea that would make Bridgex more useful? Feature requests are tracked on GitHub Issues alongside bug reports.Search for existing requests
Open a feature request issue
Explain the benefit
Submitting Pull Requests
Code contributions are made through GitHub pull requests. All PRs are reviewed before merging, so please be open to feedback and willing to iterate.Fork the repository
Create a branch from main
main and give your branch a descriptive name:Make your changes
Build and test your changes
Write clear commit messages
Fix encoding error for UTF-8 CSV files). Avoid vague messages like fix stuff or update.Reference related issues
Closes #42 or Related to #17 so they are linked automatically.Open the pull request
main branch of Dev2Forge/bridgex. Fill in the PR template if one is present.Development Setup
Bridgex is a native Rust desktop application built with the Freya UI framework. You will need a working Rust toolchain to build and run it locally.Prerequisites
- Rust toolchain (stable channel recommended)
cargo(included with the Rust toolchain)- Git
Cloning and Running Locally
Clone the repository
Navigate to the Rust source directory
src/bridgex:Run in development mode
cargo run for a fast, unoptimised debug build — ideal when iterating on code:Run with Freya devtools (optional)
dev feature flag enables the Freya UI devtools panel, which is useful when working on UI components:Create a release build
target/release/bridgex.Install locally (optional)
bridgex from anywhere on your system:cargo run) compile faster but are slower at runtime. Release builds (cargo build --release) take longer to compile but produce the optimised binary that end users run.Coding Standards
Bridgex is written entirely in Rust. Please follow these conventions to keep the codebase consistent.Formatting — rustfmt
Formatting — rustfmt
rustfmt before submitting a PR. Run it with:rustfmt with default settings. Unformatted code will be flagged during review.Doc comments
Doc comments
/// doc comments to public functions, structs, and modules where the purpose is not immediately obvious from the name alone. Doc comments are particularly important for any types that form part of Bridgex’s internal API.Commit hygiene
Commit hygiene
UI components — Freya
UI components — Freya
--features dev enables the Freya devtools overlay for inspecting the element tree.