@xynogen/pix-diagnostics

Pi extension — lazy LSP diagnostics, navigation, and a compact session widget

Packages

Package details

extension

Install @xynogen/pix-diagnostics from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@xynogen/pix-diagnostics
Package
@xynogen/pix-diagnostics
Version
0.4.1
Published
Oct 22, 2026
Downloads
813/mo · 124/wk
Author
xynogen
License
MIT
Types
extension
Size
83.3 KB
Dependencies
3 dependencies · 4 peers
Pi manifest JSON
{
  "extensions": [
    "src/extension.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pix-diagnostics

Pi extension — an LSP client for project-selected language servers.

What it does

  • Reads language-server choices from <project>/.pi/lsp.json.
  • Starts a configured server only when a visible tool call needs it.
  • Reports diagnostics through lsp_diagnostics.
  • Supports definition, references, hover, symbols, rename preview, and call hierarchy through lsp_navigation.

Pix does not bundle, install, or select language servers. Use the lsp skill to choose a server for the project. The project owns the server and its version.

Project configuration

{
  "servers": {
    "python": {
      "command": "pyright-langserver",
      "args": ["--stdio"],
      "extensions": [".py", ".pyi"],
      "languageId": "python",
      "rootMarkers": ["pyproject.toml", ".git"]
    }
  }
}

Required fields: command, extensions, and languageId. Optional fields: args, filenames, and rootMarkers.

Local TypeScript server

Install the server as a project development dependency:

bun add --dev typescript-language-server

TypeScript must also exist in the project dependencies. Add this server to <project>/.pi/lsp.json:

{
  "servers": {
    "typescript": {
      "command": "bun",
      "args": ["run", "typescript-language-server", "--stdio"],
      "extensions": [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"],
      "languageId": "typescript",
      "rootMarkers": ["tsconfig.base.json", "package.json", ".git"]
    }
  }
}

The wrapper uses the project-local server, not a global installation. Run /reload after you change the server configuration. Then call lsp_diagnostics with source: "lsp" and explicit file paths. This configuration does not add a JSON language server.

Diagnostic states

  • clean: the server confirms that the file has no findings.
  • findings: the server returns one or more diagnostics.
  • unavailable: no configured server can run for the file.
  • unconfirmed: the client cannot confirm diagnostics within the wait budget.

An unconfirmed result does not mean that the file is clean.

Install

pi install npm:@xynogen/pix-diagnostics

Bundled in @xynogen/pix-core. Install it alone only if you do not use pix-core.

Full distro

This package is part of Pix. The installer sets up Pi and the full distro. See Install for the notes for each OS.

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/xynogen/pix-mono/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/xynogen/pix-mono/main/scripts/install.ps1 | iex

License

MIT

The LSP engine adapts code from pi-lens (MIT). See LICENSE.pi-lens.