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 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
- - [Configuration](#configuration)
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 login` | Sign in through your browser, or with `--api-key`. |
48
- | `greptile logout` | Remove stored credentials. |
49
- | `greptile whoami` | Show who you are signed in as and your organizations. |
50
- | `greptile config` | Save default settings (`list`, `get`, `set`, `unset`, `path`). |
51
- | `greptile update` | Update the CLI to the latest version. |
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
- ## Configuration
181
+ ## Settings
145
182
 
146
183
  Save defaults instead of repeating flags:
147
184
 
148
185
  ```sh
149
- greptile config set review.layout diff # always show findings beside the code
150
- greptile config set review.context 30 # more code around each finding
151
- greptile config list # every setting and where it comes from
152
- greptile config unset review.layout # back to the default
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/config.json` (or `$XDG_CONFIG_HOME/greptile/config.json`); `greptile config 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.
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 config list | get KEY | set KEY VALUE | unset KEY | path
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` | Review couldn't finish (sign-in expired, server error, repo not connected, ...). |
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 | Contents |
216
- | -------------------------------- | ---------------------------------------- |
217
- | `~/.greptile/auth.json` | Credentials (refreshed automatically). |
218
- | `~/.config/greptile/config.json` | Saved settings (`greptile config path`). |
219
- | `~/.cache/greptile/` | Downloaded diagram renderer. |
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. |