First version
This commit is contained in:
+240
-3
@@ -1,8 +1,245 @@
|
||||
{
|
||||
"identifier": "unsupervised.claudenova",
|
||||
"name": "claude-nova",
|
||||
"name": "Claude",
|
||||
"organization": "Unsupervised",
|
||||
"description": "Lorem ipsum, dolor sit amet.",
|
||||
"description": "Claude Code in Nova — a chat sidebar, a live transcript, and tool approvals you review in the editor.",
|
||||
"version": "1.0",
|
||||
"categories": []
|
||||
"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": "Ask Claude…", "command": "claudenova.ask", "shortcut": "cmd-shift-l"},
|
||||
{"title": "Plan with Claude…", "command": "claudenova.plan", "shortcut": "cmd-shift-p"},
|
||||
{"title": "Add Files to Context…", "command": "claudenova.addFiles"},
|
||||
{"title": "Show Transcript", "command": "claudenova.showTranscript"},
|
||||
{"separator": true},
|
||||
{"title": "New Session", "command": "claudenova.newSession"},
|
||||
{"title": "Resume Session…", "command": "claudenova.resumeSession"},
|
||||
{"title": "Stop Claude", "command": "claudenova.interrupt"},
|
||||
{"title": "End Session", "command": "claudenova.endSession"},
|
||||
{"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": "Ask Claude About Selection…", "command": "claudenova.askAboutSelection", "shortcut": "cmd-ctrl-l"},
|
||||
{"title": "Add File to Claude's Context", "command": "claudenova.addFileContext"}
|
||||
]
|
||||
},
|
||||
|
||||
"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": "Model alias passed to Claude Code. “Default” uses whatever your Claude Code settings specify.",
|
||||
"type": "enum",
|
||||
"values": [
|
||||
["", "Default"],
|
||||
["opus", "Opus"],
|
||||
["sonnet", "Sonnet"],
|
||||
["haiku", "Haiku"],
|
||||
["fable", "Fable"]
|
||||
],
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "claudenova.effort",
|
||||
"title": "Effort",
|
||||
"description": "How much thinking and exploration Claude does per turn.",
|
||||
"type": "enum",
|
||||
"values": [
|
||||
["", "Default"],
|
||||
["low", "Low"],
|
||||
["medium", "Medium"],
|
||||
["high", "High"],
|
||||
["xhigh", "Extra High"],
|
||||
["max", "Max"]
|
||||
],
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "claudenova.permissionMode",
|
||||
"title": "Permission mode",
|
||||
"description": "How tool use is approved. “Manual” asks you before every tool that needs permission.",
|
||||
"type": "enum",
|
||||
"values": [
|
||||
["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": "manual"
|
||||
},
|
||||
{
|
||||
"key": "claudenova.reviewEdits",
|
||||
"title": "Reviewing file changes",
|
||||
"description": "How Claude's edits are presented when they need approval.",
|
||||
"type": "enum",
|
||||
"values": [
|
||||
["editor", "Open the proposed file — save to apply, close to reject"],
|
||||
["panel", "Ask in a panel, with the diff on request"]
|
||||
],
|
||||
"default": "editor"
|
||||
},
|
||||
{
|
||||
"key": "claudenova.openTranscript",
|
||||
"title": "Open the transcript automatically",
|
||||
"description": "Open the transcript tab when a session starts.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"key": "claudenova.streamPartial",
|
||||
"title": "Stream text as it is generated",
|
||||
"description": "Show Claude's reply token by token instead of message by message.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"key": "claudenova.showThinking",
|
||||
"title": "Show thinking in the transcript",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"key": "claudenova.includeSelection",
|
||||
"title": "Include the editor selection with prompts",
|
||||
"description": "When text is selected, send the file, line range, and selected text along with your question.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"key": "claudenova.extraArgs",
|
||||
"title": "Additional CLI arguments",
|
||||
"description": "Space-separated arguments appended to the `claude` command line. 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.session",
|
||||
"name": "Session",
|
||||
"allowMultiple": false,
|
||||
"placeholderText": "No session yet.\nPress New Session to start one.",
|
||||
"placeholderImage": "claude-placeholder",
|
||||
"headerCommands": [
|
||||
{"title": "Ask Claude", "image": "__builtin.action", "tooltip": "Ask Claude…", "command": "claudenova.ask"},
|
||||
{"title": "New Session", "image": "__builtin.add", "tooltip": "Start a new 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": "Stop Claude", "command": "claudenova.interrupt"},
|
||||
{"title": "End Session", "command": "claudenova.endSession"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "claude.approvals",
|
||||
"name": "Needs Approval",
|
||||
"allowMultiple": false,
|
||||
"placeholderText": "Nothing waiting on you.",
|
||||
"placeholderImage": "claude-placeholder",
|
||||
"contextCommands": [
|
||||
{"title": "Choose", "command": "claudenova.approvalAction", "when": "viewItem == 'approval-action'"},
|
||||
{"title": "Review…", "command": "claudenova.reviewApproval", "when": "viewItem == 'approval'"},
|
||||
{"title": "Allow", "command": "claudenova.allowApproval", "when": "viewItem == 'approval'"},
|
||||
{"title": "Allow for This Session", "command": "claudenova.allowApprovalAlways", "when": "viewItem == 'approval'"},
|
||||
{"title": "Deny", "command": "claudenova.denyApproval", "when": "viewItem == 'approval'"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "claude.activity",
|
||||
"name": "Activity",
|
||||
"allowMultiple": false,
|
||||
"placeholderText": "Claude's tool use shows up here.",
|
||||
"headerCommands": [
|
||||
{"title": "Show Transcript", "image": "__builtin.path", "tooltip": "Show the transcript", "command": "claudenova.showTranscript"}
|
||||
],
|
||||
"contextCommands": [
|
||||
{"title": "Open File", "command": "claudenova.openActivityFile", "when": "viewItem == 'activity-file'"},
|
||||
{"title": "Copy Details", "command": "claudenova.copyActivity"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "claude.changes",
|
||||
"name": "Changed Files",
|
||||
"allowMultiple": true,
|
||||
"placeholderText": "Files Claude edits appear here.",
|
||||
"contextCommands": [
|
||||
{"title": "Open File", "command": "claudenova.openChangedFile"},
|
||||
{"title": "Show Change…", "command": "claudenova.showChangeDiff"},
|
||||
{"separator": true},
|
||||
{"title": "Clear List", "command": "claudenova.clearChanges"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user