@@ -22,26 +22,44 @@ path = "examples/main.rs"
2222[[bin ]]
2323name = " toon"
2424path = " src/cli/main.rs"
25+ required-features = [" cli" ]
26+
27+ [features ]
28+ default = [" cli" ]
29+ cli = [
30+ " dep:clap" ,
31+ " dep:anyhow" ,
32+ " dep:tiktoken-rs" ,
33+ " dep:comfy-table" ,
34+ " dep:ratatui" ,
35+ " dep:crossterm" ,
36+ " dep:tui-textarea" ,
37+ " dep:arboard" ,
38+ " dep:syntect" ,
39+ " dep:unicode-width" ,
40+ " dep:chrono" ,
41+ ]
2542
2643[dependencies ]
2744serde = { version = " 1.0.228" , features = [" derive" ] }
2845indexmap = " 2.0"
2946serde_json = { version = " 1.0.145" , features = [" preserve_order" ] }
3047thiserror = " 2.0.17"
3148
32- clap = { version = " 4.5.11" , features = [" derive" ] }
33- anyhow = " 1.0.86"
34- tiktoken-rs = " 0.9.1"
35- comfy-table = " 7.1"
36-
37- # TUI dependencies
38- ratatui = " 0.29"
39- crossterm = " 0.28"
40- tui-textarea = " 0.7"
41- arboard = " 3.4"
42- syntect = " 5.2"
43- unicode-width = " 0.2"
44- chrono = " 0.4"
49+ # CLI dependencies (gated behind "cli" feature)
50+ clap = { version = " 4.5.11" , features = [" derive" ], optional = true }
51+ anyhow = { version = " 1.0.86" , optional = true }
52+ tiktoken-rs = { version = " 0.9.1" , optional = true }
53+ comfy-table = { version = " 7.1" , optional = true }
54+
55+ # TUI dependencies (gated behind "cli" feature)
56+ ratatui = { version = " 0.29" , optional = true }
57+ crossterm = { version = " 0.28" , optional = true }
58+ tui-textarea = { version = " 0.7" , optional = true }
59+ arboard = { version = " 3.4" , optional = true }
60+ syntect = { version = " 5.2" , optional = true }
61+ unicode-width = { version = " 0.2" , optional = true }
62+ chrono = { version = " 0.4" , optional = true }
4563
4664[dev-dependencies ]
4765datatest-stable = " 0.3.3"
0 commit comments