AGENTS.md@opt/bin · diff
git:20260721.f829837 to git:20260721.0611c49
1 added, 1 removed. Audit A to A.
# Local Binaries (opt/bin)
This directory is reserved for compiled binaries and local executable artifacts. It is ignored by Git to prevent repository pollution.
## Binaries
These tools are built from source (typically in `src/`) and deposited here during installation or updates:
- `gss`: Git Safe Sync.
- `tmux-mgr`: Tmux Management tool.
- `wol`: Wake-on-LAN utility.
- `discuss`: Communication tool.
- `vault`: HashiCorp Vault binary.
- `git-sizer`: Git repository analyzer.
- - `docker` / `docker-compose`: **Committed WSL shims, not binaries.** Real executables so non-interactive shells (make, scripts) resolve a working docker — the `.bash_aliases` docker.exe fallback is an alias and only exists interactively. Resolution order: Docker Desktop's WSL-integration Linux CLI → any other real docker on PATH → `docker.exe` over interop (with its credential helper dir appended to PATH). `docker-compose` delegates to `docker compose` (v2).
+ - `docker` / `docker-compose`: **Committed cross-platform shims, not binaries.** Real executables so non-interactive shells (make, scripts) resolve a working docker — the `.bash_aliases` docker.exe fallback is an alias and only exists interactively. Resolution order: Docker Desktop's WSL-integration Linux CLI (self-gating: mount only exists on WSL) → any other real docker on PATH via `type -aP` (the whole story on macOS / plain Linux / Raspberry Pi) → `docker.exe` over interop (self-gating: binfmt files only exist on WSL; credential helper dir appended to PATH). The failure message is platform-aware: WSL gets the Desktop/interop advice, everything else gets "install Docker Engine". `docker-compose` delegates to `docker compose` (v2).
- `docker-credential-desktop.exe`: **Committed WSL shim.** Docker Desktop's integration writes `credsStore: "desktop.exe"` into `~/.docker/config.json` on every init and symlinks `/usr/bin/docker-credential-desktop.exe` into the `/Docker/host/bin` mount — which never appears on some machines, so every build/pull dies with "error getting credentials". This wrapper (ahead of `/usr/bin` on PATH) forwards the credential-helper protocol to the real Windows helper over interop.
## Usage
This directory should be in your `$PATH`. It is populated by the `./install.sh` script or individual project build scripts.