From f9649c6f7f67be8b640b0ef29ae01a752a667dd7 Mon Sep 17 00:00:00 2001 From: Yivas Date: Sat, 5 Sep 2026 03:33:12 +0200 Subject: [PATCH] chore: prepare 0.1.0 release --- CHANGELOG.md | 18 ++++++++++++++++++ README.md | 40 ++++++++++++++++++++++++++++------------ SECURITY.md | 3 ++- package-lock.json | 4 ++-- package.json | 6 +++--- 5 files changed, 53 insertions(+), 18 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f989e68 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,18 @@ +# Changelog + +## Unreleased + +## 0.1.0 — 2026-09-05 + +### Added + +- Local `/impeccable-help` panel with 23 command entries, intent search, Spanish/English text, usage guidance, and examples. +- Explicit editor preparation without sending a message, confirmation before replacing drafts, and protection against concurrent edits or a skill unloaded during confirmation. +- Pi theme and configurable keyboard support, scrollable details, and bounded rendering for small terminals. +- npm package distribution with no bundled Impeccable skill or engine. + +### Compatibility and limits + +- Targets Pi 0.85.0; requires Node 22.19 or newer. The reference catalog follows Impeccable skill 4.2.0. +- Help requires interactive TUI mode. It does not invoke a model, execute Impeccable, use the network, or persist session state. +- Impeccable must be installed separately. When migrating from a local checkout, unregister that source before enabling the npm package, then reload Pi. diff --git a/README.md b/README.md index 76e0f66..6c28e5b 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ Browse Impeccable guidance inside Pi, then prepare a command in the editor **without sending it**. -Unreleased source for Pi 0.85.0. No npm release. +Version 0.1.0 · Pi 0.85.0 · MIT -[Usage](#usage) · [Installation](#installation) · [Contributing](CONTRIBUTING.md) · [Security](SECURITY.md) +[Usage](#usage) · [Installation](#installation) · [Releases](https://github.com/Yivas/pi-impeccable-help/releases) · [Contributing](https://github.com/Yivas/pi-impeccable-help/blob/main/CONTRIBUTING.md) · [Security](https://github.com/Yivas/pi-impeccable-help/blob/main/SECURITY.md) This is a local terminal help panel, not a prompt template. Opening help, searching, and reading examples do not contact a model. The panel does not run Impeccable or install it for you. @@ -17,21 +17,23 @@ This is a local terminal help panel, not a prompt template. Opening help, search ## Status and compatibility -Unreleased source, tested against Pi **0.85.0** and Node **24.9.0**. Package metadata `0.0.0` is a development marker, not a published release. Node 22.19 or newer is required. There is no npm release. +Version **0.1.0** targets Pi **0.85.0** and Node **22.19 or newer**. Checks cover Node 22.19 and 24 on Linux, plus Node 24 on Windows. See [changes](https://github.com/Yivas/pi-impeccable-help/blob/main/CHANGELOG.md) and [release artifacts](https://github.com/Yivas/pi-impeccable-help/releases). The panel requires Pi's interactive TUI. RPC, print, and JSON modes do not open it. Its reference catalog was checked against **Impeccable skill 4.2.0**; the loaded skill's instructions remain authoritative. Detecting a loaded skill does not verify its version. ## Installation -Install [Pi](https://github.com/earendil-works/pi-mono/tree/main/packages/coding-agent) first. To install this extension from source: +Install [Pi](https://github.com/earendil-works/pi-mono/tree/main/packages/coding-agent) first. From a terminal: ```sh -git clone https://github.com/Yivas/pi-impeccable-help.git -cd pi-impeccable-help -pi install . +pi install npm:pi-impeccable-help ``` -`pi install .` registers the local directory in user settings; keep the checkout in place. In an existing Pi session, run `/reload`. No build is required. Pi provides the TUI runtime dependency. +In an existing Pi session, run `/reload`, then `/impeccable-help`. No build is required. Pi provides the TUI runtime dependency. This installs in user scope; use Pi's `-l` option only if you want a project-local installation. + +To pin this version instead, use `pi install npm:pi-impeccable-help@0.1.0`. Pinned packages do not advance during normal package updates. + +For development, clone this repository and run `pi install .` from its root. That registers the checkout without copying it, so keep the directory in place. Before switching between a checkout and npm, unregister the old source to avoid loading the command twice. [Impeccable](https://impeccable.style/) is a separate skill, installed according to its own instructions. This extension neither bundles nor automatically downloads it. If you previously created a prompt template named `impeccable-help.md`, remove or rename that template to avoid confusion with this command. @@ -62,9 +64,23 @@ If the editor already contains a draft, you can cancel or confirm replacement. I ## Updating and removing -To update a source checkout, review its changes, then pull them and run `/reload` in Pi. To unregister it, run `pi remove .` from the same checkout, then `/reload`. Remove the checkout only after unregistering it. This does not uninstall Impeccable. +Read the release notes before updating. For an unpinned npm installation: + +```sh +pi update npm:pi-impeccable-help +``` + +To remove it: + +```sh +pi remove npm:pi-impeccable-help +``` + +Run `/reload` afterward. To select or return to a specific version, install its exact npm spec, such as `pi install npm:pi-impeccable-help@0.1.0`; pinning disables normal package updates. None of these commands uninstalls Impeccable itself. + +For a source checkout, pull reviewed changes to update, or run `pi remove .` from that checkout to unregister it. Remove the directory only after unregistering it. -If the command is missing, check `pi list` and whether the checkout still exists, then reload. If help says the skill is not loaded, check that Impeccable is installed and skill commands are enabled in that session. Do not infer a skill installation from the presence of this help panel. +If the command is missing, check `pi list` and that its package source is still available, then reload. If help says the skill is not loaded, check that Impeccable is installed and skill commands are enabled in that session. Do not infer a skill installation from the presence of this help panel. ## Privacy and limits @@ -79,6 +95,6 @@ npm ci --ignore-scripts npm test ``` -Tests exercise the actual TUI components and a command-handler harness; no model account is required. See [CONTRIBUTING.md](CONTRIBUTING.md) for scope and checks. +Tests exercise the actual TUI components and a command-handler harness; no model account is required. See [CONTRIBUTING.md](https://github.com/Yivas/pi-impeccable-help/blob/main/CONTRIBUTING.md) for scope and checks. -This project is **collaborative open source under MIT**. Issues and pull requests are welcome. Report vulnerabilities through the private channel described in [SECURITY.md](SECURITY.md), not through public issues. The catalog descriptions and examples are original text. Impeccable is a separate Apache-2.0 project; this package does not redistribute its skill or engine. +This project is **collaborative open source under MIT**. Issues and pull requests are welcome. Report vulnerabilities through the private channel described in [SECURITY.md](https://github.com/Yivas/pi-impeccable-help/blob/main/SECURITY.md), not through public issues. The catalog descriptions and examples are original text. Impeccable is a separate Apache-2.0 project; this package does not redistribute its skill or engine. diff --git a/SECURITY.md b/SECURITY.md index 543274e..9de12e9 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,10 +4,11 @@ | Line | Status | |---|---| +| 0.1.x | Supported | | Current `main` | Maintained development source | | Older source snapshots | No separate maintenance commitment | -No numbered releases have been published. Compatibility is currently tested against Pi 0.85.0. +Compatibility is currently tested against Pi 0.85.0. Include the package version or source commit in reports. ## Scope diff --git a/package-lock.json b/package-lock.json index 82436f1..8c0c698 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pi-impeccable-help", - "version": "0.0.0", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pi-impeccable-help", - "version": "0.0.0", + "version": "0.1.0", "license": "MIT", "devDependencies": { "@earendil-works/pi-tui": "0.85.0" diff --git a/package.json b/package.json index d5c6466..4c8e5dd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "pi-impeccable-help", - "version": "0.0.0", - "private": true, + "version": "0.1.0", + "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" }, "description": "Browse Impeccable guidance inside Pi and prepare commands without sending a message.", "type": "module", "license": "MIT", @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/Yivas/pi-impeccable-help/issues" }, "keywords": ["pi-package", "pi-extension", "impeccable", "terminal", "help"], "engines": { "node": ">=22.19.0" }, - "files": ["src/", "README.md", "LICENSE"], + "files": ["src/", "README.md", "LICENSE", "CHANGELOG.md", "CONTRIBUTING.md", "SECURITY.md", "CODE_OF_CONDUCT.md"], "pi": { "extensions": ["src/index.js"] }, "peerDependencies": { "@earendil-works/pi-tui": "*" }, "peerDependenciesMeta": { "@earendil-works/pi-tui": { "optional": true } },