@mrclrchtr/supi-extras 0.2.0 → 1.1.3

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/README.md CHANGED
@@ -1,67 +1,44 @@
1
1
  # @mrclrchtr/supi-extras
2
2
 
3
- Small workflow utilities for the [pi coding agent](https://github.com/earendil-works/pi).
3
+ Small fixes for PI — the papercuts you didn't know you had, removed.
4
4
 
5
- ## Install
5
+ Command aliases so you type less. A prompt stash so you never lose a draft. A tab spinner so you know when the agent is working. Each one is tiny. Together they make sessions feel smoother.
6
6
 
7
- ```bash
8
- pi install npm:@mrclrchtr/supi-extras
9
- ```
7
+ ## What you get
10
8
 
11
- ## What it adds
9
+ ### Fewer keystrokes
12
10
 
13
- `@mrclrchtr/supi-extras` bundles several lightweight extensions:
11
+ `/exit`, `/e`, `/clear` — muscle-memory shortcuts. `$skill-name` expands to `/skill:skill-name` automatically. Less typing, more doing.
14
12
 
15
- - **tab spinner** updates the terminal tab title while agent work is running
16
- - **copy prompt** — `Alt+C` (Option+C) to copy the current editor text to the clipboard
17
- - **prompt stash** — `Alt+S` to stash editor text, `/supi-stash` to browse and restore saved drafts
18
- - **git editor guard** — sets `GIT_EDITOR=true` so git never blocks on an interactive editor
19
- - **command aliases** — `/exit`, `/e`, and `/clear`
20
- - **skill shortcut** — expands `$skill-name` into `/skill:skill-name`
13
+ ### Never lose a draft
21
14
 
22
- ## Prompt stash behavior
15
+ `Alt+S` stashes your current prompt. `Alt+C` copies it to clipboard. `/supi-stash` opens a keyboard-driven overlay to browse, restore, or delete saved drafts. Stashes survive restarts.
23
16
 
24
- Prompt stashes are persisted to:
17
+ ### Know when the agent is working
25
18
 
26
- ```text
27
- ~/.pi/agent/supi/prompt-stash.json
28
- ```
29
-
30
- The `/supi-stash` overlay supports restore, copy, delete, and clear-all actions.
19
+ A braille spinner in the terminal tab title while work is in progress. Glance at the tab — if it's spinning, the agent hasn't finished.
31
20
 
32
- ## Clipboard
21
+ ### No hung editors
33
22
 
34
- Both `Alt+C` and the stash overlay's copy action use the shared `clipboard.ts`
35
- wrapper, which delegates to [`clipboardy`](https://github.com/sindresorhus/clipboardy)
36
- for cross-platform clipboard access.
23
+ Sets `GIT_EDITOR=true` so git never blocks on an interactive editor. Pi runs headless — editor invocations hang. This prevents that.
37
24
 
38
- ## Architecture
25
+ ## Install
39
26
 
40
- ```text
41
- src/
42
- ├── index.ts package entrypoint
43
- ├── clipboard.ts shared clipboard utility (clipboardy wrapper)
44
- ├── copy-prompt.ts Alt+C to copy editor text to clipboard
45
- ├── tab-spinner.ts tab-title spinner + supi:working:* listeners
46
- ├── prompt-stash.ts stash shortcuts, persistence, and overlay picker
47
- ├── git-editor.ts git editor environment guard
48
- ├── aliases.ts lightweight command aliases
49
- └── skill-shortcut.ts $skill-name expansion and autocomplete hook
27
+ ```bash
28
+ pi install npm:@mrclrchtr/supi-extras
50
29
  ```
51
30
 
52
- ## Requirements
53
-
54
- - `@earendil-works/pi-coding-agent`
55
- - `@earendil-works/pi-tui`
31
+ ## Stash overlay
56
32
 
57
- ## Development
58
-
59
- ```bash
60
- pnpm vitest run packages/supi-extras/
61
- pnpm exec tsc --noEmit -p packages/supi-extras/tsconfig.json
62
- pnpm exec biome check packages/supi-extras/
63
- ```
33
+ `/supi-stash` opens an overlay in your terminal:
64
34
 
65
- ## License
35
+ | Key | Action |
36
+ |-----|--------|
37
+ | `↑↓` | Navigate stashed drafts |
38
+ | `Enter` | Restore selected draft to editor |
39
+ | `c` | Copy to clipboard |
40
+ | `d` | Delete (list refreshes in-place) |
41
+ | `D` | Clear all stashes |
42
+ | `Esc` | Cancel |
66
43
 
67
- MIT
44
+ Stashes persist to `~/.pi/agent/supi/prompt-stash.json` across restarts.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-core",
3
- "version": "0.2.0",
3
+ "version": "1.1.3",
4
4
  "description": "SuPi core — shared infrastructure for SuPi extensions (XML context tags, config system)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,9 +22,13 @@
22
22
  "@earendil-works/pi-coding-agent": "*",
23
23
  "@earendil-works/pi-tui": "*"
24
24
  },
25
- "devDependencies": {
26
- "@types/node": "25.6.2",
27
- "vitest": "4.1.5"
25
+ "peerDependenciesMeta": {
26
+ "@earendil-works/pi-coding-agent": {
27
+ "optional": true
28
+ },
29
+ "@earendil-works/pi-tui": {
30
+ "optional": true
31
+ }
28
32
  },
29
33
  "main": "src/index.ts"
30
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrclrchtr/supi-extras",
3
- "version": "0.2.0",
3
+ "version": "1.1.3",
4
4
  "description": "SuPi extras — command aliases, skill shorthand, tab spinner, /supi-stash prompt stash with TUI overlay, and other small utilities",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -20,21 +20,25 @@
20
20
  "README.md"
21
21
  ],
22
22
  "dependencies": {
23
- "@mrclrchtr/supi-core": "workspace:*",
24
- "clipboardy": "^5.3.1"
23
+ "clipboardy": "^5.3.1",
24
+ "@mrclrchtr/supi-core": "1.1.3"
25
25
  },
26
26
  "bundledDependencies": [
27
27
  "@mrclrchtr/supi-core"
28
28
  ],
29
- "devDependencies": {
30
- "vitest": "4.1.5",
31
- "@mrclrchtr/supi-test-utils": "workspace:*"
32
- },
33
29
  "main": "src/index.ts",
34
30
  "peerDependencies": {
35
31
  "@earendil-works/pi-coding-agent": "*",
36
32
  "@earendil-works/pi-tui": "*"
37
33
  },
34
+ "peerDependenciesMeta": {
35
+ "@earendil-works/pi-coding-agent": {
36
+ "optional": true
37
+ },
38
+ "@earendil-works/pi-tui": {
39
+ "optional": true
40
+ }
41
+ },
38
42
  "pi": {
39
43
  "extensions": [
40
44
  "./src/index.ts"