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

Getting Started

  1. Get familiar with Jumpstarter Internals

  2. Follow our dev setup guide

  3. Make changes on a new branch

  4. Test your changes thoroughly

  5. 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 with make 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} or make 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