Skip to content
ev ev docs

EV DOCUMENTATION

Choose a review scope

View Markdown

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.

This is the usual choice for reviewing work before it is merged:

Terminal window
git fetch origin --quiet
ev 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.

Use --from when the ref itself—not its merge base—should be the starting point:

Terminal window
ev review --from origin/release --desktop

This compares the current workspace, including committed and local changes, directly with origin/release.

Use working-copy mode for a focused pass over changes since HEAD:

Terminal window
ev review --working-copy --desktop

This deliberately excludes earlier commits on the branch.

Review one commit against its parent:

Terminal window
ev review --commit 4f31c2a --desktop

Or review an exact committed range:

Terminal window
ev review --from HEAD~5 --to HEAD --desktop

An 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.

EV can read a unified diff produced by another tool:

Terminal window
git diff HEAD~5..HEAD -- '*.ts' | ev review --stdin --stream --auto

Prefer 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.

Scope options choose the underlying change. These options then control how EV reviews it:

OptionPurpose
--include "src/**"Review only matching paths
--exclude "**/*.generated.ts"Skip matching paths
--skill security-auditRun a specific review skill
--autoSelect skills from the changed files
--instructions "Focus on auth"Add guidance for the reviewer

For example:

Terminal window
ev review -b origin/main --stream --auto --exclude '**/*.generated.ts'