Unified Rust workspace consolidating the entire trusty-* AI tooling ecosystem. 21 crates of AI development tooling with three flagship MCP servers for code search, memory management, and analysis.
Machine-wide code search daemon with hybrid BM25 + vector + knowledge-graph fusion, fused via Reciprocal Rank Fusion. One install per machine, unlimited named project indexes.
What you get:
- Sub-10ms p50 warm query latency on 100k-chunk indexes
- Intelligent query routing (Definition / Usage / Conceptual / BugDebt intent detection)
- Knowledge graph expansion with caller/callee chains
- Branch-aware search (boost results from your current feature branch)
- Auto-tuned memory tiers (5 tiers from 8 GB to 64+ GB RAM)
- Embedded Svelte 5 admin UI
- OpenRouter-backed chat with auto-injected search context
Quick start:
cargo install trusty-search
trusty-search start
trusty-search index ~/Projects/myproj --name myproj
trusty-search query "fn authenticate" --index myprojMCP tools: search_code, search_similar, index_file, remove_file, list_indexes, create_index, delete_index, reindex, index_status, list_chunks, search_health, chat
See crates/trusty-search/README.md for full documentation.
Long-term memory storage with semantic search, persistent embedding index, and embedded Svelte UI. Store development context, notes, snippets, and retrieve them via natural language.
What you get:
- HNSW vector index (usearch) + SQLite persistent storage + fastembed embeddings
- Semantic search over all stored memories
- Collection organization (notes, snippets, code patterns, decisions)
- Svelte UI for browsing and editing
- MCP server for Claude Code integration
- MIT license (memory preservation is for everyone)
Quick start:
cargo run -p trusty-memory -- serve
# Or via MCP stdio:
# Add to ~/.claude/claude_desktop_config.json:
# "trusty-memory": {
# "command": "cargo",
# "args": ["run", "-p", "trusty-memory", "--", "serve"]
# }MCP tools: memory_remember, memory_recall, memory_recall_deep, memory_recall_all, memory_note, memory_list, memory_forget, list_prompt_facts, remove_prompt_fact, get_prompt_context
See crates/trusty-memory/README.md for full documentation.
Static code-analysis daemon (sidecar to trusty-search): cyclomatic and cognitive
complexity, code smells, quality grading, git temporal decay, concept clustering,
SCIP protobuf ingest, and a (subject, predicate, object) facts store backed by
redb. Reads its chunk corpus from trusty-search over HTTP, then serves results
on port 7879 via both an axum HTTP API and an MCP stdio/SSE server.
What you get:
- Cyclomatic + cognitive complexity per chunk / file / index
- Configurable code-smell categories with named thresholds
- A–F quality grade aggregation
- Git blame–driven temporal decay scoring (stale high-complexity code)
- k-means concept clustering (BoW or neural embeddings)
- Facts store: typed knowledge triples with provenance, persisted in redb
- SCIP protobuf ingest for LSP-quality symbol data
- Optional ONNX-backed NER over doc comments (feature-gated:
--features ner) - Tree-sitter adapters for Rust, TypeScript, JavaScript, Python, Java, Go, Ruby, PHP, C, C++, C#, Kotlin, Swift, Scala
- HTTP API + MCP parity (every endpoint has a tool equivalent)
Quick start:
# 1. trusty-search must be running first — it is a hard runtime dependency
cargo run -p trusty-search -- start
# 2. start the analyze sidecar
cargo run -p trusty-analyze -- serve --search-url http://127.0.0.1:7878
# 3. analyze a named index
cargo run -p trusty-analyze -- analyze <index-id> --top-k 20MCP tools: analyzer_health, complexity_hotspots, find_smells,
analyze_quality, list_facts, upsert_fact, delete_fact, ingest_scip,
cluster_concepts
See crates/trusty-analyze/README.md for full documentation.
| Crate | Description | License |
|---|---|---|
trusty-search |
Hybrid code search (BM25 + vector + KG) + MCP server | MIT |
trusty-memory |
Memory palace UI + MCP frontend (storage engine lives in trusty-common's memory-core feature) |
MIT |
trusty-analyze |
Code-analysis sidecar daemon (complexity, smells, facts) + MCP server | MIT |
| Crate | Description |
|---|---|
trusty-common |
Tracing, daemon helpers, OpenRouter chat client, shared utilities |
trusty-embedder |
fastembed wrapper — all-MiniLM-L6-v2 INT8 quantised, 384-dim output |
trusty-mcp-core |
MCP primitives, JSON-RPC 2.0 types, stdio/HTTP transport |
trusty-symgraph |
Symbol graph engine — tree-sitter AST parser + knowledge graph |
trusty-rpc |
RPC helpers and service descriptors |
trusty-tickets |
GitHub Issues integration |
trusty-gworkspace |
Google Workspace client (Calendar, Tasks, Drive) |
trusty-cto-db |
SQLite schema + rusqlite bindings for ops data |
tc-services |
Service adapters (CTO DB, Granola, GWorkspace) |
| Crate | Description |
|---|---|
trusty-mpm |
Core platform with embedded CLI, daemon, and MCP server |
trusty-mpm-gui |
Desktop GUI (Tauri) |
| Crate | Description |
|---|---|
trusty-bm25-daemon |
Standalone BM25 full-text search daemon |
trusty-code |
Code generation and analysis utilities |
trusty-console |
Terminal UI for system monitoring |
trusty-installer |
Install/upgrade orchestrator (bins: trusty-installer, tctl alias; ADR-0013) |
trusty-progress |
Progress tracking and reporting |
trusty-review |
Code review automation and analysis |
| Crate | Description |
|---|---|
trusty-git-analytics |
Developer productivity analytics from git history |
trusty-agents |
Agent orchestration platform |
trusty-agents-common |
Shared types and utilities for agent framework |
trusty-agents-local |
Local agent runtime implementation |
cto-assistant |
CTO domain assistant |
┌──────────────────────────────────────────────────────────────┐
│ Flagship Services (User-Facing) │
│ trusty-search | trusty-memory │
│ (search) | (storage) │
└──────────────────────────────────────────────────────────────┘
│ │
┌────────▼──────────────────▼──────────────────────────────────┐
│ Storage / Engine Libraries │
│ trusty-symgraph · trusty-embedder · trusty-cto-db │
└────────┬──────────────────────────────────────────────────────┘
│
┌────────▼──────────────────────────────────────────────────────┐
│ Shared Infrastructure │
│ trusty-common · trusty-mcp-core · trusty-rpc │
│ trusty-gworkspace · trusty-tickets · tc-services │
└────────┬──────────────────────────────────────────────────────┘
│
┌────────▼──────────────────────────────────────────────────────┐
│ Orchestrator / Platform │
│ trusty-agents · trusty-mpm-* family · trusty-git-analytics │
└───────────────────────────────────────────────────────────────┘
Install the full trusty-tools platform with one command (no Rust toolchain required):
curl -sSf https://raw.githubusercontent.com/bobmatnyc/trusty-tools/main/install.sh | shThis downloads the prebuilt trusty-installer binary (SHA-256 verified), installs it to ~/.local/bin, and runs trusty-installer install to set up the rest of the platform (search, memory, analyze, review, console). The tctl transitional alias is also installed, so existing muscle-memory commands (tctl install, tctl status, etc.) continue to work.
Non-interactive (CI / scripted):
curl -sSf https://raw.githubusercontent.com/bobmatnyc/trusty-tools/main/install.sh | sh -s -- -yOptions (environment variables):
| Variable | Effect |
|---|---|
TRUSTY_VERSION |
Pin a specific version (e.g. 0.2.0) |
TRUSTY_INSTALL_DIR |
Override the install directory (default ~/.local/bin) |
TRUSTY_YES=1 |
Skip all prompts (same as -y) |
TRUSTY_FORCE=1 |
Re-download even if already installed (same as --force) |
TRUSTY_NO_MODIFY_PATH=1 |
Don't modify your shell PATH |
Supported platforms: macOS (Apple Silicon) and Linux (x86_64). For other platforms, build from source with cargo install trusty-installer.
Security: The installer is served over HTTPS and every downloaded binary is SHA-256 verified against its published checksum. The installer script itself is not signed — review it before running if you require higher assurance: https://github.com/bobmatnyc/trusty-tools/blob/main/install.sh
The easiest way to install individual trusty-* binaries via package manager. First, add the tap:
brew tap bobmatnyc/trustyThen install any of the six published binaries:
brew install trusty-search
brew install trusty-memory
brew install trusty-analyze
brew install trusty-review
brew install trusty-mpm
brew install trusty-git-analyticsOr combine into a single command:
brew install bobmatnyc/trusty/trusty-search \
bobmatnyc/trusty/trusty-memory \
bobmatnyc/trusty/trusty-analyze \
bobmatnyc/trusty/trusty-review \
bobmatnyc/trusty/trusty-mpm \
bobmatnyc/trusty/trusty-git-analyticsIf you prefer to build from the latest source or need a crate not distributed via Homebrew:
git clone https://github.com/bobmatnyc/trusty-tools
cd trusty-tools
# Build all crates
cargo build --release
# Run all tests
cargo test
# Install the CLI tools
cargo install --path crates/trusty-search --locked
# More tools available via: cargo install --path crates/<crate>cargo build # all crates, debug
cargo build --release # all crates, release/optimized
cargo test # all tests
cargo test -p <crate-name> # single crate tests
cargo check # fast compile check
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --check
cargo fmtSingle source of truth: This monorepo consolidates seven formerly separate repos. All 21 crates are co-located under crates/ with one workspace root and one Cargo.lock — no more [patch.crates-io] dances during active development.
MSRV: Rust 1.91+ (required by indirect aws-smithy-* dependencies)
License: MIT for all crates. See each crate's Cargo.toml for the authoritative license field.
Where to start:
- I want to search code: Read crates/trusty-search/README.md
- I want persistent memory: Read crates/trusty-memory/README.md
- I want the full platform: Read crates/trusty-agents/README.md