kpritam/Grimoire AI Docs Sync

AI-powered docs sync. Runs Grimoire CLI and opens a PR (or commits) with generated docs from your codebase.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 7, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: kpritam/grimoire@966065fd8dd7fa568b58b8de2ec86b6e7afdaaa4 # v0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
providerAgent provider id. Any agent supported by `spawn-agent`: claude, codex, copilot, cursor, gemini, opencode, droid, pi.claude
modecast (full), sync (delta), or auto (cast on first run, sync after).auto
provider-versionVersion/tag override for the selected provider's CLI (e.g. "^1", "1.2.3", "latest"). Empty = registry default.""
skip-cli-installSkip the action's automatic CLI install step. Set true on self-hosted runners that already have the provider CLI baked into the image, or fully airgapped runners.false
outputDocumentation output directory../tome
configPath to the Grimoire config YAML. Empty = auto-detect `.grimoire/config.yml`, falling back to `.grimoire.yml`.""
log-levelCLI log level (debug, info, warn, error).info
behaviorWhat to do with Grimoire's output: `pr` (open or update a Pull Request), `commit` (commit directly to the current branch), or `report-only` (skip PR creation and commit — Grimoire still runs cast/sync against the working tree; the runner discards those changes after the job). Combine `report-only` with `dry-run: true` for a true no-write run, or with `pr-comment: true` / `fail-on-drift: true` to surface results.pr
pr-title-prefixFixed prefix for the PR title, used to identify Grimoire PRs at a glance. The summary that follows is drafted by the configured agent from the generated diff (with a deterministic fallback if the agent fails). Override with a plain `docs(grimoire):` (no glyph) if your team's PR-title checks reject emojis.📖 docs(grimoire):
pr-branchHead branch name for the PR.grimoire/docs-sync
pr-baseBase branch for the PR. Empty = repository default branch.""
pr-labelsComma- or newline-separated labels to apply to the PR.documentation automated grimoire
pr-draftOpen the PR as a draft.false
commit-messageCommit message. Empty = auto-generated from the run metadata.""
commit-author`Name <email>` used for commits on the PR branch or main.grimoire[bot] <grimoire[bot]@users.noreply.github.com>
pr-commentPost or update a sticky PR comment summarizing the run.true
comment-tagHTML comment marker used to find/update the sticky comment.grimoire:report
fail-on-driftAfter the run, re-run `grimoire status` and fail the job if docs are still out of sync. Useful for `report-only` gates on PRs.false
dry-runRun Grimoire without writing files or the seal.false
tokenToken with `contents:write` + `pull-requests:write`. Defaults to `GITHUB_TOKEN`. Use a PAT or GitHub App token to trigger downstream workflows on the opened PR.${{ github.token }}
namedescription
behaviorBehavior executed: `pr`, `commit`, `report-only`, or `skipped`.
mode-usedWhat Grimoire did: `cast`, `sync`, `synced-noop` (sync short-circuited because nothing in `tracking.sources` changed — agent NOT invoked, seal NOT bumped), or `skipped` (seal already matched HEAD in `auto` mode, so grimoire was never invoked).
cast-shaFor `cast` / `sync`: the new seal SHA. For `synced-noop` / `skipped`: the existing seal SHA (which was deliberately not bumped).
sections-changedJSON array of section IDs touched (sync only).
changes-detected`true` when Grimoire produced tracked changes.
pull-request-numberPR number when behavior=pr (empty otherwise).
pull-request-urlPR URL when behavior=pr (empty otherwise).
pull-request-operation`created`, `updated`, or `none` when behavior=pr.