Skip to content

feat(cli): add 'cdk lsp' command to start the CDK Language Server over stdio - #1670

Merged
megha-narayanan merged 2 commits into
aws:feat/cdk-lspfrom
megha-narayanan:feat/cdk-lsp-command
Jul 7, 2026
Merged

feat(cli): add 'cdk lsp' command to start the CDK Language Server over stdio#1670
megha-narayanan merged 2 commits into
aws:feat/cdk-lspfrom
megha-narayanan:feat/cdk-lsp-command

Conversation

@megha-narayanan

Copy link
Copy Markdown
Contributor

Editors and AI agents start a language server by running a command over stdio,
but the CDK Language Server (in @aws-cdk/cdk-explorer) has no such entry
point. This adds one, so any LSP-capable editor or agent can get CDK
diagnostics and CodeLens by pointing at cdk lsp.

Wires up cdk lsp as a CLI subcommand that starts the server on stdin/stdout
and runs until the client closes the channel.

  • Adds @aws-cdk/cdk-explorer as a runtime dependency so the server ships in the CLI bundle, version-aligned with the user's CDK toolchain.
  • Writes nothing to stdout (CLI logs already go to stderr), keeping the JSON-RPC channel clean. applicationDir comes from the LSP initialize options, so the command takes no arguments.
  • Mirrors the cdk explore wiring from feat: add web server scaffold and cdk explore command (#1578) #1598

Fixes #

Checklist

  • This change contains a major version upgrade for a dependency and I confirm all breaking changes are addressed
    • Release notes for the new version:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions Bot added the p2 label Jun 24, 2026
@aws-cdk-automation
aws-cdk-automation requested a review from a team June 24, 2026 19:16
@megha-narayanan
megha-narayanan marked this pull request as ready for review June 24, 2026 19:21
…-command-1670

# Conflicts:
#	packages/aws-cdk/.projen/tasks.json
#	packages/aws-cdk/THIRD_PARTY_LICENSES

@ShadowCat567 ShadowCat567 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good overall, just have one question

},
{
"name": "@aws-cdk/cdk-explorer",
"type": "runtime"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why add the explorer as a runtime dependency in this PR?

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.

cdk-explorer is the name of my whole package, that has both the LSP and the web side. so its a runtime dep now because cdk lsp needs startServer from the LSP code to run.

@megha-narayanan
megha-narayanan merged commit a3dca62 into aws:feat/cdk-lsp Jul 7, 2026
7 of 8 checks passed
@megha-narayanan
megha-narayanan deleted the feat/cdk-lsp-command branch July 7, 2026 14:23
megha-narayanan added a commit that referenced this pull request Jul 8, 2026
Brings merged LSP work (#1697, #1669, #1670, #1711, #1715) into the explorer
branch. CLI command map now carries both 'cdk explore' and 'cdk lsp';
regenerated the user-input files from cli-config.ts. express remains a bundled
dependency of the explorer web server.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants