1 [package]
2 name = "sigit"
3 version = "1.3.2"
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@ondeinference.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 = "1.0", features = ["unstable_session_fork", "unstable_auth_methods"] }
27
28 # Onde Inference engine (local LLM)
29 # onde = { path = "../onde" }
30 onde = "1.1.2"
31
32 # Async runtime
33 tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "io-std", "io-util", "sync", "time", "process"] }
34 tokio-util = { version = "0.7", features = ["compat"] }
35 futures = "0.3"
36
37 # TUI (interactive chat mode)
38 # `unstable-rendered-line-info` exposes `Paragraph::line_count`, which we use to
39 # pin the message view to the bottom using the exact wrapped-row count (the same
40 # WordWrapper that rendering uses) rather than a hand-rolled estimate.
41 ratatui = { version = "0.29", features = ["unstable-rendered-line-info"] }
42 crossterm = { version = "0.29", features = ["event-stream"] }
43
44 # Utilities
45 anyhow = "1"
46 libc = "0.2"
47 log = "0.4"
48 tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
49 serde = { version = "1", features = ["derive"] }
50 serde_json = "1"
51 toml = "0.8"
52 async-trait = "0.1"
53 regex = "1"
54 reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls", "stream"] }
55 uuid = { version = "1", features = ["v4"] }
56 rpassword = "7"