Skip to content

docs(governance): add governance model, PR checks, and contribution templates - #2307

Open
marcus-souza-azion wants to merge 1 commit into
mainfrom
docs-governance
Open

docs(governance): add governance model, PR checks, and contribution templates#2307
marcus-souza-azion wants to merge 1 commit into
mainfrom
docs-governance

Conversation

@marcus-souza-azion

Copy link
Copy Markdown
Contributor

What & why

Foundation: Establishes how contributions move through this repo, and adds the first CI that runs on pull requests.

Until now every workflow triggered on push to main, dev, or stage. Nothing was checked before a merge, so a broken build or a duplicate permalink reached main before anyone found out.

GOVERNANCE.md is new: roles, what needs whose approval, PR conventions, review targets, and escalation. Rules are written as expectations of contributors and reviewers rather than as claims about automation, so the document stays true whether or not a check exists for any given rule. CONTRIBUTING.md and README.md are rewritten around that flow. CODEOWNERS moves from four named individuals to teams and drops a RADME.md pattern that never matched anything.

Related issue: none
Pages affected: none. No published documentation changes here. Everything is .github/ plus the root README.md.

Type of change

  • 🆕 New content (feat)
  • 🩹 Fix (fix) — typo, broken link, wrong information
  • ♻️ Content update (docs) — rewrite, expansion, upkeep
  • 🌐 Translation sync (i18n)
  • 🏗️ Platform / structure (refactor / chore)

What this adds to CI

Workflow Trigger What it does
pr-checks.yml PR to main Builds the site, validates frontmatter namespaces and permalinks. Blocking.
pr-title.yml PR opened or edited Conventional title, required scope, rejects ticket codes. Blocking.
weekly-linkcheck.yml Mondays 06:00 UTC Crawls the built site for broken internal links, opens an issue on breakage.

All three run against this PR, so this is their first real test.

Deliberately left out

Each has a comment in place explaining why, so nobody re-adds it as a fix.

No slug gate. lint:slugcheck requires byte-identical file paths across languages and currently exits 1 against 686 existing pt-br pages that use localized slugs (compatibilidade, contratos). Gating on it would block every PR. Worth revisiting only if identical cross-language slugs become the actual policy.

No translation-drift job. package.json points it at scripts/translation-status.ts, which does not exist in this repo. Only the scripts/lib/translation-status/ helpers were ever written.

No accessibility job. The available scan covers the full marketing sitemap at roughly 2,500 URLs, cannot finish inside a reasonable timeout, and reported to nobody.

package.json and the dev, stage, and prod workflows are untouched. The pnpm migration lands in its own PR.

Author checklist

  • PR title follows type(scope): summary
  • Frontmatter complete (N/A: no published pages in this PR)
  • No legacy "edge-" product names in the copy
  • How-to/tutorial content includes a runnable code block (N/A: no published pages)
  • Screenshots have alt text (N/A: no images)
  • Internal links resolve. Every relative link in the changed files was checked against its containing directory.
  • No permalink changed and no page moved, so no redirect is needed
  • i18n (N/A: contributor-facing docs, not published content)
  • I ran the frontmatter and permalink checks locally

…emplates

Adds GOVERNANCE.md describing how contributions move through the repo: roles,
what needs whose approval, PR conventions, review targets, and escalation.
Rules are written as expectations rather than claims about automation, so the
document stays true whether or not a check exists for a given rule.

Rewrites CONTRIBUTING.md and README.md around that flow, and points every doc
at the live docs URL instead of docs.azion.com. CODEOWNERS moves from named
individuals to teams and drops a broken RADME.md pattern.

Adds the first CI that runs on pull requests. Until now the only workflows
triggered on push, so nothing was checked before merge:

  pr-checks.yml        build + frontmatter validation on every PR to main
  pr-title.yml         conventional title, no ticket codes
  weekly-linkcheck.yml internal link crawl, opens an issue on breakage

Deliberately left out, each with a comment in place explaining why:

  - No slug gate. lint:slugcheck requires byte-identical paths across
    languages and fails on 686 existing pt-br pages with localized slugs.
  - No translation-drift job. package.json points it at
    scripts/translation-status.ts, which does not exist in this repo.
  - No accessibility job. The available scan covers the whole marketing
    sitemap, cannot finish in its timeout, and reports to nobody.
  - No PUBLIC_GITHUB_TOKEN in PR or scheduled runs. It only fills contributor
    avatar lists, and fork PRs never receive secrets anyway.

package.json and the dev/stage/prod workflows are untouched; the pnpm
migration lands separately.
@marcus-souza-azion
marcus-souza-azion marked this pull request as ready for review August 6, 2026 13:26
@marcus-souza-azion
marcus-souza-azion requested a review from a team August 6, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant