Hi all,

I maintain the claude-code package [1] on AUR along with ticpu.

Claude Code is not an open source project. For most of the project's
lifespan, it has been distributed only as an npm package [2], which
contains only minified javascript. Recently, a "binary" version was
released which appears to use the same code as released on npm, but
bundled into a standalone executable using `bun build --compile` [3].
The official docs [4] now seem to prefer installing the standalone
binary, though the option to install through npm is still available.

I recently switched the package to use the distributed bun binary,
rather than the minified npm package, since this seems to now be the
installation method preferred by upstream. However, this raises an
interesting question - should the package now be called "claude-code-
bin" instead of "claude-code"?

The logic here is that the "-bin" suffix should be used if a source-
based package is available. In this case, the npm package would be
such a "source-based" package. I personally find this argument
uncompelling, as minified code doesn't really seem comparable to
actual source code. The npm package and the distributed binary have
essentially the same visibility into the underlying code that is being
run - you could use `strings` or other methods to extract the minified
code from the binary version.

There's a second argument which is more compelling to me, that some
users may prefer the npm-based installation, so it would be useful to
have two different AUR packages. In this case, the new binary-based
package could be called "claude-code-bin", and the previous npm-based
package could be just "claude-code". (Of course, other naming schemes
could be used, e.g. "claude-code" and "claude-code-npm".) Personally, I
don't see great value in having two separate packages and the
opportunity for user disruption seems high, but I'd love to hear
people's opinions on this.

This boils down to two questions:
1. Is it _against the package naming rules_ to call this package "claude-
   code" rather than "claude-code-bin"?
2. Do people think that this package _should_ be split into separate
   packages for the two installation methods, and if so, what should the
   packages be called?

Thanks for your consideration,
Christopher

[1]: https://aur.archlinux.org/packages/claude-code
[2]: https://www.npmjs.com/package/@anthropic-ai/claude-code
[3]: https://bun.com/docs/bundler/executables
[4]: https://code.claude.com/docs/en/overview

Reply via email to