Contributing to SynapsCLI
May 10, 2026 · View on GitHub
Rust-native AI agent runtime. Contributions welcome.
Quick Start
git clone https://github.com/HaseebKhalid1507/SynapsCLI.git
cd SynapsCLI
cargo build --release
# Single binary at target/release/synaps
cargo test --release --lib
Requirements: Rust 1.80+, Linux or macOS
Note: 7 PTY tests (tools::shell) fail under parallel execution — pass with cargo test --release --lib -- --test-threads=1. Not a bug, just TTY contention.
Branch Model
main— stable, merge-onlydev— active development, merge to main when validatedfeat/*— feature branches off dev
Before Submitting
cargo build --release— 0 warningscargo test --release --lib— 224+ pass (PTY tests excluded from count)- Read
AGENTS.md— especially the "Common Pitfalls" and "Key Patterns" sections - If adding a setting: update all 5 sync points (see AGENTS.md)
- If touching cache logic: verify hit rate hasn't regressed (
SYNAPS_USAGE_LOG=1)
Code Style
- No
clippy::pedantic— standardcargo clippyonly #[allow(dead_code)]requires a comment explaining why- Prefer
thiserrorfor error types,anyhowfor binary-level error handling - One file per tool (
src/tools/*.rs) - Tests in
#[cfg(test)] mod tests {}at file bottom
What's Useful
- Bug reports with reproduction steps
- Tool implementations (new tools following the
Tooltrait insrc/tools/mod.rs) - Themes (add to
src/tui/theme/palettes/) - MCP server configs (share working
mcp.jsonsetups) - Skills/plugins (markdown-driven behavioral guidelines)
License
By contributing, you agree your work is licensed under Apache 2.0.