Web viewer for engram — a persistent memory system for AI coding agents.
Reads engram's data through its public HTTP REST API. Decoupled from engram's internal schema.
brew install notfoundsn/tap/engram-uigo install github.com/NotFoundSN/engram-ui/cmd/engram-ui@latestDownload the binary for your platform from the Releases page:
| Platform | Archive |
|---|---|
| macOS amd64 | engram-ui_{version}_darwin_amd64.tar.gz |
| macOS arm64 (Apple Silicon) | engram-ui_{version}_darwin_arm64.tar.gz |
| Linux amd64 | engram-ui_{version}_linux_amd64.tar.gz |
| Linux arm64 | engram-ui_{version}_linux_arm64.tar.gz |
| Windows amd64 | engram-ui_{version}_windows_amd64.zip |
| Windows arm64 | engram-ui_{version}_windows_arm64.zip |
Extract and place the binary somewhere on your PATH.
macOS — Gatekeeper warning: the first time you run engram-ui, macOS may block it with an "unidentified developer" warning. Right-click the binary → Open → Open anyway. Alternatively, use go install or Homebrew which handles signing automatically.
Windows — AV false positives: some antivirus tools flag unsigned Go binaries. If blocked, use go install (builds locally so the binary is trusted). The source is fully open.
Linux — non-systemd distros: engram-ui setup os-autostart writes a systemd user unit. The systemctl --user enable invocation will fail on Alpine, Void, or other non-systemd distros, but the unit file is still written (failure is non-fatal). Enable using your init system's mechanism manually.
engram-ui [serve] [flags] start the web UI (default)
engram-ui setup <target> install skills or configure OS autostart
engram-ui version print version and exit
engram-ui help print help
--engram=<url> engram REST API base URL (default: http://localhost:7437)
--listen=<addr> address engram-ui listens on (default: :7438)
--no-spawn fail instead of auto-spawning 'engram serve'
| Target | What it does | Destination |
|---|---|---|
claude-code |
Copies the engram-conventions skill into Claude Code's skills directory | ~/.claude/skills/engram-conventions/ |
opencode |
Copies the engram-conventions skill into OpenCode's config directory | ~/.config/opencode/skills/engram-conventions/ |
os-autostart |
Registers engram-ui as an OS-level autostart entry | Windows: %APPDATA%\...\Startup\engram-ui.batmacOS: ~/Library/LaunchAgents/com.notfoundsn.engram-ui.plistLinux: ~/.config/systemd/user/engram-ui.service |
remove-autostart |
Removes the OS autostart entry | Same paths as above |
All setup subcommands are idempotent — safe to run more than once.
The release workflow (.github/workflows/release.yml) requires two secrets configured on the repository:
GITHUB_TOKEN— automatically provided by GitHub Actions (no setup needed).HOMEBREW_TAP_TOKEN— a Personal Access Token withreposcope on theNotFoundSN/homebrew-taprepository. Create at GitHub → Settings → Developer settings → Personal access tokens.
-
Go 1.25+
-
engramonPATH -
templfor template generation:go install github.com/a-h/templ/cmd/templ@latest
templ generate # compile .templ → _templ.go
go run ./cmd/engram-uiOn startup, engram-ui serve:
- Pings the
--listenaddress/healthz— exits cleanly if already running. - Pings
--engramhealth endpoint. - If engram is reachable → connects.
- If not → spawns
engram serveas a child process and waits for health. - On shutdown, terminates the spawned process (only if we spawned it).
cmd/engram-ui/ # binary entrypoint (thin — delegates to internal/cli)
internal/
cli/ # Dispatch + subcommand handlers
installer/ # skill copy + OS autostart
skills/
engram-conventions/ # skill payload (embedded into binary at build time)
client/ # HTTP client → engram REST
server/ # chi router + handlers
views/ # templ templates
Note for contributors: the engram-conventions skill source lives at
internal/installer/skills/engram-conventions/(moved from the repo root in v3). Edit skill content there — it is embedded into the binary at build time via//go:embed.
MIT