인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
개발 및 엔지니어링 · 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

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