You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 8d1eb94
Browse filesBrowse the repository at this point in the historyBrowse files
|`--fail-on <level>`| Fail on issues at or above BLOCKER, CRITICAL, MAJOR, MINOR, or INFO (default: CRITICAL) |
139
+
|`--include <patterns>`| Comma-separated glob patterns to include files |
140
+
|`--exclude <patterns>`| Comma-separated glob patterns to exclude files |
141
+
|`--headless`| Print JSON with no spinners (for agents and CI) |
142
+
143
+
`--base` and `--base-commit` take precedence over the other scope flags. They compare the base against your working tree, so staged, unstaged, and untracked files are reviewed along with commits. Files ignored by `.gitignore` are never reviewed. The same applies to `secrets`.
144
+
145
+
**Examples:**
146
+
147
+
```bash
148
+
# Review everything on your branch since it left main, including uncommitted and new files
149
+
codeant review --base main
150
+
151
+
# Review only uncommitted work
152
+
codeant review --uncommitted
153
+
154
+
# CI: fail on MAJOR or worse, JSON output
155
+
codeant review --base main --fail-on MAJOR --headless
Copy file name to clipboardExpand all lines: changelog.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
1
# Changelog
2
2
3
+
## [0.5.12] - 13/10/2026
4
+
-`review` / `secrets` with `--base` or `--base-commit` now include staged, unstaged, and untracked files (respecting `.gitignore`), not just commits. Previously `review --all --base main` silently skipped new files
5
+
- With `--base` / `--base-commit`, file content is read from the working tree so it matches the reviewed diff
6
+
- Help text, the README, and the MCP `codeant_review_local` parameters describe what `--base` / `--base-commit` include and that they take precedence over the other scope flags; the README gains a `review` section and corrects the `secrets` scope options
7
+
3
8
## [0.5.11] - 05/10/2026
4
9
-`codeant login` shows every status check with the HTTP response, login status, or request error, while masking the token in request diagnostics
Copy file name to clipboardExpand all lines: src/index.js
+8-4Lines changed: 8 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -72,8 +72,8 @@ program
72
72
.option('--staged','Scan only staged files')
73
73
.option('--last-commit','Scan last commit')
74
74
.option('--last-n-commits <n>','Scan last n commits (max 5)',toCount)
75
-
.option('--base <branch>','Compare against a specific base branch (e.g. --base develop)')
76
-
.option('--base-commit <commit>','Compare against a specific commit (e.g. --base-commit HEAD~3)')
75
+
.option('--base <branch>','Scan committed + uncommitted + untracked changes since the merge-base with a branch (e.g. --base develop). Takes precedence over the other scope flags')
76
+
.option('--base-commit <commit>','Scan committed + uncommitted + untracked changes since a commit (e.g. --base-commit HEAD~3). Takes precedence over the other scope flags')
77
77
.option('--include <paths>','Comma-separated list of file paths glob patterns to include')
78
78
.option('--exclude <paths>','Comma-separated list of file paths glob patterns to exclude')
79
79
.option('--hook','Running from pre-commit hook (enables bypass prompt)')
@@ -83,6 +83,8 @@ program
83
83
letbaseBranch=null;
84
84
letbaseCommit=null;
85
85
86
+
// Precedence: --base > --base-commit > other scope flags. The base modes already diff
87
+
// against the working tree, so they include uncommitted and untracked changes too.
86
88
if(options.base){
87
89
scanType='base-branch';
88
90
baseBranch=options.base;
@@ -123,8 +125,8 @@ program
123
125
.option('--staged','Review only staged files')
124
126
.option('--last-commit','Review last commit')
125
127
.option('--last-n-commits <n>','Review last n commits (max 5)',toCount)
126
-
.option('--base <branch>','Compare against a specific base branch (e.g. --base develop)')
127
-
.option('--base-commit <commit>','Compare against a specific commit (e.g. --base-commit HEAD~3)')
128
+
.option('--base <branch>','Review committed + uncommitted + untracked changes since the merge-base with a branch (e.g. --base develop). Takes precedence over the other scope flags')
129
+
.option('--base-commit <commit>','Review committed + uncommitted + untracked changes since a commit (e.g. --base-commit HEAD~3). Takes precedence over the other scope flags')
128
130
.option('--fail-on <level>','Fail on issues at or above this level: BLOCKER, CRITICAL, MAJOR, MINOR, INFO (default: CRITICAL)','CRITICAL')
129
131
.option('--include <paths>','Comma-separated list of file paths glob patterns to include')
130
132
.option('--exclude <paths>','Comma-separated list of file paths glob patterns to exclude')
@@ -135,6 +137,8 @@ program
135
137
letbaseBranch=null;
136
138
letbaseCommit=null;
137
139
140
+
// Precedence: --base > --base-commit > other scope flags. The base modes already diff
141
+
// against the working tree, so they include uncommitted and untracked changes too.
baseBranch: z.string().optional().describe('Branch for scope "base-branch". Reviews committed, uncommitted and untracked changes since the merge-base with this branch.'),
643
+
baseCommit: z.string().optional().describe('Commit for scope "base-commit". Reviews committed, uncommitted and untracked changes since this commit.'),
644
644
include: z.array(z.string()).optional().describe('Glob patterns to include.'),
645
645
exclude: z.array(z.string()).optional().describe('Glob patterns to exclude.'),
0 commit comments