Files
arboretum/packages/vscode/package.json
Johan LEROY c7af406cbf
Some checks failed
CI / Build & test (Node 22) (push) Successful in 10m13s
CI / Build & test (Node 24) (push) Successful in 10m6s
CI / No em/en dashes (push) Successful in 3s
VSCode Release / Package VSIX (push) Successful in 9m38s
CI / Pack & boot smoke (Node 22) (push) Successful in 9m56s
Desktop Release / Build Linux (AppImage + deb) (push) Failing after 6m11s
release: IDE multi-projet + app native (git-arboretum 3.0.0, vscode 0.3.0, desktop 0.1.0)
Daemon 3.0.0 : marque le cap « IDE IA multi-projet + app de bureau native » (refonte additive, PROTOCOL_VERSION inchangé ; le tarball embarque la nouvelle SPA IDE + le handshake token desktop). Extension VS Code 0.3.0 : deep-link « Open Worktree IDE » vers l'IDE multi-projet, encodage wt-key unifié via @arboretum/shared (CHANGELOG + README à jour). Paquet desktop 0.1.0 (première release).

package.json ET package-lock.json bumpés (npm ci strict). 431 tests, 0 tiret, builds daemon/web/vscode/site verts.
2026-07-17 18:31:37 +02:00

435 lines
12 KiB
JSON

