MoonshotAI / MoonshotAI/kimi-code
Distribute the native binary via a Homebrew cask (or official tap) instead of the Node-based core formula
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 1.2k
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 350
Description
Problem
#130 asked for Homebrew distribution, which was fulfilled by submitting an npm-based formula to homebrew-core. However, that formula declares depends_on "node" and therefore pulls in Node's entire dependency tree. On a machine without a Homebrew-managed Node, a fresh install looks like this:
==> Would install 25 dependencies for kimi-code:
fmt, ada-url, brotli, c-ares, hdrhistogram_c, icu4c@78, libffi, libnghttp2,
libnghttp3, ca-certificates, openssl@3, libngtcp2, libuv, llhttp, simdutf,
merve, nbytes, simdjson, readline, sqlite, uvwasi, lz4, xz, zstd, node
This is a heavy install for a single CLI tool — and ironically, #130's original motivation was avoiding Node version-manager friction, which a native-binary cask would solve more completely. The official install script already ships a single self-contained native binary (no Node.js required, checksum-verified); Homebrew users just can't get it that way.
Proposal
Since the project already publishes versioned, checksummed native binaries, they meet the requirements for a Homebrew cask (stable versioned URL + sha256 + livecheck). There is direct precedent: Claude Code is distributed as a cask (brew install --cask claude-code) wrapping Anthropic's signed native binary, with zero dependencies.
Either of these would solve it:
- Submit a cask to homebrew-cask wrapping the official native binary, and deprecate/migrate the current core formula. Because the
kimi-codetoken is already taken by the formula, Homebrew maintainers generally want this kind of formula→cask migration to be driven or endorsed by the upstream project — which is why I'm opening this here rather than on homebrew-core. - Maintain an official tap (e.g.
moonshotai/homebrew-tap) that publishes the native binary via CI on each release. This requires no coordination with homebrew-core at all and gives you full control over release timing.
Benefits
- Zero-dependency install for Homebrew users, matching the official install script
- Faster version availability (no homebrew-core review lag)
- Consistent behavior with
kimi upgrade(native-binary install source) - No duplicate Node runtime for users who already manage Node via other tools (nvm, bun, volta, etc.)
Happy to help draft the cask definition or the tap CI workflow if useful.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing Homebrew core formula, the official install script, and the versioned native binary release artifacts with their checksums. Decide whether the project should pursue a homebrew-cask migration or an official tap; done means Homebrew installs the native binary without Node dependencies and the current formula is migrated or deprecated.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100