mayurrawte/SherlockQA-AI

AI-powered code review and QA that finds bugs, security issues, and suggests test scenarios. Works with OpenAI, Anthropic Claude, Google Gemini, Azure OpenAI, and Ollama.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
github-tokenGitHub token for API accessyes${{ github.token }}
ai-providerAI provider: openai, anthropic, gemini, azure, azure-responses, ollama (default: openai). Overridable via .sherlockqa.yml.no
openai-api-keyOpenAI API key (required if ai-provider=openai)no
modelModel to use. Defaults: openai=gpt-4o-mini, anthropic=claude-sonnet-4-5, gemini=gemini-2.0-flash, ollama=llama3.1no
anthropic-api-keyAnthropic API key (required if ai-provider=anthropic)no
gemini-api-keyGoogle AI Studio / Gemini API key (required if ai-provider=gemini)no
ollama-base-urlOllama server base URL (default: http://localhost:11434). Only useful if your runner can reach an Ollama instance.nohttp://localhost:11434
azure-api-keyAzure OpenAI API key (required if ai-provider=azure or azure-responses)no
azure-endpointAzure OpenAI endpoint URL (e.g., https://your-resource.openai.azure.com)no
azure-deploymentAzure OpenAI deployment nameno
azure-api-versionAzure OpenAI API versionno2024-02-15-preview
modeReview mode: general (default) or security (audit for vulnerabilities only). Overridable via .sherlockqa.yml.no
min-severityMinimum severity to report: error, warning, suggestion (default: warning). Overridable via .sherlockqa.yml.no
ignore-patternsComma-separated list of file patterns to ignore. Supports glob (*, **, ?). Default: *.md,*.txt,package-lock.json,yarn.lock. Overridable via .sherlockqa.yml.no
personaCustom persona/role instructions (e.g., "Act as a senior security engineer")no
domain-knowledgeDomain-specific context for better reviews (e.g., freight forwarding, e-commerce)no
max-tokensMaximum tokens for AI response (default: 4096). Overridable via .sherlockqa.yml.no
auto-approveSubmit APPROVE when verdict is approved (default: false; requires PAT or repo settings to allow Actions to approve PRs). Overridable via .sherlockqa.yml.no
code-qualityEnable code quality analysis — repetitive code, code smells, maintainability issues (default: false). Overridable via .sherlockqa.yml.no
review-styleReview output style - compact (verdict at top, concise) or detailed (verbose). Default: compact. Overridable via .sherlockqa.yml.no
use-emojiUse emojis in review output (default: true). Overridable via .sherlockqa.yml.no
personalityReview personality - detective (Sherlock), bro (casual dude), desi (Hinglish), professional (formal), enthusiastic (hyped up). Default: detective. Overridable via .sherlockqa.yml.no
review-strictnessHow strict the review should be - lenient (only critical issues), balanced (reasonable checks), strict (thorough, flags more issues). Default: balanced. Overridable via .sherlockqa.yml.no
update-summary-commentMaintain a single sticky issue-comment with the current review summary, updated in place each run (default: true). Overridable via .sherlockqa.yml.no
create-check-runCreate a GitHub Check Run so the verdict and annotations appear in the PR Checks column — requires checks:write permission (default: true). Overridable via .sherlockqa.yml.no
namedescription
verdictReview verdict (approved, needs_changes, do_not_merge)
summaryReview summary
issues-countNumber of issues found
tokens-inInput tokens consumed by the AI call
tokens-outOutput tokens generated by the AI call
cost-usdEstimated cost of this review in USD (only set when the model is in the pricing table)