Docs from GitHub

Publish your docs from GitHub

Your help center lives as Markdown in your own GitHub repository. A GitHub Actions workflow publishes it to AskVoro on every push to main. Docs get reviewed in pull requests and ship with the change that made them necessary.

There is no editor in the AskVoro dashboard. The repository is the source of truth: the dashboard lists what synced and keeps a few settings — the knowledge base's name, URL slug and audience.

The docs you're reading now are published this way.

Let your coding agent set it up#

On askvoro.com's home page, the dashboard's Docs page, and a knowledge base's GitHub tab, Onboard your agent copies one line for Claude Code, Codex or Cursor:

text
Set up AskVoro docs for this project: read https://askvoro.com/onboard.md and follow it.

Paste it into the agent in your repository. It writes the Markdown folder and the workflow file from what your project already says. Two steps stay yours: creating the token and saving it as a repository secret.

Set it up yourself#

  1. In the dashboard, open Docs, then open or create a knowledge base.

  2. Open its GitHub tab and choose Create token.

  3. Save the token as the repository secret ASKVORO_TOKEN: on GitHub under Settings → Secrets and variables → Actions, or from a terminal:

    bash
    gh secret set ASKVORO_TOKEN
  4. Commit the workflow shown on the GitHub tab as .github/workflows/askvoro.yml.

  5. Put your Markdown in docs/ and push to main.

The workflow looks like this, with your own workspace id and knowledge base filled in:

yaml
name: AskVoro docs

on:
  push:
    branches: [main]
    paths: ["docs/**", ".github/workflows/askvoro.yml"]
  workflow_dispatch:

concurrency:
  group: askvoro-docs-docs
  cancel-in-progress: false

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 24
      - name: Sync docs to AskVoro
        run: curl -fsSL https://askvoro.com/action.cjs | node
        env:
          INPUT_TOKEN: ${{ secrets.ASKVORO_TOKEN }}
          INPUT_WORKSPACE: YOUR_WORKSPACE_ID
          INPUT_KNOWLEDGE_BASE: docs
          INPUT_DIRECTORY: docs

Keeping docs somewhere other than docs/? Change INPUT_DIRECTORY and the paths filter to match.

The AskVoro docs run in your repository's Actions tab shows what was published. The dashboard then lists every article and FAQ it synced.

The token#

The token is a workspace API key that can only read and write articles and FAQs. It shows up under Settings → API keys, where you can revoke it. If the run reports the token was rejected, create a new one on the GitHub tab and update the secret.

Never commit the token or paste it into a chat. It belongs in the repository secret only.

A new knowledge base on first push#

INPUT_KNOWLEDGE_BASE is the knowledge base's handle. If no knowledge base has that handle yet, the first push creates one, with public visibility. Rename it or change its audience in the dashboard afterwards.

Then#