Skip to content

[CLI] feat: alerts vs dashboard parity audit scope (CLI-238)#15850

Merged
brookemosby merged 15 commits into
mainfrom
brooke/cli-238-parity-audit-vercel-alerts-vs-dashboard-alerting-gap-list-follow-ups
Apr 14, 2026
Merged

[CLI] feat: alerts vs dashboard parity audit scope (CLI-238)#15850
brookemosby merged 15 commits into
mainfrom
brooke/cli-238-parity-audit-vercel-alerts-vs-dashboard-alerting-gap-list-follow-ups

Conversation

@brookemosby

@brookemosby brookemosby commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Scope note for CLI-238: audit vercel alerts vs dashboard; deliver gap matrix + child tickets.

Path

packages/cli/docs/parity/cli-238-alerts-dashboard-audit.md

Made with Cursor

Supported API-backed Commands To Test

  • vercel alerts inspect <groupId>
  • vercel alerts inspect <groupId> --project <name>
  • vercel alerts inspect <groupId> --all
  • vercel alerts inspect <groupId> --format json

@brookemosby brookemosby requested review from a team as code owners April 6, 2026 23:27
@changeset-bot

changeset-bot Bot commented Apr 6, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5df3af1

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
vercel Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Low Risk — New CLI subcommand feature with validation, tests, and telemetry.

  • inspect.ts: new vercel alerts inspect subcommand to fetch alert group by ID
  • command.ts: added inspectSubcommand definition with --project and --all options
  • index.test.ts: added unit test for inspect subcommand

Assessed at cd8cffa.

@github-actions

github-actions Bot commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

🧪 Unit Test Strategy

Comparing: bb66fe45df3af1 (view diff)

Strategy: Affected packages only

✅ Only testing packages that have been modified or depend on modified packages.

Affected packages - 1 (3%)
  1. vercel
Unaffected packages - 39 (98%)
  1. @vercel-internals/get-package-json
  2. @vercel/backends
  3. @vercel/build-utils
  4. @vercel/cervel
  5. @vercel/cli-auth
  6. @vercel/client
  7. @vercel/config
  8. @vercel/detect-agent
  9. @vercel/edge
  10. @vercel/elysia
  11. @vercel/error-utils
  12. @vercel/express
  13. @vercel/fastify
  14. @vercel/firewall
  15. @vercel/frameworks
  16. @vercel/fs-detectors
  17. @vercel/functions
  18. @vercel/gatsby-plugin-vercel-builder
  19. @vercel/go
  20. @vercel/h3
  21. @vercel/hono
  22. @vercel/hydrogen
  23. @vercel/koa
  24. @vercel/nestjs
  25. @vercel/next
  26. @vercel/node
  27. @vercel/oidc
  28. @vercel/oidc-aws-credentials-provider
  29. @vercel/python
  30. @vercel/python-analysis
  31. @vercel/redwood
  32. @vercel/related-projects
  33. @vercel/remix-builder
  34. @vercel/routing-utils
  35. @vercel/ruby
  36. @vercel/rust
  37. @vercel/static-build
  38. @vercel/static-config
  39. examples

Results

  • Unit tests: Only affected packages will run unit tests
  • E2E tests: Running in parallel via E2E Tests workflow
  • Type checks: Only affected packages will run type checks

This comment is automatically generated based on the affected testing strategy

@brookemosby brookemosby force-pushed the brooke/cli-238-parity-audit-vercel-alerts-vs-dashboard-alerting-gap-list-follow-ups branch from 44bfa86 to 1c796d1 Compare April 6, 2026 23:58
@brookemosby brookemosby requested review from a team as code owners April 6, 2026 23:58
@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

📦 CLI Tarball Ready

The Vercel CLI tarball for this PR is now available!

Quick Test

You can test this PR's CLI directly by running:

npx https://vercel-xc59j57rn.vercel.sh/tarballs/vercel.tgz --help

Use in vercel.json

To use this CLI version in your project builds, add to your vercel.json:

