clouatre-labs/Aptu

GitHub automation: AI issue triage, AI PR review, PR labeling, security scanning, and PR queue ranking

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 6, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: clouatre-labs/aptu@b4dccd510d229fbbcddb149dc9b643cda4b6d70f # v0.10.4

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

namedescriptionrequireddefault
github-tokenGitHub token for API accessyes
anthropic-api-keyAnthropic API key (from https://console.anthropic.com/settings/keys)no
cerebras-api-keyCerebras API key (from https://console.cerebras.ai/keys)no
gemini-api-keyGoogle Gemini API key (from https://aistudio.google.com/apikey)no
groq-api-keyGroq API key (from https://console.groq.com/keys)no
openrouter-api-keyOpenRouter API key (from https://openrouter.ai/keys)no
zai-api-keyZ.AI API key (from https://z.ai)no
zenmux-api-keyZenMux API key (from https://zenmux.ai)no
providerAI provider to use (anthropic, cerebras, gemini, groq, openrouter, zai, zenmux). Defaults to openrouter when not set. no""
modelModel identifier for the selected provider. Defaults to mistralai/mistral-small-2603 when provider is openrouter, or gemini-3.1-flash-lite when provider is gemini. See docs/CONFIGURATION.md for per-provider model lists. no""
fallback-providerAI provider to try when the primary provider fails (resilience chain). Independent of the primary provider default; set to empty string to disable fallback. noopenrouter
fallback-modelModel for the fallback provider.noinception/mercury-2
apply-labelsApply AI-suggested labels and milestone (issue triage and PR review)notrue
dry-runRun without making changesnofalse
no-commentSkip posting comment to GitHub (issue triage and PR review)nofalse
skip-labeledSkip triage if the issue already has both a label with the `type:` prefix and a label matching `p[0-9]` (e.g. `p0`, `p1`, `p2`, `p3`). Only meaningful for issue events; set to `false` for PR events. notrue
repoTarget repository (owner/repo) for repository_dispatch invocations. When set alongside pull-number or issue-number, the PR label, PR review, and issue triage steps fire on repository_dispatch events. no""
pull-numberPR number for repository_dispatch invocations. Must be set alongside repo to trigger PR label and PR review steps on repository_dispatch events. no""
issue-numberIssue number for repository_dispatch invocations. Must be set alongside repo to trigger the issue triage step on repository_dispatch events. no""
sinceFor scheduled batch triage: triage all issues without labels created since this date (YYYY-MM-DD or RFC3339). If empty, all unlabeled issues in the repository are triaged. Only used when the workflow is triggered by a schedule event. no""
issue-stateFor scheduled batch triage: filter issues by state (open, closed, all). Only used when the workflow is triggered by a schedule event. noopen
instructions-filePath to repository instructions file for PR review context. When set, overrides the default AGENTS.md and .github/instructions/pr-review.md files. Leave empty to use default file discovery. no
repo-pathPath to the local repository root for AST context injection into PR review prompts. When set (or inferred from the current working directory when omitted), `aptu pr review` will analyse changed source files (Rust, Python, Go, Java, TypeScript, TSX, JavaScript, C, C++, C#, Fortran) and append function signatures and call-graph context to the prompt. Set to an explicit path to override CWD inference. no""
deepForce cross-file call graph context in PR review unconditionally. When omitted, call graph is auto-enabled when budget_remaining (= max_prompt_chars minus the pre-call-graph prompt size estimate) exceeds min-budget-for-call-graph. Set to 'true' to always include call graph regardless of available budget. nofalse
max-prompt-charsTotal prompt character budget for PR review. When the assembled prompt exceeds this limit, sections are dropped in order: call graph, AST, full file content, diff hunks. System prompt and PR metadata are never dropped. Maps to [review] max_prompt_chars in config.toml. no120000
max-full-content-filesMaximum number of files fetched in full via the GitHub Contents API per review. Maps to [review] max_full_content_files in config.toml. no10
max-chars-per-fileMaximum characters of full file content included per file in the review prompt. Maps to [review] max_chars_per_file in config.toml. no16000
max-diff-charsMaximum total diff characters across all files in the review prompt. Diffs exceeding this limit are dropped from the prompt before assembly. Maps to [review] max_diff_chars in config.toml. no200000
max-patch-chars-per-fileMaximum characters for an individual file patch in the review prompt. File patches exceeding this limit are dropped entirely rather than sliced mid-hunk. Maps to [review] max_patch_chars_per_file in config.toml. no10000
max-instructions-charsMaximum characters of instructions file content included in the review prompt. Maps to [review] max_instructions_chars in config.toml. no1500
min-budget-for-call-graphMinimum remaining prompt budget (chars) to auto-enable call-graph enrichment. budget_remaining = max-prompt-chars minus the pre-call-graph prompt size estimate; call graph is built only when budget_remaining > this value (strict greater-than). Setting this above half of max-prompt-chars means call graph rarely fires; setting it >= max-prompt-chars disables auto-enable entirely (use deep: true instead). Set to 0 to always include call graph when repo-path is available. Maps to [review] min_budget_for_call_graph in config.toml. no20000
max-dep-packagesMaximum number of dependency bump packages for which upstream release notes are fetched and included in the review prompt. Maps to [review] max_dep_packages in config.toml. no3
max-dep-release-charsMaximum characters of upstream release notes included per dependency package. Maps to [review] max_dep_release_chars in config.toml. no2000
max-diff-bytesMaximum bytes for the raw PR diff; prompt-injection defence pre-check applied before prompt assembly. Raise for large refactor PRs. Maps to [prompt] max_diff_bytes in config.toml. no524288
scan-pathPath to scan for security issues with aptu scan-security. Leave empty to skip the security scan step. no""
scan-security-diffPath to a unified diff file to scan for security issues (overrides scan-path when set). Leave empty to use scan-path directory scan. no""
pr-queueRun aptu pr queue to output a ranked reviewability list of open PRs. Useful for workflow_dispatch or scheduled summary workflows. nofalse
commandCommand to run (issue or pr)noissue
subcommandSubcommand to run (triage for issue, label or review for pr)notriage
namedescription
input-tokensTotal input tokens consumed across all AI calls in this run
output-tokensTotal output tokens consumed across all AI calls in this run
duration-msTotal AI call duration in milliseconds
cost-usdEstimated total cost in USD (provider-dependent, may be empty)
effective-token-unitsEffective Token Units (normalized throughput signal)
cache-hit-ratioCache hit ratio as integer percent (cache_read / (input + cache_read)), or n/a