Files

179 lines
7.3 KiB
JSON

{
"identifier": "unsupervised.claudenova",
"name": "Claude",
"organization": "Unsupervised",
"description": "Launch and resume Claude Code sessions for your project, and keep track of them from Nova's sidebar.",
"version": "1.0",
"min_runtime": "10",
"categories": ["sidebars", "commands"],
"license": "MIT",
"repository": "https://git.unsupervised.studio/Unsupervised/claude-nova",
"bugs": "https://git.unsupervised.studio/Unsupervised/claude-nova/issues",
"main": "main.js",
"entitlements": {
"process": true,
"filesystem": "readwrite",
"clipboard": true
},
"commands": {
"extensions": [
{"title": "New Session…", "command": "claudenova.newSession", "shortcut": "cmd-shift-l"},
{"title": "Resume Session…", "command": "claudenova.resumeSession"},
{"title": "Refresh Sessions", "command": "claudenova.refreshSessions"},
{"separator": true},
{"title": "Set Model…", "command": "claudenova.setModel"},
{"title": "Set Permission Mode…", "command": "claudenova.setPermissionMode"},
{"separator": true},
{"title": "Sign In…", "command": "claudenova.signIn"},
{"title": "Sign Out", "command": "claudenova.signOut"},
{"title": "Show Account Status", "command": "claudenova.authStatus"},
{"title": "Set API Key…", "command": "claudenova.setApiKey"},
{"title": "Clear Stored API Key", "command": "claudenova.clearApiKey"}
],
"editor": [
{"title": "Copy File Reference for Claude", "command": "claudenova.copyFileReference"}
]
},
"config": [
{
"key": "claudenova.binaryPath",
"title": "Claude Code executable",
"description": "Path to the `claude` executable. Leave blank to search PATH and the standard install locations.",
"type": "path",
"placeholder": "claude"
},
{
"key": "claudenova.model",
"title": "Model",
"description": "Passed as --model to sessions this extension launches.",
"type": "enum",
"values": [
["", "Claude Code default"],
["opus", "Opus"],
["sonnet", "Sonnet"],
["haiku", "Haiku"],
["fable", "Fable"]
],
"default": ""
},
{
"key": "claudenova.effort",
"title": "Effort",
"description": "Passed as --effort to sessions this extension launches.",
"type": "enum",
"values": [
["", "Claude Code default"],
["low", "Low"],
["medium", "Medium"],
["high", "High"],
["xhigh", "Extra High"],
["max", "Max"]
],
"default": ""
},
{
"key": "claudenova.permissionMode",
"title": "Permission mode",
"description": "Passed as --permission-mode to sessions this extension launches.",
"type": "enum",
"values": [
["", "Claude Code default"],
["manual", "Manual — ask before each tool"],
["acceptEdits", "Accept Edits — auto-approve file edits"],
["plan", "Plan — research only, no changes"],
["auto", "Auto — Claude decides what needs asking"],
["bypassPermissions", "Bypass — approve everything (dangerous)"]
],
"default": ""
},
{
"key": "claudenova.extraArgs",
"title": "Additional CLI arguments",
"description": "Appended to the launch command. For advanced use.",
"type": "string",
"placeholder": "--add-dir ../shared"
}
],
"configWorkspace": [
{
"key": "claudenova.model",
"title": "Model",
"type": "enum",
"values": [
["", "Inherit from global settings"],
["opus", "Opus"],
["sonnet", "Sonnet"],
["haiku", "Haiku"],
["fable", "Fable"]
],
"default": ""
},
{
"key": "claudenova.permissionMode",
"title": "Permission mode",
"type": "enum",
"values": [
["", "Inherit from global settings"],
["manual", "Manual — ask before each tool"],
["acceptEdits", "Accept Edits — auto-approve file edits"],
["plan", "Plan — research only, no changes"],
["auto", "Auto — Claude decides what needs asking"],
["bypassPermissions", "Bypass — approve everything (dangerous)"]
],
"default": ""
}
],
"sidebars": [
{
"id": "claude",
"name": "Claude",
"smallImage": "claude-small",
"largeImage": "claude-large",
"sections": [
{
"id": "claude.status",
"name": "Claude",
"allowMultiple": false,
"placeholderText": "Checking Claude Code…",
"placeholderImage": "claude-placeholder",
"headerCommands": [
{"title": "New Session", "image": "__builtin.add", "tooltip": "Copy a command to start a session", "command": "claudenova.newSession"},
{"title": "Refresh", "image": "__builtin.refresh", "tooltip": "Refresh account status", "command": "claudenova.refreshStatus"}
],
"contextCommands": [
{"title": "Set Model…", "command": "claudenova.setModel"},
{"title": "Set Permission Mode…", "command": "claudenova.setPermissionMode"},
{"separator": true},
{"title": "Sign In…", "command": "claudenova.signIn"},
{"title": "Show Account Status", "command": "claudenova.authStatus"}
]
},
{
"id": "claude.sessions",
"name": "Sessions",
"allowMultiple": false,
"placeholderText": "No sessions yet.\nStart one to see it here.",
"placeholderImage": "claude-placeholder",
"headerCommands": [
{"title": "New Session", "image": "__builtin.add", "tooltip": "Copy a command to start a session", "command": "claudenova.newSession"},
{"title": "Refresh", "image": "__builtin.refresh", "tooltip": "Rescan this project's sessions", "command": "claudenova.refreshSessions"}
],
"contextCommands": [
{"title": "Choose", "command": "claudenova.sessionAction", "when": "viewItem == 'session-action'"},
{"title": "Copy Resume Command", "command": "claudenova.copyResume", "when": "viewItem == 'session'"},
{"separator": true},
{"title": "Refresh Sessions", "command": "claudenova.refreshSessions"}
]
}
]
}
]
}