---
name: gemini-large-context
description: Use when analyzing large codebases, comparing multiple files, or researching project-wide patterns that exceed typical context limits - leverages Gemini CLI's 1M token context window for comprehensive analysis
---

# Gemini CLI Large Context Analysis

## Overview

Use Gemini CLI's massive context window (1M tokens) when analysis requires more context than available in current session. Ideal for codebase-wide searches, multi-file comparisons, and pattern discovery across large projects.

## When to Use

- Analyzing entire codebases or large directories (100KB+)
- Comparing multiple large files simultaneously
- Understanding project-wide patterns or architecture
- Context window insufficient for current task
- Verifying feature implementations across codebase
- Research that needs to scan many files at once

## Quick Reference

```bash
# Basic non-interactive analysis
gemini -p "@src/ Summarize architecture"

# Multiple directories
gemini -p "@src/ @tests/ Analyze test coverage"

# All project files
gemini --all-files -p "Project overview"

# Specific model (Pro = 1M context)
gemini -m gemini-2.5-pro -p "@src/ Deep analysis"
```

## File/Directory Inclusion Syntax

```bash
# Single file
gemini -p "@src/main.py Explain this file"

# Multiple files
gemini -p "@package.json @src/index.js Analyze dependencies"

# Entire directory (recursive)
gemini -p "@src/ Summarize architecture"

# Multiple directories
gemini -p "@src/ @tests/ Analyze test coverage"

# Current directory
gemini -p "@./ Project overview"

# Alternative: all files flag
gemini --all-files -p "Analyze project structure"
```

## Research Patterns

### Architecture Analysis

```bash
gemini -p "@src/
Describe:
1. Overall architecture pattern (MVC, Clean, etc.)
2. Key modules and their responsibilities
3. Data flow between components
4. External dependencies and integrations"
```

### Feature Implementation Check

```bash
gemini -p "@src/ @lib/
Has [FEATURE] been implemented?
Show:
- Relevant files and functions
- Implementation approach
- Any gaps or incomplete areas"
```

### Pattern Discovery

```bash
gemini -p "@src/
Find all instances of [PATTERN]:
- File paths
- Implementation variations
- Consistency assessment"
```

### Security Audit

```bash
gemini -p "@src/ @api/
Security review:
- Input validation practices
- Authentication/authorization patterns
- SQL injection protections
- XSS prevention measures"
```

### Test Coverage Analysis

```bash
gemini -p "@src/ @tests/
Assess test coverage:
- Which modules have tests?
- Which are missing tests?
- Test quality (unit vs integration)
- Edge cases covered"
```

## Integration with OpenCode Workflow

### For Task-Constrained Research

When researching within task boundaries:

```bash
# 1. Include bead spec in context
gemini -p "@src/ @.beads/artifacts/bd-xxx/spec.md
Research implementations matching spec constraints"

# 2. Save findings to bead artifacts
# Write to .beads/artifacts/bd-xxx/research.md
```

### Delegating Large Research to Gemini

In AGENTS.md or prompts, instruct agents:

```markdown
When analysis requires more than 100KB of files:

1. Use Gemini CLI: `gemini -p "@[paths] [question]"`
2. Capture output
3. Synthesize findings in response
```

## Output Options

```bash
# Plain text (default)
gemini -p "query"

# JSON for parsing
gemini -p "query" --output-format json

# Streaming for long ops
gemini -p "query" --output-format stream-json
```

## Common Research Queries

- **Architecture overview:** `gemini -p "@src/ Describe architecture"`
- **Find implementations:** `gemini -p "@src/ Where is [X] implemented?"`
- **Pattern audit:** `gemini -p "@src/ Find all [pattern] usages"`
- **Dependency analysis:** `gemini -p "@package.json @src/ Analyze dependency usage"`
- **Code quality:** `gemini -p "@src/ Identify code smells"`
- **Migration planning:** `gemini -p "@src/ Plan migration from [A] to [B]"`

## Configuration

### Authentication

```bash
# Google login (free tier: 60 req/min, 1000/day)
gemini  # Follow OAuth flow

# Or API key
export GEMINI_API_KEY="your-key"
```

### Model Selection

For most analysis tasks, **`gemini-2.5-pro`** is the best choice—it has a 1M token context window and handles code, text, and image analysis exceptionally well. This is the default model.

Use **`gemini-2.5-flash`** when you need faster responses and don't need the full context window.

**Important:** If you're analyzing images or screenshots, use `gemini-2.5-pro`. Image generation models like `imagen-3.0-generate-002` are for _creating_ new images, not understanding existing ones.

```bash
# Gemini 2.5 Pro (1M context) - default, best for analysis
gemini -p "query"

# Gemini Flash (faster, smaller context)
gemini -m gemini-2.5-flash -p "query"
```

## Best Practices

1. **Scope appropriately** - Include only relevant directories
2. **Be specific** - Ask focused questions, not vague queries
3. **Use for read-only analysis** - Don't ask Gemini to modify files in non-interactive mode
4. **Capture output** - Redirect to file for long analyses: `gemini -p "..." > analysis.md`
5. **Combine with local tools** - Use Gemini for research, local tools for implementation

## Limitations

- Non-interactive mode: no tool approvals (file writes, shell commands)
- `@file` syntax: best in interactive mode
- Network dependency: requires internet connection
- Rate limits: 60 req/min free tier
