Contributing
Contributions are welcome! Here are some guidelines to keep in mind.
Code Standards
- All code follows SOLID principles — one responsibility per module, depend on abstractions
- New commands are added as independent modules under
src/commands/ - Each command implements the
Commandtrait defined incommands/mod.rs
Before Submitting
Make sure all checks pass:
cargo clippy -- -D warnings # no warnings allowed
cargo fmt --check # formatting must be applied
cargo test # all tests must pass
cargo build # clean build
Adding a New Command
- Create a new file under
src/commands/(e.g.,my_command.rs) - Implement the
Commandtrait - Add
mod my_command;tosrc/commands/mod.rs - Add the CLI variant to
src/cli.rs - Add the match arm in the
create_command()factory insrc/commands/mod.rs - Update documentation (README command table and relevant docs page)
Project Structure
See the Architecture page for details on the project structure and design patterns.
Reporting Issues
If you find a bug or have a feature request, please open an issue at GitHub Issues.