@dosu/cli 0.43.0 → 0.45.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.
Files changed (3) hide show
  1. package/README.md +38 -0
  2. package/bin/dosu.js +1777 -327
  3. package/package.json +6 -1
package/README.md CHANGED
@@ -96,12 +96,16 @@ Or right-click the binary, select "Open", and click "Open" in the dialog.
96
96
  | `dosu login` | Authenticate with Dosu via browser OAuth |
97
97
  | `dosu logout` | Clear saved credentials |
98
98
  | `dosu status [--json]` | Show current authentication and MCP status |
99
+ | `dosu upgrade` | Update Dosu through the package manager that installed it |
99
100
  | `dosu mcp list` | List supported AI tools |
100
101
  | `dosu mcp add <tool>` | Add the Dosu MCP server to a specific tool |
101
102
  | `dosu logs` | View or manage debug logs (`--tail`, `--clear`) |
103
+ | `dosu telemetry` | Manage usage analytics and error diagnostics (`status`, `enable`, `disable`, `reset`) |
102
104
 
103
105
  `dosu mcp add` takes `-g, --global` to install for all projects instead of project-local, and `--show-secret` to print the full manual config.
104
106
 
107
+ `dosu upgrade` delegates to npm, pnpm, Yarn Classic, or Homebrew only after confirming which manager owns the current installation. Temporary package-runner invocations stay ephemeral, ambiguous or local installs are left unchanged, and standalone binaries receive the latest safe manual download path.
108
+
105
109
  ### Platform commands
106
110
 
107
111
  Once authenticated against a deployment, you can drive the Dosu platform without leaving the terminal:
@@ -160,6 +164,30 @@ dosu setup --agent --tool claude
160
164
 
161
165
  Combine with `dosu login --request` / `--check <ticket>` for human-in-the-loop authentication, and `--mode oss|cloud` to skip the mode prompt.
162
166
 
167
+ ### Telemetry and privacy
168
+
169
+ Dosu collects privacy-preserving usage analytics and error diagnostics by default. One global switch
170
+ controls both; setup does not show a telemetry prompt.
171
+
172
+ ```bash
173
+ dosu telemetry status [--json]
174
+ dosu telemetry enable
175
+ dosu telemetry disable
176
+ dosu telemetry reset
177
+ ```
178
+
179
+ `reset` rotates the local pseudonymous telemetry ID; it does not delete already retained events.
180
+ Signed-out command analytics uses that ID. Signed-in command analytics and minimal error diagnostics
181
+ use the same Dosu user ID as the web app; Sentry may also receive the account email. Prior
182
+ installation history is never aliased to an account. Setup-funnel events are linked after sign-in
183
+ and may include documented coarse setup choices. `DO_NOT_TRACK=1` and
184
+ `DOSU_TELEMETRY_DISABLED=1` disable all telemetry for the process. Dosu never collects
185
+ prompts, raw command lines, free-form argument or option values, user source code, file contents,
186
+ local paths, raw environment-variable names or values, credentials, raw error messages, or
187
+ `debug.log`. See
188
+ [Telemetry and privacy](docs/telemetry.md) for the exact event fields, destinations, retention, and
189
+ controls.
190
+
163
191
  ## Configuration
164
192
 
165
193
  Credentials and the selected deployment live in `~/.config/dosu-cli/config.json`. Set `DOSU_DEV=true` to isolate config under `~/.config/dosu-cli-dev/`.
@@ -171,6 +199,16 @@ To repoint a published build at a different backend without rebuilding, set any
171
199
  - `SUPABASE_URL_OVERRIDE`
172
200
  - `SUPABASE_ANON_KEY_OVERRIDE`
173
201
 
202
+ Telemetry destination settings are:
203
+
204
+ - Build time: `DOSU_POSTHOG_PROJECT_TOKEN`, `DOSU_CLI_SENTRY_DSN`
205
+ - Runtime overrides: `DOSU_POSTHOG_PROJECT_TOKEN_OVERRIDE`, `DOSU_CLI_SENTRY_DSN_OVERRIDE`
206
+ - Privacy controls: `DO_NOT_TRACK=1`, `DOSU_TELEMETRY_DISABLED=1`,
207
+ `DOSU_TELEMETRY_DEBUG=1` (print the exact payload to stderr without sending it)
208
+
209
+ PostHog project tokens and Sentry DSNs are public client-side ingestion credentials. Never put a
210
+ PostHog personal API key, Sentry auth token, or admin/management credential in these variables.
211
+
174
212
  ## Development
175
213
 
176
214
  ```bash