menny/Cassandra AI Review
AI-powered code review for your pull requests using Cassandra.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 15, 2026
- License
- Apache 2.0
Pinned Snippet
uses: menny/cassandra@df0c1fb1af0bfb083cd422a46e6ca9b56f79a587 # v0.6.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| provider | LLM provider to use (google, anthropic, openai) | no | — |
| model_id | LLM provider model id | no | — |
| provider_api_key | API key for the selected provider | yes | — |
| provider_url | Optional API endpoint URL override (useful for OpenAI-compatible providers like Ollama) | no | "" |
| config_file | Path to a configuration file (toml) | no | — |
| base | Base commit/branch for diff | no | — |
| head | Head commit/branch for diff | no | — |
| working_directory | Working directory to review | no | . |
| main_guidelines | Path to a file or a named prompt from the library (general, asana-do-try-consider, google, conventional-comments, palantir, minimalist, security-first) | no | — |
| supplemental_guidelines | Additive guidelines to supplement the main guidelines. Multiline string where each line is a path or library prompt name. | no | "" |
| approval_evaluation_prompt_file | Optional path to a file containing custom approval evaluation guidelines | no | "" |
| metadata_tag | Tag to identify Cassandra comments (inner text only, will be wrapped in <!-- ... -->) | no | cassandra-ai-review-${{ github.workflow }} |
| reviewer_github_token | GitHub token for posting comments and managing reactions | no | ${{ github.token }} |
| reaction_icon | The reaction icon to add to the PR description while the review is in progress (e.g., eyes, rocket, heart). | no | eyes |
| use_inline_comments | Whether to post inline comments to the PR (requires the reviewer to output a structured JSON file). | no | true |
| submit_review_action | Whether to allow the AI to submit "approve/reject" actions or force it to only "comment". Options: "true" (allow approve/reject), "false" (force to "comment"). | no | false |
| delete_old_comments | Whether to delete previous bot-authored inline comments before posting a new review to keep the PR clean. | no | true |
| mcp_config | Path to an mcp.json file configuring custom tools for the reviewer | no | "" |
| ignored_lock_files | Multiline string where each line is a lock file to ignore (overrides default) | no | "" |
| allow_url_fetch | Whether to allow the AI to fetch external URLs using the mcp-server-fetch tool (requires uvx to be installed). | no | false |
| max_tokens | Max tokens for the LLM response | no | — |
| provider_options_file | Path to a JSON file containing provider-specific options | no | "" |
Outputs
| name | description |
|---|---|
| review_file | Path to the generated markdown review file. |
| json_file | Path to the structured JSON review file (only set when the JSON file was successfully created). |
| approved | The approval action from the review: APPROVE, REQUEST_CHANGES, or COMMENT. |
| review_rationale | The high-level rationale for the approval decision. |
| metrics_file | Path to the session metrics JSON file. |