# Popis pravidel pro větev main (GitHub → Settings → Rules → Rulesets). # GitHub tento soubor nenačte sám: nastavení zadej ručně nebo přes API. # Měnit ho smí jen člověk s rolí správce, nikdy agent. ruleset: name: ochrana-main target: branch include: ["refs/heads/main"] enforcement: active rules: # Nic se nezapisuje přímo do main, jen přes pull request. pull_request: required_approving_review_count: 1 # 1 schválení od člověka require_code_owner_review: true # vlastníci kódu = jen lidé (CODEOWNERS) dismiss_stale_reviews_on_push: true # nový commit = nové schválení require_last_push_approval: true # poslední push schvaluje někdo jiný required_review_thread_resolution: true # Povinné kontroly: názvy úloh z .github/workflows/ci.yml required_status_checks: strict: true # větev musí být aktuální vůči main checks: - ci / build - ci / unit - ci / e2e non_fast_forward: true # zákaz force push deletion: true # main nejde smazat required_linear_history: true # merge jen jako squash # Výjimky nemá nikdo: ani správci, ani účty agentů. bypass_actors: [] # Účty agentů (GitHub App nebo strojové účty) mají v repozitáři roli „Write“. # Schválení od agent-reviewer je kontrola kvality, ale nesplní code owner review. # Merge do main proto vždy dělá člověk.