sigit-code 1.0.0__tar.gz → 1.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. sigit_code-1.0.2/CHANGELOG.md +70 -0
  2. {sigit_code-1.0.0 → sigit_code-1.0.2}/Cargo.lock +1 -1
  3. {sigit_code-1.0.0 → sigit_code-1.0.2}/Cargo.toml +1 -1
  4. {sigit_code-1.0.0 → sigit_code-1.0.2}/PKG-INFO +17 -27
  5. sigit_code-1.0.2/README.md +109 -0
  6. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/README.md.tmpl +3 -3
  7. {sigit_code-1.0.0 → sigit_code-1.0.2}/pypi/README.md +16 -26
  8. {sigit_code-1.0.0 → sigit_code-1.0.2}/src/chat.rs +70 -134
  9. {sigit_code-1.0.0 → sigit_code-1.0.2}/src/main.rs +448 -233
  10. {sigit_code-1.0.0 → sigit_code-1.0.2}/src/models.rs +7 -35
  11. {sigit_code-1.0.0 → sigit_code-1.0.2}/src/setup.rs +32 -67
  12. {sigit_code-1.0.0 → sigit_code-1.0.2}/src/tools.rs +8 -88
  13. sigit_code-1.0.0/CHANGELOG.md +0 -70
  14. sigit_code-1.0.0/README.md +0 -111
  15. {sigit_code-1.0.0 → sigit_code-1.0.2}/.agents/AGENTS.md +0 -0
  16. {sigit_code-1.0.0 → sigit_code-1.0.2}/.agents/skills/agent-client-protocol/SKILL.md +0 -0
  17. {sigit_code-1.0.0 → sigit_code-1.0.2}/.agents/skills/ai-assisted-coding/SKILL.md +0 -0
  18. {sigit_code-1.0.0 → sigit_code-1.0.2}/.agents/skills/tool-calling/SKILL.md +0 -0
  19. {sigit_code-1.0.0 → sigit_code-1.0.2}/.github/workflows/ci.yml +0 -0
  20. {sigit_code-1.0.0 → sigit_code-1.0.2}/.github/workflows/release-github.yml +0 -0
  21. {sigit_code-1.0.0 → sigit_code-1.0.2}/.github/workflows/release-homebrew.yml +0 -0
  22. {sigit_code-1.0.0 → sigit_code-1.0.2}/.github/workflows/release-npm.yml +0 -0
  23. {sigit_code-1.0.0 → sigit_code-1.0.2}/.github/workflows/release-pypi.yml +0 -0
  24. {sigit_code-1.0.0 → sigit_code-1.0.2}/.gitignore +0 -0
  25. {sigit_code-1.0.0 → sigit_code-1.0.2}/.nvmrc +0 -0
  26. {sigit_code-1.0.0 → sigit_code-1.0.2}/LICENSE +0 -0
  27. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/package-main.json.tmpl +0 -0
  28. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/package.json.tmpl +0 -0
  29. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/scripts/render-main-package.cjs +0 -0
  30. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/scripts/render-platform-package.cjs +0 -0
  31. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/sigit/.gitignore +0 -0
  32. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/sigit/README.md +0 -0
  33. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/sigit/package.json +0 -0
  34. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/sigit/src/index.ts +0 -0
  35. {sigit_code-1.0.0 → sigit_code-1.0.2}/npm/sigit/tsconfig.json +0 -0
  36. {sigit_code-1.0.0 → sigit_code-1.0.2}/pypi/pyproject.toml +0 -0
  37. {sigit_code-1.0.0 → sigit_code-1.0.2}/pyproject.toml +0 -0
  38. {sigit_code-1.0.0 → sigit_code-1.0.2}/rust-toolchain.toml +0 -0
