← ClaudeAtlas

upstream-ruleslisted

The non-negotiable rules of the podman-desktop repository: SPDX headers, conventional commits with a package scope, Signed-off-by, schema regeneration, squashing without interactive rebase.
vzhukovs/podman-desktop-kit · ★ 0 · AI & Automation · score 75
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