Skip to content

refactor(dev-tooling)!: remove the optional phpactor PHP LSP - #192

Merged
Martin Bens (SpiGAndromeda) merged 2 commits into
mainfrom
refactor/dev-tooling-remove-lsp
Oct 11, 2026
Merged

Martin Bens (SpiGAndromeda) merged 2 commits into
mainfrom
refactor/dev-tooling-remove-lsp

Conversation

@SpiGAndromeda

@SpiGAndromeda Martin Bens (SpiGAndromeda) commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Removes the opt-in phpactor language server from dev-tooling. For agents it added little next to PHPStan through the php-tooling MCP server, and it needed a Python proxy, a root uv project and a separate CI job.

Changes

  • dev-tooling: deletes lsp-server-php/, .lsp.json, shared/lsp_bootstrap.sh, shared/lsp_null.sh, shared/lsp_proxy.py, the lsp-directives.sh SessionStart hook with its two prompts, and docs/lsp.md. hooks/hooks.json runs session-start.sh alone.
  • Shared config.sh: drops the CONFIG_FILE_PREFIX / CONFIG_ENV_VAR_PREFIX branch, which only the LSP launcher set. Edited in templates/mcp-shared/config.sh and synced to the dev-tooling and shopware-env copies.
  • Root Python project: pyproject.toml, uv.lock and the python job in ci.yml existed only for the LSP proxy tests and are removed. agent-skills-export keeps its own uv project and is unaffected.
  • plugin-setup: the dev-tooling-setting-up skill no longer asks for .lsp-php-tooling.json, checks python3 or phpactor, or runs LSP validation.
  • Tests: removes lsp_bootstrap.bats, lsp_null.bats and lsp_proxy/, and the two LSP-path cases in mcp-shared/config.bats. codex_manifest.bats folds its LSP-specific cases into the shared-metadata test, which now also compares description and keywords between the Claude and Codex manifests.
  • Docs: LSP sections removed from the root README, the plugin README, AGENTS.md, SETUP.md and docs/mcp-enforcement.md. The root README drops the 🎯 Skills badge from dev-tooling's row, since the plugin has no skills/ directory. templates/README.md now lists launch.sh, server_run.sh and js_paths.sh as dev-tooling-owned.

Version bumps and CHANGELOG entries for dev-tooling and plugin-setup are not part of this PR.

Breaking change

dev-tooling no longer registers a PHP language server. .lsp-php-tooling.json and LSP_PHP_TOOLING_CONFIG are ignored; a project that created the file can delete it. PHPStan through the php-tooling MCP server remains.

The LSP added little for agents next to PHPStan through the `php-tooling` MCP server, and it carried a Python proxy, a root uv project and a separate CI job.

Removes `lsp-server-php`, `.lsp.json`, the `lsp_bootstrap.sh`, `lsp_null.sh` and `lsp_proxy.py` scripts, the `lsp-directives.sh` SessionStart hook with its prompts, `docs/lsp.md`, and their tests. The shared `config.sh` drops the `CONFIG_FILE_PREFIX`/`CONFIG_ENV_VAR_PREFIX` branch that only the LSP launcher set. The root `pyproject.toml`, `uv.lock` and the `python` CI job served only the LSP proxy and are removed with it. The `dev-tooling-setting-up` skill no longer configures the LSP.

BREAKING CHANGE: dev-tooling no longer registers a PHP language server, and `.lsp-php-tooling.json` and `LSP_PHP_TOOLING_CONFIG` are ignored. Use PHPStan through the `php-tooling` MCP server instead.

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

The release bump for the LSP removal ships in a separate change, so dev-tooling returns to 4.1.1 and plugin-setup to 1.0.3, and their `CHANGELOG.md` entries for 5.0.0 and 1.0.4 are removed.

Co-Authored-By: Claude <noreply@anthropic.com>
@SpiGAndromeda
Martin Bens (SpiGAndromeda) merged commit ef3e07b into main Oct 11, 2026
12 checks passed
@SpiGAndromeda
Martin Bens (SpiGAndromeda) deleted the refactor/dev-tooling-remove-lsp branch October 11, 2026 22:22
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