specpi 0.21.0 → 0.21.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/CHANGELOG.md +6 -0
- package/NPM_RELEASE.md +2 -0
- package/README.md +52 -5
- package/THIRD_PARTY.md +5 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.21.1 - 2026-09-14
|
|
4
|
+
|
|
5
|
+
- Restore the website's original typography, colors, Chat preview, theme switcher, and improvement diagram while keeping the new package base.
|
|
6
|
+
- Bring back the README's logo, product preview, badges, and navigation, and make detailed command instructions collapsible.
|
|
7
|
+
- Give npm's registry processing up to five minutes to finish before the publication readback check fails. Version 0.21.0 published correctly but became available after the previous one-minute check expired.
|
|
8
|
+
|
|
3
9
|
## 0.21.0 - 2026-09-14
|
|
4
10
|
|
|
5
11
|
This release resets SpecPi's base and removes previously shipped harness features. Both retained Pi extensions ship as part of SpecPi 0.21.0. SpecPi Chat 0.7.1 remains the separately packaged VS Code frontend and is aligned with the new base.
|
package/NPM_RELEASE.md
CHANGED
|
@@ -26,6 +26,8 @@ Publishing, tags, deprecation, ownership changes and GitHub Releases require exp
|
|
|
26
26
|
|
|
27
27
|
`.github/workflows/npm-publish.yml` builds one immutable, checksummed candidate; validates that same tarball on Ubuntu, Windows and macOS; then publishes through approved GitHub OIDC with provenance. Stable releases use `latest`, prereleases `next`. Runs are serialized, existing versions are rejected and the candidate must advance its dist-tag. Registry readback must match version, integrity, dist-tag and attestation.
|
|
28
28
|
|
|
29
|
+
Registry processing can take several minutes after npm accepts a publication. The workflow polls for up to five minutes. If that readback times out, inspect the registry and verify the published artifact before taking further action; do not rerun publication for a version that already exists.
|
|
30
|
+
|
|
29
31
|
After publication, install the registry artifact into disposable state and exercise plan/install/doctor/uninstall. Check package-page links/images, license, provenance and dist-tag before announcing.
|
|
30
32
|
|
|
31
33
|
## First publication only
|
package/README.md
CHANGED
|
@@ -1,10 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://tannermidd.github.io/SpecPi/logo.svg" width="88" alt="SpecPi logo">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">SpecPi</h1>
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
<p align="center">Pi, beside your code.<br>Scope your work. Choose what improves. Keep your own Pi setup.</p>
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/package/specpi"><img src="https://img.shields.io/npm/v/specpi?style=flat-square&color=084bdb" alt="npm version"></a>
|
|
11
|
+
<a href="https://github.com/TannerMidd/SpecPi/actions/workflows/ci.yml"><img src="https://github.com/TannerMidd/SpecPi/actions/workflows/ci.yml/badge.svg?branch=main" alt="Build status"></a>
|
|
12
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-084bdb?style=flat-square" alt="MIT license"></a>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="#install">Install</a> · <a href="https://tannermidd.github.io/SpecPi/">Website</a> · <a href="https://tannermidd.github.io/SpecPi/wiki/">Documentation</a> · <a href="#vs-code">VS Code</a> · <a href="https://github.com/TannerMidd/SpecPi/releases">Releases</a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
<a href="https://tannermidd.github.io/SpecPi/#vscode-chat">
|
|
21
|
+
<picture>
|
|
22
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://tannermidd.github.io/SpecPi/media/specpi-chat.png">
|
|
23
|
+
<img src="https://tannermidd.github.io/SpecPi/media/specpi-chat-light.png" width="1100" alt="SpecPi Chat beside a file in VS Code, discussing a focused code change with a file attached.">
|
|
24
|
+
</picture>
|
|
25
|
+
</a>
|
|
26
|
+
</p>
|
|
27
|
+
<p align="center"><sub>SpecPi Chat · Example workspace</sub></p>
|
|
28
|
+
|
|
29
|
+
SpecPi is a small base for the [Pi coding agent](https://pi.dev/). Its own extensions provide **scope control** and a **harness improvement loop**. Eight upstream packages handle the supporting tools, and **SpecPi Chat 0.7.1** brings them into VS Code.
|
|
30
|
+
|
|
31
|
+
| Keep the work focused | Improve what gets in the way | Work beside your code |
|
|
32
|
+
| --- | --- | --- |
|
|
33
|
+
| Declare files and directories with `/scope`. Review drift as the task progresses. | Record recurring problems locally. Choose a change through `/harness-improvement` and verify it. | Chat, attach files, follow subagents, review approvals, and inspect changes in VS Code. |
|
|
34
|
+
|
|
35
|
+
> **Moving from 0.20 or earlier?** The 0.21 base removes the old custom tools, extra commands, themes, and shell profiles. Read [updating and removal](#update-and-remove) before switching.
|
|
8
36
|
|
|
9
37
|
## Install
|
|
10
38
|
|
|
@@ -19,8 +47,13 @@ specpi doctor
|
|
|
19
47
|
|
|
20
48
|
Inspect the plan, confirm the install, then restart Pi. SpecPi installs two first-party extensions, the improvement skill, a marked working agreement, and the packages below using `pi install`. Provider and model settings are preserved. There are no additional SpecPi extensions, themes, shell profiles, tool wrappers, or browser bootstrap scripts.
|
|
21
49
|
|
|
50
|
+
<details>
|
|
51
|
+
<summary>Source checkouts, alternate Pi paths, and core-only installs</summary>
|
|
52
|
+
|
|
22
53
|
For this checkout, run `node scripts/specpi.mjs` in place of `specpi`. `PI_CODING_AGENT_DIR` selects an alternate destination; `SPECPI_PI` selects a Pi CLI path. `specpi install --skip-package-install` installs only the first-party core for offline use and testing. A plain `pi install npm:specpi` loads only the packaged first-party resources; use the SpecPi installer above for the complete base, and avoid installing the same first-party resources both ways.
|
|
23
54
|
|
|
55
|
+
</details>
|
|
56
|
+
|
|
24
57
|
## Default packages
|
|
25
58
|
|
|
26
59
|
These are installed on every normal install and update. Exact versions live in [`templates/settings.json`](templates/settings.json); SpecPi merges only the package entries, preserving unrelated configuration and existing resource filters.
|
|
@@ -46,10 +79,17 @@ BetterWright's browser is a separate upstream setup step: install Bun 1.4+ and r
|
|
|
46
79
|
|
|
47
80
|
[SpecPi Chat](https://github.com/TannerMidd/SpecPi/blob/main/vscode/README.md) provides the chat sidebar, file and image attachments, conversation history, tool output, package commands, and approval dialogs. Version **0.7.1** adds the new package base's visible messages, a Permission System settings button, and pi-subagents activity and result cards. The VSIX remains separate from the npm harness package.
|
|
48
81
|
|
|
49
|
-
Download the [0.7.1 VSIX](https://github.com/TannerMidd/SpecPi/releases/download/v0.21.
|
|
82
|
+
Download the [0.7.1 VSIX](https://github.com/TannerMidd/SpecPi/releases/download/v0.21.1/specpi-chat-0.7.1.vsix), then run **Extensions: Install from VSIX…** in VS Code. Install/update SpecPi separately, then restart Pi in Chat to reload its extensions.
|
|
83
|
+
|
|
84
|
+
[Download Chat](https://github.com/TannerMidd/SpecPi/releases/download/v0.21.1/specpi-chat-0.7.1.vsix) · [Chat guide](https://github.com/TannerMidd/SpecPi/blob/main/vscode/GUIDE.md) · [Build from source](https://github.com/TannerMidd/SpecPi/blob/main/vscode/DEVELOPMENT.md)
|
|
50
85
|
|
|
51
86
|
## Scope
|
|
52
87
|
|
|
88
|
+
Declare the files and directories a task should touch with `/scope set`, then use `/scope status` to review drift.
|
|
89
|
+
|
|
90
|
+
<details>
|
|
91
|
+
<summary>Scope commands</summary>
|
|
92
|
+
|
|
53
93
|
- `/scope set`: declare project-relative files or directories, one per line.
|
|
54
94
|
- `/scope status`: review declared paths, pending drift, and snapshot uncertainty.
|
|
55
95
|
- `/scope add <path>` or `/scope remove <path>`: change the declared scope.
|
|
@@ -58,10 +98,17 @@ Download the [0.7.1 VSIX](https://github.com/TannerMidd/SpecPi/releases/download
|
|
|
58
98
|
- `/scope clear`: turn monitoring off.
|
|
59
99
|
- `/scope task`: import the active improvement contract's paths explicitly.
|
|
60
100
|
|
|
101
|
+
</details>
|
|
102
|
+
|
|
61
103
|
Interactive writes and edits outside scope ask before proceeding. In headless mode they are recorded as pending. Other tools are checked afterward against bounded Git snapshots. Scope is a drift monitor, not a sandbox: shell commands and custom tools can already have changed files when drift is reported. State follows the current Pi session branch.
|
|
62
104
|
|
|
63
105
|
## Harness improvement loop
|
|
64
106
|
|
|
107
|
+
<picture>
|
|
108
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://tannermidd.github.io/SpecPi/media/improvement-workflow-dark.svg">
|
|
109
|
+
<img src="https://tannermidd.github.io/SpecPi/media/improvement-workflow.svg" width="1200" alt="Observe a recurring gap, select one change, modify the harness, test it, retire with evidence, and review later outcomes.">
|
|
110
|
+
</picture>
|
|
111
|
+
|
|
65
112
|
1. Enable local observations with `/wishlist on`; collection is off by default. `/wishlist off` stops it.
|
|
66
113
|
2. Review recurring gaps with `/wishlist` and select one through `/harness-improvement` in a complete SpecPi source checkout.
|
|
67
114
|
3. Follow the `specpi-improve` skill: record a bounded contract, implement the smallest sufficient change, and gather direct acceptance evidence.
|
package/THIRD_PARTY.md
CHANGED
|
@@ -28,6 +28,10 @@ SpecPi requests exact npm dependency saves for these pins and checks installed t
|
|
|
28
28
|
|
|
29
29
|
Transitive dependencies and their notices remain in Pi's npm installation tree. Top-level pins do not freeze upstream dependency ranges or constitute a full transitive security audit. Pi invokes npm with its upstream package-management semantics, including dependency lifecycle scripts. BetterWright has no browser-download install hook; its separate setup requires Bun 1.4+ and fetches its managed browser. Pi Lens includes native structural tooling and bundled grammars; configured diagnostics and autofixes may invoke additional tools. Pi Subagents includes `@earendil-works/pi-server`. Usage reporting and web packages make their own provider/service connections. Consult upstream licenses and security policies before redistributing their components.
|
|
30
30
|
|
|
31
|
-
The combined base is tested with Pi 0.84.4. Pi Goal X declares Pi `>=0.83.0 <0.85.0`; compatibility with newer hosts is not assumed. SpecPi's former custom browser, structural-search, delegation, background-task, and command-guard implementations, DonSeTch,
|
|
31
|
+
The combined base is tested with Pi 0.84.4. Pi Goal X declares Pi `>=0.83.0 <0.85.0`; compatibility with newer hosts is not assumed. SpecPi's former custom browser, structural-search, delegation, background-task, and command-guard implementations, DonSeTch, and Pi themes have been removed. Removal restores owned package settings but does not delete downloaded upstream packages or tools. Retired private runtimes remain in local backups with their notices.
|
|
32
|
+
|
|
33
|
+
## Website and README
|
|
34
|
+
|
|
35
|
+
The website uses the bundled IBM Plex Sans and Plex Mono fonts under the SIL Open Font License 1.1; see [`site/fonts/LICENSE.txt`](https://github.com/TannerMidd/SpecPi/blob/main/site/fonts/LICENSE.txt). The website's scripts and diagrams are first-party code and assets. The README loads public package/license badges from Shields.io and build status from GitHub. Website fonts and media are not included in the npm package.
|
|
32
36
|
|
|
33
37
|
SpecPi Chat 0.7.1 is a separately packaged VS Code extension with no bundled runtime dependencies. It uses VS Code's host APIs and Pi's RPC protocol. Its read-only pi-subagents adapter consumes the upstream `fleetStatus` v1 contract reviewed at 0.67.0. Generic tool output, visible custom messages, widgets, and dialogs stay owned by their upstream packages. Playwright **1.62.1** (Apache-2.0, [Microsoft Playwright](https://github.com/microsoft/playwright)) is a pinned development dependency for Chat's rendering tests; its browser is installed only for those checks and is not shipped in either artifact.
|