First off — thank you for considering contributing. Whether it's a bug report, feature request, or a pull request, every contribution helps make the Jetson AI community stronger.
- Issues — report bugs or request features
- Discussions — ask questions, share your setup
- Roadmap — see what's planned
# Clone
git clone https://github.com/steffenpharai/Jarvis.git && cd Jarvis
# Python environment
python3 -m venv venv && source venv/bin/activate
pip install --upgrade pip && pip install -r requirements.txt
# Download models
bash scripts/bootstrap_models.sh
# PWA frontend
cd pwa && npm install && npm run build && cd ..
# Verify everything works
ruff check .
pytest tests/unit/
python main.py --dry-run- Fork the repo and create a branch from
main - Write code — follow the existing style (ruff handles formatting)
- Add tests — new features need tests in
tests/unit/ortests/e2e/ - Run the checks:
ruff check . # Lint
pytest tests/unit/ # Unit tests (no hardware needed)
python main.py --dry-run # Smoke test- Submit a PR with a clear description of what and why
- Python 3.10+ — we use modern syntax (match/case, type hints, etc.)
- Ruff for linting —
ruff check .must pass with zero errors - Line length — 100 chars (configured in
pyproject.toml) - Docstrings — Google style for public functions
- Commit messages — imperative mood, concise ("Add vision depth fallback", not "Added stuff")
- VLM integration (LLaVA, Qwen-VL) for native image understanding
- ROS 2 bridge for robotics integration
- Docker image for JetPack 6.x
- Home Assistant integration
- Multi-camera / multi-room support
- Performance optimizations on 8GB RAM
- Bug fixes with test coverage
- Documentation improvements
- New E2E tests for hardware scenarios
- PWA UI/UX improvements
- New Piper voice models
If you have a Jetson Orin Nano, running the E2E tests and reporting results is incredibly valuable:
pytest tests/e2e/ -m e2e -v 2>&1 | tee e2e_results.txtShare results in an issue or discussion!
- Keep PRs focused — one feature or fix per PR
- Include before/after benchmarks for performance changes
- Update README.md if adding user-facing features
- All CI checks must pass (lint + unit tests)
- E2E tests are run manually on hardware — note if your change affects them
Open a Discussion. No question is too basic.
"I'm not saying I'll merge it immediately, sir, but I'll certainly give it my full attention."