Skip to content

[FEATURE]: Biome LSP sensible defaults and LSP server message visibility #17656

@trollkotze

Description

@trollkotze

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

(Issue written by AI after the fact to justify the motivaton. Full conversation history here: https://opncd.ai/share/EQ2Xb6xA [too large to view in broser, probably due to long codebase-memory-mcp tool outputs that are not compacted in public shared sessions.)

Biome LSP activates by default for many languages, even when the project has no biome.json(c). Biome by default can be useful but Biome's default lint rules produce "false positives" (or too strict and impractical style opinions) that get injected into agent context as errors — e.g. useIterableCallbackReturn flags forEach callbacks that return values. This can confuse agents a little bit and disturb their focus.
Two things are missing:

  1. Configurable Biome defaults via OpenCode config. Users should be able to set Biome LSP settings (via inlineConfig and other Biome workspace settings) through opencode.json without having to add a biome.json to every project. These defaults should only apply when the project doesn't have its own biome.json — if it does, the project config should be authoritative. OpenCode should also ship sensible built-in defaults (like disabling checkForEach).
  2. LSP server messages are invisible. OpenCode doesn't handle window/logMessage or window/showMessage notifications from LSP servers. When a server rejects configuration or encounters errors, there's no indication anywhere in the UI — the only way to debug is reading the server's own log files (e.g. ~/.cache/biome/biome-logs/).

Metadata

Metadata

Assignees

Labels

coreAnything pertaining to core functionality of the application (opencode server stuff)discussionUsed for feature requests, proposals, ideas, etc. Open discussion

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions