pi-extensions 0.1.16 → 0.1.18
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 +1 -1
- package/agent-guidance/CHANGELOG.md +10 -0
- package/agent-guidance/agent-guidance.ts +2 -2
- package/agent-guidance/package.json +1 -1
- package/arcade/CHANGELOG.md +3 -0
- package/arcade/package.json +3 -2
- package/code-actions/CHANGELOG.md +3 -0
- package/code-actions/package.json +3 -2
- package/files-widget/CHANGELOG.md +10 -0
- package/files-widget/README.md +4 -4
- package/files-widget/index.ts +1 -1
- package/files-widget/package.json +3 -2
- package/package.json +2 -1
- package/ralph-wiggum/CHANGELOG.md +11 -0
- package/ralph-wiggum/index.ts +3 -3
- package/ralph-wiggum/package.json +3 -2
- package/raw-paste/CHANGELOG.md +3 -0
- package/raw-paste/package.json +3 -2
- package/tab-status/CHANGELOG.md +3 -0
- package/tab-status/package.json +3 -2
- package/usage-extension/CHANGELOG.md +3 -0
- package/usage-extension/package.json +3 -2
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Personal extensions for the [Pi coding agent](https://github.com/badlogic/pi-mon
|
|
|
6
6
|
|
|
7
7
|
| Extension | Description |
|
|
8
8
|
|-----------|-------------|
|
|
9
|
-
| [/
|
|
9
|
+
| [/readfiles](files-widget/) | In-terminal file browser and viewer widget. Navigate files, view diffs, select code, send comments to agent - without leaving Pi, and without interrupting your agent |
|
|
10
10
|
| [tab-status](tab-status/) | Manage as many parallel sessions as your mind can handle. Terminal tab indicators for <br>✅ done / 🚧 stuck / 🛑 timed out |
|
|
11
11
|
| [ralph-wiggum](ralph-wiggum/) | Run arbitrarily-long tasks without diluting model attention. Flat version without subagents like [ralph-loop](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/ralph-loop) |
|
|
12
12
|
| [agent-guidance](agent-guidance/) | Switch between Claude/Codex/Gemini with model-specific guidance (CLAUDE.md, CODEX.md, GEMINI.md) |
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.3 - 2026-02-03
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- Publish metadata refresh (no runtime changes).
|
|
7
|
+
|
|
8
|
+
## 0.1.2 - 2026-02-02
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- **BREAKING:** Changed `before_agent_start` handler to use `systemPrompt` instead of deprecated `systemPromptAppend` (Pi v0.39.0+)
|
|
12
|
+
|
|
3
13
|
## 0.1.0 - 2026-01-13
|
|
4
14
|
- Initial release.
|
|
@@ -113,7 +113,7 @@ export default function agentGuidance(pi: ExtensionAPI) {
|
|
|
113
113
|
const agentDir = path.join(process.env.HOME || "", ".pi", "agent");
|
|
114
114
|
const config = loadConfig(agentDir);
|
|
115
115
|
|
|
116
|
-
pi.on("before_agent_start", async (
|
|
116
|
+
pi.on("before_agent_start", async (event, ctx) => {
|
|
117
117
|
const provider = ctx.model?.provider;
|
|
118
118
|
if (!provider) return;
|
|
119
119
|
|
|
@@ -142,6 +142,6 @@ export default function agentGuidance(pi: ExtensionAPI) {
|
|
|
142
142
|
append += `## ${p}\n\n${content}\n\n`;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
return {
|
|
145
|
+
return { systemPrompt: event.systemPrompt + append };
|
|
146
146
|
});
|
|
147
147
|
}
|
package/arcade/CHANGELOG.md
CHANGED
package/arcade/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tmustier/pi-arcade",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Arcade minigames for the Pi coding agent.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Thomas Mustier",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"ping.ts",
|
|
22
22
|
"tetris.ts",
|
|
23
23
|
"mario-not/mario-not.ts"
|
|
24
|
-
]
|
|
24
|
+
],
|
|
25
|
+
"video": "https://raw.githubusercontent.com/tmustier/pi-extensions/main/arcade/assets/demo.mp4"
|
|
25
26
|
}
|
|
26
27
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tmustier/pi-code-actions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Pick code blocks or inline snippets from recent assistant messages to copy or insert.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Thomas Mustier",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"pi": {
|
|
18
18
|
"extensions": [
|
|
19
19
|
"index.ts"
|
|
20
|
-
]
|
|
20
|
+
],
|
|
21
|
+
"image": "https://github.com/user-attachments/assets/0dc10a64-d61f-4b56-9684-5e448c759385"
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this extension will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.1.14] - 2026-02-03
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Add preview video metadata for the extension listing.
|
|
9
|
+
|
|
10
|
+
## [0.1.13] - 2026-02-02
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- **BREAKING:** Renamed `/files` command to `/readfiles` to avoid conflict with Pi's new built-in `/files` command (Pi v0.50.2+)
|
|
14
|
+
|
|
5
15
|
## [0.1.11] - 2026-01-26
|
|
6
16
|
|
|
7
17
|
### Changed
|
package/files-widget/README.md
CHANGED
|
@@ -14,7 +14,7 @@ In-terminal file browser and diff viewer widget for Pi. Navigate files, view dif
|
|
|
14
14
|
pi install npm:@tmustier/pi-files-widget
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
Required deps (needed for /
|
|
17
|
+
Required deps (needed for /readfiles):
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
# macOS (Homebrew)
|
|
@@ -75,11 +75,11 @@ Then reference it in your settings:
|
|
|
75
75
|
- `delta`: formatted diffs
|
|
76
76
|
- `glow`: markdown rendering
|
|
77
77
|
|
|
78
|
-
The `/
|
|
78
|
+
The `/readfiles` browser requires these tools and will refuse to open until they are installed.
|
|
79
79
|
|
|
80
80
|
## Commands
|
|
81
81
|
|
|
82
|
-
- `/
|
|
82
|
+
- `/readfiles` - open the file browser
|
|
83
83
|
- `/review` - open tuicr review flow
|
|
84
84
|
- `/diff` - open critique (bunx critique)
|
|
85
85
|
|
|
@@ -127,4 +127,4 @@ If missing, `/review` or `/diff` will show a clear install prompt.
|
|
|
127
127
|
- Folder LOCs are shown only when the folder is collapsed (expanded folders would duplicate counts).
|
|
128
128
|
- Line counts load asynchronously; the header shows activity while counts are computed.
|
|
129
129
|
- Large non-git folders load progressively and may show `[partial]` while loading in safe mode.
|
|
130
|
-
- Git status refreshes every 3 seconds while `/
|
|
130
|
+
- Git status refreshes every 3 seconds while `/readfiles` is open.
|
package/files-widget/index.ts
CHANGED
|
@@ -20,7 +20,7 @@ export default function editorExtension(pi: ExtensionAPI): void {
|
|
|
20
20
|
const requiredDeps = ["bat", "delta", "glow"] as const;
|
|
21
21
|
const getMissingDeps = () => requiredDeps.filter((dep) => !hasCommand(dep));
|
|
22
22
|
|
|
23
|
-
pi.registerCommand("
|
|
23
|
+
pi.registerCommand("readfiles", {
|
|
24
24
|
description: "Open file browser",
|
|
25
25
|
handler: async (_args, ctx) => {
|
|
26
26
|
const missing = getMissingDeps();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tmustier/pi-files-widget",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"description": "In-terminal file browser and viewer for Pi.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Thomas Mustier",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"pi": {
|
|
25
25
|
"extensions": [
|
|
26
26
|
"index.ts"
|
|
27
|
-
]
|
|
27
|
+
],
|
|
28
|
+
"video": "https://raw.githubusercontent.com/tmustier/pi-extensions/main/files-widget/demo.mp4"
|
|
28
29
|
}
|
|
29
30
|
}
|
package/package.json
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.5 - 2026-02-03
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Add preview image metadata for the extension listing.
|
|
7
|
+
|
|
8
|
+
## 0.1.4 - 2026-02-02
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- **BREAKING:** Updated tool execute signatures for Pi v0.51.0 compatibility (`signal` parameter now comes before `onUpdate`)
|
|
12
|
+
- **BREAKING:** Changed `before_agent_start` handler to use `systemPrompt` instead of deprecated `systemPromptAppend` (Pi v0.39.0+)
|
|
13
|
+
|
|
3
14
|
## 0.1.3 - 2026-01-26
|
|
4
15
|
- Added note clarifying this is a flat version without subagents.
|
|
5
16
|
|
package/ralph-wiggum/index.ts
CHANGED
|
@@ -609,7 +609,7 @@ Examples:
|
|
|
609
609
|
reflectEvery: Type.Optional(Type.Number({ description: "Reflect every N iterations" })),
|
|
610
610
|
maxIterations: Type.Optional(Type.Number({ description: "Max iterations (default: 50)", default: 50 })),
|
|
611
611
|
}),
|
|
612
|
-
async execute(_toolCallId, params, _onUpdate, ctx) {
|
|
612
|
+
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
613
613
|
const loopName = sanitize(params.name);
|
|
614
614
|
const taskFile = path.join(RALPH_DIR, `${loopName}.md`);
|
|
615
615
|
|
|
@@ -654,7 +654,7 @@ Examples:
|
|
|
654
654
|
label: "Ralph Iteration Done",
|
|
655
655
|
description: "Signal that you've completed this iteration of the Ralph loop. Call this after making progress to get the next iteration prompt. Do NOT call this if you've output the completion marker.",
|
|
656
656
|
parameters: Type.Object({}),
|
|
657
|
-
async execute(_toolCallId, _params, _onUpdate, ctx) {
|
|
657
|
+
async execute(_toolCallId, _params, _signal, _onUpdate, ctx) {
|
|
658
658
|
if (!currentLoop) {
|
|
659
659
|
return { content: [{ type: "text", text: "No active Ralph loop." }], details: {} };
|
|
660
660
|
}
|
|
@@ -726,7 +726,7 @@ Examples:
|
|
|
726
726
|
instructions += `- Otherwise, call ralph_done tool to proceed to next iteration`;
|
|
727
727
|
|
|
728
728
|
return {
|
|
729
|
-
|
|
729
|
+
systemPrompt: event.systemPrompt + `\n[RALPH LOOP - ${state.name} - Iteration ${iterStr}]\n\n${instructions}`,
|
|
730
730
|
};
|
|
731
731
|
});
|
|
732
732
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tmustier/pi-ralph-wiggum",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Long-running agent loops for iterative development in Pi.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Thomas Mustier",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
],
|
|
21
21
|
"skills": [
|
|
22
22
|
"SKILL.md"
|
|
23
|
-
]
|
|
23
|
+
],
|
|
24
|
+
"image": "https://github.com/user-attachments/assets/68cdab11-76c6-4aed-9ea1-558cbb267ea6"
|
|
24
25
|
}
|
|
25
26
|
}
|
package/raw-paste/CHANGELOG.md
CHANGED
package/raw-paste/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tmustier/pi-raw-paste",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "One-shot raw paste support for Pi (/paste).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Thomas Mustier",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"pi": {
|
|
18
18
|
"extensions": [
|
|
19
19
|
"index.ts"
|
|
20
|
-
]
|
|
20
|
+
],
|
|
21
|
+
"image": "https://github.com/user-attachments/assets/292c059a-8b06-40c2-abdd-795c0699336a"
|
|
21
22
|
}
|
|
22
23
|
}
|
package/tab-status/CHANGELOG.md
CHANGED
package/tab-status/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tmustier/pi-tab-status",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Terminal tab status indicators for Pi sessions.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Thomas Mustier",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"pi": {
|
|
18
18
|
"extensions": [
|
|
19
19
|
"tab-status.ts"
|
|
20
|
-
]
|
|
20
|
+
],
|
|
21
|
+
"image": "https://raw.githubusercontent.com/tmustier/pi-extensions/main/tab-status/assets/tab-status.png"
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tmustier/pi-usage-extension",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Usage statistics dashboard for Pi sessions.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Thomas Mustier",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"pi": {
|
|
18
18
|
"extensions": [
|
|
19
19
|
"index.ts"
|
|
20
|
-
]
|
|
20
|
+
],
|
|
21
|
+
"image": "https://raw.githubusercontent.com/tmustier/pi-extensions/main/usage-extension/screenshot.png"
|
|
21
22
|
}
|
|
22
23
|
}
|