Skip to main content

code-review

Repo-specific guidance for reviewing pull requests on hifiberry-os. Use this whenever reviewing a pull request or diff in this repository.

معلومات المصدر

المستودع
hifiberry/hifiberry-os
آخر نشاط في المصدر
٨ أغسطس ٢٠٢٦ في ٠٥:٣٤
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٬٢٤٨
التفرعات
١٥٨

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
code-review
description
Repo-specific guidance for reviewing pull requests on hifiberry-os. Use this whenever reviewing a pull request or diff in this repository.
hifiberry-os is a collection of Debian packages plus the scripts that build, check, and publish them. Most changes fall into one of: a package under `packages/<name>/`, a top-level shell script, or CI/tooling. Review with that in mind rather than as a generic application codebase. ## Packages tree (`packages/*`) Every package pulls its sources either as a git submodule or via a clone made by its own `build.sh` — never both for the same path. When a diff touches a package, check for the failure modes `scripts/check-packages.py` is designed to catch: - A submodule added to the tree but missing from `.gitmodules`. - A path that is simultaneously a submodule and a `build.sh` clone target. - A `build.sh` clone target that isn't covered by `.gitignore` — this is one `git add .` away from committing a whole upstream source tree. - A package version in `debian/changelog` that doesn't match the version in the package's own manifest (e.g. `setup.py`, `package.json`, `Cargo.toml`). If the PR run of the `packages consistency` workflow (`.github/workflows/check-packages.yml`, runs `check-packages.py`) is available via the GitHub MCP server, check its result rather than re-deriving these checks by hand. ## Shell scripts Top-level scripts (`addrepo`, `install-all`, `upgrade-to-trixie`, `packages/*/build.sh`, etc.) are curl-piped-to-bash or run unattended on embedded devices. Flag: - Missing `set -e` (or equivalent) where a failed step should abort instead of continuing silently. - Unquoted variable expansions that break on paths with spaces. - Destructive commands (`rm -rf`, package purges, partition/flash operations) that aren't guarded or don't fail loudly. ## Secrets and publishing Nothing in this repo should reference private hostnames, IPs, credentials, or tokens for the build/publish pipeline (aptly, the debianrepo host, SSH keys). If a diff adds any, flag it regardless of how it's framed. ## Scope Keep review comments proportional to the diff: a `.gitignore` or docs-only change doesn't need packaging/shell scrutiny, and a one-line version bump doesn't need a design discussion.
عرض على GitHub