Homebrew installs of ksail come with shell completions

Open Beginner friendly
#7,847 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@devantler is already working on this.

Since Nov 3, 2026.

  • #8162 by @devantler — open

Assessment

Difficulty
2/5
Estimated time
Half a day
Newbie friendliness
86/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
bash, fish, go, yaml, zsh

Research direction

Start with the ksail cask entry in .goreleaser.yaml and the generated Casks/ksail.rb from the evergreen goreleaser/ksail PR. Verify completion generation with brew audit --strict --online, brew readall --os=all --arch=all devantler-tech/tap, and a fresh Homebrew install where ksail <TAB> completes subcommands. Update the README and KSail site install page to document that Homebrew installs include completions.

Written by the indexing model from the issue text.

Description

🤖 Generated by the Agentic Engineer

Audience and outcome

Homebrew users should get Bash, zsh and fish completions with the KSail CLI cask, using Homebrew's standard completion setup. The desktop cask and the existing refusal of unsupported macOS Intel installations remain unchanged.

Current evidence and delivery decision

KSail already exposes Cobra's completion command, but the published v7.206.75 cask contains no completion artifacts. This is expected tool parity, not a measured customer complaint.

The original proposal generated completions by executing KSail during installation. GoReleaser also supports a homebrew_casks.completions mapping for files included in the release archive. Prefer that supported release-generated-file route: generate the three scripts from the exact release source, package and checksum them with the CLI, and let Homebrew install them without running KSail at installation time. Do not hand-edit the generated tap cask or weaken quarantine, signatures or platform admission.

Acceptance

  • The owning release configuration generates and packages the real Bash, zsh and fish scripts; the generated CLI cask declares their paths. Test the actual generation and packaging, including missing or failed generation, rather than checking only YAML text.
  • The normal generated tap PR passes strict online audit and style, with no hand edit. Desktop packaging is unchanged.
  • The tap loads on every supported OS and architecture using brew readall --os=all --arch=all; unsupported macOS Intel still refuses installation before completion work can run.
  • After protected delivery and cask merge, a fresh macOS installation makes ksail <TAB> complete subcommands in zsh without profile changes beyond standard Homebrew setup. A disposable native runner is suitable; do not replace the maintainer's live host installation to obtain this proof.
  • README and the site's installation page explain that Homebrew installs include completions, and manual-install users retain a clear setup path.

Planning

Priority: Medium. This removes a concrete first-use friction point while urgent CI recovery remains ahead of it. Effort: Medium end to end, including owned generation, packaging, native Homebrew validation, publication and the actual completion trial. No invented deadline. The release-generated-file decision supersedes the original install-time-generation hypothesis; the user outcome and platform/refusal gates are preserved.

Reference: GoReleaser Homebrew casks.

Dominant language
Go
Stars
166
Forks
13
Avg merge
7h 4m
Merged PRs (30d)
388

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from devantler-tech/ksail

All issues in devantler-tech/ksail

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.