From 7318f01016d8c2a2afb3603e7445d052e0466d55 Mon Sep 17 00:00:00 2001 From: Yavor Panayotov Date: Fri, 19 Jun 2026 14:12:54 +0300 Subject: [PATCH 1/2] Wire allium-lsp in plugin.json for live .allium diagnostics (#39) Add an lspServers entry so the Claude Code plugin connects the allium-lsp language server to .allium files, giving Claude checker diagnostics, go-to-definition and hover immediately after each edit without a separate `allium check` invocation. Note in the README that allium-lsp is not bundled and must be installed separately (and be on PATH), consistent with official marketplace LSP plugins. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude-plugin/plugin.json | 10 +++++++++- README.md | 8 ++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 967b71a..fbdf154 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -21,5 +21,13 @@ "agents": [ "./agents/tend.md", "./agents/weed.md" - ] + ], + "lspServers": { + "allium": { + "command": "allium-lsp", + "extensionToLanguage": { + ".allium": "allium" + } + } + } } diff --git a/README.md b/README.md index 062b61b..2a685f7 100644 --- a/README.md +++ b/README.md @@ -230,6 +230,14 @@ The developer never mentioned invoicing or payment method capture. The Allium di When the CLI is installed, `.allium` files are validated automatically after every write or edit. Diagnostics appear inline and the model fixes issues in the same turn. +**Live diagnostics in Claude Code.** The Claude Code plugin also wires the `allium-lsp` language server, so Claude receives checker errors, go-to-definition and hover for `.allium` files immediately after each edit, without a separate `allium check` invocation. The language server is **not bundled** with the plugin — install it separately and make sure `allium-lsp` is on your `PATH`: + +``` +npm install -g allium-lsp +``` + +See the [allium-tools repo](https://github.com/juxt/allium-tools) for other install paths. + ## Language governance Every change to Allium is debated by a [nine-member review panel](https://github.com/juxt/allium/blob/proposals/TEAM.md) before adoption. Each panellist represents a distinct design priority: simplicity, machine reasoning, composability, readability, formal rigour, domain modelling, developer experience, creative ambition and backward compatibility. The panel exists to surface tensions that any single perspective would miss. From ef4044141b3c74daa010d4644cc47e5dd2cc5928 Mon Sep 17 00:00:00 2001 From: Yavor Panayotov Date: Fri, 19 Jun 2026 14:15:26 +0300 Subject: [PATCH 2/2] Fix allium-lsp invocation and install note The language server calls createConnection(ProposedFeatures.all), which requires a transport flag on argv, so it must be launched as `allium-lsp --stdio` (per allium-tools CONTRIBUTING). Add args: ["--stdio"] to the lspServers entry; without it the server errors on startup. allium-lsp is not published to npm (the bare and @juxt-scoped names both 404), so drop the `npm install -g allium-lsp` instruction and point to the allium-tools repo for installing the server onto PATH instead. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude-plugin/plugin.json | 1 + README.md | 8 +------- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index fbdf154..0935d39 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -25,6 +25,7 @@ "lspServers": { "allium": { "command": "allium-lsp", + "args": ["--stdio"], "extensionToLanguage": { ".allium": "allium" } diff --git a/README.md b/README.md index 2a685f7..a59a4e2 100644 --- a/README.md +++ b/README.md @@ -230,13 +230,7 @@ The developer never mentioned invoicing or payment method capture. The Allium di When the CLI is installed, `.allium` files are validated automatically after every write or edit. Diagnostics appear inline and the model fixes issues in the same turn. -**Live diagnostics in Claude Code.** The Claude Code plugin also wires the `allium-lsp` language server, so Claude receives checker errors, go-to-definition and hover for `.allium` files immediately after each edit, without a separate `allium check` invocation. The language server is **not bundled** with the plugin — install it separately and make sure `allium-lsp` is on your `PATH`: - -``` -npm install -g allium-lsp -``` - -See the [allium-tools repo](https://github.com/juxt/allium-tools) for other install paths. +**Live diagnostics in Claude Code.** The Claude Code plugin also wires the `allium-lsp` language server, so Claude receives checker errors, go-to-definition and hover for `.allium` files immediately after each edit, without a separate `allium check` invocation. The language server is **not bundled** with the plugin — install the `allium-lsp` server from the [allium-tools repo](https://github.com/juxt/allium-tools) and make sure the `allium-lsp` binary is on your `PATH`. If it isn't found, Claude Code reports `Executable not found in $PATH` in the `/plugin` Errors tab and falls back to CLI checking. ## Language governance