@pi-unipi/unipi 2.0.6 → 2.0.7
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/package.json +18 -34
- package/packages/ask-user/package.json +57 -0
- package/packages/autocomplete/package.json +44 -0
- package/packages/btw/package.json +49 -0
- package/packages/cocoindex/package.json +42 -0
- package/packages/compactor/package.json +59 -0
- package/packages/core/package.json +34 -0
- package/packages/footer/package.json +52 -0
- package/packages/info-screen/package.json +50 -0
- package/packages/input-shortcuts/package.json +50 -0
- package/packages/kanboard/package.json +54 -0
- package/packages/mcp/package.json +47 -0
- package/packages/memory/package.json +62 -0
- package/packages/milestone/package.json +50 -0
- package/packages/notify/ask-user-prompt-message.ts +75 -0
- package/packages/notify/events.ts +54 -6
- package/packages/notify/package.json +60 -0
- package/packages/notify/src/__tests__/ask-user-prompt-message.test.ts +159 -0
- package/packages/notify/src/__tests__/event-bus.test.ts +118 -0
- package/packages/ralph/SKILL.md +86 -0
- package/packages/ralph/package.json +46 -0
- package/packages/subagents/package.json +32 -0
- package/packages/updater/package.json +53 -0
- package/packages/utility/package.json +55 -0
- package/packages/web-api/package.json +57 -0
- package/packages/workflow/package.json +44 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ralph
|
|
3
|
+
description: >
|
|
4
|
+
Long-running iterative development loops. Run arbitrarily-long tasks without
|
|
5
|
+
diluting model attention. Triggers: ralph, ralph loop, iterative loop,
|
|
6
|
+
long-running task, development loop.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Ralph Loop
|
|
10
|
+
|
|
11
|
+
Long-running iterative development loops. Run complex tasks across multiple iterations with reflection checkpoints.
|
|
12
|
+
|
|
13
|
+
## Commands
|
|
14
|
+
|
|
15
|
+
| Command | Description |
|
|
16
|
+
|---------|-------------|
|
|
17
|
+
| `/unipi:ralph start <name> [options]` | Start a new loop |
|
|
18
|
+
| `/unipi:ralph stop` | Pause current loop |
|
|
19
|
+
| `/unipi:ralph resume <name>` | Resume a paused loop |
|
|
20
|
+
| `/unipi:ralph status` | Show all loops |
|
|
21
|
+
| `/unipi:ralph cancel <name>` | Delete loop state |
|
|
22
|
+
| `/unipi:ralph archive <name>` | Move loop to archive |
|
|
23
|
+
| `/unipi:ralph clean [--all]` | Clean completed loops |
|
|
24
|
+
| `/unipi:ralph list --archived` | Show archived loops |
|
|
25
|
+
| `/unipi:ralph nuke [--yes]` | Delete all ralph data |
|
|
26
|
+
|
|
27
|
+
## Tools
|
|
28
|
+
|
|
29
|
+
| Tool | Description |
|
|
30
|
+
|------|-------------|
|
|
31
|
+
| `ralph_start` | Start a ralph loop (LLM-callable) |
|
|
32
|
+
| `ralph_done` | Signal iteration complete, request next |
|
|
33
|
+
|
|
34
|
+
## Options
|
|
35
|
+
|
|
36
|
+
- `--max-iterations N` — Stop after N iterations (default: 50)
|
|
37
|
+
- `--items-per-iteration N` — Process N items per iteration
|
|
38
|
+
- `--reflect-every N` — Reflection checkpoint every N iterations
|
|
39
|
+
|
|
40
|
+
## How It Works
|
|
41
|
+
|
|
42
|
+
1. **Start** — Create a task file with goals and checklist
|
|
43
|
+
2. **Iterate** — LLM works on task, updates checklist, calls `ralph_done`
|
|
44
|
+
3. **Reflect** — Every N iterations, pause and assess progress
|
|
45
|
+
4. **Complete** — When done, LLM outputs `COMPLETE` marker
|
|
46
|
+
|
|
47
|
+
## Integration with Workflow
|
|
48
|
+
|
|
49
|
+
When `@unipi/workflow` is present:
|
|
50
|
+
- `/unipi:work` suggests ralph for large tasks
|
|
51
|
+
- Ralph loops emit events that workflow can track
|
|
52
|
+
- Ralph state is available to info-screen (when present)
|
|
53
|
+
|
|
54
|
+
## Task File Format
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# Task
|
|
58
|
+
|
|
59
|
+
{Description}
|
|
60
|
+
|
|
61
|
+
## Goals
|
|
62
|
+
- Goal 1
|
|
63
|
+
- Goal 2
|
|
64
|
+
|
|
65
|
+
## Checklist
|
|
66
|
+
- [ ] Item 1
|
|
67
|
+
- [ ] Item 2
|
|
68
|
+
- [x] Completed item
|
|
69
|
+
|
|
70
|
+
## Notes
|
|
71
|
+
{Progress notes}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## State
|
|
75
|
+
|
|
76
|
+
Loop state stored in `.unipi/ralph/` directory:
|
|
77
|
+
- `.unipi/ralph/{name}.md` — Task file
|
|
78
|
+
- `.unipi/ralph/{name}.state.json` — Loop state
|
|
79
|
+
- `.unipi/ralph/archive/` — Completed loops
|
|
80
|
+
|
|
81
|
+
## Tips
|
|
82
|
+
|
|
83
|
+
- Use `--items-per-iteration` for large checklists
|
|
84
|
+
- Use `--reflect-every 10` for long-running tasks
|
|
85
|
+
- Press ESC to pause, send message to resume
|
|
86
|
+
- Task file is updated each iteration — check it for progress
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pi-unipi/ralph",
|
|
3
|
+
"version": "2.0.7",
|
|
4
|
+
"description": "Long-running iterative development loops for Pi coding agent",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Neuron Mr White",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/Neuron-Mr-White/unipi.git",
|
|
11
|
+
"directory": "packages/ralph"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"pi-package",
|
|
15
|
+
"pi-extension",
|
|
16
|
+
"unipi",
|
|
17
|
+
"ralph",
|
|
18
|
+
"loops"
|
|
19
|
+
],
|
|
20
|
+
"files": [
|
|
21
|
+
"*.ts",
|
|
22
|
+
"SKILL.md",
|
|
23
|
+
"README.md"
|
|
24
|
+
],
|
|
25
|
+
"pi": {
|
|
26
|
+
"extensions": [
|
|
27
|
+
"./index.ts"
|
|
28
|
+
],
|
|
29
|
+
"skills": [
|
|
30
|
+
"./SKILL.md"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@pi-unipi/core": "^2.0.0",
|
|
38
|
+
"@pi-unipi/info-screen": "*"
|
|
39
|
+
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"@mariozechner/pi-ai": "*",
|
|
42
|
+
"@mariozechner/pi-coding-agent": "*",
|
|
43
|
+
"@mariozechner/pi-tui": "*",
|
|
44
|
+
"@sinclair/typebox": "*"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pi-unipi/subagents",
|
|
3
|
+
"version": "2.0.7",
|
|
4
|
+
"description": "Subagents for UniPi — parallel execution, file locking, workflow integration",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"dev": "tsc --watch",
|
|
17
|
+
"test": "node --test src/__tests__/*.test.ts"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@pi-unipi/core": "*",
|
|
21
|
+
"@pi-unipi/workflow": "*",
|
|
22
|
+
"@pi-unipi/info-screen": "*"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"typescript": "^5.8.3"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@mariozechner/pi-coding-agent": "*",
|
|
29
|
+
"@mariozechner/pi-tui": "*",
|
|
30
|
+
"@sinclair/typebox": "*"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pi-unipi/updater",
|
|
3
|
+
"version": "2.0.7",
|
|
4
|
+
"description": "Auto-updater, changelog browser, and readme browser for Unipi — checks npm registry, renders CHANGELOG.md and README.md files in TUI overlays",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Neuron Mr White",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/Neuron-Mr-White/unipi.git",
|
|
11
|
+
"directory": "packages/updater"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"pi-package",
|
|
15
|
+
"pi-extension",
|
|
16
|
+
"pi-coding-agent",
|
|
17
|
+
"unipi",
|
|
18
|
+
"updater",
|
|
19
|
+
"changelog",
|
|
20
|
+
"readme"
|
|
21
|
+
],
|
|
22
|
+
"files": [
|
|
23
|
+
"index.ts",
|
|
24
|
+
"src/**/*.ts",
|
|
25
|
+
"skills/**/*",
|
|
26
|
+
"README.md"
|
|
27
|
+
],
|
|
28
|
+
"pi": {
|
|
29
|
+
"extensions": [
|
|
30
|
+
"src/index.ts"
|
|
31
|
+
],
|
|
32
|
+
"skills": [
|
|
33
|
+
"skills"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"test": "node --experimental-strip-types --test tests/**/*.test.ts"
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@pi-unipi/core": "*"
|
|
44
|
+
},
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"@mariozechner/pi-coding-agent": "*",
|
|
47
|
+
"@mariozechner/pi-tui": "*"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@types/node": "^25.6.0",
|
|
51
|
+
"typescript": "^6.0.0"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pi-unipi/utility",
|
|
3
|
+
"version": "2.0.7",
|
|
4
|
+
"description": "Utility commands and tools for Pi coding agent — lifecycle, diagnostics, cache, analytics, display, batch execution",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Neuron Mr White",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/Neuron-Mr-White/unipi.git",
|
|
11
|
+
"directory": "packages/utility"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"pi-package",
|
|
15
|
+
"pi-extension",
|
|
16
|
+
"pi-coding-agent",
|
|
17
|
+
"unipi",
|
|
18
|
+
"utility",
|
|
19
|
+
"continue",
|
|
20
|
+
"diagnostics",
|
|
21
|
+
"cache",
|
|
22
|
+
"analytics"
|
|
23
|
+
],
|
|
24
|
+
"files": [
|
|
25
|
+
"src/index.ts",
|
|
26
|
+
"src/commands.ts",
|
|
27
|
+
"src/types.ts",
|
|
28
|
+
"src/**/*.ts",
|
|
29
|
+
"README.md",
|
|
30
|
+
"skills/**/*.md"
|
|
31
|
+
],
|
|
32
|
+
"pi": {
|
|
33
|
+
"extensions": [
|
|
34
|
+
"src/index.ts"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"publishConfig": {
|
|
38
|
+
"access": "public"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@pi-unipi/core": "*",
|
|
42
|
+
"diff": "^7.0.0",
|
|
43
|
+
"@shikijs/cli": "^4.0.2"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/diff": "^7.0.2"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"@mariozechner/pi-coding-agent": "*",
|
|
50
|
+
"@sinclair/typebox": "*"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"test": "npx tsx --test tests/**/*.test.ts"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pi-unipi/web-api",
|
|
3
|
+
"version": "2.0.7",
|
|
4
|
+
"description": "Web search, read, and summarize tools with provider-based backend selection for Pi coding agent",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Neuron Mr White",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/Neuron-Mr-White/unipi.git",
|
|
11
|
+
"directory": "packages/web-api"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/Neuron-Mr-White/unipi#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/Neuron-Mr-White/unipi/issues"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"pi-package",
|
|
19
|
+
"pi-extension",
|
|
20
|
+
"pi-coding-agent",
|
|
21
|
+
"unipi",
|
|
22
|
+
"web-api",
|
|
23
|
+
"search",
|
|
24
|
+
"read",
|
|
25
|
+
"summarize"
|
|
26
|
+
],
|
|
27
|
+
"pi": {
|
|
28
|
+
"extensions": [
|
|
29
|
+
"src/index.ts"
|
|
30
|
+
],
|
|
31
|
+
"skills": [
|
|
32
|
+
"skills"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"src/**/*.ts",
|
|
37
|
+
"skills/**/*",
|
|
38
|
+
"README.md"
|
|
39
|
+
],
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@pi-unipi/core": "*",
|
|
42
|
+
"defuddle": "^0.18.1",
|
|
43
|
+
"linkedom": "^0.18.12",
|
|
44
|
+
"lodash": "^4.17.21",
|
|
45
|
+
"mime-types": "^2.1.35",
|
|
46
|
+
"wreq-js": "^2.3.0"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"@mariozechner/pi-coding-agent": "*",
|
|
50
|
+
"@mariozechner/pi-tui": "*",
|
|
51
|
+
"@sinclair/typebox": "*"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/lodash": "^4.17.24",
|
|
55
|
+
"@types/node": "^25.6.0"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pi-unipi/workflow",
|
|
3
|
+
"version": "2.0.7",
|
|
4
|
+
"description": "Structured development workflow commands for Pi coding agent",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Neuron Mr White",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/Neuron-Mr-White/unipi.git",
|
|
11
|
+
"directory": "packages/workflow"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"pi-package",
|
|
15
|
+
"pi-extension",
|
|
16
|
+
"unipi",
|
|
17
|
+
"workflow"
|
|
18
|
+
],
|
|
19
|
+
"files": [
|
|
20
|
+
"*.ts",
|
|
21
|
+
"skills/**/*",
|
|
22
|
+
"README.md"
|
|
23
|
+
],
|
|
24
|
+
"pi": {
|
|
25
|
+
"extensions": [
|
|
26
|
+
"./index.ts"
|
|
27
|
+
],
|
|
28
|
+
"skills": [
|
|
29
|
+
"./skills"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@pi-unipi/core": "^2.0.0"
|
|
37
|
+
},
|
|
38
|
+
"peerDependencies": {
|
|
39
|
+
"@mariozechner/pi-ai": "*",
|
|
40
|
+
"@mariozechner/pi-coding-agent": "*",
|
|
41
|
+
"@mariozechner/pi-tui": "*",
|
|
42
|
+
"@sinclair/typebox": "*"
|
|
43
|
+
}
|
|
44
|
+
}
|