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: