Thank you for improving tmux-attach-browser.
- Confirm tmux itself works with
tmux -Vandtmux list-sessions. - Search existing issues for the same behavior.
- Include the operating system, terminal, tmux version, and
tab --versionoutput in bug reports.
The project requires Go 1.25 or newer and tmux for the real smoke test.
git clone https://github.com/hmmhmmhm/tmux-attach-browser.git
cd tmux-attach-browser
go mod download
go test ./...Write a failing test before changing behavior. Keep tmux command execution in internal/tmux, Bubble Tea state in internal/ui, and CLI orchestration in internal/app.
Keep every tracked, hand-written .go, .sh, .ps1, .yml, and .yaml file at or below 450 lines. This includes tests and workflow configuration. Documentation, dist, vendored code, Go files with the standard Code generated ... DO NOT EDIT. header, and binary assets are excluded. Split a file by responsibility before it exceeds the limit.
Run all checks before opening a pull request:
test -z "$(gofmt -l .)"
go vet ./...
go test -race ./...
go build ./cmd/tab
sh scripts/check-source-lines.sh
sh scripts/test-source-lines.sh
sh scripts/test-install.sh
sh scripts/tmux-smoke.sh
sh scripts/tab-binary-smoke.sh
go run golang.org/x/vuln/cmd/govulncheck@v1.6.0 ./...
go run github.com/rhysd/actionlint/cmd/actionlint@v1.7.12
shellcheck install.sh scripts/*.shPull requests should be small, explain user-visible behavior, and include tests. Do not include generated dist artifacts.
Use a short imperative subject, for example:
feat: add session sorting option
fix: retain sessions after refresh failure
docs: clarify WSL installation
Do not open public issues for vulnerabilities. Follow SECURITY.md.