EV can review the current state of your work or an exact piece of history. Choose the scope that matches the question you want the review to answer.
Run ev review without a scope option to choose interactively. Add --desktop to inspect and curate the result in Desktop, or --stream --auto for an agent-friendly automated run.
Compare your work with its base branch
Section titled “Compare your work with its base branch”This is the usual choice for reviewing work before it is merged:
git fetch origin --quietev review -b origin/main --desktop-b origin/main finds the merge base between the current work and origin/main, then reviews the current workspace from that point. This captures the branch as a whole, including committed and local changes, without treating newer upstream commits as part of your work.
Replace origin/main with the remote and base branch your repository uses. Prefer a freshly fetched remote ref over a possibly stale local branch.
Compare your work with an exact ref
Section titled “Compare your work with an exact ref”Use --from when the ref itself—not its merge base—should be the starting point:
ev review --from origin/release --desktopThis compares the current workspace, including committed and local changes, directly with origin/release.
Review only uncommitted changes
Section titled “Review only uncommitted changes”Use working-copy mode for a focused pass over changes since HEAD:
ev review --working-copy --desktopThis deliberately excludes earlier commits on the branch.
Review a commit or committed range
Section titled “Review a commit or committed range”Review one commit against its parent:
ev review --commit 4f31c2a --desktopOr review an exact committed range:
ev review --from HEAD~5 --to HEAD --desktopAn exact range does not include local, uncommitted changes.
Git and jj revision syntax are both supported. For example, a jj repository can use ev review --commit @~3.
Supply a diff
Section titled “Supply a diff”EV can read a unified diff produced by another tool:
git diff HEAD~5..HEAD -- '*.ts' | ev review --stdin --stream --autoPrefer EV’s branch, ref, commit, or range options when possible. They let EV derive the diff and retain the intended VCS scope. Use --stdin when another system already owns diff generation or when its filtering cannot be expressed with EV’s scope options.
With a supplied diff, you are responsible for generating the correct content. An empty input fails instead of creating an empty review.
Narrow the review
Section titled “Narrow the review”Scope options choose the underlying change. These options then control how EV reviews it:
| Option | Purpose |
|---|---|
--include "src/**" | Review only matching paths |
--exclude "**/*.generated.ts" | Skip matching paths |
--skill security-audit | Run a specific review skill |
--auto | Select skills from the changed files |
--instructions "Focus on auth" | Add guidance for the reviewer |
For example:
ev review -b origin/main --stream --auto --exclude '**/*.generated.ts'