vestige/docs/CONFIGURATION.md
Sam Valladares d4313df759
Some checks are pending
CI / Test (macos-latest) (push) Waiting to run
CI / Test (ubuntu-latest) (push) Waiting to run
CI / Release Build (aarch64-apple-darwin) (push) Blocked by required conditions
CI / Release Build (x86_64-unknown-linux-gnu) (push) Blocked by required conditions
CI / Release Build (x86_64-apple-darwin) (push) Blocked by required conditions
Test Suite / Unit Tests (push) Waiting to run
Test Suite / MCP E2E Tests (push) Waiting to run
Test Suite / User Journey Tests (push) Blocked by required conditions
Test Suite / Dashboard Build (push) Waiting to run
Test Suite / Code Coverage (push) Waiting to run
Release v2.1.0
2026-04-27 13:20:51 -05:00

4.4 KiB

Configuration Reference

Environment variables, CLI commands, and setup options


First-Run Network Requirement

Vestige downloads the Nomic Embed Text v1.5 model (~130MB) from Hugging Face on first use.

All subsequent runs are fully offline.

Model Cache Location

The embedding model is cached in platform-specific directories:

Platform Cache Location
macOS ~/Library/Caches/com.vestige.core/fastembed
Linux ~/.cache/vestige/fastembed
Windows %LOCALAPPDATA%\vestige\cache\fastembed

Override with environment variable:

export FASTEMBED_CACHE_PATH="/custom/path"

Environment Variables

Variable Default Description
VESTIGE_DATA_DIR OS per-user data directory Storage directory fallback; overridden by --data-dir; database lives at <dir>/vestige.db
RUST_LOG info (via tracing-subscriber) Log verbosity + per-module filtering
FASTEMBED_CACHE_PATH ./.fastembed_cache Embedding model cache location
VESTIGE_DASHBOARD_PORT 3927 Dashboard HTTP + WebSocket port
VESTIGE_HTTP_PORT 3928 Optional MCP-over-HTTP port
VESTIGE_HTTP_BIND 127.0.0.1 HTTP bind address
VESTIGE_AUTH_TOKEN auto-generated Dashboard + MCP HTTP bearer auth
VESTIGE_DASHBOARD_ENABLED false Set true or 1 to enable the web dashboard
VESTIGE_CONSOLIDATION_INTERVAL_HOURS 6 FSRS-6 decay cycle cadence

Storage location precedence: --data-dir <path> wins over VESTIGE_DATA_DIR; if neither is set, Vestige uses your OS's per-user data directory: ~/Library/Application Support/com.vestige.core/ on macOS, ~/.local/share/vestige/core/ on Linux, %APPDATA%\vestige\core\ on Windows. Custom paths are directories, are created if missing, expand a leading ~, and store the database at <dir>/vestige.db.


Command-Line Options

vestige-mcp --data-dir /custom/path   # Custom storage location
VESTIGE_DATA_DIR=~/.vestige vestige-mcp # Env fallback storage location
vestige-mcp --help                     # Show all options

CLI Commands (v1.1+)

Stats and maintenance were moved from MCP to CLI to minimize context window usage:

vestige stats              # Memory statistics
vestige stats --tagging    # Retention distribution
vestige stats --states     # Cognitive state distribution
vestige health             # System health check
vestige consolidate        # Run memory maintenance
vestige restore <file>     # Restore from backup

Client Configuration

Codex (One-liner)

codex mcp add vestige -- /usr/local/bin/vestige-mcp

Codex (Manual)

Add to ~/.codex/config.toml:

[mcp_servers.vestige]
command = "/usr/local/bin/vestige-mcp"

Claude Code (One-liner)

claude mcp add vestige vestige-mcp -s user

Claude Code (Manual)

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "vestige": {
      "command": "vestige-mcp"
    }
  }
}

Claude Desktop (macOS)

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "vestige": {
      "command": "vestige-mcp"
    }
  }
}

Claude Desktop (Windows)

Add to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "vestige": {
      "command": "vestige-mcp"
    }
  }
}

Custom Data Directory

For per-project or custom storage:

{
  "mcpServers": {
    "vestige": {
      "command": "vestige-mcp",
      "args": ["--data-dir", "/path/to/custom/dir"]
    }
  }
}

For a shell-level default:

export VESTIGE_DATA_DIR="/path/to/custom/dir"

--data-dir takes precedence over VESTIGE_DATA_DIR, so you can keep a global env default and still isolate one client or project with an explicit CLI argument.

See Storage Modes for more options.


Updating Vestige

Latest version:

cd vestige
git pull
cargo build --release
sudo cp target/release/vestige-mcp /usr/local/bin/

Pin to specific version:

git checkout v1.1.2
cargo build --release

Check your version:

vestige-mcp --version

Development

# Run tests
cargo test --all-features

# Run with logging
RUST_LOG=debug cargo run --release

# Build optimized binary
cargo build --release --all-features