Improved docs
This commit is contained in:
165
docs/tools/analyze.md
Normal file
165
docs/tools/analyze.md
Normal file
@@ -0,0 +1,165 @@
|
||||
# Analyze Tool - Smart File Analysis
|
||||
|
||||
**General-purpose code understanding and exploration**
|
||||
|
||||
The `analyze` tool provides comprehensive code analysis and understanding capabilities, helping you explore codebases, understand architecture, and identify patterns across files and directories.
|
||||
|
||||
## Thinking Mode
|
||||
|
||||
**Default is `medium` (8,192 tokens).** Use `high` for architecture analysis (comprehensive insights worth the cost) or `low` for quick file overviews (save ~6k tokens).
|
||||
|
||||
## Example Prompts
|
||||
|
||||
**Basic Usage:**
|
||||
```
|
||||
"Use gemini to analyze main.py to understand how it works"
|
||||
"Get gemini to do an architecture analysis of the src/ directory"
|
||||
```
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Analyzes single files or entire directories** with intelligent file filtering
|
||||
- **Supports specialized analysis types**: architecture, performance, security, quality, general
|
||||
- **Uses file paths (not content) for clean terminal output** while processing full content
|
||||
- **Can identify patterns, anti-patterns, and refactoring opportunities**
|
||||
- **Large codebase support**: Handle massive codebases with 1M token context models
|
||||
- **Cross-file relationship mapping**: Understand dependencies and interactions
|
||||
- **Architecture visualization**: Describe system structure and component relationships
|
||||
- **Image support**: Analyze architecture diagrams, UML charts, flowcharts: `"Analyze this system diagram with gemini to understand the data flow and identify bottlenecks"`
|
||||
- **Web search capability**: When enabled with `use_websearch` (default: true), the model can request Claude to perform web searches and share results back to enhance analysis with current documentation, design patterns, and best practices
|
||||
|
||||
## Tool Parameters
|
||||
|
||||
- `files`: Files or directories to analyze (required, absolute paths)
|
||||
- `prompt`: What to analyze or look for (required)
|
||||
- `model`: auto|pro|flash|o3|o3-mini|o4-mini|o4-mini-high|gpt4.1 (default: server default)
|
||||
- `analysis_type`: architecture|performance|security|quality|general (default: general)
|
||||
- `output_format`: summary|detailed|actionable (default: detailed)
|
||||
- `temperature`: Temperature for analysis (0-1, default 0.2)
|
||||
- `thinking_mode`: minimal|low|medium|high|max (default: medium, Gemini only)
|
||||
- `use_websearch`: Enable web search for documentation and best practices (default: true)
|
||||
- `continuation_id`: Continue previous analysis sessions
|
||||
|
||||
## Analysis Types
|
||||
|
||||
**General Analysis (default):**
|
||||
- Overall code structure and organization
|
||||
- Key components and their responsibilities
|
||||
- Data flow and control flow
|
||||
- Design patterns and architectural decisions
|
||||
|
||||
**Architecture Analysis:**
|
||||
- System-level design and component relationships
|
||||
- Module dependencies and coupling
|
||||
- Separation of concerns and layering
|
||||
- Scalability and maintainability considerations
|
||||
|
||||
**Performance Analysis:**
|
||||
- Potential bottlenecks and optimization opportunities
|
||||
- Algorithmic complexity assessment
|
||||
- Memory usage patterns
|
||||
- I/O and database interaction efficiency
|
||||
|
||||
**Security Analysis:**
|
||||
- Security patterns and potential vulnerabilities
|
||||
- Input validation and sanitization
|
||||
- Authentication and authorization mechanisms
|
||||
- Data protection and privacy considerations
|
||||
|
||||
**Quality Analysis:**
|
||||
- Code quality metrics and maintainability
|
||||
- Testing coverage and patterns
|
||||
- Documentation completeness
|
||||
- Best practices adherence
|
||||
|
||||
## Usage Examples
|
||||
|
||||
**Single File Analysis:**
|
||||
```
|
||||
"Analyze user_controller.py to understand the authentication flow with gemini"
|
||||
```
|
||||
|
||||
**Directory Architecture Analysis:**
|
||||
```
|
||||
"Use pro to analyze the src/ directory architecture and identify the main components"
|
||||
```
|
||||
|
||||
**Performance-Focused Analysis:**
|
||||
```
|
||||
"Analyze backend/api/ for performance bottlenecks with o3, focus on database queries"
|
||||
```
|
||||
|
||||
**Security Assessment:**
|
||||
```
|
||||
"Use gemini pro to analyze the authentication module for security patterns and potential issues"
|
||||
```
|
||||
|
||||
**Visual + Code Analysis:**
|
||||
```
|
||||
"Analyze this system architecture diagram along with the src/core/ implementation to understand the data flow"
|
||||
```
|
||||
|
||||
**Large Codebase Analysis:**
|
||||
```
|
||||
"Analyze the entire project structure with gemini pro to understand how all components work together"
|
||||
```
|
||||
|
||||
## Output Formats
|
||||
|
||||
**Summary Format:**
|
||||
- High-level overview with key findings
|
||||
- Main components and their purposes
|
||||
- Critical insights and recommendations
|
||||
|
||||
**Detailed Format (default):**
|
||||
- Comprehensive analysis with specific examples
|
||||
- Code snippets and file references
|
||||
- Detailed explanations of patterns and structures
|
||||
|
||||
**Actionable Format:**
|
||||
- Specific recommendations and next steps
|
||||
- Prioritized list of improvements
|
||||
- Implementation guidance and examples
|
||||
|
||||
## Best Practices
|
||||
|
||||
- **Be specific about goals**: Clearly state what you want to understand or discover
|
||||
- **Use appropriate analysis types**: Choose the type that matches your needs
|
||||
- **Include related files**: Analyze modules together for better context understanding
|
||||
- **Leverage large context models**: Use Gemini Pro for comprehensive codebase analysis
|
||||
- **Combine with visual context**: Include architecture diagrams or documentation
|
||||
- **Use continuation**: Build on previous analysis for deeper understanding
|
||||
|
||||
## Advanced Features
|
||||
|
||||
**Large Codebase Support:**
|
||||
With models like Gemini Pro (1M context), you can analyze extensive codebases:
|
||||
```
|
||||
"Analyze the entire microservices architecture across all service directories"
|
||||
```
|
||||
|
||||
**Cross-File Relationship Mapping:**
|
||||
Understand how components interact across multiple files:
|
||||
```
|
||||
"Analyze the data processing pipeline across input/, processing/, and output/ directories"
|
||||
```
|
||||
|
||||
**Pattern Recognition:**
|
||||
Identify design patterns, anti-patterns, and architectural decisions:
|
||||
```
|
||||
"Analyze src/ to identify all design patterns used and assess their implementation quality"
|
||||
```
|
||||
|
||||
**Web Search Enhancement:**
|
||||
The tool can recommend searches for current best practices and documentation:
|
||||
```
|
||||
After analysis: "Recommended searches for Claude: 'FastAPI async best practices 2024', 'SQLAlchemy ORM performance optimization patterns'"
|
||||
```
|
||||
|
||||
## When to Use Analyze vs Other Tools
|
||||
|
||||
- **Use `analyze`** for: Understanding code structure, exploring unfamiliar codebases, architecture assessment
|
||||
- **Use `codereview`** for: Finding bugs and security issues with actionable fixes
|
||||
- **Use `debug`** for: Diagnosing specific runtime errors or performance problems
|
||||
- **Use `refactor`** for: Getting specific refactoring recommendations and implementation plans
|
||||
- **Use `chat`** for: Open-ended discussions about code without structured analysis
|
||||
Reference in New Issue
Block a user