Skip to content

Pin the language server the plugin delivers: idfkit-lsp 0.2.0 - #19

Merged
samuelduchesne merged 2 commits into
mainfrom
pin-idfkit-lsp
Sep 11, 2026
Merged

samuelduchesne merged 2 commits into
mainfrom
pin-idfkit-lsp

Conversation

@samuelduchesne

Copy link
Copy Markdown
Contributor

Closes #17.

idfkit-lsp was published to PyPI for the first time today (v0.2.0), so .lsp.json can finally name a version. Until now it ran uvx --from idfkit-lsp, which resolved nothing on a clean machine.

"args": ["--from", "idfkit-lsp==0.2.0", "--prerelease=allow", "python", "-m", "idfkit_lsp"]

Why --prerelease=allow: idfkit-lsp 0.2.0 depends on idfkit==1.0.0rc1, and uv installs a pre-release of an indirect dependency only when told to. Without the flag it stops with "pre-releases weren't enabled". The flag can go once idfkit-lsp depends on a stable idfkit. It sits after the pin, so the level stays at args[1], where the consumer register reads it.

Verified: this exact command installs idfkit-lsp 0.2.0 with idfkit 1.0.0rc1, imports the server, and serves stdio. The discovery tests pass.

Merge before idfkit/idfkit-conformance's paired PR, which closes this consumer's lag and marks the .lsp.json declaration exact. With the register ahead of the plugin, the plugin's self-check would fail at the next governance tag.

idfkit-lsp reached PyPI for the first time today, so the entry that resolved
nothing on a clean machine (#17) now names a version, and two installs separated
by a release run the same server (FR-015).

--prerelease=allow is needed while idfkit-lsp depends on idfkit 1.0.0rc1: uv
takes a pre-release of an indirect dependency only when told to. It sits after
the pin so the level stays at args[1], where the consumer register reads it.
Verified: this exact command imports the server at 0.2.0 and serves stdio.
… is pinned

The previous commit spread the args array over seven lines where this file, like
.mcp.json, keeps it on one; only the pin and the flag change. AGENTS.md still
said the entry was unpinned until idfkit-lsp published, which it now has.
@samuelduchesne
samuelduchesne merged commit 2d6f1b8 into main Sep 11, 2026
5 checks passed
@samuelduchesne
samuelduchesne deleted the pin-idfkit-lsp branch September 11, 2026 18:23
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.

The language server path resolves nothing: idfkit-lsp is not on PyPI

1 participant