Skip to content

feat(cli): improve api ls command with grouped output and separate help#14720

Merged
tknickman merged 2 commits intomainfrom
tknickman/api-ls-improvements
Jan 24, 2026
Merged

feat(cli): improve api ls command with grouped output and separate help#14720
tknickman merged 2 commits intomainfrom
tknickman/api-ls-improvements

Conversation

@tknickman
Copy link
Copy Markdown
Member

Summary

Improves the vercel api ls command output and help system:

  • Grouped endpoint display: Endpoints are now grouped by path with HTTP methods listed underneath, making it easier to scan available endpoints
  • Colored HTTP methods: Methods are color-coded for quick visual identification:
    • GET - cyan
    • POST - green
    • PUT - yellow
    • PATCH - blue
    • DELETE - red
  • Separate help for subcommand: vercel api --help and vercel api ls --help now show appropriate options for each command
  • Moved --format to ls subcommand: The --format option is only relevant to the ls subcommand and is no longer shown in the main api help

Before

METHOD   PATH                                    SUMMARY
-----------------------------------------------------------------------
GET      /v1/projects                            List projects
POST     /v1/projects                            Create a project
DELETE   /v1/projects/{id}                       Delete a project
GET      /v1/projects/{id}                       Get a project
PATCH    /v1/projects/{id}                       Update a project

Total: 225 endpoints

After

/v1/projects
  GET      List projects
  POST     Create a project

/v1/projects/{id}
  GET      Get a project
  PATCH    Update a project
  DELETE   Delete a project

152 routes, 225 endpoints

Test plan

  • Run vercel api ls and verify grouped output with colors
  • Run vercel api ls --format json and verify JSON output works
  • Run vercel api --help and verify --format is NOT listed
  • Run vercel api ls --help and verify --format IS listed
  • Verify --refresh flag works for both commands

🤖 Generated with Claude Code

- Add colored HTTP method output (GET=cyan, POST=green, PUT=yellow, PATCH=blue, DELETE=red)
- Group endpoints by path with methods listed underneath for condensed view
- Separate help for `api` and `api ls` subcommands
- Move --format option to ls subcommand only (not shown in main api help)
- Add listSubcommand with proper subcommand structure following env command pattern

Before:
  METHOD   PATH                    SUMMARY
  GET      /v1/projects            List projects
  POST     /v1/projects            Create a project

After:
  /v1/projects
    GET      List projects
    POST     Create a project

  152 routes, 225 endpoints

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@tknickman tknickman requested a review from a team as a code owner January 24, 2026 00:49
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Jan 24, 2026

🦋 Changeset detected

Latest commit: e79a5da

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

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

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 24, 2026

📦 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-lkmkjti0n.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-lkmkjti0n.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 24, 2026

🧪 Unit Test Strategy

Comparing: be26c82e79a5da (view diff)

Strategy: Affected packages only

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

Affected packages - 2 (5%)
  1. @vercel/config
  2. vercel
Unaffected packages - 39 (95%)
  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/detect-agent
  8. @vercel/edge
  9. @vercel/elysia
  10. @vercel/error-utils
  11. @vercel/express
  12. @vercel/fastify
  13. @vercel/firewall
  14. @vercel/frameworks
  15. @vercel/fs-detectors
  16. @vercel/functions
  17. @vercel/gatsby-plugin-vercel-builder
  18. @vercel/go
  19. @vercel/h3
  20. @vercel/hono
  21. @vercel/hydrogen
  22. @vercel/introspection
  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: Handled separately (Version Packages PRs or run-e2e-tests label)
  • Type checks: Only affected packages will run type checks

This comment is automatically generated based on the affected testing strategy

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@tknickman tknickman merged commit d47bc5b into main Jan 24, 2026
126 checks passed
@tknickman tknickman deleted the tknickman/api-ls-improvements branch January 24, 2026 01:17
ecklf pushed a commit that referenced this pull request Jan 26, 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@50.5.1

### Patch Changes

- Mild refactor of compile-vercel-config
([#14707](#14707))

- Throw explicit error when vercel.ts routes compilation creates a
conflict ([#14709](#14709))

- vercel.ts: normalize items in `routes` array to routes format
([#14705](#14705))

- Improvements to vercel api command. Better ls, and help output
([#14720](#14720))

- Updated dependencies
\[[`e0e7e3cdd180eb1e07e2ebaba809a2486b546b5d`](e0e7e3c)]:
    -   @vercel/rust@1.0.5

## @vercel/config@0.0.27

### Patch Changes

- Remove references to nonexistent `redirects` property
([#14708](#14708))

## @vercel/rust@1.0.5

### Patch Changes

- Do not allow production prebuilt deployments on Windows
([#14724](#14724))

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