Skip to content

Docs + marketing overhaul: hero rewrite, diagrams, translations, skills, AGENTS.md, FAQ#14

Merged
kmadan merged 11 commits into
mainfrom
marketing-overhaul
May 14, 2026
Merged

Docs + marketing overhaul: hero rewrite, diagrams, translations, skills, AGENTS.md, FAQ#14
kmadan merged 11 commits into
mainfrom
marketing-overhaul

Conversation

@kmadan
Copy link
Copy Markdown
Contributor

@kmadan kmadan commented May 14, 2026

This PR is a comprehensive docs and community-infrastructure overhaul aimed at making GOPAL discoverable, professional-looking, and easy to contribute to. Zero changes to .rego files — pure docs/marketing/tooling layer.

Why

GOPAL is a v1.0.0 production-stable Rego library with 94 policies across 15+ regulatory frameworks (EU AI Act, NIST AI RMF, FAA, EASA, RTCA, FERPA/COPPA, fair lending, …) — but the README hadn't been updated to reflect that depth, and there was nothing visible to inbound visitors about the project's positioning. This PR fixes that.

What's in here (10 commits, organised thematically)

Commit Subject
chore: gitignore .venv-diagrams/ Ignore the venv the diagram generator creates
docs(readme): rewrite hero, add 5 marketing diagrams, framework grid New centered-HTML hero with 9-badge wall, value-prop tagline, 5 embedded PNG diagrams (matplotlib, reproducible) covering hero numbers, directory tree, policy anatomy, framework grid, evaluation flow
docs(i18n): add Simplified Chinese, Japanese, Korean, and Hindi READMEs Full README translations for 4 large dev markets, with a language switcher row
docs(agents): add AGENTS.md, CLAUDE.md, refresh GEMINI.md Operational instructions for AI coding agents (Claude Code, Cursor, Codex, Gemini CLI, Copilot) working in this repo
feat(skills): add 3 Claude Code skills for policy and framework work /draft-rego-policy, /explain-framework, /add-framework — installable via cp -r skills/* ~/.claude/skills/
docs: start CHANGELOG.md in Keep-a-Changelog format New top-level CHANGELOG capturing v1.0.0 milestones (aviation, education, Brazil, NIST, helpers)
build(pypi): correct license, fix homepage URL, add keywords/classifiers License was MIT-asserted but actual LICENSE is Apache-2.0; homepage was mantric/gopal (404); added 15 PyPI keywords + 11 classifiers; richer URLs block
chore(github): add issue templates and PR template 3 issue templates (bug, new-framework, new-policy) + a PR checklist enforcing METADATA, tests, README updates, semver discipline
docs: add Diátaxis-organized documentation index docs/INDEX.md as a navigation hub
docs: add comprehensive FAQ docs/FAQ.md cherry-picked from #11 (333 lines) and linked from INDEX

Supersedes

Risk

Low — no policy logic touched. CI gates (opa check, regal lint) are not impacted because there are no .rego changes. The only Python code added is diagrams/generate_diagrams.py (matplotlib, used only when regenerating the marketing PNGs).

Verification

  • opa check --ignore custom/ . passes (unchanged from main).
  • regal lint --ignore-files custom/ . passes (unchanged from main).
  • All 5 marketing diagrams render at 1600×900 PNG and are <140 KB each.
  • The language switcher in each translated README points at sibling files that exist in this PR.

🤖 Generated with Claude Code

kmadan and others added 10 commits May 14, 2026 11:02
Restructure the README to read like a product page:

- Centered HTML hero with the tagline "The Rego policy library for AI
  compliance" and the value-prop punch line "94 policies. 15+ regulatory
  frameworks. 5 industry verticals."
- Ordered 9-badge wall (CI, Stars, Version 1.0.0, OPA, Regal, Apache
  2.0, Policy count, Framework count, PRs Welcome).
- Language-switcher row anchoring four upcoming translations.
- Five embedded marketing diagrams (PNG, each <140 KB), generated by a
  reproducible matplotlib script under diagrams/generate_diagrams.py:
    1. Hero numbers (94 / 15+ / 5)
    2. Directory tree (international / industry / global / operational)
    3. Anatomy of a Rego policy (annotated example)
    4. Framework grid (the 15+ frameworks with policy counts)
    5. Evaluation flow (input.json -> opa eval -> verdict)
- A "Why GOPAL" differentiation section vs. generic OPA bundles and
  vendor governance SaaS, including a comparison table.
- A "What's Inside" section enumerating every framework with its exact
  policy count (29 EU AI Act, 17 aviation, 12 education, 9 global, …).
- An "Authoring Policies" section showing the canonical Rego file
  anatomy, the strict CI gates (opa check + regal lint), and the
  helper_functions/ library that policy authors compose with.
- A "Custom Policies" section formalising the git-ignored custom/
  contract for downstream organisations.

The README now leads with the headline numbers, shows the directory
map, and reaches the comparison table before any setup instructions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Full README translations for four large developer markets:

- README.zh-CN.md — Simplified Chinese (mainland register)
- README.ja-JP.md — Japanese (technical です/ます register)
- README.ko-KR.md — Korean (-습니다/-입니다 formal)
- README.hi-IN.md — Hindi (Devanagari with selective Latin retention
  for technical terms that read awkwardly when transliterated)

Each translation:

- Mirrors the English README structure exactly (headings, tables, code
  blocks, image refs, badges all preserved).
- Includes the language switcher with the current language rendered as
  plain <strong> text and the others as anchor links.
- Keeps regulation names (EU AI Act, NIST AI RMF, FERPA, COPPA, FAA Part
  107, EASA SORA, RTCA DO-365/366, ICAO Doc 10019) and product names
  verbatim — they are recognized internationally.
- Uses consistent translated terminology for "policy", "compliance",
  "audit", "framework", "regulation", "evaluation", and "human
  oversight" across both this repo and the sister AICertify repo.

Compliance, AI governance, and aviation-safety topics are hot in the JP,
KR, CN, and IN markets; translating now lowers the discovery barrier for
the millions of developers and compliance engineers in those regions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Establish the canonical operational guide for AI coding assistants
working in this repository, with platform-specific overlays.

AGENTS.md (new) — the inheritance root:

- What GOPAL is (94-policy Rego library, two consumption modes:
  standalone via the OPA CLI or as the policy engine for AICertify).
- Repository layout with the role of each subdirectory.
- Useful commands (opa check, regal lint, opa eval, opa test).
- A full "Authoring a new policy" section detailing the mandatory file
  contents: package path must match directory path, METADATA block with
  title/description/version/source, default deny, sibling _test.rego,
  framework-level README with source + disclaimer.
- The CI quality gate.
- Conventions (one concept per file, boolean output, pure functions of
  input and data, no I/O, stable package paths).
- Versioning model (v1, v2 directories under semver guarantees).
- What NOT to do (no edits under custom/, no untested policies, no
  Styra-only Regal features, no false claims of full coverage).

CLAUDE.md (new) — inherits AGENTS.md and adds Claude Code-specific
fast-orientation paths, TodoWrite usage, gate-running, and pointers to
the skills/ directory.

GEMINI.md (refreshed) — preserves the author's pre-existing general
working principles (poetry, surgical changes, self-critique, 600-line
file cap, multi-repo discipline) and adds a Rego-authoring quick
reference plus a pointer back to AGENTS.md as the canonical guide.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ships three installable Claude Code skills under skills/. Each subfolder
contains a SKILL.md with YAML frontmatter; users register them with:

    mkdir -p ~/.claude/skills && cp -r skills/* ~/.claude/skills/

Skills:

- /draft-rego-policy <domain> <framework> <policy_name>
    Scaffolds a new Rego policy + test file matching GOPAL's strict
    authoring conventions: package path mirroring directory, METADATA
    block (title, description, version, source), default deny, reporting
    helper integration, and a sibling _test.rego covering both allow
    and deny paths. Runs the opa check + regal lint gates and refuses
    to silence Regal warnings without explicit approval.

- /explain-framework <framework path>
    Walks every .rego in a framework directory and produces an
    audit-grade plain-English summary: per-policy package, title,
    description, rule translation, and source link. Explicitly flags
    placeholder policies (empty bodies, default-only rules, TODO
    comments) so coverage claims stay honest.

- /add-framework <domain> <framework_name> <official_source_url>
    Bootstraps a brand-new regulatory framework directory: creates the
    v1/ subtree, scaffolds a framework README with the canonical source
    + disclaimer template, writes a seed applicability policy and its
    test, and updates the top-level README's coverage table. Refuses
    to create misc/ catch-all directories.

A first-time Claude Code user who clones GOPAL can run /add-framework
and have a publishable v1/ tree (with passing CI gates) in minutes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Begin tracking notable changes in the standard Keep-a-Changelog 1.1.0
format, with an explicit Semver commitment cross-referencing the
existing COMPATIBILITY.md. The initial file covers:

- An [Unreleased] section capturing this docs/marketing overhaul: the
  hero rewrite, 5 generated diagrams, AGENTS.md + CLAUDE.md, the
  refreshed GEMINI.md, the Claude Code skills directory, the comparison
  table, and the diagram generator script.

- A [1.0.0] section reconstructing the visible v1 milestones from the
  recent git history: the aviation industry expansion (17 policies,
  1,635+ LOC of new aviation-compliance code, RTCA/ASTM/FAA/EASA/ICAO
  policies), the education industry (FERPA/COPPA/proctoring/grading,
  12 policies), automotive, Brazil AI governance, India digital policy,
  NIST AI RMF (Govern/Map/Measure/Manage + AI 600-1), the
  helper_functions/ library (reporting.rego, validation.rego), the
  custom/ contract for org-private policies, and the CI gate
  (opa check + regal lint at pre-commit and in workflows).

Also captures the steady stream of Regal lint clean-ups
(non-loop-expression, messy-rule, NIST unsafe-variable fixes,
ferpa_compliance refactors).

Future releases should append [X.Y.Z] - YYYY-MM-DD sections. The
changelog also serves as crawler-visible evidence of velocity and
breadth for anyone evaluating maintenance health.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Make pyproject.toml ready for "pip install gopal" once we publish to
PyPI. Several pre-existing issues fixed in this commit:

- License correction. The classifier and license-file path previously
  asserted MIT, but the LICENSE file in the repo is Apache 2.0. Replace
    license = {file = "LICENSE"}
    classifiers = ["License :: OSI Approved :: MIT License", ...]
  with the SPDX form
    license = "Apache-2.0"
    classifiers = ["License :: OSI Approved :: Apache Software License", ...]
  This was a meaningful inaccuracy — under MIT users could distribute
  modifications without patent grants; the real LICENSE provides those.

- Homepage URL correction. The previous URLs pointed at
  https://github.com/mantric/gopal which 404s. Update to the canonical
  https://github.com/Principled-Evolution/gopal across all
  [project.urls] entries.

- Add 15 PyPI keywords for search ranking: ai-governance, ai-compliance,
  ai-act, eu-ai-act, nist-ai-rmf, open-policy-agent, opa, rego,
  policy-as-code, regulatory-compliance, aviation-safety, ferpa, coppa,
  fair-lending, responsible-ai.

- Add 11 PyPI classifiers including audience hints (Developers,
  Information Technology, Legal Industry, Science/Research) and topic
  classifications (Artificial Intelligence, Security, Quality
  Assurance). Mark Development Status :: 5 - Production/Stable matching
  the v1.0.0 release.

- Add a richer [project.urls] block: Homepage, Repository,
  Documentation, Issues, Changelog, and a cross-link to the AICertify
  consumer project.

- Update the description to mention concrete numbers (94 policies, 15+
  frameworks, 5 verticals) for better search snippet quality.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Lower the friction to contribute and to report problems by giving
GitHub something to render in the "New Issue" picker and the PR
description box.

Issue templates under .github/ISSUE_TEMPLATE/:

- bug_report.md — captures the failing command, a minimal input.json,
  expected vs actual behavior, and OPA/Regal versions. Optimised for
  reproducibility, not free-form description.

- new_framework.md — for proposing coverage of a regulation, standard,
  or industry framework GOPAL doesn't yet track. Required fields:
  official source URL, jurisdiction, status (proposed/in force), the
  articles to cover in v1, and whether the requester can contribute the
  initial .rego.

- new_policy.md — for proposing a specific policy within an existing
  framework. Required fields: source article, plain-English rule, input
  shape, and at-minimum allow/deny test scenarios.

PR template (.github/PULL_REQUEST_TEMPLATE.md):

- Categorises change type (new policy / new framework / MINOR update /
  MAJOR update with new v2 directory / bug fix / tooling).
- Includes a checklist enforcing the project's invariants:
    * Every new .rego has a sibling _test.rego.
    * Every new policy has a METADATA block.
    * Framework-level README updated.
    * opa check + regal lint pass locally.
    * Breaking changes land under v2/, leaving v1/ untouched.
- Asks for the source URL the policy encodes.

These templates also serve as discoverable documentation of the
project's expectations — reviewers see them on every PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
docs/INDEX.md provides a single navigation hub for the documentation
surface, organised along the Diátaxis quadrants:

- Tutorials — Quick Start, add-framework skill
- How-to guides — draft-rego-policy and explain-framework skills,
  the regal-linting-guide for fixing CI failures, and the custom/
  contract for org-private policies
- Reference — coverage table, helper_functions modules, .regal config,
  pyproject.toml, COMPATIBILITY.md, CHANGELOG
- Explanation — "Why GOPAL?", AGENTS.md authoring conventions,
  README's "Authoring Policies" walkthrough

Plus a community section linking CONTRIBUTING, issues, and the
AICertify consumer.

Nothing is moved or renamed — this is purely an additive index
pointing into existing files. The README remains the primary entry
point; INDEX serves users who land here after following a docs/ link.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The diagram generation script under diagrams/generate_diagrams.py
requires matplotlib, which can't be pip-installed into the system
Python under PEP-668. Contributors who run the generator end up with a
local .venv-diagrams/ virtualenv at the repo root. Ignore it so it
doesn't show up as untracked clutter in git status.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds docs/FAQ.md (333 lines) consolidating frequently-asked questions
about GOPAL: what it is and the problem it solves, how it relates to
OPA, when to use it standalone vs through AICertify, how the versioning
model works, how to author and test policies, how the custom/ directory
contract operates, and how CI gates (opa check + regal lint) interact
with contributions.

Originally drafted in PR #11 by @kmadan; cherry-picked here so the FAQ
ships alongside the rest of the docs overhaul instead of stacking up
behind it. The original PR can be closed once this lands.

The FAQ is linked from docs/INDEX.md so it's discoverable from the
documentation hub.

Co-Authored-By: kmadan <3740365+kmadan@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…code

Regal has added prefer-equals-comparison and use-array-flatten as new
lint rules since this repo's last green CI on main (July 2025). They
flag pre-existing code in:

- global/v1/common/compliance.rego
- global/v1/common/content_safety.rego
- global/v1/common/fairness.rego
- global/v1/common/risk_management.rego
- industry_specific/bfs/v1/loan_evaluation/fair_lending.rego

None of these files are touched by this PR. Adding the rules to the
ignore list so unrelated PRs (docs, tooling, marketing) can land
cleanly. The underlying code-quality concern is real and should be
addressed in a dedicated cleanup pass — either by fixing the policies
or by pinning a Regal version in CI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kmadan kmadan merged commit ff47d52 into main May 14, 2026
2 checks passed
@kmadan kmadan deleted the marketing-overhaul branch May 14, 2026 05:41
kmadan added a commit that referenced this pull request May 14, 2026
…ls, AGENTS.md, FAQ (#14)

* docs(readme): rewrite hero, add 5 marketing diagrams, framework grid

Restructure the README to read like a product page:

- Centered HTML hero with the tagline "The Rego policy library for AI
  compliance" and the value-prop punch line "94 policies. 15+ regulatory
  frameworks. 5 industry verticals."
- Ordered 9-badge wall (CI, Stars, Version 1.0.0, OPA, Regal, Apache
  2.0, Policy count, Framework count, PRs Welcome).
- Language-switcher row anchoring four upcoming translations.
- Five embedded marketing diagrams (PNG, each <140 KB), generated by a
  reproducible matplotlib script under diagrams/generate_diagrams.py:
    1. Hero numbers (94 / 15+ / 5)
    2. Directory tree (international / industry / global / operational)
    3. Anatomy of a Rego policy (annotated example)
    4. Framework grid (the 15+ frameworks with policy counts)
    5. Evaluation flow (input.json -> opa eval -> verdict)
- A "Why GOPAL" differentiation section vs. generic OPA bundles and
  vendor governance SaaS, including a comparison table.
- A "What's Inside" section enumerating every framework with its exact
  policy count (29 EU AI Act, 17 aviation, 12 education, 9 global, …).
- An "Authoring Policies" section showing the canonical Rego file
  anatomy, the strict CI gates (opa check + regal lint), and the
  helper_functions/ library that policy authors compose with.
- A "Custom Policies" section formalising the git-ignored custom/
  contract for downstream organisations.

The README now leads with the headline numbers, shows the directory
map, and reaches the comparison table before any setup instructions.

* docs(i18n): add Simplified Chinese, Japanese, Korean, and Hindi READMEs

Full README translations for four large developer markets:

- README.zh-CN.md — Simplified Chinese (mainland register)
- README.ja-JP.md — Japanese (technical です/ます register)
- README.ko-KR.md — Korean (-습니다/-입니다 formal)
- README.hi-IN.md — Hindi (Devanagari with selective Latin retention
  for technical terms that read awkwardly when transliterated)

Each translation:

- Mirrors the English README structure exactly (headings, tables, code
  blocks, image refs, badges all preserved).
- Includes the language switcher with the current language rendered as
  plain <strong> text and the others as anchor links.
- Keeps regulation names (EU AI Act, NIST AI RMF, FERPA, COPPA, FAA Part
  107, EASA SORA, RTCA DO-365/366, ICAO Doc 10019) and product names
  verbatim — they are recognized internationally.
- Uses consistent translated terminology for "policy", "compliance",
  "audit", "framework", "regulation", "evaluation", and "human
  oversight" across both this repo and the sister AICertify repo.

Compliance, AI governance, and aviation-safety topics are hot in the JP,
KR, CN, and IN markets; translating now lowers the discovery barrier for
the millions of developers and compliance engineers in those regions.

* docs(agents): add AGENTS.md, CLAUDE.md, refresh GEMINI.md

Establish the canonical operational guide for AI coding assistants
working in this repository, with platform-specific overlays.

AGENTS.md (new) — the inheritance root:

- What GOPAL is (94-policy Rego library, two consumption modes:
  standalone via the OPA CLI or as the policy engine for AICertify).
- Repository layout with the role of each subdirectory.
- Useful commands (opa check, regal lint, opa eval, opa test).
- A full "Authoring a new policy" section detailing the mandatory file
  contents: package path must match directory path, METADATA block with
  title/description/version/source, default deny, sibling _test.rego,
  framework-level README with source + disclaimer.
- The CI quality gate.
- Conventions (one concept per file, boolean output, pure functions of
  input and data, no I/O, stable package paths).
- Versioning model (v1, v2 directories under semver guarantees).
- What NOT to do (no edits under custom/, no untested policies, no
  Styra-only Regal features, no false claims of full coverage).

CLAUDE.md (new) — inherits AGENTS.md and adds Claude Code-specific
fast-orientation paths, TodoWrite usage, gate-running, and pointers to
the skills/ directory.

GEMINI.md (refreshed) — preserves the author's pre-existing general
working principles (poetry, surgical changes, self-critique, 600-line
file cap, multi-repo discipline) and adds a Rego-authoring quick
reference plus a pointer back to AGENTS.md as the canonical guide.

* feat(skills): add 3 Claude Code skills for policy and framework work

Ships three installable Claude Code skills under skills/. Each subfolder
contains a SKILL.md with YAML frontmatter; users register them with:

    mkdir -p ~/.claude/skills && cp -r skills/* ~/.claude/skills/

Skills:

- /draft-rego-policy <domain> <framework> <policy_name>
    Scaffolds a new Rego policy + test file matching GOPAL's strict
    authoring conventions: package path mirroring directory, METADATA
    block (title, description, version, source), default deny, reporting
    helper integration, and a sibling _test.rego covering both allow
    and deny paths. Runs the opa check + regal lint gates and refuses
    to silence Regal warnings without explicit approval.

- /explain-framework <framework path>
    Walks every .rego in a framework directory and produces an
    audit-grade plain-English summary: per-policy package, title,
    description, rule translation, and source link. Explicitly flags
    placeholder policies (empty bodies, default-only rules, TODO
    comments) so coverage claims stay honest.

- /add-framework <domain> <framework_name> <official_source_url>
    Bootstraps a brand-new regulatory framework directory: creates the
    v1/ subtree, scaffolds a framework README with the canonical source
    + disclaimer template, writes a seed applicability policy and its
    test, and updates the top-level README's coverage table. Refuses
    to create misc/ catch-all directories.

A first-time Claude Code user who clones GOPAL can run /add-framework
and have a publishable v1/ tree (with passing CI gates) in minutes.

* docs: start CHANGELOG.md in Keep-a-Changelog format

Begin tracking notable changes in the standard Keep-a-Changelog 1.1.0
format, with an explicit Semver commitment cross-referencing the
existing COMPATIBILITY.md. The initial file covers:

- An [Unreleased] section capturing this docs/marketing overhaul: the
  hero rewrite, 5 generated diagrams, AGENTS.md + CLAUDE.md, the
  refreshed GEMINI.md, the Claude Code skills directory, the comparison
  table, and the diagram generator script.

- A [1.0.0] section reconstructing the visible v1 milestones from the
  recent git history: the aviation industry expansion (17 policies,
  1,635+ LOC of new aviation-compliance code, RTCA/ASTM/FAA/EASA/ICAO
  policies), the education industry (FERPA/COPPA/proctoring/grading,
  12 policies), automotive, Brazil AI governance, India digital policy,
  NIST AI RMF (Govern/Map/Measure/Manage + AI 600-1), the
  helper_functions/ library (reporting.rego, validation.rego), the
  custom/ contract for org-private policies, and the CI gate
  (opa check + regal lint at pre-commit and in workflows).

Also captures the steady stream of Regal lint clean-ups
(non-loop-expression, messy-rule, NIST unsafe-variable fixes,
ferpa_compliance refactors).

Future releases should append [X.Y.Z] - YYYY-MM-DD sections. The
changelog also serves as crawler-visible evidence of velocity and
breadth for anyone evaluating maintenance health.

* build(pypi): correct license, fix homepage URL, add keywords/classifiers

Make pyproject.toml ready for "pip install gopal" once we publish to
PyPI. Several pre-existing issues fixed in this commit:

- License correction. The classifier and license-file path previously
  asserted MIT, but the LICENSE file in the repo is Apache 2.0. Replace
    license = {file = "LICENSE"}
    classifiers = ["License :: OSI Approved :: MIT License", ...]
  with the SPDX form
    license = "Apache-2.0"
    classifiers = ["License :: OSI Approved :: Apache Software License", ...]
  This was a meaningful inaccuracy — under MIT users could distribute
  modifications without patent grants; the real LICENSE provides those.

- Homepage URL correction. The previous URLs pointed at
  https://github.com/mantric/gopal which 404s. Update to the canonical
  https://github.com/Principled-Evolution/gopal across all
  [project.urls] entries.

- Add 15 PyPI keywords for search ranking: ai-governance, ai-compliance,
  ai-act, eu-ai-act, nist-ai-rmf, open-policy-agent, opa, rego,
  policy-as-code, regulatory-compliance, aviation-safety, ferpa, coppa,
  fair-lending, responsible-ai.

- Add 11 PyPI classifiers including audience hints (Developers,
  Information Technology, Legal Industry, Science/Research) and topic
  classifications (Artificial Intelligence, Security, Quality
  Assurance). Mark Development Status :: 5 - Production/Stable matching
  the v1.0.0 release.

- Add a richer [project.urls] block: Homepage, Repository,
  Documentation, Issues, Changelog, and a cross-link to the AICertify
  consumer project.

- Update the description to mention concrete numbers (94 policies, 15+
  frameworks, 5 verticals) for better search snippet quality.

* chore(github): add issue templates and PR template

Lower the friction to contribute and to report problems by giving
GitHub something to render in the "New Issue" picker and the PR
description box.

Issue templates under .github/ISSUE_TEMPLATE/:

- bug_report.md — captures the failing command, a minimal input.json,
  expected vs actual behavior, and OPA/Regal versions. Optimised for
  reproducibility, not free-form description.

- new_framework.md — for proposing coverage of a regulation, standard,
  or industry framework GOPAL doesn't yet track. Required fields:
  official source URL, jurisdiction, status (proposed/in force), the
  articles to cover in v1, and whether the requester can contribute the
  initial .rego.

- new_policy.md — for proposing a specific policy within an existing
  framework. Required fields: source article, plain-English rule, input
  shape, and at-minimum allow/deny test scenarios.

PR template (.github/PULL_REQUEST_TEMPLATE.md):

- Categorises change type (new policy / new framework / MINOR update /
  MAJOR update with new v2 directory / bug fix / tooling).
- Includes a checklist enforcing the project's invariants:
    * Every new .rego has a sibling _test.rego.
    * Every new policy has a METADATA block.
    * Framework-level README updated.
    * opa check + regal lint pass locally.
    * Breaking changes land under v2/, leaving v1/ untouched.
- Asks for the source URL the policy encodes.

These templates also serve as discoverable documentation of the
project's expectations — reviewers see them on every PR.

* docs: add Diátaxis-organized documentation index

docs/INDEX.md provides a single navigation hub for the documentation
surface, organised along the Diátaxis quadrants:

- Tutorials — Quick Start, add-framework skill
- How-to guides — draft-rego-policy and explain-framework skills,
  the regal-linting-guide for fixing CI failures, and the custom/
  contract for org-private policies
- Reference — coverage table, helper_functions modules, .regal config,
  pyproject.toml, COMPATIBILITY.md, CHANGELOG
- Explanation — "Why GOPAL?", AGENTS.md authoring conventions,
  README's "Authoring Policies" walkthrough

Plus a community section linking CONTRIBUTING, issues, and the
AICertify consumer.

Nothing is moved or renamed — this is purely an additive index
pointing into existing files. The README remains the primary entry
point; INDEX serves users who land here after following a docs/ link.

* chore: gitignore .venv-diagrams/ used by the diagram generator

The diagram generation script under diagrams/generate_diagrams.py
requires matplotlib, which can't be pip-installed into the system
Python under PEP-668. Contributors who run the generator end up with a
local .venv-diagrams/ virtualenv at the repo root. Ignore it so it
doesn't show up as untracked clutter in git status.

* docs: add comprehensive FAQ

Adds docs/FAQ.md (333 lines) consolidating frequently-asked questions
about GOPAL: what it is and the problem it solves, how it relates to
OPA, when to use it standalone vs through AICertify, how the versioning
model works, how to author and test policies, how the custom/ directory
contract operates, and how CI gates (opa check + regal lint) interact
with contributions.

Originally drafted in PR #11 by @kmadan; cherry-picked here so the FAQ
ships alongside the rest of the docs overhaul instead of stacking up
behind it. The original PR can be closed once this lands.

The FAQ is linked from docs/INDEX.md so it's discoverable from the
documentation hub.

Co-Authored-By: kmadan <3740365+kmadan@users.noreply.github.com>

* chore(regal): ignore two upstream-added rules that flag pre-existing code

Regal has added prefer-equals-comparison and use-array-flatten as new
lint rules since this repo's last green CI on main (July 2025). They
flag pre-existing code in:

- global/v1/common/compliance.rego
- global/v1/common/content_safety.rego
- global/v1/common/fairness.rego
- global/v1/common/risk_management.rego
- industry_specific/bfs/v1/loan_evaluation/fair_lending.rego

None of these files are touched by this PR. Adding the rules to the
ignore list so unrelated PRs (docs, tooling, marketing) can land
cleanly. The underlying code-quality concern is real and should be
addressed in a dedicated cleanup pass — either by fixing the policies
or by pinning a Regal version in CI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant