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. Follow our development environment setup guide

  2. Make changes on a new branch

  3. Test your changes thoroughly

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