First off, thank you for considering contributing to Astra. It means a lot.
- Code of Conduct
- How to Contribute
- Development Setup
- Code Style
- Testing
- Pull Request Process
- Developer Certificate of Origin
This project is governed by the Contributor Covenant. By participating, you are expected to uphold this code. Please report unacceptable behavior to contact@arkforge.net.
Open an issue with:
- A clear, descriptive title
- Steps to reproduce (include code snippets if applicable)
- Expected vs. actual behavior
- Your environment (OS, Astra version, Lua version)
Open an issue tagged enhancement with:
- A clear description of the feature and the problem it solves
- Any relevant examples or use cases
- Clone the repo:
git clone https://github.com/ArkForgeLabs/Astra.git - Build from source:
cargo build - Run tests:
cargo test
Prerequisites: Rust toolchain (stable), Lua 5.4+ (for test scripts).
- Rust: Follow
rustfmtconventions. Runcargo fmtbefore committing. - Lua: Follow
styluaconventions (config at.stylua.toml). Runstylua .before committing. - Keep functions focused and small.
- Prefer readability over cleverness.
- All new features must include tests.
- Rust tests:
cargo test - Lua tests:
astra run tests/ - Ensure existing tests pass before submitting a PR.
- Fork the repository and create a branch from
main. - Make your changes, following the code style.
- Add or update tests as needed.
- Run the full test suite to confirm nothing is broken.
- Submit a pull request with a clear title and description.
- A maintainer will review your PR. Address any feedback.
By contributing to Astra, you certify that your contribution is your own original work and you license it under the terms of the Apache License, Version 2.0.