Skip to content

Claude plugin adapter does not emit LSP servers (.lsp.json / lspServers) #155

Description

@ScriptedAlchemy

Summary

Claude Code plugins can ship Language Server Protocol configs as .lsp.json at the plugin root, or lspServers in .claude-plugin/plugin.json (Claude Code 2.1.x). Agent-bundle's Claude adapter does not emit that surface, so a plugin that needs Effect tsgo (or any LSP) cannot be produced by the meta-framework.

Evidence (current main)

  • packages/agent-bundle/src/adapters/capabilities/claude-2.1.250.json plugin keys are manifest, marketplace, skills only. No LSP.
  • packages/agent-bundle/src/adapters/schemas/claude/plugin.schema.json properties are author, description, hooks, name, version. No lspServers.
  • claudeArtifactPaths / artifact validation list hooks/hooks.json, .claude-plugin/marketplace.json, .mcp.json, .claude-plugin/plugin.json. No .lsp.json.
  • Design note in docs/plans/2026-08-13-agent-bundle-design.md: "commands, agents, rules, and LSP servers are explicitly outside the v1 portable format."

Ask

Add Claude plugin LSP to the host adapter:

  1. Recognize .lsp.json (and/or lspServers on the plugin manifest).
  2. Extend the pinned Claude plugin schema so lspServers is valid.
  3. Emit .lsp.json in Claude and unified plugin bundles when the source declares an LSP server.
  4. Document that the language server binary is not vendored; the bundle only wires command / extensionToLanguage / diagnostics.

Why now

ScriptedAlchemy/effect-ts needs Effect tsgo (effect-tsgo lsp, fallback typescript-language-server) for Claude Code. That plugin currently wires .lsp.json by hand because agent-bundle cannot emit it. Codex is handled separately via PostToolUse hooks (additionalContext), which agent-bundle already supports.

No change requested to cargo-conductor.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions