pi-lsp-adapter 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -130,7 +130,7 @@ You can override these definitions or add new server definitions in config.
130
130
  Most users only need one file:
131
131
 
132
132
  ```text
133
- ~/.pi/agents/lsp.json
133
+ ~/.pi/agent/lsp.json
134
134
  ```
135
135
 
136
136
  If that file does not exist, the extension behaves as if this config were present:
@@ -147,13 +147,13 @@ If that file does not exist, the extension behaves as if this config were presen
147
147
 
148
148
  ### Config files and merge order
149
149
 
150
- | Priority | Path | Purpose |
151
- | -------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------- |
152
- | 1 | built-in catalog | Default server definitions for `vtsls`, `pyright`, `gopls`, `rust-analyzer`, `yamlls`, etc. |
153
- | 2 | `~/.pi/agents/lsp.json` | User-global config. Best place for executable, install, PATH, `installMode`, and `warmup`. |
154
- | 3 | `.pi/lsp.json` | Project-local config. Safe server fields are honored before trust; process-starting fields require `/lsp trust`. |
150
+ | Priority | Path | Purpose |
151
+ | -------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------- |
152
+ | 1 | built-in catalog | Default server definitions for `vtsls`, `pyright`, `gopls`, `rust-analyzer`, `yamlls`, etc. |
153
+ | 2 | `~/.pi/agent/lsp.json` | User-global config. Best place for executable, install, PATH, `installMode`, and `warmup`. |
154
+ | 3 | `.pi/lsp.json` | Project-local config. Safe server fields are honored before trust; process-starting fields require `/lsp trust`. |
155
155
 
156
- > Path gotcha: config uses `~/.pi/agents/lsp.json` (`agents` plural). Runtime state uses `~/.pi/agent/lsp/` (`agent` singular).
156
+ > Path gotcha: config is the file `~/.pi/agent/lsp.json`. Runtime state lives under the directory `~/.pi/agent/lsp/`.
157
157
 
158
158
  ### Runtime paths
159
159
 
@@ -253,7 +253,7 @@ You do not need Pi to manage every language server. If you already have servers
253
253
  Prefer global config for executable overrides:
254
254
 
255
255
  ```text
256
- ~/.pi/agents/lsp.json
256
+ ~/.pi/agent/lsp.json
257
257
  ```
258
258
 
259
259
  Example: use Mason.nvim's Pyright:
@@ -442,15 +442,16 @@ Run `/reload` in Pi after editing the extension.
442
442
 
443
443
  ## Release
444
444
 
445
- Publishing is tag-driven. Use `npm version` to bump `package.json` and `package-lock.json`, create the matching semver tag, then push the commit and tag. The GitHub Actions publish workflow verifies that the tag matches `package.json` before publishing.
445
+ Publishing is tag-driven, but do not create release tags by hand. Use the release helper so `package.json` and `package-lock.json` are bumped before the matching semver tag is created. The GitHub Actions publish workflow is intentionally read-only: it verifies the tag against both version files and fails instead of patching tagged source during publish.
446
446
 
447
- Before the first release, configure npm publishing for this repository with either an `NPM_TOKEN` GitHub secret or npm Trusted Publishing.
447
+ npm publishing uses Trusted Publishing for `.github/workflows/publish.yml`, so no npm token secret is required. The npm package must have a Trusted Publisher configured for `nikmmd/pi-lsp-adapter` and workflow filename `publish.yml`.
448
448
 
449
449
  ```bash
450
- npm version 0.1.0
451
- git push origin main --follow-tags
450
+ npm run release -- 0.1.2 --push
452
451
  ```
453
452
 
453
+ Omit `--push` to create the release commit and tag locally, then push with the command printed by the helper.
454
+
454
455
  Stable tags such as `v0.1.0` publish with the npm `latest` dist-tag. Prerelease tags such as `v0.2.0-beta.1` publish with the npm `next` dist-tag.
455
456
 
456
457
  ## Troubleshooting
@@ -481,7 +482,7 @@ This is the quickest way to see the final command, root markers, install state,
481
482
 
482
483
  ### Reuse Mason.nvim servers
483
484
 
484
- Configure the server as `type: "system"` in `~/.pi/agents/lsp.json` and point `command` at the Mason binary. Pi will use it but will not manage or uninstall it.
485
+ Configure the server as `type: "system"` in `~/.pi/agent/lsp.json` and point `command` at the Mason binary. Pi will use it but will not manage or uninstall it.
485
486
 
486
487
  ### Start fresh for one server
487
488
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-lsp-adapter",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Pi extension that gives coding agents Language Server Protocol tools for diagnostics, hover, definitions, references, and symbol search",
5
5
  "author": "Nikmmd",
6
6
  "license": "MIT",
@@ -38,7 +38,8 @@
38
38
  "test:watch": "vitest",
39
39
  "typecheck": "tsc --noEmit",
40
40
  "format": "prettier --write .",
41
- "format:check": "prettier --check ."
41
+ "format:check": "prettier --check .",
42
+ "release": "bash scripts/release.sh"
42
43
  },
43
44
  "pi": {
44
45
  "extensions": [
@@ -50,7 +50,7 @@ export function getTrustStorePath(): string {
50
50
  }
51
51
 
52
52
  export function getUserConfigPath(): string {
53
- return join(homedir(), ".pi", "agents", "lsp.json");
53
+ return join(homedir(), ".pi", "agent", "lsp.json");
54
54
  }
55
55
 
56
56
  export function getProjectConfigPath(projectRoot: string): string {