Send a file to Gemini CLI for structured code analysis. Use when you need security audits, performance reviews, architecture analysis, or bug detection.
Sends files to Gemini CLI for structured code analysis across security, performance, architecture, and bugs.
/plugin marketplace add melodic-software/claude-code-plugins/plugin install claude-ecosystem@melodic-software<file-path> [analysis-type: security|performance|architecture|bugs]Send a file to Gemini CLI for structured analysis.
npm install -g @anthropic-ai/gemini-cli or brew install gemini-cli)/google-ecosystem:gemini-analyze <file-path> [analysis-type]
$1 (required): File path to analyze$2 (optional): Analysis type - defaults to "general"
security - Security vulnerabilities and risksperformance - Performance issues and optimizationsarchitecture - Design patterns and structurebugs - Potential bugs and edge casesgeneral - Overall code review/google-ecosystem:gemini-analyze src/auth.ts security/google-ecosystem:gemini-analyze lib/utils.py performance/google-ecosystem:gemini-analyze app/main.go architecture/google-ecosystem:gemini-analyze index.js bugs/google-ecosystem:gemini-analyze config.yaml (defaults to general)Check that the file exists and is readable:
if [ ! -f "$1" ]; then
echo "Error: File not found: $1"
exit 1
fi
analysis_type="${2:-general}"
Create analysis-specific prompts:
case "$analysis_type" in
security)
prompt="Security audit this code. Identify:
1. Authentication/authorization vulnerabilities
2. Input validation issues
3. Injection vulnerabilities (SQL, XSS, command)
4. Sensitive data exposure
5. Cryptographic weaknesses
Rate each finding: CRITICAL, HIGH, MEDIUM, LOW"
;;
performance)
prompt="Performance review this code. Identify:
1. Algorithmic inefficiencies
2. Memory leaks or excessive allocation
3. Unnecessary operations
4. Missing caching opportunities
5. N+1 query patterns
Estimate impact: HIGH, MEDIUM, LOW"
;;
architecture)
prompt="Architecture review this code. Analyze:
1. Design patterns used
2. SOLID principles adherence
3. Separation of concerns
4. Dependency management
5. Extensibility and maintainability
Provide recommendations for improvement"
;;
bugs)
prompt="Bug hunt in this code. Look for:
1. Logic errors
2. Off-by-one errors
3. Null/undefined handling
4. Race conditions
5. Edge cases not handled
6. Type mismatches
Rate likelihood: LIKELY, POSSIBLE, UNLIKELY"
;;
*)
prompt="General code review. Evaluate:
1. Code quality and readability
2. Best practices adherence
3. Potential issues
4. Improvement suggestions"
;;
esac
result=$(cat "$1" | gemini "$prompt" --output-format json -m gemini-2.5-flash)
Note: Gemini CLI outputs plain text by default, not JSON. The jq parsing below is for reference if using JSON output mode. For standard usage, treat the entire output as the response.
response=$(echo "$result" | jq -r '.response // "Analysis failed"')
tokens=$(echo "$result" | jq '.stats.models | to_entries | map(.value.tokens.total) | add // 0')
model=$(echo "$result" | jq -r '.stats.models | keys[0] // "unknown"')
Present findings in structured format:
# Gemini Analysis: {filename}
**Type**: {analysis_type}
**Model**: {model}
**Tokens**: {tokens}
---
{response}
---
*Analysis by Gemini CLI*