L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

development-and-testing

development-and-testing

Guides safe openpilot checkout setup, uv/SCons builds, native-extension prep, linting, tests, docs, and development validation.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: development-and-testing description: "Guides safe openpilot checkout setup, uv/SCons builds, native-extension prep, linting, tests, docs, and development validation." disable-model-invocation: true metadata: disco-role: operating license: MIT

development-and-testing

Use this sub-skill for openpilot setup, dependency sync, submodules, SCons/native build products, targeted tests, linting, docs builds, and CI-style validation. Use it before running broad test suites or when imports fail because the checkout is not fully prepared.

Read first

Common routes

User asksDo
"Set up openpilot" or "imports fail after install"Inspect Python version, submodules, uv sync state, and SCons outputs with the checker, then follow setup/build guidance.
"Run tests for a change"Choose focused targets from testing-reference.md; avoid hardware/network/GUI tests unless prerequisites are available.
"Run lint/CI locally"Use the lint and test runner sections; explain --fast, target narrowing, and tool dependency failures.
"Build docs"Use docs build notes in setup-build-test; do not start a long-running docs server unless requested.
"Switch branch/update/start device"Treat as state-mutating; require explicit user intent and read troubleshooting warnings first.

Minimal safe workflow

  1. Confirm the task really needs repo setup or tests, not just static source reading.
  2. Run the bundled read-only checker:
python skills/disco/openpilot/sub-skills/development-and-testing/scripts/openpilot_dev_check.py --repo-root /path/to/openpilot
  1. If submodules are empty, initialize them in the target checkout before retrying package sync.
  2. If msgq.ipc_pyx or libparams_c.so imports fail, build only the needed SCons targets before launching broad tests.
  3. Select one or a few test targets; prefer CPU-safe unit tests before route/network/hardware cases.
  4. Record skipped optional hardware/network/GUI cases with reasons rather than treating them as failed CPU validation.

Boundaries

Skills enregistrées