-
Notifications
You must be signed in to change notification settings - Fork 3
feat: replace commander with @takojs/tako #48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Hi @yusukebe @usualoma @ysknsid25 |
|
Hello @kitaharata, thank you for your working. I have a question. What are the advantages of using tako over the risk of making breaking changes to existing code? As far as I can think of,
I think you must proof these 3 points at least. Moreover, yusukebe said,
in #42 . At this moment, I thought it would be best to first raise awareness of tako and get it closer to commander.js in terms of GitHub stars, npm downloads, etc. |
|
Hello @ysknsid25, thank you for your comment and feedback. First, regarding the question "What are the advantages of using tako over the risk of making breaking changes to existing code?", please refer to motivation.md for the background and reasoning. Smaller than According to Bundlephobia, commander.js and other similar libraries such as citty have significantly larger bundle sizes compared to tako.
Faster than To make a fair and objective comparison, we need to prepare proper benchmark tests for CLI frameworks, so please wait until those benchmarks are ready. Better quality than This is difficult to compare directly because the testing approaches differ fundamentally. This is Tako’s test script (there are still many examples/tests that haven’t been committed yet): node scripts/test.js
deno -R scripts/test.js
bun scripts/test.jsAt the very least, Hono CLI already runs tests, build checks, linting, and formatting checks, so the basic quality assurance workflow is in place. |
|
I think tako is quite new and unstable. |
|
Hi @kitaharata, thank you for your tremendous effort. Commander is a well-established library, and functionally, this project (honojs/cli) currently has no issues with Commander. Certainly, there are better libraries compared to Commander, but if we were to replace it (especially with one that hasn't been used yet), I believe there needs to be a sufficiently large corresponding benefit for both developers and users. For example (and this is purely hypothetical—please don't rush into action based on this sentence), if replacing the library would enable “extremely easy support for shell completion,” that kind of major benefit would make it worth considering. Currently, I don't believe “smaller bundle size” or “faster speed” represent significant advantages for honojs/cli. |
|
Hello everyone, thank you for the insightful discussion and the suggestions. First of all, I would like to move this PR back to draft status. I have been thinking about the future direction for a while, and I still believe that Tako has strong potential, so I plan to continue developing it. Since automatic context generation for AI is one of Tako’s core features, I would also like to add functionality in the future that would make shell completion extremely easy to support (though this will require understanding many different shells). Based on these recent developments, I intend to keep improving the Hono CLI and continue committing to this fork. Thank you again for your effort and for initiating this discussion. |
Last Modified: 2025-11-26
Hello Hono contributors,
This PR replaces
commanderwith@takojs/tako.https://takojs.github.io/
Although Issue #42 was already closed, this change addresses the original problem.
As yusukebe said:
As a result of this work, the CLI now uses
@takojs/tako.Terminal commands used during migration