feature/acp-cancel-request
claude/github-issue-40-0au5ua
claude/linked-issue-acp-tui-u4vvpa
claude/minor-release-cut-vkugow
claude/sigit-acp-local-chat-cx6380
claude/sigit-cloud-agent-expansion-reox0a
claude/tool-permission-system
claude/zen-feynman-0u78dk
development
feature/acp-cancel-request
feature/acp-session-list-cursor
feature/acp-v1-conformance
feature/agent-tools-multiedit-glob-todos-remember
feature/cargo-workspace
feature/hooks
feature/load-local-model-explicitly
feature/sigit-agent-profile
feature/sigit-code-cloud
feature/xcode-mcp-server
fix/acp-replay-loaded-session-history
fix/acp-replay-reasoning-and-attachments
fix/dsml-doubled-bar-markers
main
release/v1.5.10
release/v1.5.6
release/v1.6.1
| 1 | # siGit Code |
| 2 | |
| 3 | <p align="center"> |
| 4 | <a href="https://crates.io/crates/sigit"><img src="https://img.shields.io/crates/v/sigit?style=flat-square&labelColor=17211D&color=235843" alt="Crates.io"></a> |
| 5 | <a href="https://pypi.org/project/sigit-code/"><img src="https://img.shields.io/pypi/v/sigit-code?style=flat-square&labelColor=17211D&color=235843" alt="PyPI"></a> |
| 6 | <a href="https://www.npmjs.com/package/@getsigit/sigit"><img src="https://img.shields.io/npm/v/@getsigit/sigit?style=flat-square&labelColor=17211D&color=235843" alt="npm"></a> |
| 7 | <a href="https://smbcloud.xyz"><img src="https://img.shields.io/badge/smbcloud.xyz-235843?style=flat-square&labelColor=17211D" alt="Website"></a> |
| 8 | <a href="https://github.com/getsigit/sigit/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-235843?style=flat-square&labelColor=17211D" alt="License"></a> |
| 9 | </p> |
| 10 | |
| 11 | siGit Code is the local agent runtime for **siGit Factory**. It runs on your machine by default, |
| 12 | with optional cloud inference and remote automation when you choose them. |
| 13 | |
| 14 | Its home is [code.sigit.si](https://code.sigit.si). You can run it yourself, as below, or use the hosted version (siGit Code Cloud) there if you would rather not run a model locally. [sigit.si](https://sigit.si) is Git hosting built for AI workflows. |
| 15 | |
| 16 | It works in any codebase. In smbCloud repos it is more useful out of the box because it already understands the Rust workspace layout, deploy flows, auth boundaries, and GresIQ. |
| 17 | |
| 18 | You can use it in two ways: |
| 19 | |
| 20 | - **ACP mode:** Zed or another ACP-compatible editor starts it over stdio with the `--acp` argument |
| 21 | - **Terminal mode:** run `sigit` for the interactive chat UI |
| 22 | |
| 23 | Every ACP client must pass `--acp`. It takes no other arguments, and it is what |
| 24 | tells the binary to speak the Agent Client Protocol instead of opening the |
| 25 | terminal UI. |
| 26 | |
| 27 | | Platform | ACP mode | Terminal mode | |
| 28 | |----------|----------|---------------| |
| 29 | | macOS | ✓ | ✓ | |
| 30 | | Linux | ✓ | ✓ | |
| 31 | | Windows | ✓ | not yet | |
| 32 | |
| 33 | ## Install |
| 34 | |
| 35 | ```sh |
| 36 | cargo install sigit |
| 37 | ``` |
| 38 | |
| 39 | | Method | Command | |
| 40 | |--------|---------| |
| 41 | | Homebrew | `brew tap getsigit/tap && brew trust --tap getsigit/tap && brew install sigit` | |
| 42 | | pip | `pip install sigit-code` | |
| 43 | | uv | `uvx --from sigit-code sigit` | |
| 44 | | npm | `npm install -g @getsigit/sigit` | |
| 45 | | NuGet | `dotnet tool install --global SiGit.Code` | |
| 46 | | winget | `winget install smbCloud.siGitCode` | |
| 47 | | Scoop | `scoop bucket add getsigit https://github.com/getsigit/scoop-bucket && scoop install sigit` | |
| 48 | | AUR | `yay -S sigit-bin` | |
| 49 | | Debian/Ubuntu | download the `.deb` from [releases](https://github.com/getsigit/sigit/releases), then `sudo dpkg -i sigit_*.deb` | |
| 50 | | Fedora/RHEL | download the `.rpm` from [releases](https://github.com/getsigit/sigit/releases), then `sudo rpm -i sigit-*.rpm` | |
| 51 | |
| 52 | ## First run |
| 53 | |
| 54 | The first launch downloads a GGUF model from Hugging Face. Expect roughly 1 to 2 GB, depending on the model. After that, loads come from disk and are much faster. |
| 55 | |
| 56 | On macOS, siGit Code shares its model cache with the desktop app through an App Group container. If the desktop app already downloaded the model, the CLI reuses it. |
| 57 | |
| 58 | ## Zed setup |
| 59 | |
| 60 | Add this to `~/.config/zed/settings.json`: |
| 61 | |
| 62 | ```json |
| 63 | { |
| 64 | "agent_servers": { |
| 65 | "siGit Code": { |
| 66 | "type": "custom", |
| 67 | "command": "/absolute/path/to/sigit", |
| 68 | "args": ["--acp"] |
| 69 | } |
| 70 | } |
| 71 | } |
| 72 | ``` |
| 73 | |
| 74 | Use the full absolute path. `~` does not expand here. |
| 75 | |
| 76 | ## Xcode custom agent |
| 77 | |
| 78 | In Xcode, open **Settings > Intelligence > Agents**, add a custom agent, and set: |
| 79 | |
| 80 | - **Executable:** the absolute path to `sigit` |
| 81 | - **Arguments:** `--acp` |
| 82 | |
| 83 | In Xcode the `--acp` mode also loads the selected on-device model on the first |
| 84 | prompt, so you do not need to send `/load` from the Xcode chat. |
| 85 | |
| 86 | To let siGit use Xcode's build, test, and project tools, enable **Allow external |
| 87 | agents to use Xcode tools** in Xcode's Intelligence settings, keep the project |
| 88 | open, and add this to `~/.config/sigit/mcp.toml`: |
| 89 | |
| 90 | ```toml |
| 91 | [[server]] |
| 92 | name = "xcode" |
| 93 | command = "xcrun" |
| 94 | args = ["mcpbridge"] |
| 95 | ``` |
| 96 | |
| 97 | ## VS Code |
| 98 | |
| 99 | ### With siGit Code Extension |
| 100 | |
| 101 | Install from the [Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=getsigit.sigit-code). |
| 102 | |
| 103 | ```jsonc |
| 104 | { |
| 105 | "sigit.agents": { |
| 106 | "sigit": { |
| 107 | "name": "siGit (on-device)", |
| 108 | "command": "sigit", |
| 109 | "args": ["--acp"], |
| 110 | "env": {} |
| 111 | }, |
| 112 | }, |
| 113 | "sigit.agent.default": "sigit" |
| 114 | } |
| 115 | ``` |
| 116 | |
| 117 | ### With ACP Client |
| 118 | |
| 119 | Install [ACP Client](https://marketplace.visualstudio.com/items?itemName=formulahendry.acp-client), then add: |
| 120 | |
| 121 | ```json |
| 122 | { |
| 123 | "acp.agents": { |
| 124 | "siGit Code": { |
| 125 | "command": "sigit", |
| 126 | "args": ["--acp"], |
| 127 | "env": {} |
| 128 | } |
| 129 | } |
| 130 | } |
| 131 | ``` |
| 132 | |
| 133 | ## Terminal mode |
| 134 | |
| 135 | Run `sigit` in a terminal and you get the same model and system prompt as the editor integration, just in a full-screen chat UI. |
| 136 | |
| 137 | Terminal mode currently needs Unix terminal behavior, so it works on macOS and Linux only. |
| 138 | |
| 139 | ## Headless and CI mode |
| 140 | |
| 141 | Use `sigit run` to execute the same agent from scripts, CI, or another siGit Factory client: |
| 142 | |
| 143 | ```sh |
| 144 | sigit run "Review this repository and run the focused tests" --cwd . |
| 145 | ``` |
| 146 | |
| 147 | Every run receives a durable session ID. The ID is printed to stderr in text mode and included |
| 148 | in every event in JSONL mode. Resume the same conversation from a later command—or import it in |
| 149 | an ACP client—by passing that ID: |
| 150 | |
| 151 | ```sh |
| 152 | sigit run "Continue with the next issue" --resume <session-id> |
| 153 | ``` |
| 154 | |
| 155 | For automation, JSONL output provides session, assistant-delta, tool-call, tool-result, result, |
| 156 | and error events on stdout. Logs remain on stderr. |
| 157 | |
| 158 | ```sh |
| 159 | sigit run "Run the checks" --output jsonl --allow-tool run_command |
| 160 | ``` |
| 161 | |
| 162 | Mutating tools still follow siGit's permission policy. Because a headless run cannot answer an |
| 163 | interactive permission prompt, approve only the tools the run needs with repeatable |
| 164 | `--allow-tool` flags. The legacy `sigit -p "<prompt>"` form remains supported. See the |
| 165 | [headless execution reference](docs/headless.md) for the event contract and exit codes. |
| 166 | |
| 167 | ## Telemetry |
| 168 | |
| 169 | siGit Code itself collects no usage analytics. On-device models run on |
| 170 | [Onde Inference](https://ondeinference.com), and Onde can report model timing to its own |
| 171 | dashboard. That reporting only switches on in builds where Onde's credentials were embedded at |
| 172 | compile time. When it is on, siGit Code sends: |
| 173 | |
| 174 | - one event when an on-device model finishes loading: the model's Hugging Face repo ID, its |
| 175 | display name, and how long the load took; |
| 176 | - one event per on-device response: the model ID, a per-process request ID, the response time, |
| 177 | the time to first token when it was measured, and whether it succeeded, errored, or was |
| 178 | cancelled. |
| 179 | |
| 180 | Nothing from your conversation goes with them: no prompts, responses, file paths, or code. |
| 181 | siGit Code doesn't set a machine identifier, so every install reports as the same |
| 182 | `onde-unknown` edge, and it sends no location. Models you run through siGit Code Cloud or your |
| 183 | own endpoint send no Onde events. |
| 184 | |
| 185 | To see whether your build reports, load an on-device model and check the log for |
| 186 | `ChatEngine: pulse telemetry enabled` or `ChatEngine: pulse telemetry disabled`. siGit Code logs |
| 187 | to stderr, which an editor shows in its agent log. Terminal mode writes it to |
| 188 | `$TMPDIR/sigit.log`. |
| 189 | |
| 190 | To turn it off, set `ONDE_DISABLE_PULSE=1` in the environment siGit Code runs in. For an |
| 191 | editor, put it in the agent's `env` block: |
| 192 | |
| 193 | ```json |
| 194 | "env": { "ONDE_DISABLE_PULSE": "1" } |
| 195 | ``` |
| 196 | |
| 197 | ## Platform support |
| 198 | |
| 199 | | Platform | Architecture | |
| 200 | |----------|-------------| |
| 201 | | macOS | arm64, x64 | |
| 202 | | Linux (glibc) | arm64, x64 | |
| 203 | | Windows | arm64, x64 | |
| 204 | |
| 205 | ## License |
| 206 | |
| 207 | [Apache 2.0](https://github.com/getsigit/sigit/blob/main/LICENSE) |
| 208 | |
| 209 | ## Distribution |
| 210 | |
| 211 | [Splitfire AB](https://5mb.app). |
| 212 | |
| 213 | ## Copyright |
| 214 | |
| 215 | © 2026 PT Sigit Mitra Bangun ([siGit Code & Deploy](https://sigit.si)). |