DocDr Docs

Keep your Markdown documentation automatically in sync with your code.

Setup

DocDr installs as a GitHub Actions workflow. The onboarding flow handles everything automatically, but here's what happens under the hood.

1. Subscribe and get your license key

After subscribing via Polar.sh, your license key arrives in your welcome email. You'll also enter it during onboarding.

2. Connect a repository

Go through the onboarding flow at /onboarding. DocDr will:

  • Authorize via GitHub OAuth (read repos, write workflow files and secrets)
  • Commit a .github/workflows/docdr.yml file to your default branch
  • Set the DOCDR_LICENSE_KEY Actions secret automatically

3. The workflow runs automatically

After the next PR merge, the DocDr workflow triggers. If documentation needs updating, a Draft PR appears within minutes.

License key secret

DocDr requires a GitHub Actions secret named DOCDR_LICENSE_KEY in each connected repository. This secret authenticates your DocDr subscription on every workflow run.

# .github/workflows/docdr.yml (relevant section)
- name: Run DocDr
  uses: ianjamesburke/docdr@v1
  with:
    license_key: ${{ secrets.DOCDR_LICENSE_KEY }}

Set automatically: The onboarding flow sets this secret for you via the GitHub API.

Set manually: Go to your repository → Settings → Secrets and variables → Actions → New repository secret. Name: DOCDR_LICENSE_KEY, value: your Polar license key.

Rotating your key: If you rotate your license key in Polar, update the secret in GitHub and update it in your DocDr dashboard under Manage Keys.

How it works

On every merged PR, the DocDr GitHub Action runs in your repository's CI pipeline:

  1. Extracts the merged PR diff
  2. Strips noise: lock files, SVGs, minified bundles, build output directories
  3. Scans for accidentally committed secrets — stops if any are found
  4. Sends the sanitized diff and your current doc file contents to the DocDr API
  5. The API passes the payload to Gemini Flash for analysis
  6. If documentation needs updating, the API returns updated file contents
  7. The action creates a branch named ai-docs-{hash} and opens a Draft PR
  8. You review, approve, and merge — or close it if no update is needed

Debounce: If a DocDr Draft PR is already open for your repo, subsequent runs push new commits to that branch instead of opening a second PR.

"No update needed" is a valid outcome. DocDr exits cleanly with no PR opened if the diff doesn't affect documentation.

Bootstrap mode

If your repository has no existing Markdown documentation, DocDr runs in bootstrap mode on its first run.

Instead of a diff, DocDr sends:

  • Repository file tree
  • Entry point files (e.g. main.py, index.ts, Cargo.toml)
  • Manifest files (e.g. package.json, pyproject.toml)

The AI generates an initial set of documentation files covering your project's structure, setup, and key concepts.

Quota note: Bootstrap runs count as 5 PR events against your monthly quota of 100.

FAQ

Does DocDr ever push directly to main?

No. DocDr only opens Draft PRs. Your default branch is never touched without your review and approval.

Which files does DocDr update?

DocDr watches the docs you select on the repo page. Add a .docdrignore file with gitignore-style patterns to hide files from scans and Action runs.

Can I connect multiple repositories?

Yes. Each repository requires its own license key. You can add additional repos from the dashboard.

What happens when I hit the 100 PR/month quota?

The API returns a quota-exceeded response and the action exits cleanly. No PR is opened. Usage resets on your billing cycle start date.

Is my source code stored?

No. Diffs are processed in memory and discarded after the AI response is generated. See the Privacy Policy for details.

How do I cancel?

Cancel via Polar.sh. Access continues until the end of the paid period. To remove DocDr from a repository, delete the .github/workflows/docdr.yml file and the DOCDR_LICENSE_KEY secret.