{
"name": "git-arboretum",
"displayName": "Arboretum",
"description": "Pilot your git worktrees and Claude Code sessions from VS Code: native terminals, live tree, waiting alerts.",
"version": "0.3.0",
"private": true,
"publisher": "johanleroy",
"license": "MIT",
"engines": {
"vscode": "^1.85.0"
},
"repository": {
"type": "git",
"url": "https://git.lidge.fr/johanleroy/arboretum"
},
"categories": [
"SCM Providers",
"Other"
],
"keywords": [
"git",
"worktree",
"claude",
"terminal",
"arboretum"
],
"main": "./dist/extension.js",
"activationEvents": [
"onStartupFinished"
],
"contributes": {
"configuration": {
"title": "Arboretum",
"properties": {
"arboretum.url": {
"type": "string",
"default": "http://127.0.0.1:7317",
"markdownDescription": "Base URL of the Arboretum daemon (REST + WebSocket). Defaults to the loopback bind."
},
"arboretum.showExternalSessions": {
"type": "boolean",
"default": false,
"markdownDescription": "Show Claude sessions discovered outside Arboretum (started from the CLI) in the trees. Off by default to avoid clutter."
},
"arboretum.showArchivedSessions": {
"type": "boolean",
"default": false,
"markdownDescription": "Show finished sessions that Arboretum auto-archived after their retention window. Off by default to keep the trees focused on live work."
},
"arboretum.notifyOnWaiting": {
"type": "boolean",
"default": true,
"markdownDescription": "Show a native notification when a Claude session starts waiting for input."
}
}
},
"viewsContainers": {
"activitybar": [
{
"id": "arboretum",
"title": "Arboretum",
"icon": "media/arboretum.svg"
}
]
},
"views": {
"arboretum": [
{
"id": "arboretum.repos",
"name": "Repositories",
"icon": "media/arboretum.svg"
},
{
"id": "arboretum.groups",
"name": "Groups",
"icon": "media/arboretum.svg"
}
]
},
"viewsWelcome": [
{
"view": "arboretum.repos",
"contents": "Not connected to an Arboretum daemon.\n[Sign in](command:arboretum.signIn)\n\nMake sure the daemon is running (`npx @johanleroy/git-arboretum`) and paste a token.",
"when": "!arboretum.connected"
}
],
"commands": [
{
"command": "arboretum.signIn",
"title": "Sign In",
"category": "Arboretum"
},
{
"command": "arboretum.signOut",
"title": "Sign Out",
"category": "Arboretum"
},
{
"command": "arboretum.refresh",
"title": "Refresh",
"category": "Arboretum",
"icon": "$(refresh)"
},
{
"command": "arboretum.openDashboard",
"title": "Open Dashboard in Browser",
"category": "Arboretum",
"icon": "$(globe)"
},
{
"command": "arboretum.attachSession",
"title": "Attach Terminal",
"category": "Arboretum",
"icon": "$(terminal)"
},
{
"command": "arboretum.observeSession",
"title": "Observe Terminal (read-only)",
"category": "Arboretum",
"icon": "$(eye)"
},
{
"command": "arboretum.answerSession",
"title": "Answer Prompt…",
"category": "Arboretum",
"icon": "$(comment-discussion)"
},
{
"command": "arboretum.killSession",
"title": "Kill Session",
"category": "Arboretum",
"icon": "$(trash)"
},
{
"command": "arboretum.hideSession",
"title": "Hide Session",
"category": "Arboretum",
"icon": "$(eye-closed)"
},
{
"command": "arboretum.resumeSession",
"title": "Resume Session",
"category": "Arboretum",
"icon": "$(debug-restart)"
},
{
"command": "arboretum.forkSession",
"title": "Fork Session",
"category": "Arboretum",
"icon": "$(git-branch)"
},
{
"command": "arboretum.createWorktree",
"title": "Create Worktree…",
"category": "Arboretum",
"icon": "$(add)"
},
{
"command": "arboretum.commitWorktree",
"title": "Commit…",
"category": "Arboretum",
"icon": "$(git-commit)"
},
{
"command": "arboretum.pushWorktree",
"title": "Push",
"category": "Arboretum",
"icon": "$(repo-push)"
},
{
"command": "arboretum.fetchWorktree",
"title": "Fetch",
"category": "Arboretum",
"icon": "$(cloud-download)"
},
{
"command": "arboretum.pullWorktree",
"title": "Pull…",
"category": "Arboretum",
"icon": "$(arrow-down)"
},
{
"command": "arboretum.promoteWorktree",
"title": "Promote to Main",
"category": "Arboretum",
"icon": "$(arrow-up)"
},
{
"command": "arboretum.openWorktreeIde",
"title": "Open Worktree IDE",
"category": "Arboretum",
"icon": "$(link-external)"
},
{
"command": "arboretum.startSession",
"title": "Start Claude Session",
"category": "Arboretum",
"icon": "$(play)"
},
{
"command": "arboretum.startGroupSession",
"title": "Start Group Session…",
"category": "Arboretum",
"icon": "$(play)"
},
{
"command": "arboretum.startSessionHere",
"title": "Start Session in Current Folder",
"category": "Arboretum"
},
{
"command": "arboretum.createWorktreeHere",
"title": "Create Worktree for Current Folder…",
"category": "Arboretum"
},
{
"command": "arboretum.revealWorktree",
"title": "Reveal Worktree for Current Folder",
"category": "Arboretum"
}
],
"menus": {
"view/title": [
{
"command": "arboretum.refresh",
"when": "view == arboretum.repos || view == arboretum.groups",
"group": "navigation"
},
{
"command": "arboretum.openDashboard",
"when": "view == arboretum.repos",
"group": "navigation"
},
{
"command": "arboretum.signOut",
"when": "view == arboretum.repos && arboretum.connected",
"group": "1_auth"
},
{
"command": "arboretum.signIn",
"when": "view == arboretum.repos && !arboretum.connected",
"group": "1_auth"
}
],
"view/item/context": [
{
"command": "arboretum.createWorktree",
"when": "viewItem == arboretum:repo",
"group": "inline"
},
{
"command": "arboretum.startSession",
"when": "viewItem == arboretum:repo",
"group": "1_session"
},
{
"command": "arboretum.openWorktreeIde",
"when": "viewItem == arboretum:worktree",
"group": "inline"
},
{
"command": "arboretum.commitWorktree",
"when": "viewItem == arboretum:worktree",
"group": "1_git"
},
{
"command": "arboretum.pushWorktree",
"when": "viewItem == arboretum:worktree",
"group": "1_git"
},
{
"command": "arboretum.fetchWorktree",
"when": "viewItem == arboretum:worktree",
"group": "1_git"
},
{
"command": "arboretum.pullWorktree",
"when": "viewItem == arboretum:worktree",
"group": "1_git"
},
{
"command": "arboretum.promoteWorktree",
"when": "viewItem == arboretum:worktree",
"group": "2_git"
},
{
"command": "arboretum.openWorktreeIde",
"when": "viewItem == arboretum:worktree",
"group": "2_git"
},
{
"command": "arboretum.startSession",
"when": "viewItem == arboretum:worktree",
"group": "3_session"
},
{
"command": "arboretum.attachSession",
"when": "viewItem =~ /arboretum:session:live/",
"group": "inline"
},
{
"command": "arboretum.observeSession",
"when": "viewItem =~ /arboretum:session:live/",
"group": "1_term"
},
{
"command": "arboretum.answerSession",
"when": "viewItem =~ /arboretum:session:live:.*waiting/",
"group": "1_term"
},
{
"command": "arboretum.killSession",
"when": "viewItem =~ /arboretum:session:live/",
"group": "9_danger"
},
{
"command": "arboretum.resumeSession",
"when": "viewItem =~ /arboretum:session:dead/",
"group": "inline"
},
{
"command": "arboretum.forkSession",
"when": "viewItem =~ /arboretum:session/",
"group": "2_term"
},
{
"command": "arboretum.hideSession",
"when": "viewItem =~ /arboretum:session:.*discovered/",
"group": "9_danger"
},
{
"command": "arboretum.startGroupSession",
"when": "viewItem == arboretum:group",
"group": "inline"
}
],
"commandPalette": [
{
"command": "arboretum.refresh",
"when": "arboretum.connected"
},
{
"command": "arboretum.signOut",
"when": "arboretum.connected"
},
{
"command": "arboretum.attachSession",
"when": "false"
},
{
"command": "arboretum.observeSession",
"when": "false"
},
{
"command": "arboretum.answerSession",
"when": "false"
},
{
"command": "arboretum.killSession",
"when": "false"
},
{
"command": "arboretum.hideSession",
"when": "false"
},
{
"command": "arboretum.resumeSession",
"when": "false"
},
{
"command": "arboretum.forkSession",
"when": "false"
},
{
"command": "arboretum.createWorktree",
"when": "false"
},
{
"command": "arboretum.commitWorktree",
"when": "false"
},
{
"command": "arboretum.pushWorktree",
"when": "false"
},
{
"command": "arboretum.fetchWorktree",
"when": "false"
},
{
"command": "arboretum.pullWorktree",
"when": "false"
},
{
"command": "arboretum.promoteWorktree",
"when": "false"
},
{
"command": "arboretum.openWorktreeIde",
"when": "false"
},
{
"command": "arboretum.startSession",
"when": "false"
},
{
"command": "arboretum.startGroupSession",
"when": "false"
},
{
"command": "arboretum.revealWorktree",
"when": "false"
}
]
}
},
"scripts": {
"typecheck": "tsc -p . --noEmit",
"build": "npm run typecheck && node esbuild.mjs",
"dev": "node esbuild.mjs --watch",
"vscode:prepublish": "node esbuild.mjs",
"package": "vsce package --no-dependencies"
},
"devDependencies": {
"@arboretum/shared": "0.1.0",
"@types/node": "^22.10.0",
"@types/vscode": "^1.85.0",
"@types/ws": "^8.5.0",
"@vscode/vsce": "^3.2.0",
"esbuild": "^0.21.0",
"typescript": "^5.7.0",
"ws": "^8.18.0"
}
}