errickow/Garda Code Action

Production-grade protective GitHub automation powered by Neosantara Responses API

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
trigger_phraseTrigger phrase for comments, review comments, issues, and PR bodiesno@garda
assignee_triggerAssignee username that triggers the action, without @no""
base_branchBase/source branch for issue fix branches. Defaults to repository default branch.no""
label_triggerIssue/PR label that triggers the actionnogarda
modeauto, review, ask, fix, security, ci-analysis, release-notesnoauto
promptDirect prompt for agent mode. If empty, the action extracts the request from the GitHub event.no""
modelNeosantara model idnogrok-code-fast
neosantara_base_urlNeosantara OpenAI-compatible base URLnohttps://api.neosantara.xyz/v1
github_tokenGitHub token with repo, issue, pull request, and optional actions permissionsno${{ github.token }}
allowed_botsComma-separated bot usernames allowed to trigger this action, or *no""
allowed_non_write_usersComma-separated users allowed without write permission, or *. Use with care on public repos.no""
include_comments_by_actorComma-separated actor usernames to include while building context. Supports *[bot].no""
exclude_comments_by_actorComma-separated actor usernames to exclude while building context. Supports *[bot].no""
review_languageLanguage used in the review and tracking commentsnoid
custom_instructionsTrusted maintainer-supplied extra instructions appended to the Garda Code system prompt. Do not pass untrusted user/repo content here.no""
inline_commentsEnable buffered inline PR review commentsnotrue
classify_inline_commentsClassify and filter buffered inline comments before posting. Heuristic in v0.x; safer than posting every tool test.notrue
batch_inline_commentsPost inline comments as one PR review when possible, falling back to individual comments.notrue
inline_classifier_modeInline comment classifier mode: model, heuristic, or off. Model mode uses Neosantara Responses API to reject low-signal/probe inline comments.nomodel
inline_classifier_modelOptional Neosantara model id for inline comment classification. Defaults to model.no""
min_inline_severityMinimum severity for inline comments after classification: low, medium, or high.nolow
include_fix_linksInclude a compact fix request hint on inline comments.notrue
track_progressCreate and update one sticky progress commentnotrue
use_sticky_commentReuse one Garda Code tracking comment when availablenotrue
allow_fixAllow file writes and commits. Defaults to false.nofalse
commit_messageCommit message used by fix mode when files are changednochore: apply Garda Code changes
branch_prefixBranch prefix for issue fix mode branch creationnogarda/
branch_name_templateBranch template for issue fix mode. Supports {{prefix}}, {{entityType}}, {{entityNumber}}, {{description}}, {{timestamp}}, {{sha}}, {{label}}no{{prefix}}{{entityType}}-{{entityNumber}}-{{description}}
bot_idGitHub App bot user ID used for git commits, e.g. 12345678. Optional for review-only mode.no""
bot_nameGitHub App bot username used for git commits, e.g. garda-code[bot] or neosantara-ai[bot].nogarda-code[bot]
commit_strategyCommit strategy for fix mode: git or github-api. github-api avoids git push auth state and is closer to GitHub App file-ops behavior.nogit
use_commit_signingCompatibility flag. When true and commit_strategy is not set, uses github-api commit strategy. Real cryptographic signing still depends on GitHub/App configuration.nofalse
enable_mcp_compatExpose MCP-style tool aliases such as mcp__github_comment__update_garda_comment and mcp__github_file_ops__commit_files.notrue
allowed_toolsOptional comma/newline-separated exact or glob tool allowlist. Empty means all safe tools for the current mode.no""
disallowed_toolsOptional comma/newline-separated exact or glob tool denylist applied after allowed_tools. Use this to remove risky tools from a workflow.no""
use_github_app_token_exchangeUse GitHub Actions OIDC to request a GitHub App installation token from a hosted token exchange service.nofalse
github_app_token_exchange_urlHosted token exchange endpoint. Requires use_github_app_token_exchange=true and id-token: write permission.no""
github_app_token_exchange_audienceOIDC audience used when requesting a token for the hosted GitHub App token exchange.nogarda-code-action
max_stepsMaximum Responses API tool loop stepsno40
max_diff_charsMaximum diff context size sent to the modelno80000
max_file_charsMaximum file content returned by read_fileno30000
max_inline_commentsMaximum inline comments to postno20
max_tool_calls_per_stepMaximum model-requested tool calls executed in one Responses API stepno8
max_repeated_tool_callsMaximum repeated identical tool calls before the runner returns a guard errorno3
retry_max_attemptsMaximum retry attempts for transient Neosantara Responses API errorsno3
max_runtime_secondsMaximum wall-clock seconds for the Responses API tool loop before returning a guarded stop result.no900
include_image_contextDownload GitHub user-attachment images from the trigger/context and pass them to Neosantara Responses API when supported.notrue
max_comment_imagesMaximum GitHub user-attachment images to include as multimodal context.no5
max_image_bytesMaximum bytes per downloaded comment image.no1572864
cleanup_empty_branchDelete Garda-created issue fix branches when no changes were committed.notrue
restore_trusted_configRestore sensitive Garda/Neosantara/MCP/git config from the PR base branch before running on PRsnotrue
ignoreNewline or comma separated ignore patternsno.git/** .garda-pr/** .neo-pr/** .env .env.* *.pem *.key id_rsa id_ed25519 .npmrc .pypirc .netrc node_modules/** dist/** build/** coverage/** *.lock pnpm-lock.yaml package-lock.json yarn.lock
dry_runRun without posting comments, inline comments, or commitsnofalse
show_full_outputPrint full model/tool output. Warning: may expose sensitive data in logs.nofalse
display_reportWrite model-authored content to GitHub Step Summary. Disabled by default for untrusted PR/comment content.nofalse
namedescription
conclusionsuccess, skipped, failed
summaryFinal Garda Code summary
findings_countNumber of validated findings
comment_urlTracking comment URL
response_idFinal Neosantara Responses API response id
usage_jsonUsage metadata when available
execution_filePath to the Garda Code execution transcript JSON file
branch_nameBranch created or used by Garda Code fix mode
session_idFinal Neosantara Responses API response id for continuing/debugging
github_tokenThe GitHub token used by the action