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: Community
GitHub: Issues
Documentation: Website
Weekly Meeting: Google Meet
Etherpad: Docs
Getting Started¶
Get familiar with Jumpstarter Internals
Follow our dev setup guide
Make changes on a new branch
Test your changes thoroughly
Submit a pull request
If you have questions, reach out in our Matrix chat or open an issue on GitHub.
Contribution Guidelines¶
Making Changes¶
Focus on a single issue.
Follow code style (validate with
make lint
, fix withmake lint-fix
)Perform static type checking with (
make ty-pkg-${package_name}
)Add tests and update documentation. New drivers/features need tests and docs.
Verify 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