@axelgar/opentree 1.0.1 → 1.0.2
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 +23 -2
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ opentree is a cross-platform CLI tool that manages multiple AI coding agent sess
|
|
|
26
26
|
## Requirements
|
|
27
27
|
|
|
28
28
|
- **Git** (2.5+) - for worktree support
|
|
29
|
-
- **tmux** (3.0+) - for session orchestration
|
|
29
|
+
- **tmux** (3.0+) - for session orchestration (3.2+ to type `shift+enter` in the chat)
|
|
30
30
|
- **A coding agent** (optional) - OpenCode (the default), Claude Code, GitHub Copilot CLI or Gemini CLI
|
|
31
31
|
- **GitHub CLI** (`gh`) (optional) - for PR creation and issue fetching ([install](https://cli.github.com/))
|
|
32
32
|
- **Node** (optional) - only to run Claude Code through its ACP adapter
|
|
@@ -187,7 +187,8 @@ agent's own logo, in its own colours:
|
|
|
187
187
|
| Key | |
|
|
188
188
|
| --- | --- |
|
|
189
189
|
| `enter` | send |
|
|
190
|
-
| `
|
|
190
|
+
| `shift+enter` | newline — `ctrl+j` where the terminal cannot report modifiers |
|
|
191
|
+
| `↑` / `↓` | walk back through the messages already sent, and forward again |
|
|
191
192
|
| `/` | slash commands — the agent's own, plus `/resume`, `/login`, `/model` and the rest |
|
|
192
193
|
| `@` | attach a file from this worktree |
|
|
193
194
|
| `ctrl+v` | paste — an image on the clipboard is attached, anything else is text |
|
|
@@ -197,6 +198,20 @@ agent's own logo, in its own colours:
|
|
|
197
198
|
| `ctrl+o` | show or hide the agent's reasoning |
|
|
198
199
|
| `?` | every key |
|
|
199
200
|
|
|
201
|
+
**Newlines.** `shift+enter` breaks the line instead of sending it, with nothing
|
|
202
|
+
to configure. A terminal left to itself sends a bare carriage return for
|
|
203
|
+
`shift+enter` — the same byte `enter` sends, and nothing downstream can tell the
|
|
204
|
+
two apart — so the chat asks it for modified keys on the way in (xterm's
|
|
205
|
+
`modifyOtherKeys`, level 1, put back on the way out), and sets `extended-keys`
|
|
206
|
+
on its own tmux session so tmux passes them through. That is the whole reason
|
|
207
|
+
the key works here and not in every terminal program.
|
|
208
|
+
|
|
209
|
+
Level 1 is the conservative request: only keys that had no encoding of their own
|
|
210
|
+
gain one, so `esc`, `ctrl+j` and the arrows are the bytes they always were, and a
|
|
211
|
+
window running something else is untouched — tmux only forwards modified keys to
|
|
212
|
+
programs that ask for them. In a terminal that cannot report modifiers at all
|
|
213
|
+
(Terminal.app), `ctrl+j` and `alt+enter` still do it.
|
|
214
|
+
|
|
200
215
|
**Images.** Press `ctrl+v` to attach a screenshot from the clipboard, or drag one
|
|
201
216
|
onto the terminal. Either way the path collapses into `[image · shot.png · 412 KB]`
|
|
202
217
|
in the message you are writing — backspace over it and the attachment goes with
|
|
@@ -206,6 +221,12 @@ terminal asked to paste a picture sends nothing at all. An agent that does not
|
|
|
206
221
|
take images gets the path as a link instead, and the chat says so rather than
|
|
207
222
|
letting the difference go unnoticed.
|
|
208
223
|
|
|
224
|
+
**Messages you already sent.** `↑` puts the last one back in the box, `↓` walks
|
|
225
|
+
forward again, and coming back past the newest returns whatever was half typed
|
|
226
|
+
when you started looking — so a prompt worth repeating, or repeating with one
|
|
227
|
+
word changed, is a keypress away rather than a retype. Inside a message the
|
|
228
|
+
arrows still move the cursor: they only recall from its first and last row.
|
|
229
|
+
|
|
209
230
|
**Earlier conversations.** `/resume` lists what this worktree has already
|
|
210
231
|
talked about — newest first, by what each conversation was about — and picking
|
|
211
232
|
one reopens it in place, history and all. The list is the agent's own where it
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axelgar/opentree",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Git worktree manager CLI for orchestrating parallel AI coding sessions",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"bin/opentree"
|
|
16
16
|
],
|
|
17
17
|
"optionalDependencies": {
|
|
18
|
-
"@axelgar/opentree-linux-x64": "1.0.
|
|
19
|
-
"@axelgar/opentree-linux-arm64": "1.0.
|
|
20
|
-
"@axelgar/opentree-darwin-x64": "1.0.
|
|
21
|
-
"@axelgar/opentree-darwin-arm64": "1.0.
|
|
18
|
+
"@axelgar/opentree-linux-x64": "1.0.2",
|
|
19
|
+
"@axelgar/opentree-linux-arm64": "1.0.2",
|
|
20
|
+
"@axelgar/opentree-darwin-x64": "1.0.2",
|
|
21
|
+
"@axelgar/opentree-darwin-arm64": "1.0.2"
|
|
22
22
|
},
|
|
23
23
|
"engines": {
|
|
24
24
|
"node": ">=18"
|