@sma1lboy/kobe 0.6.3 → 0.6.5
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 +38 -41
- package/dist/cli/index.js +5192 -4393
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -78,28 +78,20 @@ Once you're in, the keys you'll use most:
|
|
|
78
78
|
|
|
79
79
|
| Key | What it does |
|
|
80
80
|
| ------------------ | -------------------------------------------------------------- |
|
|
81
|
-
| `ctrl+h` / `ctrl+j` / `ctrl+k` / `ctrl+l` |
|
|
82
|
-
| `
|
|
83
|
-
| `ctrl+
|
|
84
|
-
| `ctrl+
|
|
85
|
-
| `
|
|
86
|
-
| `ctrl
|
|
87
|
-
| `
|
|
81
|
+
| `ctrl+h` / `ctrl+j` / `ctrl+k` / `ctrl+l` | Move between tmux panes (Tasks, engine, Ops files, shell) |
|
|
82
|
+
| `ctrl+q` | Detach back to your launching shell; the task tmux session keeps running |
|
|
83
|
+
| `ctrl+t` | Open a same-engine ChatTab window on the current task/worktree |
|
|
84
|
+
| `ctrl+shift+t` or tmux `prefix T` | Pick an engine, then open a new ChatTab window |
|
|
85
|
+
| `ctrl+[` / `ctrl+]` | Switch to previous / next ChatTab window |
|
|
86
|
+
| `ctrl+w` | Close the current ChatTab window; the final window is protected |
|
|
87
|
+
| `F2` | Rename the current ChatTab window |
|
|
88
|
+
| tmux `prefix f` | Open the Tasks pane's new-task dialog from anywhere in the session |
|
|
88
89
|
|
|
89
|
-
Inside the
|
|
90
|
-
`enter` opens, `r` renames, `a` archives, `d` deletes, `s` opens Settings, and
|
|
91
|
-
`[` / `]` switches between the working session and the archives view.
|
|
90
|
+
Inside the Tasks pane, with a task highlighted: `n` creates a task, `j/k` moves, `enter` opens, `r` renames, `b` renames the branch, `v` cycles the engine, `o` opens the worktree in your editor, `a` archives/unarchives, `d` deletes, `s` opens Settings, and `[` / `]` switches between Working session and Archives. Archive/delete also kill the task's cached tmux session when one exists.
|
|
92
91
|
|
|
93
|
-
Inside the
|
|
92
|
+
Inside the Ops files pane: `[` / `]` switches All / Changes, `enter` opens the preview, `a` injects an `@file` mention into the engine pane, `p` injects the create-PR prompt, `r` refreshes, and `o` opens a file externally when that makes sense.
|
|
94
93
|
|
|
95
|
-
|
|
96
|
-
- `shift+tab` toggles the per-task tool-permission mode between `default` and `plan`. `default` is the trusted-bypass mode — kobe forwards it to `claude` as `--permission-mode bypassPermissions` because `claude -p` has no interactive permission protocol, so the only meaningful choice is "auto-deny outside cwd" or "auto-approve everything." `plan` forwards unchanged.
|
|
97
|
-
- Click the model label in the footer to pick the model for this task (opus / sonnet / haiku).
|
|
98
|
-
- Type `/` to open the slash-command dropdown. Bundled `claude-code` commands and your own `.claude/{commands,skills}/*.md` are merged in.
|
|
99
|
-
- A `Create PR` chip on the chat header injects a PR-instructions prompt into the active task and routes the resulting PR through the orchestrator.
|
|
100
|
-
|
|
101
|
-
A given task can host **multiple chat tabs** on the same worktree — useful when
|
|
102
|
-
you want a parallel sub-conversation without losing the main thread.
|
|
94
|
+
A given task can host **multiple ChatTab tmux windows** on the same worktree — useful when you want a parallel sub-conversation without losing the main thread.
|
|
103
95
|
|
|
104
96
|
## Opening tasks in your editor
|
|
105
97
|
|
|
@@ -211,24 +203,33 @@ kobe daemon stop # tell the daemon to drain and exit
|
|
|
211
203
|
> was removed in favor of the single-bin surface (KOB-136); any script with
|
|
212
204
|
> `kobed restart` needs a one-time rename to `kobe daemon restart`.
|
|
213
205
|
|
|
214
|
-
### `kobe api <verb>` —
|
|
206
|
+
### `kobe api <verb>` — six shell verbs
|
|
215
207
|
|
|
216
|
-
Each call is a short-lived process:
|
|
217
|
-
JSON to stdout, exit. Any tool with a `Bash` capability (Claude
|
|
218
|
-
Cursor, a custom agent) can drive it.
|
|
208
|
+
Each call is a short-lived process: connect to (or auto-start) the daemon, do
|
|
209
|
+
the work, print JSON to stdout, exit. Any tool with a `Bash` capability (Claude
|
|
210
|
+
Code, Codex, Cursor, a custom agent) can drive it.
|
|
219
211
|
|
|
220
212
|
| verb | flags | what it does |
|
|
221
213
|
|---|---|---|
|
|
222
|
-
| `spawn-task` | `--repo PATH --prompt TEXT [--title T] [--base-branch B]` | Create
|
|
223
|
-
| `
|
|
224
|
-
| `send` |
|
|
225
|
-
| `get-task` | `--task-id ID` | Read task metadata
|
|
226
|
-
| `
|
|
214
|
+
| `spawn-task` | `--repo PATH [--prompt TEXT] [--title T] [--base-branch B] [--vendor V]` | Create one task + worktree. With `--prompt`, also start the engine in tmux and deliver the prompt. |
|
|
215
|
+
| `fan-out` | `--repo PATH --prompt TEXT [--count N \| --agents claude:2,codex:1] [--base-branch B]` | Spawn N tasks of the same prompt in one call (per-engine counts optional). Returns `{count, tasks[]}`. Capped at 10. |
|
|
216
|
+
| `send` | `[--task-id ID] --prompt TEXT` | Paste a prompt into a task's engine pane (bracketed paste, then Enter — multi-line stays one turn). Defaults to the active task; prefer `--task-id` for unattended fan-out. |
|
|
217
|
+
| `get-task` | `--task-id ID` | Read task metadata; `.running` is true when the tmux session is live. |
|
|
218
|
+
| `collect` | `--task-ids a,b,c \| --repo PATH` | Read-only aggregation snapshot: per task, branch + `.running` + uncommitted `.changes` ({added, deleted}) for comparing attempts. |
|
|
219
|
+
| `list` | — | List all tasks. |
|
|
220
|
+
|
|
221
|
+
`spawn-task --prompt` and `send` also return `.engineReady` — `false` means a freshly-started engine didn't confirm it was ready before the prompt was pasted (delivered best-effort).
|
|
227
222
|
|
|
228
223
|
Output is one JSON object on stdout, `\n` terminated, exit 0. Errors land on
|
|
229
224
|
stderr as `{"error":{"message":"...","code":"..."}}` with a non-zero exit.
|
|
230
225
|
Add `--pretty` for human inspection.
|
|
231
226
|
|
|
227
|
+
v0.6 is tmux-native — a task's chat history lives in its tmux session, not in
|
|
228
|
+
the daemon — so `send` types the prompt into the engine pane and there is no
|
|
229
|
+
verb that reads the reply back. Results are reviewed in the TUI. (The v0.5
|
|
230
|
+
`create-tab` / `get-tab` verbs are gone; extra chat tabs are tmux windows
|
|
231
|
+
opened from inside the TUI.)
|
|
232
|
+
|
|
232
233
|
Fan-out from a shell:
|
|
233
234
|
|
|
234
235
|
```bash
|
|
@@ -237,19 +238,17 @@ T2=$(kobe api spawn-task --repo "$PWD" --prompt "Approach B: event sourcing" |
|
|
|
237
238
|
T3=$(kobe api spawn-task --repo "$PWD" --prompt "Approach C: reducer pattern" | jq -r .taskId)
|
|
238
239
|
|
|
239
240
|
# Tell the user three tasks are running — they'll appear in the sidebar.
|
|
240
|
-
echo "Spawned $T1 $T2 $T3"
|
|
241
|
+
echo "Spawned $T1 $T2 $T3 — open the kobe TUI to watch them"
|
|
241
242
|
|
|
242
|
-
#
|
|
243
|
+
# Confirm each session came up.
|
|
243
244
|
for ID in $T1 $T2 $T3; do
|
|
244
|
-
|
|
245
|
-
sleep 10
|
|
246
|
-
done
|
|
245
|
+
kobe api get-task --task-id "$ID" | jq -r '"\(.task.id) running=\(.running)"'
|
|
247
246
|
done
|
|
248
247
|
```
|
|
249
248
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
`
|
|
249
|
+
`kobe api ...` auto-starts the daemon, so there is nothing to launch first. If
|
|
250
|
+
the daemon cannot be reached or started, it exits 2 with
|
|
251
|
+
`{"error":{"code":"BAD_DAEMON",...}}` on stderr.
|
|
253
252
|
|
|
254
253
|
### Install the agent skill
|
|
255
254
|
|
|
@@ -270,12 +269,10 @@ After install, Claude Code automatically picks up the skill on its next launch.
|
|
|
270
269
|
For project-level overrides, copy the file to `<repo>/.claude/skills/kobe/SKILL.md`
|
|
271
270
|
and customise — Claude Code's discovery order is project > user > none.
|
|
272
271
|
|
|
273
|
-
|
|
274
|
-
fastest way to confirm.
|
|
272
|
+
To confirm it installed, check that `~/.claude/skills/kobe/SKILL.md` exists.
|
|
275
273
|
|
|
276
|
-
> `kobe skill install`
|
|
277
|
-
>
|
|
278
|
-
> older copy.
|
|
274
|
+
> The old built-in `kobe skill install` / `kobe diagnose` commands were
|
|
275
|
+
> removed in v0.6 — use the `npx skills` command above to manage the skill.
|
|
279
276
|
|
|
280
277
|
## Coming later
|
|
281
278
|
|