greptile 3.5.0 → 3.5.2

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
@@ -4,6 +4,36 @@ All notable changes to the Greptile CLI.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 3.5.2 - 2026-09-04
8
+
9
+ Republishes 3.5.1 for npm. The 3.5.1 npm publish landed during an
10
+ [npm registry incident](https://status.npmjs.org/incidents/b6958bgj1sm3) on
11
+ 2026-09-03 and its tarball was never stored, so
12
+ `npm install greptile@3.5.1` fails. Homebrew and the GitHub release of 3.5.1
13
+ were unaffected.
14
+
15
+ ### Added
16
+
17
+ - The README now documents telemetry: the eight events sent, what they carry
18
+ and what they never carry, the difference between the anonymous default and
19
+ opt-in account-linked reporting, and every way to turn it off
20
+ (`greptile settings set telemetry false`, `GREPTILE_TELEMETRY_DISABLED`,
21
+ `DO_NOT_TRACK`, `CI`, or a self-hosted deployment). The `telemetry` setting
22
+ and its two environment variables are now listed in the reference tables.
23
+
24
+ ## 3.5.1 - 2026-09-03
25
+
26
+ ### Changed
27
+
28
+ - Repository settings can disable repositories, including the last enabled one.
29
+ - `greptile init` tells members to ask an organization admin instead of
30
+ prompting for a change they cannot make.
31
+
32
+ ### Fixed
33
+
34
+ - Warnings such as "Could not disable" show the full server error instead of a
35
+ truncated line.
36
+
7
37
  ## 3.5.0 - 2026-09-02
8
38
 
9
39
  ### Fixed
@@ -23,6 +53,10 @@ All notable changes to the Greptile CLI.
23
53
  instead of naming an upgrade path that does not apply. Agent-skill notices
24
54
  also survive, since `greptile skills` works regardless of how the CLI
25
55
  itself was distributed.
56
+ - Repository settings can now disable repositories, including the last enabled
57
+ repository, and report the applied enable and disable counts.
58
+ - `greptile init` now tells members to ask an organization admin when the
59
+ current repository is disabled, instead of prompting for a change they cannot make.
26
60
 
27
61
  ## 3.4.2 - 2026-08-26
28
62
 
package/README.md CHANGED
@@ -13,6 +13,7 @@ Greptile code review in your terminal. Runs the same review Greptile posts on yo
13
13
  - [Diagrams](#diagrams)
14
14
  - [Fix in Claude Code](#fix-in-claude-code)
15
15
  - [Updating](#updating)
16
+ - [Telemetry](#telemetry)
16
17
  - [Reference](#reference)
17
18
 
18
19
  ## Install
@@ -38,7 +39,7 @@ On macOS, run `greptile fix install` after installing the CLI to set up Greptile
38
39
  ```sh
39
40
  greptile # signs you in and walks you through setup on first run
40
41
  cd path/to/your/repo
41
- greptile init # enables Greptile on this repository
42
+ greptile init # enables Greptile on this repository when you are an admin
42
43
  greptile review # reviews HEAD against the default branch
43
44
  ```
44
45
 
@@ -46,19 +47,19 @@ Comments appear in the terminal as they come in.
46
47
 
47
48
  ## Commands
48
49
 
49
- | Command | What it does |
50
- | --------------------------- | -------------------------------------------------------------------- |
51
- | `greptile review` | Review the current branch against its base. |
52
- | `greptile review show [ID]` | Reopen a previous review. Omit the ID to pick from a list. |
53
- | `greptile review status` | Report the most recent review status for a commit (HEAD by default). |
54
- | `greptile init` | Enable Greptile on the current repository. |
55
- | `greptile login` | Sign in through your browser, or with `--api-key`. |
56
- | `greptile logout` | Remove stored credentials. |
57
- | `greptile whoami` | Show who you are signed in as and your organizations. |
58
- | `greptile settings` | Manage CLI preferences, repositories, review settings, and team. |
59
- | `greptile skills` | Install the Greptile agent skills for your AI coding agents. |
60
- | `greptile fix` | Set up or remove Fix in Claude Code on macOS. |
61
- | `greptile update` | Update the CLI to the latest version. |
50
+ | Command | What it does |
51
+ | --------------------------- | --------------------------------------------------------------------- |
52
+ | `greptile review` | Review the current branch against its base. |
53
+ | `greptile review show [ID]` | Reopen a previous review. Omit the ID to pick from a list. |
54
+ | `greptile review status` | Report the most recent review status for a commit (HEAD by default). |
55
+ | `greptile init` | Enable Greptile on the current repository when you have admin access. |
56
+ | `greptile login` | Sign in through your browser, or with `--api-key`. |
57
+ | `greptile logout` | Remove stored credentials. |
58
+ | `greptile whoami` | Show who you are signed in as and your organizations. |
59
+ | `greptile settings` | Manage CLI preferences, repositories, review settings, and team. |
60
+ | `greptile skills` | Install the Greptile agent skills for your AI coding agents. |
61
+ | `greptile fix` | Set up or remove Fix in Claude Code on macOS. |
62
+ | `greptile update` | Update the CLI to the latest version. |
62
63
 
63
64
  Run any command with `--help` for its full flag list.
64
65
 
@@ -196,7 +197,8 @@ administer an existing one.
196
197
  > ℹ️ **Note:** If you cancel organization creation after the organization has
197
198
  > been created, it stays around half set up (there is no way to delete it from
198
199
  > the CLI). Use **Repositories** in the same hub to connect a provider and
199
- > enable repositories, or finish the remaining setup from your dashboard.
200
+ > enable or disable repositories, or finish the remaining setup from your
201
+ > dashboard.
200
202
 
201
203
  Save local defaults non-interactively instead of repeating flags:
202
204
 
@@ -207,13 +209,14 @@ greptile settings list # every setting and where it comes fr
207
209
  greptile settings unset review.layout # back to the default
208
210
  ```
209
211
 
210
- | Setting | Values | Matching flag |
211
- | ---------------- | --------------------------------------- | ------------------------------------------------------ |
212
- | `color` | `true` (default), `false` | `--color` / `--no-color` |
213
- | `review.output` | `auto` (default), `text`, `json` | `--text` / `--json` |
214
- | `review.layout` | `comments` (default), `diff` | `--layout` (`--diff` is shorthand for `--layout diff`) |
215
- | `review.context` | `0` to `60` (default `15`) | `--context` |
216
- | `review.width` | `40` to `240` (default: terminal width) | `--width` |
212
+ | Setting | Values | Matching flag |
213
+ | ---------------- | ---------------------------------------- | ------------------------------------------------------ |
214
+ | `color` | `true` (default), `false` | `--color` / `--no-color` |
215
+ | `review.output` | `auto` (default), `text`, `json` | `--text` / `--json` |
216
+ | `review.layout` | `comments` (default), `diff` | `--layout` (`--diff` is shorthand for `--layout diff`) |
217
+ | `review.context` | `0` to `60` (default `15`) | `--context` |
218
+ | `review.width` | `40` to `240` (default: terminal width) | `--width` |
219
+ | `telemetry` | `true`, `false` (unset until you decide) | — (see [Telemetry](#telemetry)) |
217
220
 
218
221
  A flag passed on the command line always wins over a saved setting for that run.
219
222
 
@@ -286,6 +289,44 @@ greptile update
286
289
 
287
290
  This checks for a newer release and upgrades in place for npm, bun, pnpm, and standalone `install.sh` installs. Three cases are handled differently: Homebrew prints `brew upgrade greptile` for you to run, a CLI that ships inside a Claude Code plugin is updated by updating the plugin, and an install the CLI can't identify — a distro package, a Nix store path, a version-manager shim, a binary copied onto your `PATH` — is reported as such so you can update it the way you installed it. The CLI also checks for updates once a day and prints a notice when one is available; set `GREPTILE_NO_UPDATE_CHECK=1` to turn that off.
288
291
 
292
+ ## Telemetry
293
+
294
+ greptile reports anonymous usage events to help us see which commands people
295
+ run and where they get stuck. The events are lifecycle signals —
296
+ `cli_first_run`, `cli_login_started`, `cli_login_failed`,
297
+ `cli_onboarding_started`, `cli_skill_installed`, `cli_skill_updated`,
298
+ `cli_review_blocked`, `cli_update_completed` — carrying how you installed the
299
+ CLI, your OS and architecture, whether the run was interactive, and which agent
300
+ surface it ran under if any. Never your code, repository or branch names, file
301
+ paths, or review content. Event-specific fields are fixed values: `method`,
302
+ `exit_code`, `reason`, the version strings on an update, and the name of the
303
+ Greptile-authored skill on `cli_skill_installed` and `cli_skill_updated`.
304
+
305
+ There are two tiers, and they are treated differently:
306
+
307
+ - **Anonymous** — a random per-machine identifier, no account attached, and no
308
+ profile built on the other end. This is the default and it is opt-out.
309
+ - **Linked to your account** — the same events, attributed to you. This is
310
+ opt-in, and greptile asks once, on the first interactive run, before sending
311
+ anything under your account.
312
+
313
+ Until you answer that prompt, greptile stays anonymous — including in runs that
314
+ cannot show it at all, such as every run inside an AI coding agent. Once you
315
+ have answered, your answer is what applies: accept, and later agent and script
316
+ runs are account-linked too, because the decision is yours and not the
317
+ terminal's. Declining silences both tiers, not just the linked one.
318
+
319
+ Any one of these turns it off:
320
+
321
+ ```sh
322
+ greptile settings set telemetry false # persistent
323
+ export GREPTILE_TELEMETRY_DISABLED=1 # this shell
324
+ export DO_NOT_TRACK=1 # this shell, and every tool that honors it
325
+ ```
326
+
327
+ It is also off automatically when `CI` is set, and a CLI pointed at a
328
+ self-hosted Greptile sends no telemetry at all.
329
+
289
330
  ## Reference
290
331
 
291
332
  ### Command synopsis
@@ -304,15 +345,17 @@ greptile update
304
345
 
305
346
  ### Environment variables
306
347
 
307
- | Variable | What it does |
308
- | -------------------------- | --------------------------------------------------------------------- |
309
- | `GREPTILE_API_KEY` | Authenticate with an API key; takes precedence over a stored sign-in. |
310
- | `GREPTILE_INLINE_IMAGES` | Force inline diagrams on (`1`, `true`, `kitty`) or off (`0`, `off`). |
311
- | `GREPTILE_NO_AUTO_INSTALL` | Skip the one-time diagram renderer download. |
312
- | `GREPTILE_NO_UPDATE_CHECK` | Skip the daily check for a newer CLI release. |
313
- | `NO_COLOR` | Turn off ANSI color. |
314
- | `FORCE_COLOR` | Turn on ANSI color even when output is piped. |
315
- | `COLUMNS` | Override the output width. |
348
+ | Variable | What it does |
349
+ | ----------------------------- | --------------------------------------------------------------------- |
350
+ | `GREPTILE_API_KEY` | Authenticate with an API key; takes precedence over a stored sign-in. |
351
+ | `GREPTILE_INLINE_IMAGES` | Force inline diagrams on (`1`, `true`, `kitty`) or off (`0`, `off`). |
352
+ | `GREPTILE_NO_AUTO_INSTALL` | Skip the one-time diagram renderer download. |
353
+ | `GREPTILE_NO_UPDATE_CHECK` | Skip the daily check for a newer CLI release. |
354
+ | `GREPTILE_TELEMETRY_DISABLED` | Turn off anonymous usage telemetry. |
355
+ | `DO_NOT_TRACK` | Same, honored alongside other tools that read it. |
356
+ | `NO_COLOR` | Turn off ANSI color. |
357
+ | `FORCE_COLOR` | Turn on ANSI color even when output is piped. |
358
+ | `COLUMNS` | Override the output width. |
316
359
 
317
360
  ### Exit codes
318
361