greptile 3.1.1 → 3.2.1

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,47 @@
2
2
 
3
3
  All notable changes to the Greptile CLI.
4
4
 
5
+ ## 3.2.1 - 2026-07-15
6
+
7
+ ### Added
8
+
9
+ - `greptile fix install`, `status`, and `uninstall` manage the macOS app used
10
+ by "Fix in Claude Code" links.
11
+ - Fix in Claude Code maps repositories, launches Claude Code in the active
12
+ terminal, submits full Fix All prompts, and returns the browser to the pull
13
+ request after handoff.
14
+ - Onboarding includes Blimp and SF Buses as referral source choices.
15
+
16
+ ### Changed
17
+
18
+ - The macOS support now ships inside the main CLI bundle. Setup is explicit and
19
+ no longer requires the archived package or Python.
20
+
21
+ ## 3.2.0 - 2026-07-10
22
+
23
+ ### Added
24
+
25
+ - Interactive onboarding with `greptile onboard`: create or reconfigure an
26
+ organization, connect GitHub or GitLab, enable repositories, configure review
27
+ behavior, invite teammates, and resume an interrupted setup.
28
+ - Interactive review settings and member management from `greptile settings`.
29
+ - Self-hosted deployment targeting, trust controls, and OAuth discovery.
30
+ - Custom review instructions with `greptile review --instructions`.
31
+
32
+ ### Changed
33
+
34
+ - `greptile review` now guides users into onboarding when their account has no
35
+ organization membership or onboarding is incomplete.
36
+ - Removed Azure DevOps support from the CLI.
37
+
38
+ ### Fixed
39
+
40
+ - Authentication requests consistently stay on the selected deployment,
41
+ including staging and self-hosted environments.
42
+ - Internal review failures are redacted instead of exposing server details.
43
+ - Onboarding handles existing organizations, provider connection retries,
44
+ invitations, and reconfiguration more reliably.
45
+
5
46
  ## 3.1.1 - 2026-06-14
6
47
 
7
48
  ### Changed
