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 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 at `prloom/plans/<id>.md` and opens a draft PR.
13
- - The worker agent executes exactly one TODO per iteration and updates the plan in-branch.
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 `.prloom/`, ensures `.prloom/` is gitignored, and writes `prloom.config.json`.
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 `.prloom/inbox/<id>.md` and launches an interactive designer session.
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 `.prloom/state.json`.
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 plans worktree (post-dispatch).
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 agents interactive TUI in the plan worktree (requires paused).
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
- "designer": "codex"
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
- "poll_interval_ms": 60000,
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
- - The plan file is committed on the PR branch at `prloom/plans/<id>.md` and lands on the configured `base_branch` when you merge the PR.
162
+ - Plan files are never committed to the repository the PR description and squash commit message serve as the permanent record.