1 # siGit Code: on-device AI coding agent
2
3 [![VS Code Marketplace](https://vsmarketplacebadges.dev/version-short/getsigit.sigit-code.svg)](https://marketplace.visualstudio.com/items?itemName=getsigit.sigit-code)
4 [![Open VSX](https://img.shields.io/open-vsx/v/getsigit/sigit-code)](https://open-vsx.org/extension/getsigit/sigit-code)
5
6 Your code never has to leave your machine. siGit Code is a local-first AI
7 coding agent for VS Code. It runs the on-device [`sigit`](https://github.com/getsigit/sigit)
8 agent, a quantized (GGUF) model that runs entirely on your hardware and works
9 offline, and brings it into the editor as a chat interface.
10
11 The default agent needs no API keys and makes no cloud round-trips. The model
12 lives on your device, and so does your code.
13
14 siGit Code also speaks the open [Agent Client
15 Protocol](https://agentclientprotocol.com) (ACP), so it can drive other
16 ACP-compatible agents over stdio. The on-device agent is still the point.
17
18 siGit Code's home is [code.sigit.si](https://code.sigit.si), where you can also
19 find the hosted version (siGit Code Cloud). [sigit.si](https://sigit.si) is Git
20 hosting built for AI workflows.
21
22 ## Why local-first
23
24 - Your prompts and file contents stay on your machine.
25 - It works offline, including on a plane or behind an air gap.
26 - No per-token billing, so you can run it as much as your hardware allows.
27 - You choose the model and the weights, and they do not change underneath you.
28
29 ACP and multi-agent support are there for when you need a hosted agent. They are
30 not the headline.
31
32 ## Requirements
33
34 - VS Code `^1.90.0`
35 - The `sigit` binary on your `PATH`.
36 Install it from [github.com/getsigit/sigit](https://github.com/getsigit/sigit).
37
38 > siGit Code only *spawns* the `sigit` binary over ACP, so it has no build-time
39 > dependency on the agent. Install the agent separately.
40
41 ## Getting started
42
43 1. Install the `sigit` agent (see [github.com/getsigit/sigit](https://github.com/getsigit/sigit)) and
44 confirm `sigit` runs from your terminal.
45 2. Install this extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=getsigit.sigit-code).
46 3. Click the **siGit Code** icon in the Activity Bar to open the chat view.
47 4. Type a prompt and press **Enter**. The extension spawns the agent, opens a
48 session in your workspace folder, and streams the response.
49
50 Commands (Command Palette):
51
52 | Command | Description |
53 | --- | --- |
54 | `siGit: Open Chat` | Reveal the chat view. |
55 | `siGit: New Session` | Start a fresh session with the active agent. |
56 | `siGit: Select Agent` | Pick an agent from the registry. |
57 | `siGit: Restart Agent` | Restart the active agent process. |
58
59 ## Configuration
60
61 | Setting | Type | Default | Description |
62 | --- | --- | --- | --- |
63 | `sigit.agent.default` | string | `"sigit"` | Key of the agent used by default, looked up in `sigit.agents`. |
64 | `sigit.agents` | object | on-device `sigit` | Registry of ACP agents (`{ name, command, args, env }`). |
65 | `sigit.permission.mode` | enum | `"prompt"` | `prompt`, `allow`, or `deny` for agent-requested actions. |
66
67 ### Add another ACP agent
68
69 The default registry contains only the on-device agent. To add another
70 ACP-compatible agent, extend `sigit.agents` in your `settings.json`:
71
72 ```jsonc
73 {
74 "sigit.agents": {
75 "sigit": {
76 "name": "siGit (on-device)",
77 "command": "sigit",
78 "args": [],
79 "env": {}
80 },
81 "claude-code": {
82 "name": "Claude Code (ACP)",
83 "command": "claude-code-acp",
84 "args": [],
85 "env": {}
86 },
87 "gemini": {
88 "name": "Gemini CLI (ACP)",
89 "command": "gemini",
90 "args": ["--experimental-acp"],
91 "env": {}
92 }
93 },
94 "sigit.agent.default": "sigit"
95 }
96 ```
97
98 Then run **`siGit: Select Agent`** to switch between them.
99
100 ## Development
101
102 This project uses [pnpm](https://pnpm.io).
103
104 ```bash
105 pnpm install
106 pnpm run watch # esbuild in watch mode
107 # Press F5 to launch the Extension Development Host
108 ```
109
110 Other scripts:
111
112 ```bash
113 pnpm run compile # tsc --noEmit type check
114 pnpm run lint # eslint
115 pnpm run build # production bundle (esbuild)
116 pnpm run test:smoke # ACP round-trip against a mock agent
117 pnpm run package # vsce package (.vsix)
118 ```
119
120 ## Releasing
121
122 Publishing is automated by [`.github/workflows/publish.yml`](.github/workflows/publish.yml).
123 It runs the test suite, packages one `.vsix`, and publishes that same file to the
124 VS Code Marketplace (`vsce`) and Open VSX (`ovsx`).
125
126 One-time setup, stored as repository secrets:
127
128 - `VSCE_PAT`: an Azure DevOps personal access token for the `getsigit`
129 Marketplace publisher (Marketplace > Manage scope).
130 - `OVSX_PAT`: an access token for the `getsigit` namespace on
131 [open-vsx.org](https://open-vsx.org). The workflow creates the namespace on
132 first publish if it does not exist.
133
134 To cut a release:
135
136 1. Bump `version` in `package.json` and add a `CHANGELOG.md` entry.
137 2. Push to `main`, then create a GitHub Release whose tag is `v<version>` (for
138 example `v1.0.1`). The workflow checks the tag against `package.json` and
139 fails on a mismatch.
140 3. The release publishes to both registries and attaches the `.vsix` to the
141 GitHub Release.
142
143 To test packaging without publishing, run the workflow manually from the Actions
144 tab with **publish** left unchecked. It uploads the `.vsix` as a build artifact.
145
146 ## License
147
148 [MIT](./LICENSE) © 2026 siGit Code & Deploy
149
150 ## Copyright
151
152 © 2026 [Splitfire AB](https://5mb.app) ([siGit Code & Deploy](https://sigit.si)).