Skip to content

feat: add the Symfony Language Server to the Dev Container - #965

Open
dunglas wants to merge 4 commits into
mainfrom
symfony-lsp
Open

dunglas wants to merge 4 commits into
mainfrom
symfony-lsp

Conversation

@dunglas

@dunglas dunglas commented Sep 1, 2026 •

Copy link
Copy Markdown
Owner

Brings Symfony Language Tools to the Dev Container, so agents and editors get Symfony-aware navigation and diagnostics (routes, services, Twig, translations, env vars, Messenger, Security, forms, Doctrine) instead of guessing.

  • The symfony.language-tools Visual Studio Code extension is added to .devcontainer/devcontainer.json. It bundles its own server, nothing else to configure.
  • The frankenphp_dev stage also installs the standalone symfony-lsp binary (8.9 MB, self-contained, dev image only) for agents and editors that launch a server themselves. The latest release is resolved through the releases/latest redirect, so no version to bump and no GitHub API rate limit.
  • docs/agents.md documents both, including the OpenCode lsp configuration and symfony-lsp check for headless use.

Intelephense stays: Symfony Language Tools is framework-specific and is designed to run alongside a general PHP language server.

A separate commit drops the Node Dev Container feature and the npm install -g intelephense postCreateCommand. The Intelephense extension already ships its own server, and nothing else in the container used npm. Anyone adding JavaScript tooling will need to re-add the feature.

See Introducing symfony-lsp check: Symfony-aware diagnostics in your CI.

The Intelephense extension ships its own language server, and nothing
else in the Dev Container used npm.
Ships the symfony-lsp binary in the dev image for AI agents and editors
that launch a language server themselves, and enables the Visual Studio
Code extension, which bundles its own copy of the server.
Docker inherits it from the parent stage, hadolint doesn't, and reports
DL4006 on every RUN with a pipe in a derived stage.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.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.

1 participant