PX4-Autopilot/.github/instructions/board-addition.instructions.md
Ramon Roche b142342c3a
ci(claude): add review-pr skill for domain-aware PR reviews (#26814)
* ci(claude): add review-pr skill for domain-aware PR reviews

Add a Claude Code skill that reviews pull requests with checks
tailored to the domains touched (estimation, control, drivers,
simulation, system, CI/build, messages, board additions).

Built from analysis of 800+ PR reviews across 8 PX4 maintainers.
Includes merge strategy recommendation, interactive dialog for
submitting reviews, and human-sounding PR comment formatting.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci(copilot): add domain-scoped review instructions for GitHub Copilot

Add .github/instructions/ files that give GitHub Copilot PR reviews
the same domain-aware context as the Claude Code review-pr skill.

Each file is scoped via applyTo to the relevant source paths:
core review, estimation, control, drivers/CAN, simulation, system,
CI/build, messages/protocol, and board additions.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* fix(claude): address Copilot review feedback

- Fix step reference in review-pr skill (step 8 -> step 9)
- Capitalize CMake consistently in skill and Copilot instructions

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
2026-04-01 17:56:23 -07:00

1.7 KiB

applyTo
applyTo
boards/**

Board Addition Review Guidelines

In addition to the core code review guidelines, when reviewing new board additions:

  • Flight logs: require a link to https://logs.px4.io demonstrating basic operation for the vehicle type (hover for multicopters, stable flight for fixed-wing, driving for rovers, etc.); short bench-only logs are insufficient
  • Documentation: require a docs page in docs/en/flight_controller/ with pinout, where-to-buy, connector types, version badge, and manufacturer-supported notice block
  • USB VID/PID: must not reuse another manufacturer's Vendor ID; manufacturer must use their own
  • Board naming: directory is boards/{manufacturer}/{board}/, both lowercase, hyphens for board name
  • Unique board_id: registered in boards/boards.json, no collisions
  • Copied code cleanup: check for leftover files, configs, or comments from the template board. Ask "Is this real or leftover?"
  • RC configuration: prefer CONFIG_DRIVERS_COMMON_RC over legacy CONFIG_DRIVERS_RC_INPUT
  • No board-specific custom modules: reject copy-pasted drivers (e.g., custom heater) when existing infrastructure works
  • Bootloader: expect a bootloader defconfig (nuttx-config/bootloader/defconfig) or explanation of shared bootloader
  • CI integration: board must be added to CI compile workflows so it builds on every PR
  • Flash constraints: verify enabled modules fit in flash; we are running low across all board targets
  • Port labels: serial port labels must match what is physically printed on the board
  • Hardware availability: for unknown manufacturers, verify the product exists and is purchasable (no vaporware)