Add a Claude Code-like chat experience to the VS Code extension with: - Streaming chat panel (sidebar + editor tab) with markdown rendering - Tool use visualization with inline diffs (replace/with display) - Session history browser with JSONL transcript parsing - Thinking block indicator with elapsed time and token count - Clickable file paths that open in the editor - Permission mode setting (acceptEdits default) - Multi-turn conversation support via NDJSON stream-json protocol - Status bar with live activity indicators - Ctrl+Shift+L keybinding to open chat panel Made-with: Cursor Co-authored-by: henriquepasquini2 <henriquepasquini2@users.noreply.github.com>
180 lines
4.9 KiB
JSON
180 lines
4.9 KiB
JSON
{
|
|
"name": "openclaude-vscode",
|
|
"displayName": "OpenClaude",
|
|
"description": "Practical VS Code companion for OpenClaude with project-aware launch behavior and a real Control Center.",
|
|
"version": "0.2.0",
|
|
"publisher": "devnull-bootloader",
|
|
"engines": {
|
|
"vscode": "^1.95.0"
|
|
},
|
|
"categories": [
|
|
"Themes",
|
|
"Other"
|
|
],
|
|
"activationEvents": [
|
|
"onStartupFinished",
|
|
"onCommand:openclaude.start",
|
|
"onCommand:openclaude.startInWorkspaceRoot",
|
|
"onCommand:openclaude.openDocs",
|
|
"onCommand:openclaude.openSetupDocs",
|
|
"onCommand:openclaude.openWorkspaceProfile",
|
|
"onCommand:openclaude.openControlCenter",
|
|
"onCommand:openclaude.newChat",
|
|
"onCommand:openclaude.openChat",
|
|
"onCommand:openclaude.resumeSession",
|
|
"onCommand:openclaude.abortChat",
|
|
"onView:openclaude.controlCenter",
|
|
"onView:openclaude.chat"
|
|
],
|
|
"main": "./src/extension.js",
|
|
"files": [
|
|
"README.md",
|
|
"media/**",
|
|
"src/extension.js",
|
|
"src/presentation.js",
|
|
"src/state.js",
|
|
"src/chat/**",
|
|
"themes/**"
|
|
],
|
|
"contributes": {
|
|
"commands": [
|
|
{
|
|
"command": "openclaude.start",
|
|
"title": "OpenClaude: Launch in Terminal",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.startInWorkspaceRoot",
|
|
"title": "OpenClaude: Launch in Workspace Root",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.openDocs",
|
|
"title": "OpenClaude: Open Repository",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.openSetupDocs",
|
|
"title": "OpenClaude: Open Setup Guide",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.openWorkspaceProfile",
|
|
"title": "OpenClaude: Open Workspace Profile",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.openControlCenter",
|
|
"title": "OpenClaude: Open Control Center",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.newChat",
|
|
"title": "OpenClaude: New Chat",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.openChat",
|
|
"title": "OpenClaude: Open Chat Panel",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.resumeSession",
|
|
"title": "OpenClaude: Resume Session",
|
|
"category": "OpenClaude"
|
|
},
|
|
{
|
|
"command": "openclaude.abortChat",
|
|
"title": "OpenClaude: Abort Generation",
|
|
"category": "OpenClaude"
|
|
}
|
|
],
|
|
"viewsContainers": {
|
|
"activitybar": [
|
|
{
|
|
"id": "openclaude",
|
|
"title": "OpenClaude",
|
|
"icon": "media/openclaude.svg"
|
|
}
|
|
]
|
|
},
|
|
"views": {
|
|
"openclaude": [
|
|
{
|
|
"id": "openclaude.chat",
|
|
"name": "Chat",
|
|
"type": "webview"
|
|
},
|
|
{
|
|
"id": "openclaude.controlCenter",
|
|
"name": "Control Center",
|
|
"type": "webview"
|
|
}
|
|
]
|
|
},
|
|
"keybindings": [
|
|
{
|
|
"command": "openclaude.openChat",
|
|
"key": "ctrl+shift+l",
|
|
"mac": "cmd+shift+l"
|
|
}
|
|
],
|
|
"configuration": {
|
|
"title": "OpenClaude",
|
|
"properties": {
|
|
"openclaude.launchCommand": {
|
|
"type": "string",
|
|
"default": "openclaude",
|
|
"description": "Command run in the integrated terminal when launching OpenClaude."
|
|
},
|
|
"openclaude.terminalName": {
|
|
"type": "string",
|
|
"default": "OpenClaude",
|
|
"description": "Integrated terminal tab name for OpenClaude sessions."
|
|
},
|
|
"openclaude.useOpenAIShim": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Optionally set CLAUDE_CODE_USE_OPENAI=1 in launched OpenClaude terminals."
|
|
},
|
|
"openclaude.permissionMode": {
|
|
"type": "string",
|
|
"default": "acceptEdits",
|
|
"enum": ["default", "acceptEdits", "bypassPermissions", "plan"],
|
|
"enumDescriptions": [
|
|
"Prompt for permission on each tool use (requires manual approval)",
|
|
"Auto-approve file edits, prompt for other operations (recommended)",
|
|
"Auto-approve all operations without prompting",
|
|
"Read-only mode — no file modifications allowed"
|
|
],
|
|
"description": "Permission mode for chat sessions. Controls which tool operations are auto-approved."
|
|
}
|
|
}
|
|
},
|
|
"themes": [
|
|
{
|
|
"label": "OpenClaude Terminal Black",
|
|
"uiTheme": "vs-dark",
|
|
"path": "./themes/OpenClaude-Terminal-Black.json"
|
|
}
|
|
]
|
|
},
|
|
"scripts": {
|
|
"test": "node --test ./src/*.test.js",
|
|
"lint": "node scripts/lint.js",
|
|
"package": "npx @vscode/vsce package --no-dependencies"
|
|
},
|
|
"keywords": [
|
|
"openclaude",
|
|
"terminal",
|
|
"theme",
|
|
"cli",
|
|
"llm"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/Gitlawb/openclaude"
|
|
},
|
|
"license": "MIT"
|
|
}
|