upstream-ruleslisted
Install: claude install-skill vzhukovs/podman-desktop-kit
Answer from `knowledge/upstream-rules.md`. State the rule **and what happens
upstream when it is broken** — a rule without its consequence reads as a
preference, and preferences get skipped under time pressure.
Everything below is checked against the repository rather than remembered. If
something is not in `knowledge/upstream-rules.md`, say that it is our own
discipline rather than upstream's; three of the four rules that file started
with turned out to be wrong when measured.
## Rejected by a hook or by CI
- **License header.** The Red Hat Apache block with the SPDX line *inside* it.
A bare `// SPDX-License-Identifier: Apache-2.0` is not the house format. The
`post-write` hook offers the exact block to paste.
- **One `Signed-off-by` per commit.** `.husky/commit-msg` appends it when
missing and then rejects the commit if it appears twice.
- **Conventional commit type**, from the list in `CONTRIBUTING.md`. **The scope
is optional** — say so plainly. Use one anyway, because it tells a reviewer
which area they are being asked about, but never report a missing scope as a
defect in somebody else's PR.
- **Regenerated schemas.** Touching a schema means `pnpm generate:schemas` and
committing the result. A stale generated schema fails CI long after the change
that caused it, usually inside someone else's PR.
- **Lint, format, typecheck, unit tests.** `pnpm lint:check` — there is no
`pnpm lint` — and `pnpm test:unit`, because plain `pnpm test` drags in e2e.
## T