Contributing to Astra
Astra is an open-source project and contributions are welcome. Development should focus on improving reliability, performance, and the user experience.
Getting Started
Before contributing, set up a local development environment.
git clone https://github.com/SYOP200/astra-shell cd astra-shell cargo build
Creating Changes
When working on Astra:
- Keep changes focused
- Follow Rust formatting standards
- Avoid unnecessary dependencies
- Update documentation for user-facing features
Branches
Use descriptive branch names:
feature/plugin-system feature/new-theme fix/history-loading docs/configuration
Pull Requests
A good pull request should include:
- A clear description of the change
- Testing information
- Documentation updates if needed
- No compiler warnings
Before submitting:
cargo fmt cargo clippy cargo test cargo build --release
Reporting Issues
When reporting a bug, include:
- Operating system
- Astra version
- Steps to reproduce the issue
- Error output
Feature Requests
Feature requests should explain:
- The problem being solved
- Why the feature would improve Astra
- Possible implementation ideas
Code Guidelines
- Prefer readable code over clever code
- Keep modules separated by responsibility
- Handle errors safely
- Keep configuration backward compatible
Community
Astra aims to build a community around customizable shell development. Developers, testers, documentation writers, and designers can all contribute.