📝 Document pi-lsp tooling and agent usage
README § Tooling and § Tooling decisions record the extension and the reasoning behind it: read-only by design, auto-detects TypeScript 7, and never a correctness gate — verify is. AGENTS.md § First action tells agents the lsp_* tools exist, to prefer lsp_references over grep -w for colliding identifiers, and to treat empty LSP output as inconclusive. Close the backlog evaluation task with a resolved note, and allowlist the tsgo/tsserver tool names for cspell.
This commit is contained in:
1 parent
863198d472
commit
93cb37441d
4 files changed
+11
No files matched your search
@@ -30,6 +30,7 @@ What each tier runs, when it fires and what it costs:
|
||||
- **publint** — validates `package.json` for ESM publishing correctness.
|
||||
- **@arethetypeswrong/cli** (`attw`) — validates `.d.ts` declarations against multiple module-resolution scenarios.
|
||||
- **lefthook** — git hooks.
|
||||
- **@spences10/pi-lsp** — read-only LSP code intelligence for AI coding agents (project-local `.pi/settings.json`). Talks to this repo's TypeScript 7 via `tsc --lsp --stdio`.
|
||||
|
||||
Each tool's configuration trade-off is recorded in [Tooling decisions](#tooling-decisions); when it runs is in [CONTRIBUTING.md § Feedback tiers](./CONTRIBUTING.md#feedback-tiers).
|
||||
|
||||
@@ -46,6 +47,7 @@ The choice and configuration of each tool above is the result of deliberate trad
|
||||
- **`check:tsc` runs first** in the `npm run check` chain so a type error short-circuits the rest (faster feedback than letting oxlint/oxfmt run and then failing on tsc at the end).
|
||||
- **The pre-commit hook sets the `LEFTHOOK_FILES` env var** to the staged-files list, and the affected scripts use `${LEFTHOOK_FILES:-<default>}` to default to the whole project when invoked manually. This keeps `package.json#scripts` as the single source of truth for the underlying commands — `lefthook.yml` only describes _what to run on which files_.
|
||||
- **`tslib` and `type-fest` are deliberately not used.** `tslib` is a runtime helper for old ES3/ES5 targets (the project targets ES2024); `type-fest` was never imported. knip caught both.
|
||||
- **`@spences10/pi-lsp` is pinned to `0.0.46` and is read-only by design.** The package inspects `node_modules/typescript`, sees major ≥ 7 with no `lib/tsserver.js` (true of the `typescript-go` / `tsgo` port), and spawns the repo's own `tsc --lsp --stdio` binary — no `typescript-language-server` dependency is required. Earlier releases (`≤ 0.0.10`) hard-wire to `typescript-language-server --stdio` and are TS6-only. The tool is _intermediate_ agent feedback (hover, references, definition, symbols, diagnostics); it has no rename / code-action / apply-edit surface, and never a correctness gate — `npm run check` / `verify` remain that.
|
||||
|
||||
### Requirements
|
||||
|
||||
|
||||
Reference in new issue
Block a user