jumpstation

Onboarding: Getting Started with JumpStation

Prerequisites


Clone and Install

git clone https://github.com/zlorenzini/jumpstation.git
cd jumpstation
pip install -e ".[dev]"

The [dev] extra includes pytest, ruff, mypy, and MkDocs Material for local docs builds.

Verify the install:

pytest          # all tests should pass
ruff check .    # no lint errors
mkdocs serve    # docs preview at http://localhost:8000

Explore the Docs

Doc Contents
Philosophy Why JumpStation exists — the Arduino moment for AI
Architecture System layers, data flows, repo map
JumpStation Studio Dev environment, DeviceBus API, App Lab replacement
Hardware Targeting Profiler → TargetSelector pipeline
Distillation Quantize → Prune → Distill pipeline
JumpBundle Bundle format and manifest schema
Devices Full device catalog with specs
Silhouette Image asset preprocessing pipeline

Create a Studio Project

# Start a new project (scaffolds app.py + studio.json)
python -c "
from core.studio.project import StudioProject
StudioProject.create('my_project', name='My Project')
"

# Run on the current host (auto-detects transport)
python my_project/app.py

See JumpStation Studio for full project model documentation.


Target and Bundle

Once your project works on the development host:

# Profile your model and determine minimum viable hardware
jumpstation target my_model.onnx --calibration data/

# Distill and compress for the target
jumpstation distill my_model.onnx --target pico --data data/

# Package as a JumpBundle
jumpstation bundle my_project/ --target pico
# → dist/my_project_pico.jbundle

Note: CLI commands are stubs. Full implementation follows the targeting and distillation pipeline completions.


Flash a Device

Pico:

python core/flashing/pico_flasher.py --port /dev/ttyACM0 --firmware ./firmware/pico_latest.uf2

ESP32:

python core/flashing/esp32_flasher.py --port /dev/ttyUSB0 --firmware ./firmware/esp32_latest.bin

Arduino UNO (ATmega328P):

python core/flashing/uno_flasher.py --port /dev/ttyACM0 --firmware ./firmware/uno.hex

Flashing scripts are functional stubs. Full JumpBundle-aware flashing is in progress.


Project Layout Quick Reference

Path Purpose
docs/ Ecosystem documentation (this site)
core/studio/ JumpStation Studio: DeviceBus, project model, runner
core/jumpbundle/ JumpBundle schema (JSON Schema) and builder
core/targeting/ Profiler, RequirementVector, TargetSelector
core/distillation/ Quantizer (PTQ/QAT) and distillation pipeline
core/silhouette/ Image asset processing pipeline
core/flashing/ Device firmware flashing (Pico, ESP32, UNO)
core/ui/ Launcher and animation framework
devices/ Per-device profiles and READMEs
tests/ Test suite (pytest)
tools/ Developer and diagnostic utilities

Contributing

This is an internal Zachtech repository. Reach out to the platform team before starting new work to align on scope and priorities.