“Per aspera ad astra” — Through hardships to the stars
Thank you for your interest in making starward better! We welcome contributions from everyone—whether you’re fixing a typo, adding a feature, or improving documentation.
- Fork the repository and create a new branch from
masterfor your work. - Set up your environment:
- Install dependencies:
pipenv installor see docs/getting-started.md
- Install dependencies:
- Develop your changes:
- Write clear, well-documented, and tested code
- Add or update documentation as needed
- Test your changes:
- Run all tests:
pipenv run pytestor./run_tests.py - Use test markers (
slow,golden,edge, etc.) as appropriate
- Run all tests:
- Submit a Pull Request (PR):
- Provide a concise description and rationale
- Reference related issues if applicable
- Follow PEP8 and use type annotations where possible
- Write docstrings for all public modules, classes, and functions
- Use clear, descriptive commit messages
- Prefer small, focused PRs over large, sweeping changes
See the project philosophy for guiding principles.
- All new code must include relevant tests
- Use pytest and the provided configuration
- Mark tests with
@pytest.mark.slow,@pytest.mark.golden, etc. as appropriate - Aim for high coverage and test edge cases
Test suite structure:
tests/
├── conftest.py # Shared fixtures and markers
├── core/ # Core module tests
├── cli/ # CLI integration tests
└── output/ # Formatter tests
- For major changes, open an issue to discuss your proposal before submitting a PR
- Use clear, descriptive titles and provide context or examples
- Tag issues appropriately (bug, enhancement, question, etc.)
- All PRs are reviewed for code quality, clarity, and alignment with project goals
- Be open to feedback and ready to revise your code
- Reviews are constructive and respectful—help each other grow!
- Be kind, inclusive, and professional in all interactions
- See the ROADMAP.md for project direction and priorities
- Questions? Open an issue or start a discussion
By contributing, you agree your work will be licensed under the MIT License.
Thank you for helping make starward shine brighter!