Files
sherlock/docs/installation.md
T
amacocian a0071f147b
CI / build (push) Failing after 1s
Add support for completions
2026-06-13 12:58:11 +02:00

2.4 KiB

Installation

Sherlock installs from a clone of this repo with a single script.

Quick start

git clone https://gitea.alexandru.macocian.me/Charlie/sherlock.git
cd sherlock
./install.sh

The script:

  1. Seeds the config. Copies config.example.toml to your config path (~/.config/sherlock/config.toml by default) — but only if you don't already have one, so re-runs never clobber filled-in values.
  2. Opens it in your editor ($VISUAL / $EDITOR, falling back to nano/vi) so you can fill in the Authentik issuer/client IDs and each service's base URL. See configuration.md for the schema.
  3. Builds and installs sherlock and every MCP binary (gitea-mcp, grafana-mcp, gssh-mcp) with go install ./cmd/... once you save and close the editor.
  4. Installs shell completions where it can — currently a fish completion into ~/.config/fish/completions/sherlock.fish, but only if you already have a fish config directory (it won't create one for non-fish users).

Then:

sherlock copilot

Requirements

  • The Go toolchain on PATH (the script builds from source).
  • An OS keyring / Secret Service provider (the wallet lives there; see storage.md).
  • The install dir (go env GOBIN, else $(go env GOPATH)/bin) on your PATH — this is standard Go setup. The script notes the dir if it isn't already on PATH, but adding it is the usual one-time Go step (e.g. fish_add_path -U ~/go/bin on fish, or an export PATH line in ~/.bashrc/~/.zshrc).

Flags

Flag Effect
-y, --yes Skip the editor step (config is already filled in).
--config-only Seed/edit the config but don't build or install.
-h, --help Show usage.

Env overrides

Variable Effect
SHERLOCK_CONFIG Exact config path to write (else $XDG_CONFIG_HOME / ~/.config).
VISUAL / EDITOR Editor to open.

Re-running

./install.sh is safe to re-run: it edits your existing config in place (never overwriting it) and re-installs the binaries. Use -y to skip the editor when you only want to rebuild, or --config-only to tweak the config without reinstalling.

To point sherlock at a different deployment, edit the values in your config.toml — there are no compiled-in defaults, so nothing is baked into the binaries. See configuration.md.