prloom 0.1.6 → 0.2.0
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 +40 -11
- package/dist/cli/index.js +54415 -16375
- package/manual_agent.md +15 -11
- package/package.json +6 -2
- package/prompts/designer_edit.md +0 -2
- package/prompts/designer_new.md +4 -2
- package/prompts/review.md +86 -0
- package/prompts/review_triage.md +21 -6
- package/prompts/worker.md +44 -15
package/README.md
CHANGED
|
@@ -9,10 +9,12 @@ You write a plan (a Markdown checklist), `prloom` turns it into a dedicated git
|
|
|
9
9
|
## How It Works
|
|
10
10
|
|
|
11
11
|
- Plans start locally in `prloom/.local/inbox/` (gitignored; clean `git status`).
|
|
12
|
-
- The dispatcher ingests a plan into a new branch/worktree
|
|
13
|
-
- The
|
|
12
|
+
- The dispatcher ingests a plan into a new branch/worktree and opens a draft PR.
|
|
13
|
+
- The plan file stays in `prloom/.local/plan.md` (never committed) — the PR description contains the Objective, Context, and Progress Log.
|
|
14
|
+
- The worker agent executes exactly one TODO per iteration and updates the local plan file.
|
|
14
15
|
- PR comments/reviews trigger a triage agent which updates the plan with new TODOs and posts a reply.
|
|
15
16
|
- When all TODOs are complete, the PR is marked ready; you merge when satisfied.
|
|
17
|
+
- On squash merge, the plan content is preserved in the commit message.
|
|
16
18
|
|
|
17
19
|
## Requirements
|
|
18
20
|
|
|
@@ -62,19 +64,19 @@ bun run build
|
|
|
62
64
|
### Commands
|
|
63
65
|
|
|
64
66
|
- `prloom init`
|
|
65
|
-
- Initializes
|
|
67
|
+
- Initializes `prloom/`, ensures `prloom/.local/` is gitignored, and writes `prloom/config.json`.
|
|
66
68
|
- `prloom new [plan-id] [--agent <codex|opencode|claude>]`
|
|
67
|
-
- Creates
|
|
69
|
+
- Creates `prloom/.local/inbox/<id>.md` and launches an interactive designer session.
|
|
68
70
|
- `prloom start`
|
|
69
71
|
- Starts the dispatcher loop (ingests inbox plans, runs TODOs, polls PR feedback).
|
|
70
72
|
- `prloom status`
|
|
71
|
-
- Shows inbox plans and active plans tracked in
|
|
73
|
+
- Shows inbox plans and active plans tracked in `prloom/.local/state.json`.
|
|
72
74
|
- `prloom edit <plan-id> [--agent <...>]`
|
|
73
|
-
- Edits a plan either in inbox (pre-dispatch) or in the plan
|
|
75
|
+
- Edits a plan either in inbox (pre-dispatch) or in the plan's worktree (post-dispatch).
|
|
74
76
|
- `prloom stop <plan-id>` / `prloom unpause <plan-id>`
|
|
75
77
|
- Pauses/resumes automation for an active plan.
|
|
76
78
|
- `prloom open <plan-id>`
|
|
77
|
-
- Opens the configured agent
|
|
79
|
+
- Opens the configured agent's interactive TUI in the plan worktree (requires paused).
|
|
78
80
|
- `prloom poll [plan-id]`
|
|
79
81
|
- Forces an immediate PR-feedback poll.
|
|
80
82
|
- With `<plan-id>`: poll once for that plan without shifting its schedule.
|
|
@@ -100,14 +102,39 @@ Create `prloom/config.json`:
|
|
|
100
102
|
{
|
|
101
103
|
"agents": {
|
|
102
104
|
"default": "opencode",
|
|
103
|
-
"
|
|
105
|
+
"opencode": {
|
|
106
|
+
"default": "gpt-4",
|
|
107
|
+
"designer": "claude-sonnet-4-20250514",
|
|
108
|
+
"worker": "gpt-4-turbo"
|
|
109
|
+
},
|
|
110
|
+
"claude": {
|
|
111
|
+
"default": "sonnet",
|
|
112
|
+
"designer": "opus"
|
|
113
|
+
}
|
|
104
114
|
},
|
|
105
115
|
"worktrees_dir": "prloom/.local/worktrees",
|
|
106
|
-
"
|
|
116
|
+
"github_poll_interval_ms": 60000,
|
|
107
117
|
"base_branch": "main"
|
|
108
118
|
}
|
|
109
119
|
```
|
|
110
120
|
|
|
121
|
+
### Agent Configuration
|
|
122
|
+
|
|
123
|
+
The `agents` config allows you to:
|
|
124
|
+
- Set a default agent app (e.g., `opencode`, `claude`, `codex`, `gemini`)
|
|
125
|
+
- Configure model preferences per agent, with stage-specific overrides
|
|
126
|
+
|
|
127
|
+
**Structure:**
|
|
128
|
+
- `agents.default`: Which agent app to use (e.g., `"opencode"`)
|
|
129
|
+
- `agents.<agent>`: Model configuration for that agent
|
|
130
|
+
- `default`: Default model for all stages
|
|
131
|
+
- `designer`: Model override for the designer stage
|
|
132
|
+
- `worker`: Model override for the worker stage
|
|
133
|
+
- `reviewer`: Model override for the reviewer stage
|
|
134
|
+
- `triage`: Model override for the triage stage
|
|
135
|
+
|
|
136
|
+
This design keeps model identifiers scoped to their agent (since each agent uses different model names), while making it easy to switch between agents.
|
|
137
|
+
|
|
111
138
|
## Repository Context
|
|
112
139
|
|
|
113
140
|
You can provide repository-specific context to agents by creating markdown files in the `prloom/` directory:
|
|
@@ -116,10 +143,12 @@ You can provide repository-specific context to agents by creating markdown files
|
|
|
116
143
|
repo/
|
|
117
144
|
├── prloom/
|
|
118
145
|
│ ├── config.json # Configuration
|
|
119
|
-
│ ├── plans/ # Committed plans (on PR branches)
|
|
120
146
|
│ ├── planner.md # Appended to designer prompts
|
|
121
147
|
│ ├── worker.md # Appended to worker prompts
|
|
122
148
|
│ └── .local/ # Gitignored (runtime state)
|
|
149
|
+
│ ├── inbox/ # Plans awaiting dispatch
|
|
150
|
+
│ ├── plan.md # Active plan (per worktree)
|
|
151
|
+
│ └── worktrees/
|
|
123
152
|
```
|
|
124
153
|
|
|
125
154
|
- **`prloom/planner.md`**: Architecture info, coding conventions, design patterns
|
|
@@ -130,4 +159,4 @@ These files are appended to the respective agent prompts automatically.
|
|
|
130
159
|
## Notes
|
|
131
160
|
|
|
132
161
|
- Runtime state is stored under `prloom/.local/` (gitignored).
|
|
133
|
-
-
|
|
162
|
+
- Plan files are never committed to the repository — the PR description and squash commit message serve as the permanent record.
|