Raw
1 {
2 "name": "sigit-code",
3 "displayName": "siGit Code — On-device AI Coding Agent",
4 "description": "Local-first AI coding agent for VS Code. Runs the on-device sigit agent, and other ACP-compatible agents, over stdio.",
5 "version": "1.0.1",
6 "publisher": "getsigit",
7 "license": "MIT",
8 "packageManager": "pnpm@10.33.0",
9 "homepage": "https://code.sigit.si",
10 "icon": "media/icon.png",
11 "repository": {
12 "type": "git",
13 "url": "https://github.com/getsigit/sigit-vscode"
14 },
15 "bugs": {
16 "url": "https://github.com/getsigit/sigit-vscode/issues"
17 },
18 "engines": {
19 "vscode": "^1.90.0"
20 },
21 "categories": [
22 "AI",
23 "Chat",
24 "Programming Languages",
25 "Other"
26 ],
27 "keywords": [
28 "acp",
29 "agent client protocol",
30 "ai",
31 "coding agent",
32 "local llm",
33 "on-device",
34 "gguf",
35 "offline",
36 "claude code",
37 "gemini",
38 "copilot alternative"
39 ],
40 "main": "./dist/extension.js",
41 "activationEvents": [],
42 "capabilities": {
43 "untrustedWorkspaces": {
44 "supported": false,
45 "description": "siGit spawns agent processes that can read and modify workspace files, so it requires a trusted workspace."
46 },
47 "virtualWorkspaces": {
48 "supported": false,
49 "description": "siGit spawns local agent processes and needs a local file system."
50 }
51 },
52 "contributes": {
53 "commands": [
54 {
55 "command": "sigit.openChat",
56 "title": "siGit: Open Chat",
57 "category": "siGit",
58 "icon": "$(comment-discussion)"
59 },
60 {
61 "command": "sigit.newSession",
62 "title": "siGit: New Session",
63 "category": "siGit",
64 "icon": "$(add)"
65 },
66 {
67 "command": "sigit.selectAgent",
68 "title": "siGit: Select Agent",
69 "category": "siGit",
70 "icon": "$(server-process)"
71 },
72 {
73 "command": "sigit.restartAgent",
74 "title": "siGit: Restart Agent",
75 "category": "siGit",
76 "icon": "$(debug-restart)"
77 },
78 {
79 "command": "sigit.browseRegistry",
80 "title": "siGit: Browse Agent Registry",
81 "category": "siGit",
82 "icon": "$(cloud-download)"
83 },
84 {
85 "command": "sigit.refreshRegistry",
86 "title": "siGit: Refresh Agent Registry",
87 "category": "siGit",
88 "icon": "$(refresh)"
89 },
90 {
91 "command": "sigit.removeAgent",
92 "title": "siGit: Remove Agent",
93 "category": "siGit",
94 "icon": "$(trash)"
95 }
96 ],
97 "menus": {
98 "view/title": [
99 {
100 "command": "sigit.newSession",
101 "when": "view == sigit.chat",
102 "group": "navigation@1"
103 },
104 {
105 "command": "sigit.selectAgent",
106 "when": "view == sigit.chat",
107 "group": "navigation@2"
108 },
109 {
110 "command": "sigit.browseRegistry",
111 "when": "view == sigit.chat",
112 "group": "1_agents@1"
113 },
114 {
115 "command": "sigit.refreshRegistry",
116 "when": "view == sigit.chat",
117 "group": "1_agents@2"
118 },
119 {
120 "command": "sigit.removeAgent",
121 "when": "view == sigit.chat",
122 "group": "1_agents@3"
123 },
124 {
125 "command": "sigit.restartAgent",
126 "when": "view == sigit.chat",
127 "group": "2_session@1"
128 }
129 ]
130 },
131 "viewsContainers": {
132 "activitybar": [
133 {
134 "id": "sigit",
135 "title": "siGit Code",
136 "icon": "media/activity-icon.svg"
137 }
138 ]
139 },
140 "views": {
141 "sigit": [
142 {
143 "type": "webview",
144 "id": "sigit.chat",
145 "name": "Chat"
146 }
147 ]
148 },
149 "configuration": {
150 "title": "siGit Code",
151 "properties": {
152 "sigit.agent.default": {
153 "type": "string",
154 "scope": "machine",
155 "default": "sigit",
156 "markdownDescription": "Key of the agent to use by default, looked up in `#sigit.agents#`. Defaults to the on-device `sigit` binary."
157 },
158 "sigit.registry.url": {
159 "type": "string",
160 "scope": "machine",
161 "default": "https://cdn.agentclientprotocol.com/registry/v1/latest/registry.json",
162 "markdownDescription": "URL of the [Agent Client Protocol registry](https://github.com/agentclientprotocol/registry) catalog used by **siGit: Browse Agent Registry**. Installing an agent only registers a launch command in `#sigit.agents#` (via `npx`/`uvx`, or a binary you place on your PATH); siGit never downloads or runs agent binaries on your behalf."
163 },
164 "sigit.agents": {
165 "type": "object",
166 "scope": "machine",
167 "markdownDescription": "Registry of ACP agents that siGit Code can spawn. Each entry maps a key to an agent definition. The on-device `sigit` agent is the local-first default; add other ACP-compatible agents here.",
168 "default": {
169 "sigit": {
170 "name": "siGit (on-device)",
171 "command": "sigit",
172 "args": [],
173 "env": {}
174 }
175 },
176 "additionalProperties": {
177 "type": "object",
178 "properties": {
179 "name": {
180 "type": "string",
181 "description": "Human-readable display name."
182 },
183 "command": {
184 "type": "string",
185 "description": "Executable to spawn (on PATH or an absolute path)."
186 },
187 "args": {
188 "type": "array",
189 "items": {
190 "type": "string"
191 },
192 "description": "Arguments passed to the agent binary."
193 },
194 "env": {
195 "type": "object",
196 "additionalProperties": {
197 "type": "string"
198 },
199 "description": "Extra environment variables for the agent process."
200 }
201 },
202 "required": [
203 "command"
204 ]
205 }
206 },
207 "sigit.permission.mode": {
208 "type": "string",
209 "scope": "machine",
210 "enum": [
211 "prompt",
212 "allow",
213 "deny"
214 ],
215 "enumDescriptions": [
216 "Ask before every agent-requested action.",
217 "Automatically allow agent-requested actions.",
218 "Automatically deny agent-requested actions."
219 ],
220 "default": "prompt",
221 "description": "How to handle permission requests from the agent (file writes, tool calls, etc.)."
222 }
223 }
224 }
225 },
226 "scripts": {
227 "vscode:prepublish": "npm run build",
228 "build": "node esbuild.js --production",
229 "watch": "node esbuild.js --watch",
230 "compile": "tsc --noEmit",
231 "lint": "eslint src --ext ts",
232 "test:smoke": "node test/smoke.mjs",
233 "test:webview": "node test/webview.mjs",
234 "test:registry": "node test/registry.mjs",
235 "test": "node test/smoke.mjs && node test/webview.mjs && node test/registry.mjs",
236 "package": "vsce package"
237 },
238 "devDependencies": {
239 "@types/node": "^20.11.0",
240 "@types/vscode": "^1.90.0",
241 "@typescript-eslint/eslint-plugin": "^7.0.0",
242 "@typescript-eslint/parser": "^7.0.0",
243 "@vscode/vsce": "^3.9.2",
244 "esbuild": "^0.20.0",
245 "eslint": "^8.57.0",
246 "ovsx": "^1.0.2",
247 "typescript": "^5.4.0"
248 }
249 }