Thanks to visit codestin.com
Credit goes to github.com

Skip to content

JenkinsRobotics/jaeger_app_framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jenkins Robotics

Jaeger App Framework

Project Information

Project Status :   IN PROGRESS  
Code Status :   GOOD  
Development Status :   ACTIVE  

 

The Jaeger app format — the consistent way Jenkins Robotics apps are built (JROS, Mochi, JP01-CC01, and whatever comes next). One design system, many independent codebases: this repo holds the spec and the reference chassis; every app copies app/ into its own tree and owns it. Nothing is imported across repositories, ever.

docs/JAEGER_APP_FORMAT.md   the spec (format 0.1) — the normative part
app/                        the reference chassis (the thing you copy)
tests/test_app_format.py    conformance tests (copied along with app/)
template/                   skeleton new-app (chassis + site + CI)
site/                       the landing page (GitHub Pages, served by Actions)
demos/app-demo/             ⭐ the format, generic: supervisor, crash
                               button, windows, tray
demos/jros-demo/            ⭐ JROS's shape: tier-1 agent (chat with
                               Lilith-demo), full folder map — agent/
                               nodes/ core/ hardware/
demos/mochi-demo/           ⭐ Mochi's shape: FrameNode renderer
                               subprocess, Library + MochiScript,
                               mini window, enabled=false plugins
CHANGELOG.md                what changed per format version

Design rationale, per-app migration maps, and the decisions behind all of it: JROS/docs/JROS_APP_FRAMEWORK_PLAN.md.

Try the demos

cd demos/jros-demo          # JROS's shape — chat, avatar, supervisor
../../.venv/bin/python main.py

cd demos/app-demo           # the format, generic
../../.venv/bin/python main.py

(Each demo's README has its tour. Both can run at once — distinct bus ports.)

Setup (already done if .venv/ exists):

python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"   # everything: demos + tests + lint
# or, minimal chassis deps only:     pip install -e .
# or, chassis + ZMQ bus backend:     pip install -e ".[zmq]"

Dependencies are declared in pyproject.toml (the chassis's only hard dep is pyyaml — the optional groups make the "stdlib + pyyaml + optional pyzmq" contract installable). The editable install is an empty wheel on purpose: import app always resolves to each app's own chassis copy, never to site-packages.

Tests:

.venv/bin/python -m pytest tests/ -q                  # conformance (24)
cd demos/app-demo  && ../../.venv/bin/python -m pytest tests/ -q
cd demos/jros-demo && ../../.venv/bin/python -m pytest tests/ -q

Make a new app

  1. Copy template/ to your new repo; copy app/ and tests/test_app_format.py in next to it.
  2. Fill jaeger.toml (structure: nodes, surfaces, bus, event loop) and config.yaml (behavior knobs).
  3. Write nodes under nodes/<category>/ (hardware / software / …), surfaces under surfaces/.
  4. python main.py. Conformance tests must pass in your venv.

Status (2026-06-12): format 0.1. Fused mode + thread/subprocess backends + qt/none event loops are real and tested; split mode, autostart, hotkey popup, and the external backend are specified in the plan but reserved — they land in a future format version.

 

Support

Did this project help you? Consider supporting!

Consider Subscribing: https://bit.ly/2DgZyuq
Patreon ➔ https://www.patreon.com/JenkinsRobotics
Venmo ➔ https://venmo.com/u/JenkinsRobotics

 

Links

SUPPORT US ►

Consider Subscribing: https://www.youtube.com/@Jenkins_Robotics
Patreon ➔ https://www.patreon.com/JenkinsRobotics
Venmo ➔ https://venmo.com/u/JenkinsRobotics

FOLLOW US ►

Discord ➔ https://discord.gg/sAnE5pRVyT
Twitter ➔ https://twitter.com/j
Instagram ➔ https://www.instagram.com/jenkinsrobotics/
Facebook ➔ https://www.facebook.com/jenkinsrobotics/
GitHub ➔ https://jenkinsrobotics.github.io

About

**The Jaeger app format** — the consistent way Jenkins Robotics apps are built (JROS, Mochi, JP01-CC01, and whatever comes next).

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors