Feature Flags

synwire-core

FeatureDefaultDescription
retryYesRetry support via backoff + tokio
httpYesHTTP client via reqwest
tracingNoOpenTelemetry tracing integration
event-busNoTokio-based event bus for custom events
batch-apiNoProvider-level batch processing trait

Example

[dependencies]
synwire-core = { version = "0.1", features = ["tracing"] }

To disable defaults:

synwire-core = { version = "0.1", default-features = false, features = ["http"] }

synwire (umbrella)

FeatureDefaultDescription
openaiNoInclude synwire-llm-openai provider
ollamaNoInclude synwire-llm-ollama provider
lspNoInclude synwire-lsp for Language Server Protocol integration
dapNoInclude synwire-dap for Debug Adapter Protocol integration

synwire-index

FeatureDefaultDescription
hybrid-searchNoBM25 (tantivy) + vector hybrid search with configurable alpha weighting
code-graphNoCross-file call/import/inherit dependency graph backed by SQLite
community-detectionNoHIT-Leiden community clustering over the code graph

Example

[dependencies]
synwire-index = { version = "0.1", features = ["hybrid-search", "code-graph"] }

community-detection requires code-graph — community clustering operates on the graph edges.

synwire-agent-skills

FeatureDefaultDescription
luaNoLua scripting runtime via mlua
rhaiNoRhai scripting runtime
wasmNoWebAssembly runtime via extism

All runtimes are opt-in to keep binary size small. Enable only the runtimes your skills require:

synwire-agent-skills = { version = "0.1", features = ["lua"] }

Example

[dependencies]
synwire = { version = "0.1", features = ["openai", "ollama"] }

Provider crates

synwire-llm-openai and synwire-llm-ollama have no optional features. They always depend on synwire-core with the http feature enabled.

synwire-checkpoint-sqlite

No optional features. Always depends on rusqlite with the bundled feature (compiles SQLite from source).

synwire-derive

No optional features. Proc-macro crate depending on syn, quote, proc-macro2.

Interaction between features

  • retry requires tokio for async backoff delays
  • tracing enables tracing, tracing-opentelemetry, opentelemetry, and opentelemetry_sdk
  • event-bus requires tokio for broadcast channels
  • Disabling http removes reqwest -- provider crates will not compile without it

Checking active features

cargo tree -e features -p synwire-core