-
-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
Synaptic is a single static Rust binary named synaptic. There is no runtime or
interpreter to install alongside it.
- A stable Rust toolchain. The repo pins Rust 1.95 via
rust-toolchain.toml, so arustup-managed environment will select it automatically. - Git, if you plan to use the PR dashboard, git hooks, or git-based workspace members.
# Install the `synaptic` binary onto your PATH:
cargo install --path bin/synaptic
# ...or build it in-tree:
cargo build --release # -> target/release/synapticTagged releases attach prebuilt binaries for Linux (x86_64), macOS (x86_64 and
aarch64), and Windows (x86_64) to the GitHub Releases page. Each
archive bundles the synaptic binary plus the README, LICENSE, and CHANGELOG.
Once installed, update in place with:
synaptic self-updateThis checks the latest GitHub Release, and if it is newer, prompts you
before downloading the prebuilt archive for your platform, verifying its checksum, and
replacing the running binary (and its syn alias). Updating is opt-in — Synaptic never
checks or replaces itself on its own. To get a once-a-day "update available" reminder on
ordinary commands, opt in with synaptic self-update --enable (off by default, throttled,
and printed only to stderr).
A cargo install / source build can self-update too, but the swap installs the
default-feature prebuilt binary; rebuild from source if you depend on extra features. See
Updating for the full walkthrough and self-update for
the flag reference.
Several integrations are gated behind Cargo features and are off by default, so the default build stays small and dependency-light. Enable the ones you need at build time:
| Feature | Enables |
|---|---|
pg |
synaptic ingest pg (live Postgres schema introspection) |
push |
synaptic export neo4j|falkordb --push <uri> (live database export) |
office |
synaptic ingest office (spreadsheet ingest) |
gws |
synaptic ingest gws (Google-Workspace ingest) |
media |
synaptic ingest media (audio/video transcription, also YouTube URL ingest) |
# Example: build with Postgres ingest and live database push:
cargo install --path bin/synaptic --features pg,pushIf you run a feature-gated subcommand on a build that lacks the feature, Synaptic prints a clear error telling you which feature to rebuild with. See Ingestion and Output Formats for what each feature unlocks.
All language extractors are compiled into the default build (38 lang-* features on by
default). You do not need to enable anything per language to extract a mixed-language repo.
See Languages for the full list and Development for building a
single language in isolation.
synaptic --help
synaptic extract .The first extract writes a synaptic-out/ directory next to your code. See
Quickstart next.
Getting started
Concepts
Using Synaptic
- Commands
- Extraction
- Querying
- Cross-Language Edges
- SQL Auditing
- Analysis and Reports
- Output Formats
- Visualizations
Integrations
Scaling
Reference