Run this checklist before tagging a public zeshion release.
go test ./...
go test -race ./...
go vet ./...
go build -o /tmp/zeshion .
/tmp/zeshion --version
/tmp/zeshion --help/tmp/zeshion completion zsh >/tmp/zeshion.zsh
/tmp/zeshion completion bash >/tmp/zeshion.bash
/tmp/zeshion completion fish >/tmp/zeshion.fish
/tmp/zeshion man >/tmp/zeshion.1Confirm each generated file names zeshion, not an old pre-release name.
Check explicit config:
/tmp/zeshion --config ~/.config/zeshion/zeshion.toml listCheck fallback order manually when those files exist:
~/.config/zeshion/zeshion.toml~/.config/zesh/zesh.toml~/.config/sesh/sesh.toml
From outside tmux:
/tmp/zeshion --multiplexer tmux list --tmux
/tmp/zeshion --multiplexer tmux connect <tmux-session>From inside tmux:
/tmp/zeshion --multiplexer tmux picker --tmux
/tmp/zeshion --multiplexer tmux last
/tmp/zeshion --multiplexer tmux windowExpected behavior:
- Outside tmux, selecting an existing tmux session attaches to it.
- Inside tmux, selecting an existing tmux session switches the client.
windowtargets tmux windows.
From outside Zellij in a normal terminal:
/tmp/zeshion --multiplexer zellij list --zellij
/tmp/zeshion --multiplexer zellij picker --zellijSelect an existing Zellij session in the picker. It should open the Zellij UI in the current terminal.
From inside Zellij:
/tmp/zeshion --multiplexer zellij picker --zellij
/tmp/zeshion --multiplexer zellij last
/tmp/zeshion --multiplexer zellij windowExpected behavior:
- Outside Zellij, selecting an existing Zellij session attaches to it in the current terminal.
- Inside Zellij, selecting an existing Zellij session switches the active session.
windowtargets Zellij tabs.
/tmp/zeshion picker --tmux
/tmp/zeshion picker --zellij
/tmp/zeshion picker --config
/tmp/zeshion picker --zoxide
/tmp/zeshion picker --config --zoxide --hide-duplicatesConfirm source filtering works and picker selection connects to the expected session or directory.
Confirm the binary is named zeshion:
command -v zeshion
zeshion --versionConfirm old local names do not appear in generated public artifacts except documented migration paths:
rg -n "zesh\\b|Zesh\\b" README.md docs zeshion.schema.json .github justfile