Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
370c3c0
fix references and description to jumpstarter-cli
raballew Apr 4, 2025
a10d1b6
overhaul existing documentation
raballew Apr 4, 2025
27e9bea
add learning paths for different roles
raballew Apr 4, 2025
8516181
streamline how contributions are handled
raballew Apr 4, 2025
225e8f0
fix broken target reference
raballew Apr 4, 2025
c89466b
use more consistent and clearer language
raballew Apr 4, 2025
685edf3
move warning into header
raballew Apr 4, 2025
e089566
fix broken docs build
raballew Apr 4, 2025
4d2a423
improve readability of overly verbose ToC trees
raballew Apr 5, 2025
df9e3cc
include types of drivers in introduction
raballew Apr 5, 2025
3be1c0d
add missing driver documentation and unify structure
raballew Apr 5, 2025
d837f6a
differentiate between driver and adapter
raballew Apr 5, 2025
43b0c59
add favicon
raballew Apr 5, 2025
5185e51
add logo for light theme
raballew Apr 5, 2025
6d04480
toggle logo when dark
raballew Apr 5, 2025
d72bdc1
support auto theme
raballew Apr 5, 2025
890d10e
adjust logo colors to theme
raballew Apr 5, 2025
d2c7697
fix broken include
raballew Apr 5, 2025
1a69771
fix image path
raballew Apr 5, 2025
ebd232d
reduce flickering
raballew Apr 5, 2025
189ae27
fix broken links
raballew Apr 5, 2025
e1c640a
Prevent memory leak
raballew Apr 6, 2025
2f93aba
use colored spark
raballew Apr 6, 2025
963ee2a
adjust coloring to new logo
raballew Apr 6, 2025
0dd7251
wip
raballew Apr 6, 2025
cc44da5
adjust repo readme
raballew Apr 7, 2025
1780f83
wip
raballew Apr 7, 2025
9e14e40
fix build targets
raballew Apr 7, 2025
5e3122c
use base relative paths
raballew Apr 7, 2025
538b682
support autobuild and multiversion builds dynamically
raballew Apr 7, 2025
97fb9cc
fix versions coloring
raballew Apr 7, 2025
8aa713c
fix github docs build
raballew Apr 7, 2025
e47d0cd
whitelist releases
raballew Apr 7, 2025
40be2b9
backward compatibility for netlify
raballew Apr 7, 2025
ad17c55
revert symlink because its breaking netlify
raballew Apr 7, 2025
d225ae8
tweak regex
raballew Apr 7, 2025
1cb707d
fix regex
raballew Apr 7, 2025
b94b341
trigger netlify
raballew Apr 7, 2025
3f5e854
remove inline svg as its breaking ruff
raballew Apr 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ commands:
- id: serve-docs
exec:
component: runtime
commandLine: make serve-docs DOC_LISTEN="--host 0.0.0.0"
commandLine: make docs-serve DOC_LISTEN="--host 0.0.0.0"
Copy link
Copy Markdown
Member

@mangelajo mangelajo Apr 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DOC_LISTEN died in this PR :)

The reason why we had it , was that we could listen on a container and forward it out, there was a problem forwarding the localhost port I remember.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so is it still needed?

- id: sync
exec:
component: runtime
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./docs/build_all
path: ./docs/build

# Deployment job
deploy:
Expand Down
Empty file added .html
Empty file.
36 changes: 0 additions & 36 deletions CONTRIB.md

This file was deleted.

256 changes: 256 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,256 @@
# Contributing

Thank you for your interest in contributing to Jumpstarter! This document outlines the process for contributing to the project and provides guidelines to make the contribution process smooth.

## Code of Conduct

Please be respectful and considerate of others when contributing to the project.

## Getting Started

1. Fork the repository
2. Clone your fork locally
3. Set up the development environment
4. Make your changes on a new branch
5. Test your changes thoroughly
6. Submit a pull request

## Development Setup

```bash
# Install dependencies
make sync

# Run tests
make test
```

## Contribution Guidelines

### Making Changes

- Keep changes focused and related to a single issue
- Follow the existing code style and conventions
- Add tests for new features or bug fixes
- Update documentation as needed

### Commit Messages

- Use clear and descriptive commit messages
- Reference issue numbers when applicable
- Follow conventional commit format when possible

### Pull Requests

- Provide a clear description of the changes
- Link to any relevant issues
- Ensure all tests pass before submitting
- Be responsive to feedback and questions

## Types of Contributions

### Code Contributions

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

### Contributing Drivers

If you are working on a driver or adapter library of general interest, please consider submitting it to this repository, as it will become available to all Jumpstarter users.

To create a new driver scaffold, you can use the `create_driver.sh` script:

```bash
./__templates__/create_driver.sh vendor_name driver_name "Your Name" "your.email@example.com"
```

This will create the necessary files and structure for your driver in the `packages/` directory. For example:

```bash
./__templates__/create_driver.sh yepkit Ykush "Your Name" "your.email@example.com"
```

