Complete command-line interface reference with examples for every command and option.
- Global Options
- evaluate Command
- batch-evaluate Command
- generate-okr Command
- config Command
- Exit Codes
- Examples
These options work with all commands:
codewave [command] [options]Display help information.
codewave --help # General help
codewave evaluate --help # Command-specific helpDisplay CodeWave version.
codewave --version
# Output: 1.0.0Evaluate a single commit with comprehensive multi-agent analysis.
codewave evaluate <commit-hash> [options]Git commit reference to evaluate. Can be:
- Commit hash:
abc1234,abc1234567890 - Reference:
HEAD,main,develop - Branch name:
feature/auth-system - Tag:
v1.2.3 - Relative:
HEAD~1,HEAD~5
Examples:
codewave evaluate HEAD # Latest commit
codewave evaluate abc1234 # Specific commit
codewave evaluate feature/new-feature # Latest on branch
codewave evaluate HEAD~1 # Previous commitOutput directory for evaluation results.
Type: String (file path)
Default: .evaluated-commits
codewave evaluate HEAD -o ./reports
codewave evaluate HEAD --output ./my-analysisPath to Git repository.
Type: String (file path) Default: Current directory
codewave evaluate HEAD --repo /path/to/repoOutput format(s).
Type: json, html, markdown, all
Default: all
codewave evaluate HEAD --format json # JSON only
codewave evaluate HEAD -f html # HTML only
codewave evaluate HEAD --format markdown # Markdown only
codewave evaluate HEAD -f all # All formatsEnable verbose logging.
Type: Boolean flag Default: false
codewave evaluate HEAD --verboseVerbose Output Includes:
- Agent prompts and reasoning
- Token counts per API call
- Timing for each stage
- Full LLM responses
- Error details
Skip HTML report generation.
Type: Boolean flag Default: false
codewave evaluate HEAD --no-report # Generate only JSON/textUseful when:
- Running in headless environments
- Generating only for CI/CD
- Large batch processing (faster)
Override configured LLM model.
Type: String (model ID) Default: Configured value
codewave evaluate HEAD --model claude-3-opus-20250219
codewave evaluate HEAD --model gpt-4oCommon Models:
claude-3-5-sonnet-20241022(Anthropic, recommended)claude-3-opus-20250219(Anthropic, best quality)claude-3-haiku-20240307(Anthropic, fastest)gpt-4o(OpenAI)gpt-4-turbo(OpenAI)gemini-2.0-flash(Google)
β Evaluation completed in 2.3s
Results saved to: .evaluated-commits/abc1234_2024-01-15_10-30-45/
Files:
β’ report.html - Interactive HTML report
β’ results.json - Structured results
β’ commit.diff - Original diff
β’ summary.txt - Text summary
Metrics:
Code Quality: 8.5 / 10
Complexity: 7.0 / 10
Test Coverage: 8.0 / 10
Overall Score: 8.1 / 10
Next: Open report.html in your browser to view conversation timeline
- 0: Success
- 1: Evaluation failed
- 2: Invalid arguments
- 3: Commit not found
- 4: Configuration error
Evaluate multiple commits with progress tracking.
codewave batch-evaluate [options]Number of commits to evaluate.
Type: Positive integer
Default: 10
Max: 1000
codewave batch-evaluate --count 5 # Last 5 commits
codewave batch-evaluate --count 100 # Last 100 commitsStart date for commit range.
Type: ISO date string or natural language
Default: null (no start limit)
Formats:
# ISO format
codewave batch-evaluate --since 2024-01-01
# Natural language
codewave batch-evaluate --since "2 weeks ago"
codewave batch-evaluate --since "January 1, 2024"
# With end date
codewave batch-evaluate --since 2024-01-01 --until 2024-01-31End date for commit range.
Type: ISO date string or natural language
Default: null (current date)
codewave batch-evaluate --until 2024-12-31
codewave batch-evaluate --until "today"Branch to evaluate commits from.
Type: String (branch name) Default: Current branch
codewave batch-evaluate --branch main # Commits on main
codewave batch-evaluate --branch develop # Commits on developOutput directory for results.
Type: String (file path)
Default: .evaluated-commits
codewave batch-evaluate -o ./batch-reportsNumber of parallel evaluations.
Type: Integer (1-5)
Default: 3
codewave batch-evaluate --parallel 1 # Sequential (slow, low cost)
codewave batch-evaluate --parallel 3 # Balanced (default)
codewave batch-evaluate --parallel 5 # Maximum (fast, high cost)Considerations:
- 1: Slow but reliable, minimal rate-limit issues
- 3: Good balance (default)
- 5: Fast but may hit rate limits
Continue processing on errors instead of halting.
Type: Boolean flag Default: false
codewave batch-evaluate --skip-errors --count 100If a commit evaluation fails:
- Without flag: Batch stops immediately
- With flag: Logs error and continues
Enable verbose logging.
Type: Boolean flag Default: false
codewave batch-evaluate --count 50 --verboseDisplays detailed information about:
- Each commit being evaluated
- Token usage per commit
- Estimated costs
- Processing times
During batch evaluation, real-time progress is displayed:
CodeWave - Batch Evaluation
============================
Evaluating commits...
[βββββββββββββββββββββββββββββββ] 65% (65/100)
Current: abc1234 - "feat: add user auth"
Elapsed: 2m 34s | ETA: 1m 20s
Metrics:
β Successful: 65
β Failed: 0
β Skipped: 0
Avg Quality: 7.8 / 10
Avg Coverage: 7.5 / 10
Performance:
Avg Time: 2.3s / commit
Tokens: 18,450 / 100,000
Cost: $0.45 / 5.00
.evaluated-commits/
βββ abc1234_2024-01-15_10-30-45/
β βββ report.html
β βββ results.json
β βββ commit.diff
β βββ summary.txt
βββ def5678_2024-01-15_10-33-12/
β βββ report.html
β βββ results.json
β βββ commit.diff
β βββ summary.txt
βββ batch-summary.json
After completion, a summary is displayed:
β Batch evaluation completed!
Summary:
β’ Total: 100 commits
β’ Successful: 100
β’ Failed: 0
β’ Duration: 3m 52s
β’ Avg Time: 2.3s per commit
Quality:
β’ Avg Quality Score: 7.8 / 10
β’ Avg Complexity: 7.0 / 10
β’ Avg Test Coverage: 7.5 / 10
Cost:
β’ Total Tokens: 456,000
β’ Estimated Cost: $2.30
Results:
β’ Output Directory: .evaluated-commits/
β’ Summary Report: batch-summary.json
Generate Objectives and Key Results (OKRs) for developers based on their commit history.
codewave generate-okr [options]Comma-separated list of author names to generate OKRs for.
Type: String Default: All authors found in evaluation data
codewave generate-okr --authors "John Doe,Jane Smith"Number of months of history to analyze.
Type: Integer
Default: 3
codewave generate-okr --months 6Number of parallel generations.
Type: Integer
Default: 2
codewave generate-okr --concurrency 4Override the LLM model used for generation.
Type: String
codewave generate-okr --model gpt-4oManage CodeWave configuration.
codewave config [subcommand] [options]codewave configLaunches interactive wizard for configuration:
- Choose LLM provider
- Enter API key
- Select model
- Configure output directory
- Set batch size
- Enable/disable RAG
Display current configuration.
codewave config showOutput:
CodeWave Configuration
=====================
LLM Provider: anthropic
Model: claude-3-5-sonnet-20241022
API Key: sk-ant-... (masked)
Output Directory: .evaluated-commits
Batch Size: 10
Parallel: 3
Max Tokens: 4000
Enable RAG: true
RAG Chunk Size: 2000
Verbose: false
Set a specific configuration value.
codewave config set <key> <value>Common Keys:
codewave config set llm-provider anthropic
codewave config set model claude-3-5-sonnet-20241022
codewave config set api-key sk-ant-...
codewave config set output-directory ./reports
codewave config set batch-size 20
codewave config set parallel-evaluations 5
codewave config set max-tokens 6000
codewave config set enable-rag true
codewave config set verbose falseReset configuration to defaults.
codewave config resetWarning: Removes API keys. You'll need to reconfigure.
| Code | Meaning | Solution |
|---|---|---|
0 |
Success | No action needed |
1 |
General failure | Check error message |
2 |
Invalid arguments | Verify syntax with --help |
3 |
Commit not found | Check commit hash/reference |
4 |
Configuration error | Run codewave config |
5 |
API authentication failed | Verify API key with codewave config show |
6 |
Rate limit exceeded | Reduce parallelization |
7 |
Network error | Check internet connection |
8 |
File system error | Check permissions on output directory |
# Evaluate current commit
codewave evaluate HEAD
# Output appears in .evaluated-commits/
# Open report.html in browser# Evaluate commit on develop branch
codewave evaluate develop
# With verbose output
codewave evaluate develop --verbose# Save to custom directory
codewave evaluate HEAD -o ./my-reports
# Save with specific format
codewave evaluate HEAD -f json -o ./ci-reports# Commits from last 7 days
codewave batch-evaluate --since "7 days ago"
# With verbose progress
codewave batch-evaluate --since "7 days ago" --verbose# January 2024
codewave batch-evaluate \
--since 2024-01-01 \
--until 2024-01-31 \
--parallel 5
# With custom output
codewave batch-evaluate \
--since 2024-01-01 \
--until 2024-01-31 \
-o ./january-analysis# Last 20 commits on develop branch
codewave batch-evaluate \
--branch develop \
--count 20
# With maximum parallelization
codewave batch-evaluate \
--branch main \
--count 100 \
--parallel 5# JSON output for programmatic access
codewave evaluate $CI_COMMIT_SHA \
--format json \
-o ./ci-results \
--no-report # Skip HTML
# Check results
cat ./ci-results/*/results.json | jq '.metrics.codeQuality'# Continue on errors
codewave batch-evaluate \
--count 100 \
--skip-errors \
--verbose
# Check what failed
grep "β" batch-summary.json# Use cheaper model for speed
codewave evaluate HEAD --model claude-3-haiku-20240307
# Use best quality model
codewave evaluate HEAD --model claude-3-opus-20250219
# Use Google Gemini
codewave config set llm-provider google
codewave config set model gemini-2.0-flash
codewave evaluate HEAD# Enable verbose mode for debugging
codewave evaluate HEAD --verbose
# See detailed output including:
# - Agent prompts
# - Token usage
# - Timing
# - Full LLM responsesAdd to .bashrc:
complete -W "evaluate batch-evaluate config" codewaveAdd to .zshrc:
compdef _gnu_generic codewave# Use fast model
codewave evaluate HEAD --model claude-3-haiku-20240307
# Skip HTML report generation
codewave evaluate HEAD --no-report
# Use JSON format only
codewave evaluate HEAD --format json# Use best model
codewave evaluate HEAD --model claude-3-opus-20250219
# Enable verbose for debugging
codewave evaluate HEAD --verbose# Use Google Gemini (10x cheaper)
codewave config set llm-provider google
codewave config set model gemini-2.0-flash
# Process in parallel
codewave batch-evaluate --count 1000 --parallel 5# Show configuration
codewave config show
# Run with verbose output
codewave evaluate HEAD --verbose
# Check specific commit
codewave evaluate abc1234 --verboseFor more information:
- README.md - Main documentation
- QUICK_REFERENCE.md - Quick lookup
- CONFIGURATION.md - Detailed configuration
- EXAMPLES.md - Detailed examples