{
  "build": {
    "env": {
      "VERCEL_CLI_VERSION": "vercel@https://vercel-xc59j57rn.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

Python Runtime Wheel

A vercel-runtime wheel was also built for this PR.
To use in your Python project builds, also set this environment variable:

VERCEL_RUNTIME_PYTHON="vercel-runtime @ https://vercel-xc59j57rn.vercel.sh/tarballs/vercel_runtime-0.13.0.dev1776179267+cf7d6a3-py3-none-any.whl"

Python Workers Wheel

A vercel-workers wheel was also built for this PR.
To use in your Python project builds, also set this environment variable:

VERCEL_WORKERS_PYTHON="vercel-workers @ https://vercel-xc59j57rn.vercel.sh/tarballs/vercel_workers-0.1.0.dev1776179267+cf7d6a3-py3-none-any.whl"

Comment thread packages/cli/src/commands/oauth-apps/index.ts Outdated
Fetch a single alert group by id with linked project or explicit scope.

Made-with: Cursor
@brookemosby brookemosby force-pushed the brooke/cli-238-parity-audit-vercel-alerts-vs-dashboard-alerting-gap-list-follow-ups branch from 1c796d1 to eee69b8 Compare April 7, 2026 00:29
@brookemosby brookemosby changed the title docs(cli): alerts vs dashboard parity audit scope (CLI-238) [CLI] feat: alerts vs dashboard parity audit scope (CLI-238) Apr 7, 2026
- Add vercel alerts rules (ls, add, inspect, rm, update) targeting /alerts/v2/alert-rules
- Share resolveAlertsScope for list + rules; emit outputAgentError before stderr/JSON for scope errors
- Rules commands: outputAgentError for parse/format/missing-args, file/JSON errors, API failures
- rm: confirmation_required via outputAgentError + buildCommandWithYes (honors argv --non-interactive)
- Telemetry: trackCliSubcommandRules; tests for rules + non-interactive rm

Made-with: Cursor
- Emit outputAgentError with next[] for top-level parse failures (e.g. --project
  without a value) and for list validation errors in non-interactive mode
- Add Group id column to human-readable alerts table; JSON already exposes id
- Extend inspect and alerts rules parse/scope paths with structured next steps
- Add emitRulesArgParseError helper for rules subcommands

Made-with: Cursor
When `alerts rules add` runs with project scope (linked directory or
`--project`), merge `projectId` into the POST body if omitted so new rules
appear in project-scoped `alerts rules ls` (the list API filters by projectId).

Made-with: Cursor
`Client.fetch` accepts `JSONObject` for JSON bodies; `Record<string, unknown>`
was rejected and broke overload resolution (return type inferred as Response).
Use JSONObject for parsed --body payloads and API responses so POST/PATCH
and success output type-check.

Made-with: Cursor
Use shared fixture temp directories in alerts rules unit tests instead of per-test mkdtemp/rm cleanup so Windows runners do not hit EBUSY when removing cwd-bound folders.

Made-with: Cursor
@brookemosby brookemosby enabled auto-merge (squash) April 14, 2026 16:04
@brookemosby brookemosby merged commit e939f51 into main Apr 14, 2026
353 of 366 checks passed
@brookemosby brookemosby deleted the brooke/cli-238-parity-audit-vercel-alerts-vs-dashboard-alerting-gap-list-follow-ups branch April 14, 2026 21:26
gscho pushed a commit that referenced this pull request Apr 15, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @vercel/build-utils@13.16.0

### Minor Changes

- Add shared deserialization and build-result collection utilities.
([#15961](#15961))

- Add root to experimentalServices to set a service's working directory.
([#15929](#15929))

- Add a new flag to vercel deploy to let users deploy to hive
([#15892](#15892))

## vercel@51.3.0

### Minor Changes

- Add `vercel alerts inspect` to fetch a single alert group by id with
linked project, explicit `--project`, or `--all` scope.
([#15850](#15850))

- Add root to experimentalServices to set a service's working directory.
([#15929](#15929))

- Add a new flag to vercel deploy to let users deploy to hive
([#15892](#15892))

### Patch Changes

- Return 3xx responses directly in `client.fetch()` when `redirect:
'manual'` is passed, instead of entering the error/retry path.
([#15953](#15953))

- Add JSON feature flag support to the CLI so flags can be created,
updated, listed, inspected, and set with JSON variant values just like
existing boolean, string, and number kinds.
([#15741](#15741))

This aligns the CLI with the recent API and dashboard changes for `json`
flags, including parsing raw JSON inputs and preserving structured
values in output.

- Display case-insensitive feature flag rule comparisons correctly in
the CLI. ([#15743](#15743))

- Updated dependencies
\[[`86d1f5b3cbd520af2632d4a3d6a1f24557448c0e`](86d1f5b),
[`1056be976b6ba9b42cc1e2ffe895d255ab6c9850`](1056be9),
[`c27eedaa1b0e3f6e3770b578f62e5463d82f06e0`](c27eeda)]:
    -   @vercel/build-utils@13.16.0
    -   @vercel/python@6.32.0
    -   @vercel/backends@0.0.61
    -   @vercel/elysia@0.1.64
    -   @vercel/express@0.1.74
    -   @vercel/fastify@0.1.67
    -   @vercel/go@3.5.0
    -   @vercel/h3@0.1.73
    -   @vercel/hono@0.2.67
    -   @vercel/hydrogen@1.3.6
    -   @vercel/koa@0.1.47
    -   @vercel/nestjs@0.2.68
    -   @vercel/next@4.16.7
    -   @vercel/node@5.7.6
    -   @vercel/redwood@2.4.12
    -   @vercel/remix-builder@5.7.2
    -   @vercel/ruby@2.3.2
    -   @vercel/rust@1.1.0
    -   @vercel/static-build@2.9.14

## @vercel/config@0.2.0

### Minor Changes

- Add root to experimentalServices to set a service's working directory.
([#15929](#15929))

## @vercel/fs-detectors@5.17.0

### Minor Changes

- Add root to experimentalServices to set a service's working directory.
([#15929](#15929))

### Patch Changes

- fix(node): scope entrypoint filter to `api/` directory only
([#15954](#15954))

- Add actix framework preset
([#15752](#15752))

- Updated dependencies
\[[`86d1f5b3cbd520af2632d4a3d6a1f24557448c0e`](86d1f5b),
[`1056be976b6ba9b42cc1e2ffe895d255ab6c9850`](1056be9),
[`620c42ffa6d335c9a6e3e57a1e81c522696b7c2c`](620c42f),
[`c27eedaa1b0e3f6e3770b578f62e5463d82f06e0`](c27eeda)]:
    -   @vercel/build-utils@13.16.0
    -   @vercel/frameworks@3.24.1

## @vercel/python@6.32.0

### Minor Changes

- Add a new flag to vercel deploy to let users deploy to hive
([#15892](#15892))

## @vercel/backends@0.0.61

### Patch Changes

- Updated dependencies
\[[`86d1f5b3cbd520af2632d4a3d6a1f24557448c0e`](86d1f5b),
[`1056be976b6ba9b42cc1e2ffe895d255ab6c9850`](1056be9),
[`c27eedaa1b0e3f6e3770b578f62e5463d82f06e0`](c27eeda)]:
    -   @vercel/build-utils@13.16.0

## @vercel/cervel@0.0.48

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/backends@0.0.61

## @vercel/client@17.3.3

### Patch Changes

- Updated dependencies
\[[`86d1f5b3cbd520af2632d4a3d6a1f24557448c0e`](86d1f5b),
[`1056be976b6ba9b42cc1e2ffe895d255ab6c9850`](1056be9),
[`c27eedaa1b0e3f6e3770b578f62e5463d82f06e0`](c27eeda)]:
    -   @vercel/build-utils@13.16.0

## @vercel/elysia@0.1.64

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.6

## @vercel/express@0.1.74

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.6
    -   @vercel/cervel@0.0.48

## @vercel/fastify@0.1.67

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.6

## @vercel/frameworks@3.24.1

### Patch Changes

- Add actix framework preset
([#15752](#15752))

## @vercel/gatsby-plugin-vercel-builder@2.1.14

### Patch Changes

- Updated dependencies
\[[`86d1f5b3cbd520af2632d4a3d6a1f24557448c0e`](86d1f5b),
[`1056be976b6ba9b42cc1e2ffe895d255ab6c9850`](1056be9),
[`c27eedaa1b0e3f6e3770b578f62e5463d82f06e0`](c27eeda)]:
    -   @vercel/build-utils@13.16.0

## @vercel/h3@0.1.73

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.6

## @vercel/hono@0.2.67

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.6

## @vercel/koa@0.1.47

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.6

## @vercel/nestjs@0.2.68

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.6

## @vercel/node@5.7.6

### Patch Changes

- Updated dependencies
\[[`86d1f5b3cbd520af2632d4a3d6a1f24557448c0e`](86d1f5b),
[`1056be976b6ba9b42cc1e2ffe895d255ab6c9850`](1056be9),
[`c27eedaa1b0e3f6e3770b578f62e5463d82f06e0`](c27eeda)]:
    -   @vercel/build-utils@13.16.0

## @vercel/static-build@2.9.14

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.1.14

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants