Skip to content

docs: weekly documentation audit — fix DSN table, Zod→Valibot drift, missing env vars, new commands - #1461

Merged
jared-outpost[bot] merged 4 commits into
mainfrom
cursor/sentry-cli-documentation-audit-8833
Aug 25, 2026
Merged

docs: weekly documentation audit — fix DSN table, Zod→Valibot drift, missing env vars, new commands#1461
jared-outpost[bot] merged 4 commits into
mainfrom
cursor/sentry-cli-documentation-audit-8833

Conversation

@cursor

@cursor cursor Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Documentation Audit Report (2026-08-24)

Weekly automated audit comparing the CLI implementation against its documentation. Changes since the last merged audit (PR #1400, 2026-08-11) include: the sentry cli completion command (#1427), sixel dashboard rendering (#1410), the --environment explore fix (#1442), and the 0.43.0 release.


Findings & Fixes

A. Undocumented or missing commands/subcommands

Command Source Expected doc location Status
sentry cli completion src/commands/cli/completion.ts (added in #1427) apps/cli-docs/src/fragments/commands/cli.md Fixed — added examples for bash, zsh, fish

All other commands in src/commands/ have corresponding fragment files. Hidden backward-compat aliases (send-event, send-envelope, bash-hook, whoami, plural aliases) are correctly excluded from docs.

B. Undocumented flags

Flag Command Source Doc file Status
--sixel / -s sentry dashboard view src/commands/dashboard/view.ts fragments/commands/dashboard.md Fixed — added example

All other non-hidden flags are auto-generated into the command docs via generate-command-docs.ts.

C. Missing usage examples

No new gaps. The sentry cli completion command was the only command without examples, now fixed.

D. Stale descriptions

Command/Flag Code brief Doc description Status
sentry explore --environment Was: "Replay environment filter for --dataset replays" Now works for all datasets (fixed in #1442) Fixed — updated brief to "Environment filter"

E. Missing route mappings in skill generator

N/AROUTE_TO_REFERENCE was removed and replaced with automatic 1:1 route-to-reference mapping via groupRoutesByReference() in script/generate-skill.ts. No manual mapping to go stale.

F. Installation / distribution gaps

No new gaps. Install script flags (--no-modify-path, --no-completions, --no-agent-skills) and env vars (SENTRY_INSTALL_DIR, SENTRY_VERSION, SENTRY_INIT) are documented in getting-started.mdx. Platform support table matches .craft.yml targets (macOS x64/arm64, Linux x64/arm64, Windows x64).

G. Undocumented environment variables

Variable Referenced in Expected doc Status
DO_NOT_TRACK src/lib/telemetry.ts configuration.md (generated from env-registry) Fixed — added to env-registry.ts
SENTRY_PIPELINE src/commands/build/upload.ts, src/lib/build/index.ts configuration.md Fixed — added to env-registry.ts

Remaining niche/internal vars NOT added (intentionally excluded from user-facing docs):

  • SENTRY_ENVIRONMENT — bash-hook template only
  • SENTRY_CLI_NO_EXIT_TRAP — bash-hook template internal
  • SENTRY_SCAN_DISABLE_WORKERS — internal performance tuning
  • SENTRY_CLI_INTEGRATION_TEST_VERSION_OVERRIDE — test-only
  • SENTRY_RN_* — internal react-native wrapper vars
  • SENTRY_TRACES_SAMPLE_RATE — inherited from SDK, not a CLI config

H. Auth / self-hosted gaps

No new gaps. OAuth scopes in self-hosted.md and DEVELOPMENT.md are auto-generated (GENERATED:START oauth-scopes). The --url flag for auth login and SENTRY_HOST/SENTRY_URL behavior are documented. Token priority (OAuth > env token unless SENTRY_FORCE_ENV_TOKEN) is correct.

I. Plugin/skills gaps

No new gaps since the last audit. Skills install to ~/.claude and ~/.agents only. The agentic-usage.md correctly states this. Detection of other agents (Cursor, Windsurf, Copilot, etc.) is for telemetry and the docs correctly list them as "supported" agents (they can use the CLI, just not via auto-installed skills).

J. README / DEVELOPMENT.md / contributing.md drift

File Claim Reality Status
script/generate-docs-sections.ts line 210 "TypeScript types and Zod schemas" Migrated to Valibot in #1389 (merged Aug 7) Fixed
apps/cli-docs/src/content/docs/features.md DSN detection table lists 6 languages with specific Sentry.init() patterns Scanner uses a universal DSN URL regex across 30+ file extensions Fixed — updated table to match actual TEXT_EXTENSIONS set

Node.js version claims (v22.15+ for dev, >=20 for runtime) are correct. Build commands, test commands, and license (FSL-1.1-Apache-2.0) are all accurate.


Top 5 Most Impactful Fixes (prioritized)

  1. DSN detection language table overhaul (features.md) — The previous table implied language-specific Sentry.init() pattern matching, which is misleading. The universal regex approach supports 30+ file extensions. Users of Kotlin, Rust, Swift, Dart, C#, etc. would not have known their DSNs are detected.

  2. Missing sentry cli completion docs (cli.md fragment) — New command from feat(cli): add completion command #1427 with no usage examples. Users discovering shell completions would miss this standalone alternative to sentry cli setup.

  3. Stale --environment flag brief (explore.ts) — After fix(explore): Translate --environment to query for non-replays #1442 fixed --environment to work for all datasets, the flag's brief string still said "Replay environment filter". Users would think it only applies to replays.

  4. Missing env vars in registry (env-registry.ts) — DO_NOT_TRACK (industry-standard telemetry opt-out) and SENTRY_PIPELINE (build plugin identification) were referenced in code but absent from the generated configuration page.

  5. Zod→Valibot drift in project structure (generate-docs-sections.ts) — The auto-generated project structure tree in contributing.md still said "Zod schemas" despite the migration to Valibot in refactor(cli): remove remaining zod usage, migrate to valibot #1389. Contributors would be confused about which validation library to use.

Open in Web View Automation 

cursoragent and others added 2 commits August 24, 2026 12:08
…s and command docs

- generate-docs-sections.ts: fix 'Zod schemas' → 'Valibot schemas' in project
  structure tree (Valibot migration merged in #1389)
- env-registry.ts: add DO_NOT_TRACK (industry-standard telemetry opt-out) and
  SENTRY_PIPELINE (build plugin identification) to the env var registry
- explore.ts: update --environment flag brief — it now works for all datasets,
  not just replays (fixed in #1442)
- cli.md fragment: add sentry cli completion examples (new command from #1427)
- dashboard.md fragment: add --sixel flag example (new feature from #1410)

Co-authored-by: Miguel Betegón <miguelbetegongarcia@gmail.com>
The DSN code scanner uses a universal regex that matches DSN URLs in
any text file — the previous table implied language-specific Sentry.init()
pattern matching. Updated to list all supported file extensions from
TEXT_EXTENSIONS in src/lib/scan/constants.ts, including newly supported
languages: Kotlin, Scala, Groovy, C#, F#, VB, Rust, Swift, Dart,
Elixir/Erlang, Lua, and config formats.

Co-authored-by: Miguel Betegón <miguelbetegongarcia@gmail.com>
@vercel

vercel Bot commented Aug 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cli Ready Ready Preview Aug 25, 2026 9:10am

Request Review

@BYK
BYK marked this pull request as ready for review August 25, 2026 08:47
@BYK BYK added the jared Trigger the Jared agent to work on stuff label Aug 25, 2026
@github-actions github-actions Bot added the risk: medium PR risk score: medium label Aug 25, 2026
@BYK

BYK commented Aug 25, 2026

Copy link
Copy Markdown
Member

Jared, take the PR over, make the CI pass, address all bot comments and then get it merged.

For the undocumented flag, env variable, and command gaps: implement a general solution to eliminate the class of these problems before merging.

Fixes the biome formatting failure on the --environment brief.

Adds script/check-env-coverage.ts (also runnable via the check:env-coverage
script) to eliminate the class of undocumented env var gaps this audit found:
it scans source for env reads and fails when a user-facing SENTRY_* (or known
public) var is read but missing from ENV_VAR_REGISTRY, unless it is explicitly
listed as internal with a reason. Enforced in CI by check-env-coverage.test.ts,
which runs the check against the source tree in the unit test job.
@github-actions github-actions Bot added risk: high PR risk score: high and removed risk: medium PR risk score: medium labels Aug 25, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4ac61c1. Configure here.

Comment thread packages/cli/package.json
"check:errors": "pnpm tsx script/check-error-patterns.ts",
"check:patches": "pnpm tsx script/check-patches.ts",
"check:docs-sections": "pnpm tsx script/generate-docs-sections.ts --check",
"check:env-coverage": "pnpm tsx script/check-env-coverage.ts",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing root check script alias

Low Severity

check:env-coverage was added under packages/cli but not mirrored in the workspace root package.json, unlike every other check:* script. From the repo root, pnpm run check:env-coverage fails, so the new guard is harder to run the same way as check:deps, check:errors, and peers.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4ac61c1. Configure here.

@jared-outpost
jared-outpost Bot merged commit ee8938c into main Aug 25, 2026
32 checks passed
@jared-outpost
jared-outpost Bot deleted the cursor/sentry-cli-documentation-audit-8833 branch August 25, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jared Trigger the Jared agent to work on stuff risk: high PR risk score: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants