Docs

GitHub Action

PR comments and merge blocks on FAIL or BLOCKER.

01 · Draft

Human or LLM

Paste, PR, webhook, or CLI. The gate does not care who wrote it.

← Docs

Score every content change in a PR. Post a verdict comment. Block merge on FAIL or BLOCKER (a hard stop, e.g. a confidentiality leak) by default.

Quick start

Add this to .github/workflows/content-gate.yml:

name: Content Gate
on:
  pull_request:
    paths:
      - "**/*.md"
      - "**/*.mdx"
      - "**/*.html"

jobs:
  dokeo:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dokeo/action@v1
        with:
          api_key: ${{ secrets.DOKEO_API_KEY }}
          content_type: blog_post
          paths: "**/*.md"
          fail_on: fail
          min_score: 70
          comment_pr: true
        env:
          PR_NUMBER: ${{ github.event.number }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Get your API key at /account/api-keys and add it to repo secrets as DOKEO_API_KEY.

Inputs

InputRequiredDefaultDescription
api_keyyes-Your Dokeo API key (dk_...)
content_typenoblog_postblog, landing_page, listicle, faq, etc.
pathsno**/*.{md,mdx,html,txt}Glob of files to scan
fail_onnofailblocker | fail | warning | optimization (minimum severity that blocks the check)
min_scoreno0Minimum overall score (0-100)
comment_prnotruePost PR comment with verdict

Sample PR comment

Dokeo Content Gate
PASS4
OPTIMIZATION1
WARNING1
FAIL1
BLOCKER0
  • - PASS content/posts/intro.md -- PASS (87/100)
  • - FAIL content/posts/broken.md -- FAIL (38/100)
  • - WARN content/posts/draft.md -- WARNING (62/100)