greptile 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/README.md +66 -25
- package/dist/greptile.js +623 -378
- package/package.json +5 -3
- package/{config-schema.json → settings-schema.json} +11 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the Greptile CLI.
|
|
4
4
|
|
|
5
|
+
## 3.2.0 - 2026-07-10
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Interactive onboarding with `greptile onboard`: create or reconfigure an
|
|
10
|
+
organization, connect GitHub or GitLab, enable repositories, configure review
|
|
11
|
+
behavior, invite teammates, and resume an interrupted setup.
|
|
12
|
+
- Interactive review settings and member management from `greptile settings`.
|
|
13
|
+
- Self-hosted deployment targeting, trust controls, and OAuth discovery.
|
|
14
|
+
- Custom review instructions with `greptile review --instructions`.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- `greptile review` now guides users into onboarding when their account has no
|
|
19
|
+
organization membership or onboarding is incomplete.
|
|
20
|
+
- Removed Azure DevOps support from the CLI.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Authentication requests consistently stay on the selected deployment,
|
|
25
|
+
including staging and self-hosted environments.
|
|
26
|
+
- Internal review failures are redacted instead of exposing server details.
|
|
27
|
+
- Onboarding handles existing organizations, provider connection retries,
|
|
28
|
+
invitations, and reconfiguration more reliably.
|
|
29
|
+
|
|
30
|
+
## 3.1.1 - 2026-06-14
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- Renamed the `greptile config` command to `greptile settings`, and saved
|
|
35
|
+
preferences now live in `settings.json` instead of `config.json`. An existing
|
|
36
|
+
`config.json` is moved to the new name automatically the first time you run
|
|
37
|
+
the CLI, so saved settings carry over.
|
|
38
|
+
|
|
5
39
|
## 3.1.0 - 2026-06-11
|
|
6
40
|
|
|
7
41
|
### Added
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Greptile code review in your terminal. Runs the same review Greptile posts on yo
|
|
|
8
8
|
- [Reviewing](#reviewing)
|
|
9
9
|
- [Authentication](#authentication)
|
|
10
10
|
- [Sensitive files](#sensitive-files)
|
|
11
|
-
- [
|
|
11
|
+
- [Settings](#settings)
|
|
12
12
|
- [Diagrams](#diagrams)
|
|
13
13
|
- [Updating](#updating)
|
|
14
14
|
- [Reference](#reference)
|
|
@@ -32,6 +32,7 @@ curl -fsSL https://raw.githubusercontent.com/greptileai/cli/main/install.sh | ba
|
|
|
32
32
|
|
|
33
33
|
```sh
|
|
34
34
|
greptile login # opens your browser to sign in
|
|
35
|
+
greptile onboard # creates or configures your Greptile organization
|
|
35
36
|
cd path/to/your/repo
|
|
36
37
|
greptile review # reviews HEAD against the default branch
|
|
37
38
|
```
|
|
@@ -40,15 +41,17 @@ Comments appear in the terminal as they come in.
|
|
|
40
41
|
|
|
41
42
|
## Commands
|
|
42
43
|
|
|
43
|
-
| Command | What it does
|
|
44
|
-
| --------------------------- |
|
|
45
|
-
| `greptile review` | Review the current branch against its base.
|
|
46
|
-
| `greptile review show [ID]` | Reopen a previous review. Omit the ID to pick from a list.
|
|
47
|
-
| `greptile
|
|
48
|
-
| `greptile
|
|
49
|
-
| `greptile
|
|
50
|
-
| `greptile
|
|
51
|
-
| `greptile
|
|
44
|
+
| Command | What it does |
|
|
45
|
+
| --------------------------- | -------------------------------------------------------------------- |
|
|
46
|
+
| `greptile review` | Review the current branch against its base. |
|
|
47
|
+
| `greptile review show [ID]` | Reopen a previous review. Omit the ID to pick from a list. |
|
|
48
|
+
| `greptile review status` | Report the most recent review status for a commit (HEAD by default). |
|
|
49
|
+
| `greptile login` | Sign in through your browser, or with `--api-key`. |
|
|
50
|
+
| `greptile onboard` | Create or reconfigure a Greptile organization interactively. |
|
|
51
|
+
| `greptile logout` | Remove stored credentials. |
|
|
52
|
+
| `greptile whoami` | Show who you are signed in as and your organizations. |
|
|
53
|
+
| `greptile settings` | Save default settings (`list`, `get`, `set`, `unset`, `path`). |
|
|
54
|
+
| `greptile update` | Update the CLI to the latest version. |
|
|
52
55
|
|
|
53
56
|
Run any command with `--help` for its full flag list.
|
|
54
57
|
|
|
@@ -79,6 +82,33 @@ greptile review show # pick from recent reviews
|
|
|
79
82
|
greptile review show abc123 # open one by ID
|
|
80
83
|
```
|
|
81
84
|
|
|
85
|
+
List recent reviews non-interactively (for scripts and agents):
|
|
86
|
+
|
|
87
|
+
```sh
|
|
88
|
+
greptile review show --json # recent reviews, grouped by commit
|
|
89
|
+
greptile review show --agent # the same list as plain text
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Check whether the current commit has been reviewed (for a pre-push hook):
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
greptile review status # checks HEAD
|
|
96
|
+
greptile review status --commit abc123
|
|
97
|
+
greptile review status --json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`review status` exits `0` when the commit has a completed review, `3` while one
|
|
101
|
+
is still running, `4`/`5` for a failed/cancelled review, and `1` when there is
|
|
102
|
+
no review (or you're signed out). Example pre-push hook:
|
|
103
|
+
|
|
104
|
+
```sh
|
|
105
|
+
greptile review status; case $? in
|
|
106
|
+
0) ;; # reviewed — allow push
|
|
107
|
+
3) echo "Greptile review still running"; exit 1 ;;
|
|
108
|
+
*) echo "Run 'greptile review' before pushing"; exit 1 ;;
|
|
109
|
+
esac
|
|
110
|
+
```
|
|
111
|
+
|
|
82
112
|
### Machine-readable output
|
|
83
113
|
|
|
84
114
|
```sh
|
|
@@ -89,10 +119,17 @@ greptile review --agent # alias for --text, for AI agents
|
|
|
89
119
|
|
|
90
120
|
Exit codes are stable for scripting; see [Reference](#reference).
|
|
91
121
|
|
|
122
|
+
> ℹ️ **Note:** `greptile review show` with no ID now prints the recent-reviews
|
|
123
|
+
> list when output is piped or `--json`/`--text`/`--agent` is set (previously it
|
|
124
|
+
> required an interactive terminal). In an interactive terminal it still opens
|
|
125
|
+
> the picker.
|
|
126
|
+
|
|
92
127
|
### Working in multiple organizations
|
|
93
128
|
|
|
94
129
|
There is nothing to configure. Each repository belongs to one Greptile organization, and `greptile review` infers it from the repo's remote URL. As long as you're a member of that organization, the review runs against it. `greptile whoami` lists your organizations.
|
|
95
130
|
|
|
131
|
+
If you work in a sandboxed environment that routes git through a proxy (for example, remotes shaped like `https://<proxy-host>/proxy/github.com/<owner>/<repo>`), the CLI unwraps the proxy prefix automatically so the review resolves against the real host.
|
|
132
|
+
|
|
96
133
|
## Authentication
|
|
97
134
|
|
|
98
135
|
`greptile login` signs you in through your browser (OAuth) and stores a refreshable token at `~/.greptile/auth.json`. Tokens refresh automatically. If the browser can't reach the CLI on the same machine (SSH sessions, containers, remote/cloud dev environments) the browser shows a login code instead; paste it at the `Paste code here if prompted:` prompt to finish signing in.
|
|
@@ -141,15 +178,15 @@ greptile review --include .env --include config/db.pem
|
|
|
141
178
|
> - A commit that **removes** a hard-coded secret is also held back, because the removed value still appears in the diff. Use `--include` to review that cleanup commit.
|
|
142
179
|
> - A **rename** away from a sensitive name (say `.env` to `config.txt`) is held back too, based on the original path.
|
|
143
180
|
|
|
144
|
-
##
|
|
181
|
+
## Settings
|
|
145
182
|
|
|
146
183
|
Save defaults instead of repeating flags:
|
|
147
184
|
|
|
148
185
|
```sh
|
|
149
|
-
greptile
|
|
150
|
-
greptile
|
|
151
|
-
greptile
|
|
152
|
-
greptile
|
|
186
|
+
greptile settings set review.layout diff # always show findings beside the code
|
|
187
|
+
greptile settings set review.context 30 # more code around each finding
|
|
188
|
+
greptile settings list # every setting and where it comes from
|
|
189
|
+
greptile settings unset review.layout # back to the default
|
|
153
190
|
```
|
|
154
191
|
|
|
155
192
|
| Setting | Values | Matching flag |
|
|
@@ -162,7 +199,7 @@ greptile config unset review.layout # back to the default
|
|
|
162
199
|
|
|
163
200
|
A flag passed on the command line always wins over a saved setting for that run.
|
|
164
201
|
|
|
165
|
-
Settings live in `~/.config/greptile/
|
|
202
|
+
Settings live in `~/.config/greptile/settings.json` (or `$XDG_CONFIG_HOME/greptile/settings.json`); `greptile settings path` prints the exact location. The file includes a `$schema` reference to a published JSON Schema, so editors can validate and autocomplete it if you edit it by hand.
|
|
166
203
|
|
|
167
204
|
## Diagrams
|
|
168
205
|
|
|
@@ -185,7 +222,8 @@ greptile login [--api-key] | logout | whoami
|
|
|
185
222
|
greptile review [-b BRANCH] [--layout comments|diff | --diff] [--resume] [--include PATH...]
|
|
186
223
|
[--json | --text | --agent] [--context LINES] [--width COLUMNS] [--no-color]
|
|
187
224
|
greptile review show [ID] # same output flags as review
|
|
188
|
-
greptile
|
|
225
|
+
greptile review status [--commit REF] [--json | --text | --agent]
|
|
226
|
+
greptile settings list | get KEY | set KEY VALUE | unset KEY | path
|
|
189
227
|
greptile update
|
|
190
228
|
```
|
|
191
229
|
|
|
@@ -205,15 +243,18 @@ greptile update
|
|
|
205
243
|
|
|
206
244
|
| Code | Meaning |
|
|
207
245
|
| ----- | -------------------------------------------------------------------------------- |
|
|
208
|
-
| `0` | Review finished.
|
|
209
|
-
| `1` |
|
|
210
|
-
| `2` | Invalid invocation (not inside a git repo, unknown flag,
|
|
246
|
+
| `0` | Review finished, or (`review status`) the commit has a completed review. |
|
|
247
|
+
| `1` | Couldn't finish, or (`review status`) no review exists / signed out / no origin. |
|
|
248
|
+
| `2` | Invalid invocation (not inside a git repo, unknown flag, unresolvable commit). |
|
|
249
|
+
| `3` | `review status` only: a review for the commit is still running. |
|
|
250
|
+
| `4` | `review status` only: the most recent review failed. |
|
|
251
|
+
| `5` | `review status` only: the most recent review was cancelled. |
|
|
211
252
|
| `130` | Interrupted with Ctrl-C. |
|
|
212
253
|
|
|
213
254
|
### Files
|
|
214
255
|
|
|
215
|
-
| Path
|
|
216
|
-
|
|
|
217
|
-
| `~/.greptile/auth.json`
|
|
218
|
-
| `~/.config/greptile/
|
|
219
|
-
| `~/.cache/greptile/`
|
|
256
|
+
| Path | Contents |
|
|
257
|
+
| ---------------------------------- | ------------------------------------------ |
|
|
258
|
+
| `~/.greptile/auth.json` | Credentials (refreshed automatically). |
|
|
259
|
+
| `~/.config/greptile/settings.json` | Saved settings (`greptile settings path`). |
|
|
260
|
+
| `~/.cache/greptile/` | Downloaded diagram renderer. |
|