@@ -0,0 +1,70 @@
1
+ # Changelog
2
+
3
+ ## 1.0.0 — 2026
4
+
5
+ We've been running siGit in real smbCloud codebases for a while now. It holds up. Time to call it 1.0.
6
+
7
+ ---
8
+
9
+ ### The short version
10
+
11
+ siGit is a local coding agent. It runs a quantized LLM on your machine, talks to editors over ACP, and can read files, run commands, search the web, and write code, all without sending anything to a cloud API. You can install it with cargo, pip, npm, or Homebrew. Then you use it like any other tool on your machine.
12
+
13
+ ---
14
+
15
+ ### What's actually in here
16
+
17
+ **The editor integration** is the main thing. Zed and VSCode both pick it up as an ACP agent. Multi-turn sessions, tool calling, session forking, working directory context, all there. This was the original goal, and it feels solid now.
18
+
19
+ **The terminal UI** started as a bonus and ended up being genuinely useful. You get a full-screen ratatui chat, streaming tokens with a blinking cursor, a spinner while the model thinks, and a model picker you can open mid-session. It runs on macOS and Linux. Windows gets the editor integration for now. TUI support there is still on the list.
20
+
21
+ **Tool calling** is what makes it feel like an agent instead of a chat window. The loop runs up to 10 rounds per message:
22
+
23
+ - `read_file` / `write_file` / `delete_file`
24
+ - `list_directory` / `search_files`
25
+ - `run_command` — shell commands with optional working directory
26
+ - `read_website` — fetches a URL and strips it to readable text
27
+
28
+ The model decides which tools to call, sees the results, and keeps going until it has something useful to say.
29
+
30
+ **Model support** ended up broader than we expected for 1.0. Qwen 3 1.7B, 4B, 8B, and 14B. Qwen 2.5 1.5B and 3B. Qwen 2.5 Coder 1.5B, 3B, and 7B. DeepSeek Coder 6.7B. All GGUF, all pulled from HuggingFace on first run.
31
+
32
+ Qwen 3 is the interesting one. It uses extended thinking mode. The model reasons inside `<think>…</think>` blocks before answering. The TUI strips those out and renders them dimmed above the reply, so you can see what it was doing without cluttering the conversation. The 8B is the default on desktop. Mobile defaults to 1.7B because iOS gives apps about 2 to 3 GB, and we found out the hard way that 3B causes OOM on an iPhone 16e.
33
+
34
+ **The model picker** (`/models` in the TUI, or an agent config option in editors) shows what is cached locally, what is available to download, whether a model supports tool calling, and whether its local cache looks healthy. Switching models downloads and loads in the background. The UI stays alive the whole time, with a progress bar.
35
+
36
+ **smbCloud context** is baked into the system prompt. siGit knows the difference between platform user flows and tenant app auth flows, how `Project` / `FrontendApp` / `AuthApp` / GresIQ fit together, that Next.js SSR deploys are not the generic git-push path, and what workspace patterns smbCloud repos tend to follow. Outside smbCloud, it behaves like a normal coding agent and does not force platform-specific advice where it does not belong.
37
+
38
+ **Distribution** ended up being more work than the software itself, honestly. Pre-built binaries for macOS (arm64 + x64), Linux (arm64 + x64), and Windows (arm64 + x64). Four install methods: `cargo install sigit`, `pip install sigit-code`, `npm install -g @smbcloud/sigit`, `brew install sigit`. Getting all of that working across CI, crates.io, PyPI, npm, and Homebrew was basically its own project.
39
+
40
+ ---
41
+
42
+ ### What doesn't work yet
43
+
44
+ The Windows TUI. ACP and editor mode work fine on Windows. It is just the interactive terminal UI that is still missing. The underlying issue is Unix-specific terminal handling that we have not abstracted yet.
45
+
46
+ ---
47
+
48
+ ### Changes since 0.1.2
49
+
50
+ - Qwen 3 14B support
51
+ - Qwen 3 `<think>` block parsing, which strips and renders thinking content separately in the TUI
52
+ - Moved all TUI code into `#[cfg(unix)]`, which fixed a pile of dead-code errors on Windows CI that were blocking releases
53
+ - Live download progress bar during model switch, with cancellation support (Ctrl+C mid-download works)
54
+ - Model download and loading progress shown in the Zed agent config panel
55
+ - Animated spinner during model switching
56
+ - Qwen 2.5 Coder 7B
57
+ - Available-for-download models shown in the picker, not just locally cached ones
58
+ - Model selection persists across restarts
59
+ - Session working directory support
60
+ - Model picker logic moved to a platform-independent module so it compiles on Windows even without the TUI
61
+ - `/models N` shortcut for picking a model by number directly
62
+ - `read_website` tool
63
+ - Better `read_file` handling and empty reply detection
64
+ - Async tool execution
65
+ - Fixed CI cross-compilation for macOS, iOS, Linux, and Windows
66
+ - npm, PyPI, and Homebrew distribution added
67
+
68
+ ---
69
+
70
+ *© 2026 [smbCloud](https://smbcloud.xyz/) (Splitfire AB).*
@@ -5271,7 +5271,7 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
5271
5271
 
5272
5272
  [[package]]
5273
5273
  name = "sigit"
5274
- version = "1.0.0"
5274
+ version = "1.0.2"
5275
5275
  dependencies = [
5276
5276
  "agent-client-protocol",
5277
5277
  "anyhow",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sigit"
3
- version = "1.0.0"
3
+ version = "1.0.2"
4
4
  edition = "2024"
5
5
  description = "siGit Code — ACP-compatible AI coding agent for smbCloud platform."
6
6
  documentation = "https://github.com/getsigit/sigit"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sigit-code
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -28,8 +28,8 @@ Project-URL: Repository, https://github.com/getsigit/sigit
28
28
  <h1 align="center">siGit Code</h1>
29
29
 
30
30
  <p align="center">
31
- <strong>AI coding agent powered by local LLM via <a href="https://ondeinference.com">Onde Inference</a>.</strong><br>
32
- ACP-compatible agent that runs entirely on your machine no API keys, no cloud.
31
+ AI coding agent powered by local LLM via <a href="https://ondeinference.com">Onde Inference</a>.<br>
32
+ Runs on your machine. No API keys, no cloud.
33
33
  </p>
34
34
 
35
35
  <p align="center">
@@ -46,26 +46,24 @@ Project-URL: Repository, https://github.com/getsigit/sigit
46
46
 
47
47
  ## Install
48
48
 
49
- Use `pip` or `uv`:
50
-
51
49
  ```sh
52
50
  pip install sigit-code
53
51
  uvx --from sigit-code sigit
54
52
  ```
55
53
 
56
- Installs the native `sigit` binary for your platform no compiler, no Node.js, no runtime dependencies.
54
+ Installs a native `sigit` binary for your platform. No compiler, no runtime dependencies.
57
55
 
58
56
  ## Quick start
59
57
 
60
- ### Interactive TUI
58
+ ### Terminal
61
59
 
62
60
  ```sh
63
61
  sigit
64
62
  ```
65
63
 
66
- A terminal UI opens where you can chat with a local LLM coding agent directly.
64
+ Opens a chat UI where you talk to a local LLM coding agent directly.
67
65
 
68
- ### Zed editor (ACP agent)
66
+ ### Zed (ACP agent)
69
67
 
70
68
  siGit works as an [ACP-compatible](https://github.com/nicobailon/agent-client-protocol) agent in [Zed](https://zed.dev). Add this to your Zed settings:
71
69
 
@@ -80,9 +78,9 @@ siGit works as an [ACP-compatible](https://github.com/nicobailon/agent-client-pr
80
78
  }
81
79
  ```
82
80
 
83
- Then select **sigit** as your agent profile in the Zed assistant panel.
81
+ Then pick **sigit** as your agent in the Zed assistant panel.
84
82
 
85
- ## Other installation methods
83
+ ## Other install methods
86
84
 
87
85
  | Method | Command |
88
86
  |--------|---------|
@@ -101,27 +99,19 @@ cargo build --release
101
99
 
102
100
  ## Platform support
103
101
 
104
- Pre-built native binaries ship for every major platform:
105
-
106
- | Platform | Architecture |
107
- |---------------|--------------|
108
- | macOS | arm64, x64 |
109
- | Linux (glibc) | arm64, x64 |
110
- | Windows | arm64, x64 |
102
+ | Platform | Architecture |
103
+ |----------|--------------|
104
+ | macOS | arm64, x64 |
105
+ | Linux (glibc) | arm64, x64 |
106
+ | Windows | arm64, x64 |
111
107
 
112
- ## Source & issues
108
+ ## Source and issues
113
109
 
114
- This package ships a pre-built native binary. Source lives at
115
- [github.com/getsigit/sigit](https://github.com/getsigit/sigit) —
116
- file bugs and feature requests there.
110
+ This package ships a pre-built binary. Source code is at [github.com/getsigit/sigit](https://github.com/getsigit/sigit). File bugs there.
117
111
 
118
112
  ## License
119
113
 
120
- Licensed under **Apache 2.0**.
121
-
122
- - [Apache License 2.0](https://github.com/getsigit/sigit/blob/main/LICENSE)
123
-
124
- ---
114
+ [Apache 2.0](https://github.com/getsigit/sigit/blob/main/LICENSE)
125
115
 
126
116
  ## Copyright
127
117
 
@@ -0,0 +1,109 @@
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/@smbcloud/sigit"><img src="https://img.shields.io/npm/v/@smbcloud/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 is a coding agent that runs on your machine. No API keys, no cloud round-trips, no subscription.
12
+
13
+ It works with any codebase. It knows smbCloud repos a bit better — the Rust workspace layout, deploy flows, auth boundaries, GresIQ — so you spend less time explaining the setup.
14
+
15
+ Two modes:
16
+
17
+ - **ACP mode** — Zed or another ACP-compatible editor starts it over stdio
18
+ - **Terminal mode** — run `sigit` for an interactive chat UI
19
+
20
+ | Platform | ACP mode | Terminal mode |
21
+ |----------|----------|---------------|
22
+ | macOS | ✓ | ✓ |
23
+ | Linux | ✓ | ✓ |
24
+ | Windows | ✓ | not yet |
25
+
26
+ ## smbCloud context
27
+
28
+ In an smbCloud repo, siGit knows the terrain:
29
+
30
+ - platform user flows and tenant app auth flows are different things
31
+ - `Project` is the umbrella workspace; `FrontendApp`, `AuthApp`, and GresIQ are separate deployable units
32
+ - Next.js SSR deploys aren't the same as the git-push path
33
+ - existing workspace patterns and crate boundaries over new abstractions
34
+
35
+ In other repos it stays general and doesn't pretend otherwise.
36
+
37
+ ## Install
38
+
39
+ ```sh
40
+ cargo install sigit
41
+ ```
42
+
43
+ | Method | Command |
44
+ |--------|---------|
45
+ | Homebrew | `brew tap getsigit/tap && brew install sigit` |
46
+ | pip | `pip install sigit-code` |
47
+ | uv | `uvx --from sigit-code sigit` |
48
+ | npm | `npm install -g @smbcloud/sigit` |
49
+
50
+ ## First run
51
+
52
+ On first launch siGit downloads a GGUF model from Hugging Face, usually 1–2 GB. After that it loads from disk in a few seconds.
53
+
54
+ On macOS, the model cache is shared with the siGit desktop app via an App Group container. If the desktop app already pulled the model, the CLI reuses it.
55
+
56
+ ## Zed setup
57
+
58
+ Add to `~/.config/zed/settings.json`:
59
+
60
+ ```json
61
+ {
62
+ "agent_servers": {
63
+ "siGit Code": {
64
+ "type": "custom",
65
+ "command": "/absolute/path/to/sigit"
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ Use the full absolute path. `~` doesn't expand here.
72
+
73
+ ## VSCode via ACP Client extension
74
+
75
+ Install [ACP client](https://marketplace.visualstudio.com/items?itemName=formulahendry.acp-client):
76
+
77
+ ```json
78
+ {
79
+ "acp.agents": {
80
+ "siGit Code": {
81
+ "command": "sigit",
82
+ "args": [],
83
+ "env": {}
84
+ }
85
+ }
86
+ }
87
+ ```
88
+
89
+ ## Terminal mode
90
+
91
+ Run `sigit` in a terminal and you get an interactive chat UI. Same model and system prompt as the editor integration, just without Zed.
92
+
93
+ Terminal mode needs Unix terminal behavior, so macOS and Linux only for now.
94
+
95
+ ## Platform support
96
+
97
+ | Platform | Architecture |
98
+ |----------|-------------|
99
+ | macOS | arm64, x64 |
100
+ | Linux (glibc) | arm64, x64 |
101
+ | Windows | arm64, x64 |
102
+
103
+ ## License
104
+
105
+ [Apache 2.0](https://github.com/getsigit/sigit/blob/main/LICENSE)
106
+
107
+ ## Copyright
108
+
109
+ © 2026 [smbCloud](https://smbcloud.xyz/) (Splitfire AB).
@@ -2,7 +2,7 @@
2
2
 
3
3
  <p align="center">
4
4
  AI coding agent powered by local LLM via <a href="https://ondeinference.com">Onde Inference</a>.<br>
5
- Runs entirely on your machine no API keys, no cloud round-trips.
5
+ Runs on your machine. No API keys, no cloud.
6
6
  </p>
7
7
 
8
8
  <p align="center">
@@ -17,9 +17,9 @@
17
17
 
18
18
  ## `${node_pkg}`
19
19
 
20
- This is the **npm** distribution of siGit Code a platform-specific binary package for [`@smbcloud/sigit`](https://www.npmjs.com/package/@smbcloud/sigit). You don't need to install it directly.
20
+ This is the npm distribution of siGit Code, a platform-specific binary package for [`@smbcloud/sigit`](https://www.npmjs.com/package/@smbcloud/sigit). You don't need to install it directly.
21
21
 
22
- Install the main package and npm pulls in the right binary for your OS and architecture automatically:
22
+ Install the main package and npm pulls in the right binary for your OS and architecture:
23
23
 
24
24
  ```sh
25
25
  npm install -g @smbcloud/sigit
@@ -1,8 +1,8 @@
1
1
  <h1 align="center">siGit Code</h1>
2
2
 
3
3
  <p align="center">
4
- <strong>AI coding agent powered by local LLM via <a href="https://ondeinference.com">Onde Inference</a>.</strong><br>
5
- ACP-compatible agent that runs entirely on your machine no API keys, no cloud.
4
+ AI coding agent powered by local LLM via <a href="https://ondeinference.com">Onde Inference</a>.<br>
5
+ Runs on your machine. No API keys, no cloud.
6
6
  </p>
7
7
 
8
8
  <p align="center">
@@ -19,26 +19,24 @@
19
19
 
20
20
  ## Install
21
21
 
22
- Use `pip` or `uv`:
23
-
24
22
  ```sh
25
23
  pip install sigit-code
26
24
  uvx --from sigit-code sigit
27
25
  ```
28
26
 
29
- Installs the native `sigit` binary for your platform no compiler, no Node.js, no runtime dependencies.
27
+ Installs a native `sigit` binary for your platform. No compiler, no runtime dependencies.
30
28
 
31
29
  ## Quick start
32
30
 
33
- ### Interactive TUI
31
+ ### Terminal
34
32
 
35
33
  ```sh
36
34
  sigit
37
35
  ```
38
36
 
39
- A terminal UI opens where you can chat with a local LLM coding agent directly.
37
+ Opens a chat UI where you talk to a local LLM coding agent directly.
40
38
 
41
- ### Zed editor (ACP agent)
39
+ ### Zed (ACP agent)
42
40
 
43
41
  siGit works as an [ACP-compatible](https://github.com/nicobailon/agent-client-protocol) agent in [Zed](https://zed.dev). Add this to your Zed settings:
44
42
 
@@ -53,9 +51,9 @@ siGit works as an [ACP-compatible](https://github.com/nicobailon/agent-client-pr
53
51
  }
54
52
  ```
55
53
 
56
- Then select **sigit** as your agent profile in the Zed assistant panel.
54
+ Then pick **sigit** as your agent in the Zed assistant panel.
57
55
 
58
- ## Other installation methods
56
+ ## Other install methods
59
57
 
60
58
  | Method | Command |
61
59
  |--------|---------|
@@ -74,27 +72,19 @@ cargo build --release
74
72
 
75
73
  ## Platform support
76
74
 
77
- Pre-built native binaries ship for every major platform:
78
-
79
- | Platform | Architecture |
80
- |---------------|--------------|
81
- | macOS | arm64, x64 |
82
- | Linux (glibc) | arm64, x64 |
83
- | Windows | arm64, x64 |
75
+ | Platform | Architecture |
76
+ |----------|--------------|
77
+ | macOS | arm64, x64 |
78
+ | Linux (glibc) | arm64, x64 |
79
+ | Windows | arm64, x64 |
84
80
 
85
- ## Source & issues
81
+ ## Source and issues
86
82
 
87
- This package ships a pre-built native binary. Source lives at
88
- [github.com/getsigit/sigit](https://github.com/getsigit/sigit) —
89
- file bugs and feature requests there.
83
+ This package ships a pre-built binary. Source code is at [github.com/getsigit/sigit](https://github.com/getsigit/sigit). File bugs there.
90
84
 
91
85
  ## License
92
86
 
93
- Licensed under **Apache 2.0**.
94
-
95
- - [Apache License 2.0](https://github.com/getsigit/sigit/blob/main/LICENSE)
96
-
97
- ---
87
+ [Apache 2.0](https://github.com/getsigit/sigit/blob/main/LICENSE)
98
88
 
99
89
  ## Copyright
100
90