{"_id":"@aholbreich/pi-tl","_rev":"6-5764a3fb33212797b86e9277b451ea4a","name":"@aholbreich/pi-tl","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@aholbreich/pi-tl","version":"0.1.0","keywords":["pi-package","pi-extension","taskledger","tl"],"license":"MIT","_id":"@aholbreich/pi-tl@0.1.0","maintainers":[{"name":"aholbreich","email":"holbreich@gmail.com"}],"pi":{"image":"https://raw.githubusercontent.com/aholbreich/pi/main/docs/images/tl-board.png","extensions":["./extensions/tl/index.ts"]},"dist":{"shasum":"10876b28a95693bce3a4b48ff4283a4f8c36017f","tarball":"https://registry.npmjs.org/@aholbreich/pi-tl/-/pi-tl-0.1.0.tgz","fileCount":15,"integrity":"sha512-V70n769f2Z/mwSFfwd0Ari0Vwn5Q/faZK7C4Ewuia7xYtdIuK3pIIb9tBMol6UMuxDw4ww8Cb2poiZP8aTbXIQ==","signatures":[{"sig":"MEYCIQDylxX3IJrhepy7dEtyqGzagbeg30E/209k0cXk/HsgSAIhAJFdUTUhQv53j0R31qQR7B5zfass3CscprWoevGTUm4a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54946},"type":"module","gitHead":"b21a677109b2be2cb5d71cd639bd26044092b47e","scripts":{"test":"node --test tests/*.test.mjs","check":"tsc --noEmit","test:all":"node --test tests/*.test.mjs && cucumber-js","test:bdd":"cucumber-js"},"_npmUser":{"name":"aholbreich","email":"holbreich@gmail.com"},"_npmVersion":"10.9.4","description":"Pi extension for the tl (task-ledger) CLI.","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"*","typescript":"^5.0.0","@cucumber/cucumber":"^12.9.0","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-tl_0.1.0_1780344939163_0.06457366670201803","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@aholbreich/pi-tl","version":"0.2.3","keywords":["pi-package","pi-extension","taskledger","tl"],"license":"MIT","_id":"@aholbreich/pi-tl@0.2.3","maintainers":[{"name":"aholbreich","email":"holbreich@gmail.com"}],"homepage":"https://github.com/aholbreich/pi#readme","bugs":{"url":"https://github.com/aholbreich/pi/issues"},"pi":{"image":"https://raw.githubusercontent.com/aholbreich/pi/main/docs/images/tl-board.png","extensions":["./extensions/tl/index.ts"]},"dist":{"shasum":"08be06366456a6ad88e806f5ef942a18bc7d341c","tarball":"https://registry.npmjs.org/@aholbreich/pi-tl/-/pi-tl-0.2.3.tgz","fileCount":15,"integrity":"sha512-MNylH2V21j4y6yGawK7hhdJbU9ZBCFPDKfxLwI7HEJnSTQJK/oG/bcGdd2UDbOLmGFCodCvBVkxKOnljSzoNFA==","signatures":[{"sig":"MEUCIQCpa90TI88ze4RQrdcU09SshltGx1BsH2OZNyLdeN8OsgIgUf6MuElMgubsRwKVTDHGg8vQqoJGA+ZfjQOlcm0Bhbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aholbreich%2fpi-tl@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":55055},"type":"module","gitHead":"302108111189c384c6f4a8c25c34b94fc70fc5b7","scripts":{"test":"node --test tests/*.test.mjs","check":"tsc --noEmit","test:all":"node --test tests/*.test.mjs && cucumber-js","test:bdd":"cucumber-js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4a356f09-3d5c-4cc8-a6ba-2b072c84910e"}},"repository":{"url":"git+https://github.com/aholbreich/pi.git","type":"git"},"_npmVersion":"11.13.0","description":"Pi extension for the tl (task-ledger) CLI.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"*","typescript":"^5.0.0","@cucumber/cucumber":"^12.9.0","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-tl_0.2.3_1780346414313_0.07643079350581727","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aholbreich/pi-tl","version":"0.3.0","keywords":["pi-package","pi-extension","taskledger","tl"],"license":"MIT","_id":"@aholbreich/pi-tl@0.3.0","maintainers":[{"name":"aholbreich","email":"holbreich@gmail.com"}],"homepage":"https://github.com/aholbreich/pi#readme","bugs":{"url":"https://github.com/aholbreich/pi/issues"},"pi":{"image":"https://raw.githubusercontent.com/aholbreich/pi/main/docs/images/tl-board.png","extensions":["./extensions/tl/index.ts"]},"dist":{"shasum":"91773a85e00f6a1e21634c439f3b1c4e07f134e9","tarball":"https://registry.npmjs.org/@aholbreich/pi-tl/-/pi-tl-0.3.0.tgz","fileCount":16,"integrity":"sha512-BoVf1oGCU38j/LP78MS/FHqJOsOjmNHf41o6tZXF7wTqtAQmoq3E5bB+Mf7fKI9cswHZU5pGdtPy9HunNIVf2A==","signatures":[{"sig":"MEQCIH/ji3tLzLXb+68Zz37kF9TpEFslaaiqjGX1J4UuC7pzAiBYS7Qv6hFOzKl1pTMcgYTf2G91u7ps0wAkLOekfv4LNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aholbreich%2fpi-tl@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60654},"type":"module","gitHead":"1ae3e4b068b5ebfdc1083d5a813ebc47736ee2bb","scripts":{"test":"node --test tests/*.test.mjs","check":"tsc --noEmit","test:all":"node --test tests/*.test.mjs && cucumber-js","test:bdd":"cucumber-js","preversion":"node scripts/pre-version.js","release:dry":"node scripts/determine-version.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4a356f09-3d5c-4cc8-a6ba-2b072c84910e"}},"repository":{"url":"git+https://github.com/aholbreich/pi.git","type":"git"},"_npmVersion":"11.13.0","description":"Pi extension for the tl (task-ledger) CLI.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"*","typescript":"^5.0.0","@cucumber/cucumber":"^12.9.0","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-tl_0.3.0_1780508367633_0.8546395587934623","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aholbreich/pi-tl","version":"0.3.1","keywords":["pi-package","pi-extension","taskledger","tl"],"license":"MIT","_id":"@aholbreich/pi-tl@0.3.1","maintainers":[{"name":"aholbreich","email":"holbreich@gmail.com"}],"homepage":"https://github.com/aholbreich/pi#readme","bugs":{"url":"https://github.com/aholbreich/pi/issues"},"pi":{"image":"https://raw.githubusercontent.com/aholbreich/pi/main/docs/images/tl-board.png","extensions":["./extensions/tl/index.ts"]},"dist":{"shasum":"3e78abbccaf623e3afaa050a77ed59a9f840bb96","tarball":"https://registry.npmjs.org/@aholbreich/pi-tl/-/pi-tl-0.3.1.tgz","fileCount":16,"integrity":"sha512-JwcxG7eK5M/EnttDmJ49n3RZm3LQivu0RCXilBvf2DUmwSUd+YxZ1kXjx6kaFozeQWHxhG6FWEoQtq3fBiQOgA==","signatures":[{"sig":"MEUCIAsjrNaXMaARh0j85QryWtxoBDFUL4e/aiALVqyIfJ8jAiEAsIMfYeiA76he+mD+wlLMawdV8jNuMZen2xNjYzb/goQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aholbreich%2fpi-tl@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61056},"type":"module","gitHead":"01cac08966404c38e121f55f297c06a49480574d","scripts":{"test":"node --test tests/*.test.mjs","check":"tsc --noEmit","test:all":"node --test tests/*.test.mjs && cucumber-js","test:bdd":"cucumber-js","preversion":"node scripts/pre-version.js","release:dry":"node scripts/determine-version.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4a356f09-3d5c-4cc8-a6ba-2b072c84910e"}},"repository":{"url":"git+https://github.com/aholbreich/pi.git","type":"git"},"_npmVersion":"11.13.0","description":"Pi extension for the tl (task-ledger) CLI.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"*","typescript":"^5.0.0","@cucumber/cucumber":"^12.9.0","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-tl_0.3.1_1780509603285_0.4941508057547841","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aholbreich/pi-tl","version":"0.4.0","keywords":["pi-package","pi-extension","taskledger","tl"],"license":"MIT","_id":"@aholbreich/pi-tl@0.4.0","maintainers":[{"name":"aholbreich","email":"holbreich@gmail.com"}],"homepage":"https://github.com/aholbreich/pi#readme","bugs":{"url":"https://github.com/aholbreich/pi/issues"},"pi":{"image":"https://raw.githubusercontent.com/aholbreich/pi/main/docs/images/tl-board.png","extensions":["./extensions/tl/index.ts"]},"dist":{"shasum":"61f6a5c8c7ee7b850dc0d7d6069a3ccf49cc96c6","tarball":"https://registry.npmjs.org/@aholbreich/pi-tl/-/pi-tl-0.4.0.tgz","fileCount":16,"integrity":"sha512-DkSlMsQHlhzPjIOhA6U7lnsBmgUAUekRc1JU+x1FNKAZzqTgzj2KZaE262s5svxF7A4nuPP9c9FowpMPjwWQrg==","signatures":[{"sig":"MEYCIQDfNoca+owq3jJX/NRMPKY5pxI/VUCqPPGEdaTVNAw/BwIhAIuL4oGCswIztaGUNWG7A5jv+b4ugd++ur56OXubMZxV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aholbreich%2fpi-tl@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65641},"type":"module","gitHead":"d3ffecacd8d19e22cfb1d77c33cb3d32e25e3dc3","scripts":{"test":"node --test tests/*.test.mjs","check":"tsc --noEmit","test:all":"node --test tests/*.test.mjs && cucumber-js","test:bdd":"cucumber-js","preversion":"node scripts/pre-version.js","release:dry":"node scripts/determine-version.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4a356f09-3d5c-4cc8-a6ba-2b072c84910e"}},"repository":{"url":"git+https://github.com/aholbreich/pi.git","type":"git"},"_npmVersion":"11.19.0","description":"Pi extension for the tl (task-ledger) CLI.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"*","typescript":"^5.0.0","@cucumber/cucumber":"^12.9.0","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-tl_0.4.0_1788864885394_0.534778979730929","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aholbreich/pi-tl","version":"0.5.0","description":"Pi extension for the tl (task-ledger) CLI.","type":"module","keywords":["pi-package","pi-extension","taskledger","tl"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/aholbreich/pi.git"},"pi":{"extensions":["./extensions/tl/index.ts"],"image":"https://raw.githubusercontent.com/aholbreich/pi/main/docs/images/tl-board.png"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","typebox":"*"},"devDependencies":{"@cucumber/cucumber":"^12.9.0","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","tsx":"^4.22.4","typebox":"*","typescript":"^5.0.0"},"scripts":{"check":"tsc --noEmit","test":"node --test tests/*.test.mjs","test:bdd":"cucumber-js","test:all":"node --test tests/*.test.mjs && cucumber-js","release:dry":"node scripts/determine-version.js","release-notes":"node scripts/release-notes.js","preversion":"node scripts/pre-version.js"},"gitHead":"9a323b92dcd5fe2ce6dcef7f29b25d5c626d9117","_id":"@aholbreich/pi-tl@0.5.0","bugs":{"url":"https://github.com/aholbreich/pi/issues"},"homepage":"https://github.com/aholbreich/pi#readme","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-VUI2zJt2ZA4sZKQ+43uXGy7ZeH90dca0zgJhbN8QzT63ONlFsh1neM9sgPTzGFQ96Aznk8IRUBeGwoVcQXVOPg==","shasum":"d32909a770a71b44f38f93896f4b3274009fe66f","tarball":"https://registry.npmjs.org/@aholbreich/pi-tl/-/pi-tl-0.5.0.tgz","fileCount":16,"unpackedSize":79060,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aholbreich%2fpi-tl@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB1jjwV8zxIwnP6VpL2o66ocieBzdyydQvaw/5HcDen1AiEAxYzwjpxXcRTK6JQ8svkcrcC54wpP7D95IhOY1OxUhHc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4a356f09-3d5c-4cc8-a6ba-2b072c84910e"}},"directories":{},"maintainers":[{"name":"aholbreich","email":"holbreich@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-tl_0.5.0_1788892512630_0.9931243319689531"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-01T20:15:38.985Z","modified":"2026-09-08T18:35:13.044Z","0.1.0":"2026-06-01T20:15:39.294Z","0.2.3":"2026-06-01T20:40:14.453Z","0.3.0":"2026-06-03T17:39:27.792Z","0.3.1":"2026-06-03T18:00:03.431Z","0.4.0":"2026-09-08T10:54:45.524Z","0.5.0":"2026-09-08T18:35:12.761Z"},"bugs":{"url":"https://github.com/aholbreich/pi/issues"},"license":"MIT","homepage":"https://github.com/aholbreich/pi#readme","keywords":["pi-package","pi-extension","taskledger","tl"],"repository":{"type":"git","url":"git+https://github.com/aholbreich/pi.git"},"description":"Pi extension for the tl (task-ledger) CLI.","maintainers":[{"name":"aholbreich","email":"holbreich@gmail.com"}],"readme":"# @aholbreich/pi-tl\n\nPi extension package for [`tl`](https://github.com/aholbreich/tl), the Git-native TaskLedger CLI.\n\nThis package shells out to the local `tl` binary. It does not bundle or install `tl`.\n\n![Task Ledger modal board showing active and closed tasks](docs/images/tl-board.png)\n\n*Example board in All view (earlier layout). See [Commands](#commands) for current controls.*\n\n## Requirements\n\n- [Pi](https://pi.dev) installed and configured with a model/provider\n- `tl` 0.9.0 or newer installed separately and available on `PATH` — see [tl installation options](https://github.com/aholbreich/tl#installation-options)\n- Start Pi in the repository root containing `.tl/`; the extension does not search parent directories for a ledger\n\n## Installation\n\n```sh\npi install npm:@aholbreich/pi-tl\n```\n\nThis installs the extension for your user, not the `tl` CLI.\n\nFor project-local installation, run this from the target repository with `-l`:\n\n```sh\npi install -l npm:@aholbreich/pi-tl\n```\n\n### Initialize a repository\n\nAfter installing Pi, `tl`, and the extension:\n\n```sh\ncd /absolute/path/to/your-project\ntl --version                    # confirm the CLI is on PATH\ntl init                         # once per repository; creates .tl/\npi\n```\n\nAlternatively, start Pi in the repository root and use `/tl-init` to initialize after confirmation. Restart Pi or run `/reload` if you installed the extension during an existing session. Accept Pi's project trust prompt for project-local packages only in repositories you trust.\n\n`/tl-init` checks the CLI even when a ledger already exists. Versions below 0.9.0 receive an upgrade warning; unknown versions receive a compatibility warning. Neither warning blocks initialization, which still requires confirmation. A genuine prerelease such as `0.9.0-rc.1` is below the stable minimum. The CLI's Git build suffix (`0.9.0-0-db9cd9b`, meaning tag, commit count, and hash) is checked against its base release; build metadata does not affect compatibility. If the CLI cannot run, the command provides installation guidance rather than installing software automatically.\n\nUse `/tl-capture` to collect your first tasks, then `/tl-board` to browse them. An empty ledger has no task summary to display.\n\n## Try locally\n\nClone this repository to work with local sources:\n\n```sh\ngit clone https://github.com/aholbreich/pi.git pi-tl\ncd pi-tl\nnpm ci\n```\n\nFrom the target repository root, load that checkout for one run without adding it to Pi settings:\n\n```sh\npi -e /absolute/path/to/pi-tl\n```\n\nReplace `/absolute/path/to/pi-tl` with your checkout path. To keep loading the checkout in future sessions, use `pi install /absolute/path/to/pi-tl` instead. Avoid also loading an installed npm copy when testing local changes.\n\n## Agent usage\n\nThe extension intentionally does **not** mirror the full `tl` CLI as Pi agent tools. The agent should use plain `tl ...` commands directly for normal ledger work (`tl ready`, `tl show`, `tl claim`, `tl note`, `tl close`, etc.). This keeps the extension from drifting behind upstream `tl`.\n\nOne helper remains because it adds orchestration beyond a single CLI call:\n\n- `tl_bulk_create` - create multiple task ledger tasks sequentially from a user-approved cleaned list and report partial failures.\n\nWhen `.tl/` exists in the current repository, the extension nudges the agent to use the normal task ledger workflow through the `tl` CLI: ready → claim → note → close/block/pending/cancel/release.\n\n## Commands\n\nThe board and summary overlay are interactive-terminal features. Agent tools keep color disabled for clean JSON/model output.\n\n- `/tl-capture [rough todos]` - open an editor, then ask the agent to refine the captured todos into tasks; task creation requires approval\n- `/tl-triage` - ask the agent to review duplicates, gaps, stale work, and missing dependencies; propose changes without applying them until approved\n- `/tl-board` or `Alt+L` - open the keyboard-navigable modal board\n- `/tl-init` - run the separately installed `tl init` after confirmation\n\n### Summary overlay\n\nA compact Task Ledger summary appears above the editor when the `tl` CLI is compatible, `.tl/` exists, and there is ready, in-progress, blocked, pending, or stale work. The footer shows the installed `tl` version and colored counts, for example `tl 0.9.0: ○3 ▲1` (three ready, one blocked).\n\nIf the CLI cannot run, the footer shows red `tl: not found`; an incompatible or unrecognized version produces a yellow `incompatible` warning instead of a task summary. A compatible CLI without `.tl/` shows dim `no ledger`. CLI detection is cached for the session: use `/reload` after installing or upgrading `tl`.\n\nThe summary refreshes from `tl` JSON output on session start/reload, after every agent turn (including CLI calls and `tl_bulk_create`), after compaction/tree navigation, and after successful initialization or board cancel/remove actions. It does not watch external ledger edits continuously; hide and show it to refresh while idle.\n\n- `Alt+T` - hide/show the summary during the current session; showing it refreshes the snapshot\n- `Alt+I` - claim the first Ready task in the cached summary, then ask the agent to implement it\n- `Alt+R` - ask the agent to refine that first Ready task without claiming it\n- `Alt+P` - ask the agent to plan that first Ready task without claiming it\n\nThe dim `↳ Alt: i implement · r refine · p plan` legend is nested beneath the Ready task these shortcuts target. The quick actions notify you if no Ready task is cached. They target the first Ready task, not the board selection or an earlier Pending/Active task.\n\n### Board controls\n\n| Key | Action |\n| --- | --- |\n| `↑`/`↓` or `k`/`j` | Move through the list, or scroll the task details |\n| `Enter` or `d` | Open selected task details (`tl show`) |\n| `Esc` or `q` | Return from details to the list; close from the list |\n| `b` | Return from details to the list |\n| `a` | Toggle Focused/All in the list |\n| `i` / `r` / `v` / `p` | Ask the agent to implement / refine / review / plan the selected task |\n| `c` / `x` | In details only: cancel / remove after confirmation and a reason prompt |\n\nRemoving a task deletes it from the active ledger; cancel it instead to retain it as Cancelled. The board reopens after cancel/remove. Workflow actions close the board and send a request to the agent (queued as a follow-up if it is busy).\n\nThe board's **Waiting** (`◌`) section keeps open tasks that are not ready\n(including tasks waiting on prerequisites) visible in both views. This is\nseparate from explicitly **Blocked** tasks. Open a task's details with `enter`\nor `d` to inspect its **Depends On** information.\n\n**All** uses the complete `tl list --all --json` inventory, including\nDone/Cancelled and any unrecognized statuses under **Other**. Each task appears\nonce; stale claims take precedence over other non-closed sections. The passive\noverlay remains a compact actionable summary, not the full board inventory.\nThe board normally opens in **Focused** view (excluding Done/Cancelled), but\nopens in **All** when there is at most one focused task and additional closed tasks.\n\nThe board summary counts all sections, including zero counts and Done/Cancelled, independently of the Focused/All list toggle. When space is limited, middle sections are elided to keep the closed-task counts visible where they fit. Task details wrap to the view width and can be scrolled with `↑`/`↓` or `k`/`j`.\n\n## Development\n\nRun these from the extension checkout with Node.js and npm installed:\n\n```sh\nnpm ci\nnpm run check       # TypeScript check\nnpm test            # unit/integration tests via node:test\nnpm run test:bdd    # Cucumber features\n# npm run test:all  # node:test followed by Cucumber\n```\n\nBehavior specifications live in `features/`; follow the [Gherkin guidelines](docs/gherkin-guidelines.md) when changing behavior.\n\nGenerate Markdown release notes from commits since the last tag:\n\n```sh\nnpm run release-notes                 # print to stdout\nnpm run release-notes -- -o NOTES.md  # write to a file\n```\n\nSee [Release workflow](docs/release-workflow.md) for versioning and publishing.\n\nPi loads TypeScript extensions directly, so no build step is required. Restart your local test session after changing the extension.\n","readmeFilename":"README.md"}