Co vyplníte a zaškrtnete, zůstává jen v tomto okně prohlížeče. Nic neodesíláme, dokud si sami nenecháte poslat vyhodnocení e-mailem. Po zavření stránky to zmizí, proto si výsledek vytiskněte.
Pro CTO a tech leady, jejichž tým už píše kód s Claude Code, Codex nebo Cursor. Pravidlo v AGENTS.md agent může obejít. Bránu v CI ne. Ukázky jsou pro GitHub Actions a pnpm. V GitLab CI je každá brána stejný příkaz ve script:.
AI dnes píše veškerý náš kód a za výsledek odpovídá senior. Většina ukázek pochází z našeho veřejného repozitáře claude-code-production-starter, kde je najdete celé.
1. Které brány už máte?
Zaškrtněte jen to, co opravdu zablokuje sloučení. Brána, která jen hlásí, se nepočítá.
2. Deset bran s ukázkami
Lint blokuje sloučení
Lint, který jen varuje, agent ignoruje. Spouštějte ho v CI a nechte ho selhat. Když zavádíte nové přísné pravidlo do starého kódu, dnešní porušení zaznamenejte a CI ať selže, když jich přibude.
- run: pnpm lint --max-warnings 0Typová kontrola ve strict režimu
Agent rád přepíše typ na any, aby kód prošel. Strict režim a samostatný krok v CI to zastaví.
# tsconfig.json: "strict": true
- run: pnpm exec tsc --noEmitTesty jsou povinné a něco dokazují
Test, který projde i na hlavní větvi, nedokazuje nic. Změněný zdrojový kód potřebuje změněný test a ten musí na hlavní větvi selhat a na vaší projít. Výjimku (čistý refaktoring) schvaluje člověk štítkem, ne agent.
- name: Změněné testy selžou na base a projdou tady
if: "!contains(github.event.pull_request.labels.*.name, 'skip-red-proof')"
run: bash scripts/gate.sh red-proof "origin/${{ github.base_ref }}"Zakázané vzory
Některé zkratky agentů se dají najít obyčejným hledáním: .only v testu, vypnutá typová kontrola, vypnutý lint. Nechte je selhat v CI.
- name: Zakázané vzory
run: "! git grep -nE '(it|test|describe)\\.only\\(|@ts-ignore|eslint-disable' -- src tests"Sken tajemství
Klíč v commitu je problém i po jeho smazání, zůstává v historii. Skenujte před commitem (hook) i v CI.
- uses: actions/checkout@v5
with:
fetch-depth: 0
- run: docker run --rm -v "$PWD:/repo" ghcr.io/gitleaks/gitleaks:latest git /repo --redactStrážce migrací
Migraci databáze nejde vrátit tak snadno jako kód. PR, který mění migrace, projde jen se štítkem od člověka. Spuštění produkční migrace v nastavení agenta vyžaduje potvrzení.
- name: Migrace jen se štítkem
if: "!contains(github.event.pull_request.labels.*.name, 'migration-ok')"
run: "! git diff --name-only origin/${{ github.base_ref }}... | grep -E '(^|/)migrations/'"Kontrola závislostí
Agent přidá balíček, když ho úkol potřebuje. Ověřte, že nemá známou vážnou zranitelnost, a nechte závislosti pravidelně aktualizovat.
- run: pnpm audit --audit-level high
# .github/dependabot.yml: package-ecosystem npm, schedule weeklyŠablona PR se sekcí o AI
PR musí říct, jak byla změna ověřena a co autor neudělal. Reviewer pak ví, kam se podívat.
## Jak to bylo ověřeno
- [ ] gate je zelený včetně red-proof
- [ ] žádný test nebyl oslaben, přeskočen ani smazán
## Co psal agent a co autor zkontroloval
<!-- Které části generoval agent, co jste prošli řádek po řádku. -->
## Co není hotovéPravidlo pro review
Změnu schvaluje člověk, který ji nepsal. Pravidla pro agenty a CI mění jen jejich vlastníci, jinak si agent časem uvolní vlastní brány.
# .github/CODEOWNERS
* @vase-firma/tym
/.claude/ @vase-firma/vlastnik-pravidel
/.github/ @vase-firma/vlastnik-pravidel
/AGENTS.md @vase-firma/vlastnik-pravidelChráněná větev
Všechno výše platí, jen pokud hlavní větev nejde obejít. Jedna souhrnná kontrola ci, povinný PR, schválení od vlastníka kódu a pravidla i pro administrátory.
gh api -X PUT repos/VASE-FIRMA/REPO/branches/main/protection \
-F 'required_status_checks[strict]=true' -f 'required_status_checks[contexts][]=ci' \
-F 'required_pull_request_reviews[required_approving_review_count]=1' \
-F 'required_pull_request_reviews[require_code_owner_reviews]=true' \
-F enforce_admins=true -F restrictions=nullDalší nástroje pro vás
12 otázek o pravidlech pro AI agenty, kontrolách v CI a odpovědnosti. Uvidíte, kde je váš tým dnes.
Pravidla v AGENTS.md, brány v CI a hooky, review a měření. Čtyři týdny s ukázkami z našeho veřejného repozitáře.