manki-review/Manki Review

Multi-agent AI code review for GitHub. Planner picks the team, agents review in parallel, judge filters the noise.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
claude_code_oauth_tokenClaude Code OAuth token for Max subscription authenticationno
anthropic_api_keyAnthropic API key (alternative to OAuth token)no
openai_oauth_tokenBase64-encoded contents of `~/.codex/auth.json` (Codex CLI OAuth credentials, including `tokens.access_token` and `tokens.refresh_token`). Bootstrap with `cat ~/.codex/auth.json | base64 | gh secret set OPENAI_OAUTH_TOKEN`. Re-run when the refresh_token expires.no
openai_api_keyOpenAI API key (alternative to OAuth token)no
gemini_oauth_tokenBase64-encoded contents of `~/.gemini/oauth_creds.json` (Gemini CLI OAuth credentials, including `access_token` and `refresh_token`). Bootstrap with `cat ~/.gemini/oauth_creds.json | base64 | gh secret set GEMINI_OAUTH_TOKEN`. Re-run when the refresh_token expires.no
gemini_api_keyGoogle Generative AI API key (alternative to Gemini OAuth token)no
github_tokenGitHub token for posting reviews and comments (not required when using GitHub App auth)no
config_pathPath to .manki.yml config fileno.manki.yml
memory_repo_tokenGitHub token with write access to the review memory repository (patterns, learnings, suppressions)no
github_app_idGitHub App ID for custom bot identity (reviews show as the app name)no
github_app_private_keyGitHub App private key (PEM format) for generating installation tokensno
manki_token_urlToken service URL for GitHub App identity (default: https://manki-api.dustinface.me/token)nohttps://manki-api.dustinface.me/token
concurrency_lock_ttl_secondsTTL (in seconds) for the in-app concurrent-submission lock. If another `manki-review[bot]` run has posted an "in progress" marker comment within this window, the current run bails before any LLM call. Acts as defense in depth on top of the workflow-level concurrency group. Default: 600 (10 minutes).no600
namedescription
review_idThe GitHub review ID that was posted
verdictReview verdict: APPROVE, COMMENT, or REQUEST_CHANGES
findings_countTotal number of findings
findings_jsonJSON array of all findings (for downstream processing)
severity_countsJSON object with severity counts: {blocker, warning, suggestion, nitpick}
judge_modelModel used for the judge agent