@stevecastaneda/paseo-progress 0.3.1 → 0.3.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/OVERVIEW.md +14 -0
- package/README.md +11 -1
- package/client/panel.tsx +3 -2
- package/package.json +2 -1
- package/skills/paseo-progress/SKILL.md +10 -0
package/OVERVIEW.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Progress gives each worktree a live dashboard for long agent jobs. The agent records its tickets or steps with a `paseo-progress` command, along with what's stuck, questions for you and finished work. The Progress panel in Explorer shows all of it. Needs Paseo 0.9 or later, and Node.js 22.18 or later on the computer running the Paseo daemon.
|
|
2
|
+
|
|
3
|
+
The panel shows how much of the estimated work is done, what the agent is doing right now, and where each ticket stands. A ticket turns stuck when it's blocked or runs past its estimate without an update. Press a ticket to see its timeline, activity, questions and deliverables. Images and text files the agent records open in a preview inside Paseo.
|
|
4
|
+
|
|
5
|
+
When the agent needs a decision, it asks a numbered question with lettered options and says which one it recommends. A pill above the message box counts open questions and stuck work. Each option has a Copy button. Paste the answer into the chat and the agent records it.
|
|
6
|
+
|
|
7
|
+
Nothing updates unless the agent runs the command, so agents need the plugin's skill. The panel has two setup buttons, and each one shows where it will write before you press it:
|
|
8
|
+
|
|
9
|
+
- Install command writes `~/.local/bin/paseo-progress` on the daemon host.
|
|
10
|
+
- Install skill links the plugin's `paseo-progress` skill into `~/.agents/skills`, `~/.claude/skills` and `~/.codex/skills`. New agent sessions pick it up.
|
|
11
|
+
|
|
12
|
+
Both work from files inside the plugin and download nothing. Neither one replaces a file you made.
|
|
13
|
+
|
|
14
|
+
Progress keeps each worktree's data under `~/.local/state/paseo-progress/` on the daemon host, outside the repo. You can also save runs into the repo. Pick a folder and Progress writes each run there too, and it remembers the folder in the repo's local git config. There's no view across worktrees, and a deleted worktree's folder stays behind until you remove it.
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ A plugin for Paseo 0.9 and later that gives each worktree a live progress dashbo
|
|
|
7
7
|
The dashboard shows:
|
|
8
8
|
|
|
9
9
|
- the run's title, a headline ("2 of 4 tickets done, 5 questions waiting for you, 1 stuck"), a one-line "now" ticker, and when it was last updated
|
|
10
|
-
- a "possibly stale" warning after 15 minutes with no update while tickets remain, unless Paseo shows an agent in the workspace still running
|
|
10
|
+
- a "possibly stale" warning after 15 minutes with no update while tickets remain, unless Paseo shows an agent in the workspace still running, and never once every ticket is done or skipped or the run is finished; working items swap their spinner for a pulsing amber warning
|
|
11
11
|
- percent of estimated work done, time done of time estimated (like "1 h 30 min of 2 h"; once everything is done, how long it really took), and a bar with one segment per ticket
|
|
12
12
|
- **Stuck:** blocked tickets, working tickets with no update for longer than their estimate, and blockers the agent flags
|
|
13
13
|
- **Tickets:** estimate, status, and the working ticket's stage. A ticket that waits for another (`--waits-for T03`) shows "Waits for Ticket 03" under its title until that one is done; waiting is the order of work, so it never counts as stuck, even if the agent also marked it blocked. Press a ticket for its story in a dialog. A summary on top shows its status and stage, time worked against the estimate as a bar that turns red past it, the agent's latest status line while it's working, and the agent on it. Tabs below hold the rest, each only when it has something: the ticket's write-up when it has a `--source` file (the start of it, with the rest a press away), a timeline of its stages and statuses with how long each took, and the activity, questions and deliverables that belong to it. The agent on a ticket shows by its chat title; pressing it opens that chat. Items tagged with `--ticket` belong exactly; older, untagged ones are matched by when they happened and marked "by time"
|
|
@@ -96,6 +96,7 @@ paseo-progress finish "Snapshots ship for all four tables"
|
|
|
96
96
|
- `question ask` needs `--recommend`, the agent's pick. The question dialog tags that option "Recommended".
|
|
97
97
|
- Deliverable paths are stored relative to the worktree root. Web links open in Paseo's browser. Pressing an image (PNG, JPEG, GIF, WebP, up to 10 MB) or text deliverable (Markdown, text, logs, JSON, YAML, CSV; the first 256 KB) previews it in a dialog inside Paseo, which also works from a phone; **Open** there opens the file in its default app. Pressing any other local deliverable opens it with its default app on the machine running the Paseo daemon (for example HTML in your browser and folders in the file manager). On macOS, **Open** sends text files to your default browser. Only recorded deliverables inside the worktree open this way; otherwise the path is copied. The copy icon on each row copies the path.
|
|
98
98
|
- Several agents can share one run. When another session adds a ticket, each agent sees it at the end of its next command's output (and in `show`), and the skill has it work that ticket in order after its current one. An agent only hears about tickets added since its own last update in the run, and only once.
|
|
99
|
+
- Subagents record their own progress. Since Paseo 0.11, an agent waiting on background subagents shows as idle, so only the subagents' updates show the work is still going. The skill has the agent give each subagent the worktree path and ticket id, and the subagent records its stages and a ticker line on that worktree's dashboard.
|
|
99
100
|
- `start` begins a fresh dashboard. Earlier runs stay in the file. Question references stay unique across runs.
|
|
100
101
|
- `finish "<outcome>"` closes the run once every ticket is done or skipped, no question is open, and nothing is flagged stuck; otherwise it says what is left. The run stays on the dashboard, marked Finished with its outcome, and takes no more updates, so the next agent in the worktree starts a new run instead of adding to it.
|
|
101
102
|
|
|
@@ -107,6 +108,7 @@ The progress file, `progress.jsonl`, holds one JSON event per line, each with a
|
|
|
107
108
|
|
|
108
109
|
- An agent hears about tickets other sessions added only when it next runs `paseo-progress`. One in the middle of a long step finds out when that step ends.
|
|
109
110
|
- Nothing updates unless the agent runs `paseo-progress`. Agents need the skill, and an agent that skips the command leaves the dashboard behind.
|
|
111
|
+
- On Paseo 0.11 and later, an agent waiting on background subagents counts as idle. If those subagents record nothing, the dashboard shows "possibly stale" after 15 minutes while they're still working.
|
|
110
112
|
- The command runs on the machine that hosts the Paseo daemon, and it needs Node.js 22.18 or later there.
|
|
111
113
|
- Each worktree keeps its own dashboard. There's no view across worktrees.
|
|
112
114
|
- Progress folders outside the repo stay behind when a worktree is deleted. They're small, and you can delete them from `~/.local/state/paseo-progress/`.
|
|
@@ -127,6 +129,14 @@ npm run dev
|
|
|
127
129
|
|
|
128
130
|
## Changelog
|
|
129
131
|
|
|
132
|
+
### 0.3.3
|
|
133
|
+
|
|
134
|
+
- The skill now has subagents record their own progress, so the dashboard stops warning "possibly stale" while they work. Since Paseo 0.11, an agent waiting on background subagents shows as idle. After 15 minutes with no update, the dashboard said the work may have stopped even though the subagents were still at it. Now the agent gives each subagent the worktree path and ticket id, and the subagent records its stages and a ticker line. If the Progress panel shows **Update skill** after you update, press it so agents get the new instructions.
|
|
135
|
+
|
|
136
|
+
### 0.3.2
|
|
137
|
+
|
|
138
|
+
- The plugin's page in Paseo's plugin store now uses the plugin's own description instead of text the store copied from paseo.cafe.
|
|
139
|
+
|
|
130
140
|
### 0.3.1
|
|
131
141
|
|
|
132
142
|
- Installs again with npm 12. Installing failed with `npm ci` asking for a `package-lock.json`, because npm 12 no longer reads the lockfile this plugin shipped ([#53](https://github.com/stevecastaneda/paseo-plugins/issues/53)). The plugin no longer runs its own install step; Paseo's npm install already brings in what it needs.
|
package/client/panel.tsx
CHANGED
|
@@ -36,8 +36,9 @@ export function ProgressPanel(props: PluginWorkspacePanelProps) {
|
|
|
36
36
|
function WorkspaceProgress({ theme, workspaceId, host, layout, navigation }: PluginWorkspacePanelProps) {
|
|
37
37
|
const colors = theme.colors;
|
|
38
38
|
const directory = useWorkspace(workspaceId, (workspace) => workspace.directory);
|
|
39
|
-
// Paseo marks the workspace running while any of its agents is
|
|
40
|
-
// waiting on subagents
|
|
39
|
+
// Paseo marks the workspace running while any of its agents is. Since 0.11 a Claude
|
|
40
|
+
// agent waiting on background subagents counts as idle, so those subagents record
|
|
41
|
+
// progress themselves (see the skill).
|
|
41
42
|
const agentRunning = useWorkspace(workspaceId, (workspace) => workspace.status === "running") ?? false;
|
|
42
43
|
const query = useDashboard(host.id, workspaceId, directory);
|
|
43
44
|
const result = query.data ?? null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stevecastaneda/paseo-progress",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "A live progress dashboard per worktree for Paseo, drawn from a file agents write with the paseo-progress command.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Steve Castaneda",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
25
|
"paseo-plugin.json",
|
|
26
|
+
"OVERVIEW.md",
|
|
26
27
|
"dist/",
|
|
27
28
|
"index.client.tsx",
|
|
28
29
|
"index.server.ts",
|
|
@@ -39,6 +39,16 @@ Other sessions may add tickets (or steps) to the same run. When a command's outp
|
|
|
39
39
|
|
|
40
40
|
A working ticket turns stuck on its own once it goes longer than its estimate without an update: a status, stage or note change, or activity tagged to it. When a ticket will run long, keep updating its stage, or raise its estimate with `--estimate`.
|
|
41
41
|
|
|
42
|
+
A subagent records the work you hand it. Paseo shows you as idle while you wait on it, so its updates are the only sign the work is still going; after 15 minutes without one, the dashboard warns that the work may have stopped. Mark the ticket working, then put this in the subagent's prompt with this worktree's absolute path and the ticket id filled in:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
Record progress on the Paseo dashboard as you work:
|
|
46
|
+
- at each new stage: cd <worktree> && paseo-progress ticket update T03 --stage <stage>
|
|
47
|
+
- between stages: cd <worktree> && paseo-progress ticker set "<what you are doing now>"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The `cd` puts the updates on this worktree's dashboard even when the subagent works in another checkout. When the subagent reports back, mark the ticket done.
|
|
51
|
+
|
|
42
52
|
## 3. Ask questions, and work around them
|
|
43
53
|
|
|
44
54
|
When a decision belongs to the user, ask it, then park everything the answer affects:
|