package/README.md CHANGED
@@ -10,6 +10,7 @@ Greptile code review in your terminal. Runs the same review Greptile posts on yo
10
10
  - [Sensitive files](#sensitive-files)
11
11
  - [Settings](#settings)
12
12
  - [Diagrams](#diagrams)
13
+ - [Fix in Claude Code](#fix-in-claude-code)
13
14
  - [Updating](#updating)
14
15
  - [Reference](#reference)
15
16
 
@@ -28,10 +29,14 @@ curl -fsSL https://raw.githubusercontent.com/greptileai/cli/main/install.sh | ba
28
29
 
29
30
  > ℹ️ **Note:** The npm and script installs need Node 22 or newer.
30
31
 
32
+ On macOS, run `greptile fix install` after installing the CLI to set up Greptile's
33
+ "Fix in Claude Code" links.
34
+
31
35
  ## Quick start
32
36
 
33
37
  ```sh
34
38
  greptile login # opens your browser to sign in
39
+ greptile onboard # creates or configures your Greptile organization
35
40
  cd path/to/your/repo
36
41
  greptile review # reviews HEAD against the default branch
37
42
  ```
@@ -40,15 +45,18 @@ Comments appear in the terminal as they come in.
40
45
 
41
46
  ## Commands
42
47
 
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 settings` | Save default settings (`list`, `get`, `set`, `unset`, `path`). |
51
- | `greptile update` | Update the CLI to the latest version. |
48
+ | Command | What it does |
49
+ | --------------------------- | -------------------------------------------------------------------- |
50
+ | `greptile review` | Review the current branch against its base. |
51
+ | `greptile review show [ID]` | Reopen a previous review. Omit the ID to pick from a list. |
52
+ | `greptile review status` | Report the most recent review status for a commit (HEAD by default). |
53
+ | `greptile login` | Sign in through your browser, or with `--api-key`. |
54
+ | `greptile onboard` | Create or reconfigure a Greptile organization interactively. |
55
+ | `greptile logout` | Remove stored credentials. |
56
+ | `greptile whoami` | Show who you are signed in as and your organizations. |
57
+ | `greptile settings` | Save default settings (`list`, `get`, `set`, `unset`, `path`). |
58
+ | `greptile fix` | Set up or remove Fix in Claude Code on macOS. |
59
+ | `greptile update` | Update the CLI to the latest version. |
52
60
 
53
61
  Run any command with `--help` for its full flag list.
54
62
 
@@ -79,6 +87,33 @@ greptile review show # pick from recent reviews
79
87
  greptile review show abc123 # open one by ID
80
88
  ```
81
89
 
90
+ List recent reviews non-interactively (for scripts and agents):
91
+
92
+ ```sh
93
+ greptile review show --json # recent reviews, grouped by commit
94
+ greptile review show --agent # the same list as plain text
95
+ ```
96
+
97
+ Check whether the current commit has been reviewed (for a pre-push hook):
98
+
99
+ ```sh
100
+ greptile review status # checks HEAD
101
+ greptile review status --commit abc123
102
+ greptile review status --json
103
+ ```
104
+
105
+ `review status` exits `0` when the commit has a completed review, `3` while one
106
+ is still running, `4`/`5` for a failed/cancelled review, and `1` when there is
107
+ no review (or you're signed out). Example pre-push hook:
108
+
109
+ ```sh
110
+ greptile review status; case $? in
111
+ 0) ;; # reviewed — allow push
112
+ 3) echo "Greptile review still running"; exit 1 ;;
113
+ *) echo "Run 'greptile review' before pushing"; exit 1 ;;
114
+ esac
115
+ ```
116
+
82
117
  ### Machine-readable output
83
118
 
84
119
  ```sh
@@ -89,10 +124,17 @@ greptile review --agent # alias for --text, for AI agents
89
124
 
90
125
  Exit codes are stable for scripting; see [Reference](#reference).
91
126
 
127
+ > ℹ️ **Note:** `greptile review show` with no ID now prints the recent-reviews
128
+ > list when output is piped or `--json`/`--text`/`--agent` is set (previously it
129
+ > required an interactive terminal). In an interactive terminal it still opens
130
+ > the picker.
131
+
92
132
  ### Working in multiple organizations
93
133
 
94
134
  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
135
 
136
+ 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.
137
+
96
138
  ## Authentication
97
139
 
98
140
  `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.
@@ -168,6 +210,30 @@ Settings live in `~/.config/greptile/settings.json` (or `$XDG_CONFIG_HOME/grepti
168
210
 
169
211
  When a review summary includes a Mermaid diagram, greptile renders it inline in kitty and Ghostty, and links an SVG file in other terminals. The first time a diagram renders, greptile downloads a small renderer ([mmdr](https://github.com/1jehuang/mermaid-rs-renderer)) into `~/.cache/greptile/`. Set `GREPTILE_NO_AUTO_INSTALL=1` to skip the download.
170
212
 
213
+ ## Fix in Claude Code
214
+
215
+ On macOS, the CLI can set up the local app used by Greptile's "Fix in Claude
216
+ Code" links. It maps a repository slug such as `owner/repo` to its local
217
+ checkout and submits the full review prompt in your active terminal. Setup is
218
+ explicit and does not run as part of installing or updating the CLI.
219
+
220
+ ```sh
221
+ greptile fix install # install or repair
222
+ greptile fix status # human-readable health
223
+ greptile fix status --json # stable fields for scripts
224
+ greptile fix uninstall # remove app and service; keep mappings
225
+ greptile fix uninstall --remove-mappings # also remove repository folder choices
226
+ ```
227
+
228
+ The first link for a repository opens a Finder folder picker. The selection is
229
+ saved in `~/.greptile/repos.json`. Uninstall preserves these mappings unless
230
+ you pass `--remove-mappings`.
231
+
232
+ The generated URL handler is `~/Applications/Greptile Fix.app`. It supports
233
+ Terminal, Ghostty, iTerm, Warp, kitty, WezTerm, and Alacritty. If Fix in Claude
234
+ Code is not set up, Greptile falls back to Claude Code's native URL handler.
235
+ The native handler prefills a shorter prompt and may require you to submit it.
236
+
171
237
  ## Updating
172
238
 
173
239
  ```sh
@@ -185,7 +251,9 @@ greptile login [--api-key] | logout | whoami
185
251
  greptile review [-b BRANCH] [--layout comments|diff | --diff] [--resume] [--include PATH...]
186
252
  [--json | --text | --agent] [--context LINES] [--width COLUMNS] [--no-color]
187
253
  greptile review show [ID] # same output flags as review
254
+ greptile review status [--commit REF] [--json | --text | --agent]
188
255
  greptile settings list | get KEY | set KEY VALUE | unset KEY | path
256
+ greptile fix install | status [--json] | uninstall [--remove-mappings]
189
257
  greptile update
190
258
  ```
191
259
 
@@ -205,9 +273,12 @@ greptile update
205
273
 
206
274
  | Code | Meaning |
207
275
  | ----- | -------------------------------------------------------------------------------- |
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, ...). |
276
+ | `0` | Review finished, or (`review status`) the commit has a completed review. |
277
+ | `1` | Couldn't finish, or (`review status`) no review exists / signed out / no origin. |
278
+ | `2` | Invalid invocation (not inside a git repo, unknown flag, unresolvable commit). |
279
+ | `3` | `review status` only: a review for the commit is still running. |
280
+ | `4` | `review status` only: the most recent review failed. |
281
+ | `5` | `review status` only: the most recent review was cancelled. |
211
282
  | `130` | Interrupted with Ctrl-C. |
212
283
 
213
284
  ### Files