fix/dsml-doubled-bar-markers
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 | [package] |
| 2 | name = "sigit" |
| 3 | version = "1.6.8" |
| 4 | edition = "2024" |
| 5 | description = "siGit Code — ACP-compatible AI coding agent. Sí, git." |
| 6 | documentation = "https://github.com/getsigit/sigit" |
| 7 | license = "Apache-2.0" |
| 8 | repository = "https://github.com/getsigit/sigit" |
| 9 | homepage = "https://sigit.si" |
| 10 | readme = "README.md" |
| 11 | keywords = ["sigit", "cli", "ai", "coding-agent", "llm"] |
| 12 | categories = ["command-line-utilities"] |
| 13 | authors = ["Seto Elkahfi <seto@sigit.si>", "paydii <193906237+paydii@users.noreply.github.com>", "keypair34 <216233964+keypair34@users.noreply.github.com>"] |
| 14 | # `src/bin/` holds test-only helper binaries (the MCP stdio stub used by the |
| 15 | # integration tests). Excluding it keeps them out of the published crate, so |
| 16 | # `cargo install sigit` installs exactly one binary. The integration test that |
| 17 | # spawns the stub goes with it, or the packaged crate's tests wouldn't compile. |
| 18 | exclude = ["src/bin/", "tests/mcp_stdio.rs"] |
| 19 | |
| 20 | [[bin]] |
| 21 | name = "sigit" |
| 22 | path = "src/main.rs" |
| 23 | |
| 24 | [dependencies] |
| 25 | # ACP protocol SDK |
| 26 | agent-client-protocol = { version = "2.2", features = ["unstable_session_fork"] } |
| 27 | |
| 28 | # MCP client (rmcp underneath), shared with the other Onde agents |
| 29 | ed-mcp = "1.2.0" |
| 30 | |
| 31 | # Onde Inference engine (local LLM) |
| 32 | # onde = { path = "../onde" } |
| 33 | onde = "1.3.1" |
| 34 | |
| 35 | # Async runtime |
| 36 | tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "io-std", "io-util", "sync", "time", "process"] } |
| 37 | tokio-util = { version = "0.7", features = ["compat"] } |
| 38 | futures = "0.3" |
| 39 | |
| 40 | # TUI (interactive chat mode) |
| 41 | # `unstable-rendered-line-info` exposes `Paragraph::line_count`, which we use to |
| 42 | # pin the message view to the bottom using the exact wrapped-row count (the same |
| 43 | # WordWrapper that rendering uses) rather than a hand-rolled estimate. |
| 44 | ratatui = { version = "0.30", default-features = false, features = ["crossterm", "layout-cache", "unstable-rendered-line-info"] } |
| 45 | crossterm = { version = "0.29", features = ["event-stream"] } |
| 46 | |
| 47 | # Utilities |
| 48 | anyhow = "1" |
| 49 | libc = "0.2" |
| 50 | log = "0.4" |
| 51 | tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] } |
| 52 | serde = { version = "1", features = ["derive"] } |
| 53 | serde_json = "1" |
| 54 | toml = "0.8" |
| 55 | async-trait = "0.1" |
| 56 | regex = "1" |
| 57 | reqwest = { version = "0.13", default-features = false, features = ["blocking", "form", "json", "rustls", "stream"] } |
| 58 | uuid = { version = "1", features = ["v4"] } |
| 59 | rpassword = "7" |
| 60 | # Browser sign-in: PKCE needs a SHA-256 and base64url, the verifier and state |
| 61 | # need a CSPRNG. All three already came in through the dependency graph. |
| 62 | base64 = "0.22" |
| 63 | rand = "0.9" |
| 64 | sha2 = "0.10" |
| 65 | |
| 66 | # ACP `resource_link` blocks carry file URIs. Parsing them with `url` decodes |
| 67 | # percent escapes and maps Windows drive paths, which hand-stripping `file://` |
| 68 | # did not. Already in the graph through reqwest. |
| 69 | url = "2" |
| 70 | |
| 71 | # Release binaries ship to five registries, and the NuGet package bundles all |
| 72 | # six targets in a single archive, so binary size is a distribution constraint |
| 73 | # rather than a nicety. Stripping symbols takes the macOS arm64 binary from |
| 74 | # ~102 MB to ~88 MB. The Homebrew tarball already stripped by hand in |
| 75 | # release-github.yml; this makes every channel match. |
| 76 | [profile.release] |
| 77 | strip = "symbols" |