Files
zeekayandHanzo Dev ebbddecab4 hanzo: one install for the CLI and the client
Four npm names published the same idea -- hanzo (a 2020 placeholder with no
main, no bin and no deps), @hanzo/cli, @hanzo/ai, hanzoai -- and a reader had
to know which. The cost is not tidiness: a wrong guess installs a client that
does not carry the surface being called.

This is a front door and nothing else. `hanzo` re-exports the generated cloud
client, `hanzo/ai` re-exports the agents library, and the `hanzo` command execs
the Rust binary @hanzo/cli fetches. Nothing is vendored, nothing reimplemented;
each piece stays in the package that owns it and depending on those directly
still works.

The launcher execs the binary rather than @hanzo/cli's own launcher, so exactly
one process sits between the terminal and an interactive program -- a wrapper
that outlives its child owns that child's signals. A signalled child re-raises
rather than collapsing to an exit code.

Measured from a packed tarball, installed clean: `import * as h from 'hanzo'`
772 exports, `require('hanzo')` 770, `import * as a from 'hanzo/ai'` 36, and
`hanzo --version` prints 1.9.57 with one bin linked.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-20 09:54:14 -07:00

2 lines
27 B
JavaScript