@setoelkahfi / sigit / commits / 214d482

Revise README and changelog for clarity and accuracy

paydii committed Apr 26, 2026 at 22:41 UTC 214d4829eb0e213f82056efaf9873aee84511787
2 files changed +26 -26
CHANGELOG.md
+15 -15
index ca032e4..c895223 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,55 +2,55 @@ ## 1.0.0 — 2026 -We've been running siGit in production across smbCloud codebases for a while now. It works. Time to call it 1.0. +We've been running siGit in real smbCloud codebases for a while now. It holds up. Time to call it 1.0. --- ### The short version -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 install it with cargo, pip, npm, or Homebrew. It just works. +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. --- ### What's actually in here -**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's solid. +**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. -**The terminal UI** is a bonus that turned out to be genuinely useful. Full-screen ratatui chat, streaming tokens with a blinking cursor, a thinking spinner while the model reasons, a model picker you can pull up mid-session. It runs on macOS and Linux. Windows gets the editor integration for now — TUI support there is on the list. +**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. -**Tool calling** is what makes it an agent instead of a chat window. The loop runs up to 10 rounds per message: +**Tool calling** is what makes it feel like an agent instead of a chat window. The loop runs up to 10 rounds per message: - `read_file` / `write_file` / `delete_file` - `list_directory` / `search_files` - `run_command` — shell commands with optional working directory - `read_website` — fetches a URL and strips it to readable text -The model decides which tools to call, sees the results, and keeps going until it has something worth saying. +The model decides which tools to call, sees the results, and keeps going until it has something useful to say. -**Model support** is broader than we expected to ship at 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. +**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. -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 it cluttering the conversation. The 8B is the default on desktop. Mobile defaults to 1.7B because iOS gives apps ~2–3 GB and we found out the hard way that 3B causes OOM on an iPhone 16e. +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. -**The model picker** (`/models` in the TUI, or an agent config option in editors) shows what's cached locally, what's 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. +**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. -**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's a normal coding agent and doesn't push platform-specific advice where it doesn't belong. +**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. -**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 is its own project. +**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. --- ### What doesn't work yet -The Windows TUI. ACP/editor mode works fine on Windows — it's just the interactive terminal UI that's missing. The underlying issue is Unix-specific terminal handling we haven't abstracted yet. +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. --- ### Changes since 0.1.2 - Qwen 3 14B support -- Qwen 3 `<think>` block parsing — strips and renders thinking content separately in the TUI -- Moved all TUI code into `#[cfg(unix)]` — this fixed a pile of dead-code errors on Windows CI that were blocking releases -- Live download progress bar during model switch, with cancellation (Ctrl+C mid-download works) +- Qwen 3 `<think>` block parsing, which strips and renders thinking content separately in the TUI +- Moved all TUI code into `#[cfg(unix)]`, which fixed a pile of dead-code errors on Windows CI that were blocking releases +- Live download progress bar during model switch, with cancellation support (Ctrl+C mid-download works) - Model download and loading progress shown in the Zed agent config panel - Animated spinner during model switching - Qwen 2.5 Coder 7B
README.md
+11 -11
index cb5a424..89fb579 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ <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> </p> -A coding agent for [smbCloud](https://smbcloud.xyz/) that runs entirely on your machine. No API keys. No cloud round-trips. +siGit is a coding agent that runs on your machine. No API keys. No cloud round-trips. -siGit is meant to be a general coding agent, but it is especially good in smbCloud codebases. It already knows the rough shape of the platform: Rust workspaces with focused crates, Rails services, deploy flows, auth boundaries, and platform-managed services like GresIQ. In smbCloud repos, that means it can usually give more grounded answers with less back-and-forth. +It is meant to be useful anywhere, but it is especially good in smbCloud codebases. It already knows the rough shape of the platform: Rust workspaces with focused crates, Rails services, deploy flows, auth boundaries, and platform-managed services like GresIQ. In smbCloud repos, that usually means less back-and-forth and fewer generic answers. -siGit has two modes: +siGit has two main modes: - ACP mode, where Zed or another ACP-compatible editor starts it over stdio - an interactive terminal chat when you run `sigit` yourself @@ -25,14 +25,14 @@ Current platform support: ## What siGit knows about smbCloud -When siGit is working in an smbCloud repo, it should lean on platform context instead of treating everything like a generic cloud app. That includes things like: +When siGit is working in an smbCloud repo, it should use platform context instead of treating everything like a generic cloud app. That includes things like: - the difference between platform user flows and tenant app auth flows - the fact that `Project` is the umbrella workspace, while app-like resources such as `FrontendApp`, `AuthApp`, and GresIQ are separate deployable units - the fact that Next.js SSR deploys are not the same as the generic git-push path - the fact that smbCloud repos usually prefer existing workspace patterns and crate boundaries over new abstractions -Outside smbCloud, it should still behave like a normal coding agent and not force platform-specific advice where it does not belong. +Outside smbCloud, it should still behave like a normal coding agent and not force platform-specific advice into places where it does not belong. ## Install @@ -51,9 +51,9 @@ cargo install sigit ## First run -The first time siGit starts, it downloads a GGUF model (~1–2 GB) from HuggingFace. Subsequent starts load from disk in a few seconds. +The first time siGit starts, it downloads a GGUF model, usually around 1 to 2 GB, from Hugging Face. After that, it loads from disk in a few seconds. -On macOS, siGit shares its model cache with the siGit desktop app through an App Group container. If the desktop app already downloaded the model, the CLI will reuse it. +On macOS, siGit shares its model cache with the siGit desktop app through an App Group container. If the desktop app already downloaded the model, the CLI reuses it. ## Zed setup @@ -70,7 +70,7 @@ Add to `~/.config/zed/settings.json`: } ``` -Use the full absolute path. `~` will not be expanded here. +Use the full absolute path. `~` does not get expanded here. ## VSCode via ACP Client extension @@ -90,9 +90,9 @@ Install [ACP client](https://marketplace.visualstudio.com/items?itemName=formula ## Terminal mode -If you run `sigit` directly in a terminal, it opens an interactive chat UI. It uses the same model and system prompt as the editor integration, so it is useful for quick questions when you do not want to open Zed first. +If you run `sigit` directly in a terminal, it opens an interactive chat UI. It uses the same model and system prompt as the editor integration, so it is handy for quick questions when you do not want to open Zed first. -That terminal mode currently depends on Unix terminal behavior, so it works on macOS and Linux. On Windows, siGit supports ACP/editor mode only right now. +That terminal mode still depends on Unix terminal behavior, so it works on macOS and Linux. On Windows, siGit supports ACP and editor mode only for now. ## Platform support @@ -104,7 +104,7 @@ That terminal mode currently depends on Unix terminal behavior, so it works on m ## License -Licensed under **Apache 2.0** — [LICENSE](https://github.com/getsigit/sigit/blob/main/LICENSE) +Licensed under **Apache 2.0**. See [LICENSE](https://github.com/getsigit/sigit/blob/main/LICENSE). ## Copyright