{"_id":"@arhen/pi-add-code-diagnostic","_rev":"4-d01290067cd37e271aec3ace1bad33f9","name":"@arhen/pi-add-code-diagnostic","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@arhen/pi-add-code-diagnostic","version":"1.0.0","keywords":["pi","pi-coding-agent","pi-extension","pi-package","diagnostics","lsp","lint"],"license":"MIT","_id":"@arhen/pi-add-code-diagnostic@1.0.0","maintainers":[{"name":"arhen","email":"itsme.arhen@gmail.com"}],"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"1286c96eeb7bdbe97cf4c376a1baba4e2381b72b","tarball":"https://registry.npmjs.org/@arhen/pi-add-code-diagnostic/-/pi-add-code-diagnostic-1.0.0.tgz","fileCount":4,"integrity":"sha512-mWaTn3d/9Tspm9IS54wOX/Azxwa1qCKkn/amM3KKxBSmTQz3TXYFpFSdx/EQS1KQjYoUpe19saKiULFvNjZ02A==","signatures":[{"sig":"MEUCIGu7pFNHxCRXTqnUB4A1EKSyNP5qEUIT4DTchBqlYNHcAiEAr7lB+kNV16Mpi7k2gk4vCepESaC+7vODMpoi71tQTNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16362},"main":"./src/index.ts","type":"module","gitHead":"262baeb4ed8c5fba8b5981b7162a9a3ea30849e9","_npmUser":{"name":"arhen","email":"itsme.arhen@gmail.com"},"_npmVersion":"10.9.2","description":"pi extension: repo-scoped typecheck/lint diagnostics for coding agents (LSP-equivalent, no servers).","directories":{},"_nodeVersion":"23.8.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-add-code-diagnostic_1.0.0_1786947316134_0.26905702080502536","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arhen/pi-add-code-diagnostic","version":"1.0.1","keywords":["pi","pi-coding-agent","pi-extension","pi-package","diagnostics","lsp","lint"],"license":"MIT","_id":"@arhen/pi-add-code-diagnostic@1.0.1","maintainers":[{"name":"arhen","email":"itsme.arhen@gmail.com"}],"homepage":"https://github.com/arhen/pi-extensions#readme","bugs":{"url":"https://github.com/arhen/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"5efb7d36ddc5759150a12bc521242943480d828e","tarball":"https://registry.npmjs.org/@arhen/pi-add-code-diagnostic/-/pi-add-code-diagnostic-1.0.1.tgz","fileCount":4,"integrity":"sha512-oGlti/sX9AuclRywTQX52OtRC34ogy+c9WnuwSauxLCAMI1Fg/dfTm8oVcnC2CKW9Ap4BdeTnNOrHH1FrNtGFw==","signatures":[{"sig":"MEUCIQCeouY12+u65rAz9A34NEUUFnnBC8F34OvGaHKENxIbwAIgNle/n9XlYIBJG6YjR+9zAC34lXF2OHnX+Ko4cWskD7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16512},"main":"./src/index.ts","type":"module","gitHead":"5cad6a5943bb5ca20a7774f4036ab5028822cc4d","_npmUser":{"name":"arhen","email":"itsme.arhen@gmail.com"},"repository":{"url":"git+https://github.com/arhen/pi-extensions.git","type":"git","directory":"packages/add/pi-add-code-diagnostic"},"_npmVersion":"10.9.2","description":"pi extension: repo-scoped typecheck/lint diagnostics for coding agents (LSP-equivalent, no servers).","directories":{},"_nodeVersion":"23.8.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-add-code-diagnostic_1.0.1_1786950689798_0.7407749208601464","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@arhen/pi-add-code-diagnostic","version":"1.0.2","keywords":["pi","pi-coding-agent","pi-extension","pi-package","diagnostics","lsp","lint"],"license":"MIT","_id":"@arhen/pi-add-code-diagnostic@1.0.2","maintainers":[{"name":"arhen","email":"itsme.arhen@gmail.com"}],"homepage":"https://github.com/arhen/pi-extensions#readme","bugs":{"url":"https://github.com/arhen/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"f337f7654183da1e6a25185ca50e917c9fcefccb","tarball":"https://registry.npmjs.org/@arhen/pi-add-code-diagnostic/-/pi-add-code-diagnostic-1.0.2.tgz","fileCount":5,"integrity":"sha512-lqw1l5ZU/keXC0Z0ZBykQnYmJlH1KYvvSLg9OUFfHIPNRjnjQh9K1ISE3e57IpOzbyaraO8lJaGSwqy8dOI1uA==","signatures":[{"sig":"MEYCIQCc+XPZHdnN5yCBUhuzYQY+dzjFnKdXZSnoZ9g41G9jDQIhAMP4GsLsqThEeDTdDLtikF+ALPjY8nN4OGOjBt8joWb9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18146},"main":"./src/index.ts","type":"module","gitHead":"ed55f05a873172626cd75675aaf253edc1a618ae","_npmUser":{"name":"arhen","email":"itsme.arhen@gmail.com"},"repository":{"url":"git+https://github.com/arhen/pi-extensions.git","type":"git","directory":"packages/add/pi-add-code-diagnostic"},"_npmVersion":"10.9.2","description":"pi extension: repo-scoped typecheck/lint diagnostics for coding agents (LSP-equivalent, no servers).","directories":{},"_nodeVersion":"23.8.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-add-code-diagnostic_1.0.2_1786951525557_0.29983838621898995","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@arhen/pi-add-code-diagnostic","version":"1.0.3","type":"module","description":"pi extension: repo-scoped typecheck/lint diagnostics for coding agents (LSP-equivalent, no servers).","license":"MIT","main":"./src/index.ts","keywords":["pi","pi-coding-agent","pi-extension","pi-package","diagnostics","lsp","lint"],"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"pi":{"extensions":["./src/index.ts"]},"repository":{"type":"git","url":"git+https://github.com/arhen/pi-extensions.git","directory":"packages/add/pi-add-code-diagnostic"},"_id":"@arhen/pi-add-code-diagnostic@1.0.3","gitHead":"6d121d5a1ca26a56660393c56f6b21fc12a998d5","bugs":{"url":"https://github.com/arhen/pi-extensions/issues"},"homepage":"https://github.com/arhen/pi-extensions#readme","_nodeVersion":"23.8.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-OtM+i/iGPQfBff7b2uIrk4Nru11XjfgvY/+vasv6WPjxL+j6PJUK0nnz0cy1RUXBW/0xcXUdTG4hDU6UJWqwww==","shasum":"f83b73ab41ce72b39b8ca3bdd23451ecf2a22e76","tarball":"https://registry.npmjs.org/@arhen/pi-add-code-diagnostic/-/pi-add-code-diagnostic-1.0.3.tgz","fileCount":5,"unpackedSize":18152,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGzjOU12Z9Vs/xblbEGpuw0PQ+WDdLzVUPWR4rTvjcqAAiAulLbntsaZZZwpiK8Vhz8UODJ58YgSjM3Siny8Ft06kg=="}]},"_npmUser":{"name":"arhen","email":"itsme.arhen@gmail.com"},"directories":{},"maintainers":[{"name":"arhen","email":"itsme.arhen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-add-code-diagnostic_1.0.3_1786951606092_0.7951240236859702"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-17T06:15:15.119Z","modified":"2026-08-17T07:26:46.383Z","1.0.0":"2026-08-17T06:15:16.265Z","1.0.1":"2026-08-17T07:11:29.943Z","1.0.2":"2026-08-17T07:25:25.751Z","1.0.3":"2026-08-17T07:26:46.219Z"},"bugs":{"url":"https://github.com/arhen/pi-extensions/issues"},"license":"MIT","homepage":"https://github.com/arhen/pi-extensions#readme","keywords":["pi","pi-coding-agent","pi-extension","pi-package","diagnostics","lsp","lint"],"repository":{"type":"git","url":"git+https://github.com/arhen/pi-extensions.git","directory":"packages/add/pi-add-code-diagnostic"},"description":"pi extension: repo-scoped typecheck/lint diagnostics for coding agents (LSP-equivalent, no servers).","maintainers":[{"name":"arhen","email":"itsme.arhen@gmail.com"}],"readme":"# @arhen/pi-add-code-diagnostic\n\n[![npm version](https://img.shields.io/npm/v/@arhen%2Fpi-add-code-diagnostic?color=cb3837&logo=npm)](https://www.npmjs.com/package/@arhen/pi-add-code-diagnostic)\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\n## Install\n\nRequires the [pi coding agent](https://github.com/earendil-works/pi) — install it first: `npm install -g @earendil-works/pi-coding-agent`.\n\n```sh\npi install npm:@arhen/pi-add-code-diagnostic\n```\n\nLSP-equivalent diagnostics for coding agents — no language servers, no JSON-RPC, no server lifecycle. One configured command per repo, run by the agent loop itself.\n\n## How it works\n\n- **Tier 1 — per-file lint on write/edit.** If the repo config has `fileCheck` (e.g. `eslint ${file}`), it runs silently in the background after each agent write/edit. Never blocks.\n- **Tier 2 — global check at agent settle.** Runs the repo's `check` command (e.g. `tsc --noEmit`) once per session, then after any agent edit. Errors surface as a `followUp` message; `triggerTurn` re-engages the agent to fix them, so the agent keeps working until the tree is clean.\n- **Discovery, one message per session.** Repo has no config yet → the agent is asked to inspect the repo, propose a `check`/`fileCheck`, self-test it, confirm with you, and write the config. `off` or `enabled: false` = silent forever.\n- **Fail-open everywhere.** A broken command never blocks the agent. 3 crashing runs auto-disable the config. Aborted agent runs skip the check.\n- **Loop guard.** The same error report with no edits since → shown only, no re-trigger.\n\n## Config\n\nPer repo root at `~/.pi/repos/<root-sanitized>.json`:\n\n```json\n{ \"check\": \"tsc --noEmit\", \"fileCheck\": \"eslint ${file}\", \"enabled\": true }\n```\n\nCommands are split on whitespace (no shell pipes/`&&`) and run with a 120s timeout from the repo root.\n\n## Commands\n\n- `/diagnostic` — status: root, check cmd, fileCheck, enabled, testedAt, lastExit\n- `/diagnostic run` — run the global check now\n- `/diagnostic clear` — delete the repo config; discovery re-runs\n\n## License\n\nMIT.\n","readmeFilename":"README.md"}