Skip to content

Wire allium-lsp in plugin.json for live .allium diagnostics #39

@tburny

Description

@tburny

What changes for the user

Today the allium Claude Code plugin gives Claude the skills and agents to read,
write, and verify .allium specs — but not the allium-lsp language server.
Claude edits .allium files without live diagnostics, definition navigation,
or hover information, even though the same LSP binary already drives the VS Code
extension. After this change, Claude would see checker errors immediately after
each edit instead of waiting for the user to run allium check manually.

Why it matters

The Claude Code plugin system supports lspServers configuration
(see Plugins reference — LSP servers),
which feeds LSP diagnostics to Claude after each file edit and exposes
go-to-definition and hover data. For a spec language where cross-file references,
rule preconditions, and status-lifecycle constraints must stay internally
consistent, live checker feedback in the editing loop reduces the round-trip
between "Claude edits spec" and "user discovers the error".

Acceptance criteria

  • plugin.json includes an lspServers entry that wires the allium-lsp
    binary to the .allium file extension
  • Claude receives LSP diagnostics immediately after each .allium file edit
    without a separate allium check invocation
  • README.md notes that allium-lsp must be installed separately before
    the LSP integration is active (consistent with the notice on official
    marketplace LSP plugins)

Suggested configuration (inline in .claude-plugin/plugin.json):

"lspServers": {
  "allium": {
    "command": "allium-lsp",
    "extensionToLanguage": {
      ".allium": "allium"
    }
  }
}

The command must be in $PATH. Install via:

npm install -g allium-lsp   # current install path

Nix / Homebrew install paths will follow from juxt/allium-tools#16.

Out of scope

  • Bundling the allium-lsp binary inside the plugin (Claude Code LSP plugins
    configure the connection; they do not ship the binary)
  • Any changes to allium-lsp itself or the allium-tools repo
  • MCP-LSP bridge configuration (would be a separate plugin component)
  • Neovim / Helix LSP wiring (separate from the Claude Code plugin)

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions