ZAGROS

Project

Zagros architecture

Zagros is a keyboard launcher for Windows written in Go, inspired by Keypirinha by Jean-Charles Lefebvre. Single static binary, no CGO, native Win32 UI drawn with GDI.

Module: github.com/avestura/zagros (Go 1.26). Dependencies stay few: golang.org/x/sys/windows, go.starlark.net, github.com/BurntSushi/toml.

PackageRole
internal/coreItem, Provider, Action; catalog (query fan-out, fuzzy rank), frecency history, remembered picks (choices.go), config, data paths
internal/themeTOML themes, built-in Boxy themes, layout metrics
internal/extExtension package (.zagros zip): manifest, permissions, Starlark runtime, host API
internal/marketRegistry index + github:owner/repo installs, updates
internal/builtinBuilt-in providers: apps, Everything, calc, passwords, ...
internal/uiWin32 window, hotkey, tray, rendering, settings and permission dialogs
cmd/zagrosWiring and CLI (zagros ext install ..., zagros --config)

Shared contract: internal/core/types.go. Do not change it without updating every package that uses it.

Decisions live in docs/adr/, delivery tracking in docs/workstreams/.

Edit this page on GitHub