Warning
This documentation is actively being updated as the project evolves and may not be complete in all areas.
Contributing¶
Thank you for your interest in contributing to Jumpstarter, we are an open community and we welcome contributions.
Getting Help¶
Matrix Chat: Join our Matrix community
GitHub Issues: Open an issue
Documentation: Visit our documentation
Weekly Meetings: Google Meet
Etherpad: Collaborative docs
Getting Started¶
Follow our development environment setup guide
Make changes on a new branch
Test your changes thoroughly
Submit a pull request
If you have any questions, feel free to reach out in our Matrix chat or open an issue on GitHub.
Contribution Guidelines¶
Making Changes¶
Focus on a single issue.
Follow existing code style (validate with
make lint
, fix withmake lint-fix
)Perform static type checking with (
make mypy-pkg-${package_name}
)Add tests and update documentation. Every new driver or feature should include tests and be documented.
Verify that all tests pass (
make test-pkg-${package_name}
ormake test
)
Commit Messages¶
Use clear, descriptive messages
Reference issue numbers when applicable
Follow conventional commit format when possible
Pull Requests¶
Provide a clear description
Link to relevant issues
Ensure all tests pass
Types of Contributions¶
Code Contributions¶
We welcome bug fixes, features, and improvements to the core codebase.
Contributing Drivers¶
To create a new driver scaffold:
$ ./__templates__/create_driver.sh driver_package DriverClass "Your Name" "your.email@example.com"
For private drivers, consider forking our jumpstarter-driver-template.
Test your driver: make pkg-test-${package_name}
Contributing Documentation¶
Jumpstarter uses Sphinx with Markdown. Build and preview locally:
$ make docs-serve
Documentation recommended practices:
Use clear, concise language
Include practical examples
Break up text with headers, lists, and code blocks
Target both beginners and advanced users