How to Contribute

  1. Get familiar with the Introduction

  2. Follow the development environment setup

  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.

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 pkg-ty-${package_name})

  • Add tests and update documentation

  • Verify all tests pass (make pkg-test-${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

We welcome bug fixes, features, and improvements to the core codebase.

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}

Documentation

Jumpstarter uses Sphinx with Markdown. Build and preview locally:

$ make docs-serve

Jumpstarter Enhancement Proposals

For significant changes that affect multiple components, change public APIs, or require community consensus, follow the JEP process.