Batch Operations
Process multiple files, directories, or tasks efficiently using Gemini CLI's batch operation capabilities.
Basic Batch Operations
Process multiple files:
gemini batch "*.js" "Add JSDoc comments to this file"
gemini batch src/**/*.ts "Review this TypeScript file"
Batch file analysis:
gemini analyze --batch "*.py" "Find potential bugs"
gemini check --all "Check for code quality issues"
Directory-wide operations:
gemini process --dir src/ "Generate unit tests"
gemini transform --recursive "Convert to ES6 modules"
File Pattern Matching
Glob Patterns
# All JavaScript files
gemini batch "*.js" "Add error handling"
# Recursive pattern
gemini batch "**/*.py" "Add type hints"
# Multiple extensions
gemini batch "*.{js,ts,jsx,tsx}" "Optimize imports"
# Exclude patterns
gemini batch "src/**/*.js" --exclude "*.test.js" "Document functions"
Advanced Filtering
# Filter by file size
gemini batch --max-size 1MB "*.log" "Analyze log patterns"
# Filter by modification time
gemini batch --newer-than 7d "*.js" "Check recent changes"
# Filter by content
gemini batch --contains "TODO" "*.md" "Summarize TODO items"
Parallel Processing
Control concurrency:
# Default parallel processing
gemini batch --parallel "*.js" "Review code"
# Limit concurrent operations
gemini batch --parallel --max-workers 4 "*.py" "Add docstrings"
# Sequential processing
gemini batch --sequential "*.md" "Proofread content"
Progress monitoring:
gemini batch --progress "*.js" "Analyze complexity"
gemini batch --verbose --stats "*.py" "Generate docs"
Batch Operation Templates
Code Quality Templates
# Code review template
gemini batch "src/**/*.js" --template code-review
# Security audit template
gemini batch "*.py" --template security-check
# Performance analysis template
gemini batch "*.ts" --template performance-review
Documentation Templates
# API documentation
gemini batch "api/**/*.js" --template api-docs
# README generation
gemini batch "*/README.md" --template readme-update
# Changelog generation
gemini batch --git-diff --template changelog
Custom Templates
# Create custom template
gemini template create my-review "Review this code for: {criteria}"
# Use custom template
gemini batch "*.js" --template my-review --criteria "bugs,performance"
Output Management
Output Formats
# Individual file outputs
gemini batch "*.js" --output-per-file "Review code"
# Combined report
gemini batch "*.py" --output combined.md "Analyze code"
# JSON summary
gemini batch "*.ts" --output-json results.json "Find issues"
Result Organization
# Organize by file
gemini batch --group-by file "*.js" "Document functions"
# Organize by category
gemini batch --group-by category "*.py" "Find issues"
# Sort results
gemini batch --sort-by severity "*.ts" "Security review"
Error Handling and Recovery
Error handling strategies:
# Continue on errors
gemini batch --continue-on-error "*.js" "Process files"
# Retry failed operations
gemini batch --retry 3 "*.py" "Complex analysis"
# Fail fast
gemini batch --fail-fast "*.ts" "Critical validation"
Resume interrupted operations:
# Save progress
gemini batch --save-progress batch.state "*.js" "Long operation"
# Resume from checkpoint
gemini batch --resume batch.state
Practical Examples
Code Migration
# Convert CommonJS to ES6 modules
gemini batch "src/**/*.js" "Convert require() statements to import/export"
# Update deprecated API calls
gemini batch "*.js" "Replace deprecated jQuery methods with modern alternatives"
Documentation Generation
# Generate function documentation
gemini batch "src/**/*.py" "Add comprehensive docstrings to all functions"
# Create API documentation
gemini batch "api/*.js" --output docs/api.md "Generate API documentation"
Quality Assurance
# Security vulnerability scan
gemini batch "**/*.js" "Identify potential security vulnerabilities"
# Performance optimization
gemini batch "src/**/*.ts" "Suggest performance optimizations"
Test Generation
# Generate unit tests
gemini batch "src/**/*.js" --output "tests/" "Generate comprehensive unit tests"
# Create integration tests
gemini batch "api/**/*.py" "Generate integration test scenarios"
Best Practices
✅ Do
- • Test batch operations on a small subset first
- • Use version control before large batch operations
- • Monitor resource usage during large batches
- • Use specific file patterns to avoid unwanted files
- • Save progress for long-running operations
❌ Don't
- • Run batch operations on critical files without backups
- • Use overly broad patterns that include system files
- • Ignore error messages and warnings
- • Run too many concurrent operations on limited resources
- • Skip validation of results
Next Steps
Ready to explore more advanced Gemini CLI capabilities: