feat(vscode): statut git détaillé, sessions archivées, lien IDE web, fetch/pull (0.2.0)

Reflète la refonte IDE en supervision légère, sans dupliquer l'éditeur :
- statut git fin dans l'arbre (staged/unstaged/conflits + dernier commit) ;
- commande « Open Worktree IDE » → deep-link /workspace/:repoId/:wt ;
- commandes fetch / pull (ff-only|rebase) sur les worktrees ;
- event WS session_archived + réglage showArchivedSessions (badge + filtre).
README/CHANGELOG + tests (config/rest-client/ws-client).
This commit is contained in:
2026-06-27 16:04:28 +02:00
parent 8a8fac75e6
commit d4e3ab47cd
13 changed files with 198 additions and 10 deletions

View File

@@ -9,7 +9,11 @@ integration on top of the [Arboretum](https://git.lidge.fr/johanleroy/arboretum)
daemon's PTY) — you get VS Code's own rendering, scrollback, copy/paste and links for free.
- **Waiting alerts**: a status-bar counter and native notifications when a Claude session is waiting for
input — answer **Yes/No** without even opening the terminal (uses the daemon's `answer` command).
- **Git mutations** from the tree: create worktree, commit, push, promote to main.
- **Git mutations** from the tree: create worktree, commit, push, fetch, pull, promote to main — with a
**detailed git status** on each worktree (staged / unstaged / conflicts and the last commit subject).
- **Open Worktree IDE**: jump from any worktree to its full `/workspace` view (file tree, Monaco editor,
inline diffs, integrated terminal) in the browser. The extension stays a lightweight visual worktree
manager — the heavy editing lives in the web IDE.
- **Workspace-aware**: the worktree matching your open folder is highlighted; start a session or create a
worktree for the current folder in one command.
@@ -33,6 +37,7 @@ integration on top of the [Arboretum](https://git.lidge.fr/johanleroy/arboretum)
| --- | --- | --- |
| `arboretum.url` | `http://127.0.0.1:7317` | Base URL of the daemon (REST + WebSocket). |
| `arboretum.showExternalSessions` | `false` | Also show Claude sessions started outside Arboretum (CLI). |
| `arboretum.showArchivedSessions` | `false` | Also show finished sessions auto-archived after their retention window. |
| `arboretum.notifyOnWaiting` | `true` | Native notification when a session starts waiting for input. |
The extension authenticates with `Authorization: Bearer <token>` on both REST and the WebSocket upgrade.
@@ -48,13 +53,13 @@ The extension is bundled with esbuild (`@arboretum/shared` is inlined → the VS
npm install
npm run build:vscode # builds @arboretum/shared then bundles the extension
cd packages/vscode && npx @vscode/vsce package --no-dependencies
# → git-arboretum-0.1.0.vsix
# → git-arboretum-0.2.0.vsix
```
Install it with **Extensions: Install from VSIX…** in the Command Palette, or:
```bash
code --install-extension git-arboretum-0.1.0.vsix # also: codium / cursor
code --install-extension git-arboretum-0.2.0.vsix # also: codium / cursor
```
### Other distribution channels (optional)