Skip to main content

Installation

Travsr ships as a single binary. Pick the method that fits your setup.

Requires Node.js ≥ 18.

npm install -g @travsr.com/travsr

Verify:

travsr --version

To update:

npm update -g @travsr.com/travsr

curl (install script)

Downloads, verifies, and installs the right binary for your platform in one step:

curl -fsSL https://travsr.com/install.sh | sh

By default this installs to $HOME/.local/bin. A piped script can't take flags directly, so forward them with sh -s --:

# Install to /usr/local/bin instead (escalates with sudo unless already root)
curl -fsSL https://travsr.com/install.sh | sh -s -- --system

# Install a specific release instead of latest stable
curl -fsSL https://travsr.com/install.sh | sh -s -- --version v1.0.0-beta.2

# Just print the detected target triple, no network access
curl -fsSL https://travsr.com/install.sh | sh -s -- --print-target

Set TRAVSR_INSTALL_DIR to override the default install directory.

Verify:

travsr --version

Pre-built binary

Download the latest release from GitHub directly:

# macOS (Apple Silicon)
curl -L https://github.com/Travsr-com/travsr/releases/latest/download/travsr-aarch64-apple-darwin.tar.gz | tar xz
sudo mv travsr /usr/local/bin/

# macOS (Intel)
curl -L https://github.com/Travsr-com/travsr/releases/latest/download/travsr-x86_64-apple-darwin.tar.gz | tar xz
sudo mv travsr /usr/local/bin/

# Linux (x86_64)
curl -L https://github.com/Travsr-com/travsr/releases/latest/download/travsr-x86_64-unknown-linux-musl.tar.gz | tar xz
sudo mv travsr /usr/local/bin/

# Linux (ARM64)
curl -L https://github.com/Travsr-com/travsr/releases/latest/download/travsr-aarch64-unknown-linux-musl.tar.gz | tar xz
sudo mv travsr /usr/local/bin/

Binaries are statically linked (musl on Linux) and have no runtime dependencies.


Build from source

Requires Rust ≥ 1.78 (edition 2021).

git clone https://github.com/Travsr-com/travsr.git
cd travsr
cargo build --release --bin travsr
sudo cp target/release/travsr /usr/local/bin/

For development (faster incremental builds):

cargo install --path crates/travsr-cli

Language packages

Travsr has two analysis layers:

  • Structural analysis is built into the core binary. It parses your code with Tree-sitter and gives you class, function, method, and import nodes for every supported language. It is always on and needs no extra install.
  • Semantic analysis adds deep call edges, type resolution, and cross-module references via external LSIF/SCIP tools. It is opt-in per language and per repository.

Rust, TypeScript, JavaScript, and Python have semantic analysis built into the core binary and run automatically. More languages install as separate packages:

# See what languages are in your repo
travsr lang detect

# Install a specific language tool
travsr lang install go
travsr lang install ruby
travsr lang install php
travsr lang install cpp
travsr lang install c
travsr lang install swift
travsr lang install objectivec # macOS only (libclang-based)
travsr lang install dart

# JVM and .NET languages need network access to fetch build dependencies.
# travsr lang install will prompt for approval interactively.
travsr lang install java
travsr lang install kotlin
travsr lang install csharp
travsr lang install scala
LanguagePackageSandboxUnderlying tool
TypeScript / JavaScriptbuilt-inStandardtravsr-lsif-ts (optional upgrade)
Rustbuilt-inStandardrust-analyzer (optional upgrade)
Pythonbuilt-inStandardtravsr-lsif-py (optional upgrade)
Go@travsr-plugin/goStandardscip-go
Ruby@travsr-plugin/rubyStandardscip-ruby
PHP@travsr-plugin/phpStandardscip-php
Swift@travsr-plugin/swiftStandardtravsr-swift-index-emitter
Objective-C@travsr-plugin/objectivecStandard (macOS only)travsr-lang-objectivec
C++@travsr-plugin/cppNative IPCscip-clang
C@travsr-plugin/cNative IPCscip-clang
Dart@travsr-plugin/dartNative IPCtravsr-dart-index-emitter
Java@travsr-plugin/javaElevatedscip-java
Kotlin@travsr-plugin/kotlinElevatedkotlin-language-server
C#@travsr-plugin/csharpElevatedscip-dotnet
Scala@travsr-plugin/scalaElevatedsbt

The Package column is historical. npm install -g @travsr-plugin/<lang> is no longer an install path; travsr lang install is the only one, and it fetches the analyzer into ~/.travsr/bin/.

TypeScript, JavaScript, Rust, and Python have a native Phase B compiled into the daemon, so they index call edges with nothing installed. The tool named for them above is an upgrade rather than a requirement, and travsr lang list reports the language as active either way.

Trust model

Language tools run in a sandboxed subprocess. There are three sandbox classes:

  • Standard (TypeScript, JavaScript, Rust, Python, Go, Ruby, PHP, Swift, Objective-C): no network access and no dependency downloads.
  • Native IPC (C, C++, Dart): no network access either, but the analyzer's parallel workers need POSIX message queues and shared memory. macOS has no Seatbelt rule that permits those, so on macOS these run under resource limits instead of sandbox-exec. No approval is required.
  • Elevated (Java, Kotlin, C#, Scala): the build tool (Maven, Gradle, NuGet, sbt) downloads dependencies at analysis time. That access is granted automatically for local use, so installing one of these needs no approval step.

Earlier versions gated the elevated languages behind an approval recorded per user: an approver's GitHub handle, a justification, and a host allowlist, entered interactively or written by travsr lang approve. That gate and the command are both gone. The runtime isolation policy is unchanged; only the human approval moment was removed. On Linux the analyzer still runs under bubblewrap filesystem confinement.

On Windows, Java and Scala cannot run inside the isolation layer at all, because their build tools fork workers that fail in it. They are skipped there unless you grant permission with travsr lang allow-unsandboxed. macOS and Linux are unaffected.

For CI or scripting, skip the prompts:

travsr lang install java --no-interactive

Supported platforms

Platformnpmbinary
macOS arm64 (Apple Silicon)
macOS x86_64 (Intel)
Linux x86_64
Linux ARM64
Windows x86_64

VS Code extension

Install via the command palette (Ctrl+P / Cmd+P):

ext install travsr.travsr-vscode

Or from the VS Code Marketplace or Open VSX (VSCodium and compatible editors).

The extension auto-detects whether the travsr binary is present and offers to install it for you.