Creates:
```
packages/jumpstarter_driver_yepkit/jumpstarter_driver_yepkit/__init__.py
packages/jumpstarter_driver_yepkit/jumpstarter_driver_yepkit/client.py
packages/jumpstarter_driver_yepkit/jumpstarter_driver_yepkit/driver_test.py
packages/jumpstarter_driver_yepkit/jumpstarter_driver_yepkit/driver.py
packages/jumpstarter_driver_yepkit/.gitignore
packages/jumpstarter_driver_yepkit/pyproject.toml
packages/jumpstarter_driver_yepkit/README.md
packages/jumpstarter_driver_yepkit/examples/exporter.yaml
```

#### Driver Structure

A Jumpstarter driver typically consists of:

1. **Driver Implementation**: The core functionality that interfaces with the device or service
2. **Client Implementation**: Client code to interact with the driver
3. **Tests**: Tests to verify the driver's functionality
4. **Examples**: Example configurations showing how to use the driver
5. **Documentation**: Clear documentation on setup and usage

#### Private Drivers

If you are creating a driver or adapter library for a specific need, not of general interest, or that needs to be private, please consider forking our [jumpstarter-driver-template](https://github.com/jumpstarter-dev/jumpstarter-driver-template).

#### Driver Development Workflow

After creating your driver skeleton:

1. Implement the driver functionality according to the Jumpstarter driver interface
2. Write comprehensive tests for your driver
3. Create example configurations
4. Document the setup and usage in the README.md
5. Submit a pull request to the main Jumpstarter repository

#### Testing Your Driver

To test your driver during development:

```bash
# From the project root
make sync # Synchronize dependencies
cd packages/your_driver_package
pytest # Run tests for your driver
```

#### Driver Best Practices

- Follow the existing code style and conventions
- Write comprehensive documentation
- Include thorough test coverage
- Create example configurations for common use cases
- Keep dependencies minimal and well-justified

### Documentation Contributions

We welcome improvements to our documentation.

#### Documentation System Overview

Jumpstarter uses [Sphinx](https://www.sphinx-doc.org/en/master/) with Markdown support for its documentation. The documentation is organized into various sections covering different aspects of the project.

#### Setting Up Documentation Environment

To contribute to the documentation, you'll need to set up your development environment:

1. Clone the Jumpstarter repository
2. Navigate to the docs directory
3. Install dependencies (if not already installed with the main project)

#### Building the Documentation Locally

To build and preview the documentation locally:

```bash
cd docs
make html # Build HTML documentation
make docs-serve # Serve documentation locally for preview
```

The documentation will be available at http://localhost:8000 in your web browser.

#### Documentation Structure

- `docs/source/`: Root directory for documentation source files
- `index.md`: Main landing page
- `*.md`: Various markdown files for documentation sections
- `_static/`: Static assets like images and CSS
- `_templates/`: Custom templates

#### Writing Documentation

Documentation is written in Markdown with some Sphinx-specific extensions. Common syntax includes:

```markdown
# Heading 1
## Heading 2
### Heading 3

*italic text*
**bold text**

- Bullet list item
- Another item

1. Numbered list
2. Second item

[Link text](URL)

![Image alt text](path/to/image.png)

```{note}
This is a note admonition
```

```{warning}
This is a warning admonition
```

```python
# This is a code block
def example():
print("Hello, world!")
```
```

#### Documentation Style Guide

Please follow these guidelines when writing documentation:

1. Use clear, concise language
2. Write in the present tense
3. Use active voice when possible
4. Include practical examples
5. Break up text with headers, lists, and code blocks
6. Target both beginners and advanced users with appropriate sections
7. Provide cross-references to related documentation

#### Adding New Documentation Pages

To add a new documentation page:

1. Create a new Markdown (`.md`) file in the appropriate directory
2. Add the page to the relevant `index.md` or `toctree` directive
3. Build the documentation to ensure it appears correctly

#### Documentation Versioning

Documentation is versioned alongside the main Jumpstarter releases. When making changes, consider whether they apply to the current version or future versions.

#### Documentation Tips

- **Screenshots**: Include screenshots for complex UI operations
- **Command Examples**: Always include example commands with expected output
- **Troubleshooting**: Add common issues and their solutions
- **Links**: Link to relevant external resources when appropriate

#### Submitting Documentation Changes

Once your documentation changes are complete:

1. Build the documentation to verify there are no errors
2. Submit a pull request with your changes
3. Respond to feedback during the review process

### Example Contributions

To add a new example:

1. Create a new directory in the `examples/` folder with a descriptive name
2. Include a comprehensive README.md with setup and usage instructions
3. Follow the structure of existing examples
4. Ensure the example is well-documented and easy to follow

## Getting Help

If you have questions or need help, please:

1. Check the [documentation](https://docs.jumpstarter.dev/)
2. Open an issue in the repository
3. Reach out to the maintainers

Thank you for contributing to Jumpstarter!
Loading