Skip to main content
CLI Reference

travsr init

Install Git hooks and build the initial graph of the current repository.

Synopsis

travsr init [--semantic] [--force] [--jobs <N>] [--quiet] [--json]
[--no-connect] [--allow-unsandboxed-lsif]

Flags

FlagDefaultDescription
--semanticfalseRun semantic Phase B (call edges) synchronously before returning. By default Phase B runs in the background via the daemon. Use in CI or scripts that query call edges immediately after init.
--jobs <N>CPU coresNumber of parallel parse workers
--quiet, -qfalseSuppress progress output and post-index tips
--jsonfalseEmit machine-readable JSON (summary on stdout, progress on stderr)
--force, --rebuildfalseForce a full rebuild, bypassing the incremental "already up to date" skip. Re-parses every file even when nothing changed on disk. Use it after changing a flag that affects semantic output, which per-file change detection does not pick up on its own
--no-connectfalseSkip auto-detecting AI coding tools and wiring them to Travsr. See travsr connect
--allow-unsandboxed-lsiffalseLet rust-analyzer run without OS sandboxing (bubblewrap on Linux, sandbox-exec on macOS) on hosts that have none. Without it, Rust falls back to structural analysis only on such hosts. Set it only for repositories you fully trust, since Phase B executes the repo's own build configuration

What it does

  1. Creates .travsr/ in the repository root and registers the repository.
  2. Installs hooks for post-commit, post-merge, and post-checkout.
  3. Builds the structural index and writes the graph to .travsr/graph.db.
  4. In an interactive terminal, starts the daemon, which watches saves and runs semantic analysis in the background. Noninteractive initialization does not start it automatically. Use --semantic when a script needs semantic analysis before the command returns.
  5. Detects installed coding tools, configures project MCP settings where supported, and prints any remaining setup, unless you pass --no-connect. Agent rules are opt-in through travsr connect --rules.

Check progress

cd my-project
travsr init
travsr status

If the daemon is not running, start it with travsr daemon start from the repository.

Notes

  • Running travsr init again is safe: it re-installs the hook and re-indexes the repository over the existing .travsr/ directory.
  • The git hook is a thin shell wrapper; it calls travsr hook-run --from-hook and exits immediately. It does not block the commit.
  • Add .travsr/graph.db to .gitignore if you don't want to commit the graph to the repository.