Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduce Hono CLI
Search
Yusuke Wada
October 18, 2025
Programming
6
3.7k
Introduce Hono CLI
Hono Conference 2025
Oct 18, 2025
Yusuke Wada
October 18, 2025
Tweet
Share
More Decks by Yusuke Wada
See All by Yusuke Wada
Cap'n Webについて
yusukebe
0
160
OSS開発者の憂鬱
yusukebe
16
16k
r2-image-worker
yusukebe
1
200
私はどうやって技術力を上げたのか
yusukebe
46
21k
Reactをクライアントで使わない
yusukebe
8
6.9k
AI時代のUIはどこへ行く?
yusukebe
23
12k
速いWebフレームワークを作る
yusukebe
5
1.9k
Honoアップデート 2025年夏
yusukebe
1
1.1k
パスタの技術
yusukebe
1
740
Other Decks in Programming
See All in Programming
マスタデータ問題、マイクロサービスでどう解くか
kts
0
170
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
210
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
170
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
チームをチームにするEM
hitode909
0
430
GoLab2025 Recap
kuro_kurorrr
0
790
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.2k
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
880
Deno Tunnel を使ってみた話
kamekyame
0
300
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
32
BBQ
matthewcrist
89
9.9k
My Coaching Mixtape
mlcsv
0
19
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
75
Between Models and Reality
mayunak
1
150
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
96
How to make the Groovebox
asonas
2
1.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
110
Skip the Path - Find Your Career Trail
mkilby
0
29
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Utilizing Notion as your number one productivity tool
mfonobong
2
190
Transcript
One More Thing
We invent many things Supporting mutilplaform RPC with Types Server-side
JSX HonoX 5 Routers Many Middleware Many Helpers Built with Web Standards
Go with Idea and implementation
Today we (I and @usualoma) will ship
Hono CLI
NOT create-* NOT a command for dev&build&deploy NOT a just
wrapper of Vite
Completely new concept
CLI for Human and AI
$ hono –help
Sub commands
$ hono docs
$ hono docs [path]
$ hono docs /docs/api/routing
Wait! Only this??
Yes But for AI
Display docs with Markdown
$ hono search
$ hono search <query>
$ hono search middleware
Display docs with JSON
AI can search and read docs
$ hono search “basic auth” $ hono docs \ /docs/middleware/builtin/basic-auth
/docs/middleware/builtin/basic-auth
Next
$ hono request
$ hono request [file]
$ hono request src/index.ts
Please imagine app.request()
const res = await app.request(‘/’) GET / Response You don't
need run an actual server!
const res = await app.request(‘/’) $ hono request src/index.ts
Display the response with JSON
$ hono request \ -P /api/users \ -X POST \
-d '{"name":"Alice"}' \ src/index.ts
This means
$ hono search $ hono docs $ hono request AI
can Search docs Read docs Test apps
CLAUDE.md / AGENTS.md etc. Use the `hono` CLI for efficient
development. View all commands with `hono --help`.
Demo
None
These are for AI
Next
For Human
$ hono serve
None
$ hono serve src/index.ts http://localhost:7070
Wait! Only this??
No! —use is super cool
Please imagine app.use()
app.use(middleware) app.use(logger())
app.use(logger())
$ hono serve \ –use “logger()” \ src/index.ts
None
$ hono serve \ --use "logger()" \ --use "basicAuth({username:'foo',password:'bar'})" \
src/index.ts
404 Not Found
$ hono serve \ --use "serveStatic({root:'./'})"
$ hono serve \ --use '(c) => proxy(`https://ramen-api.dev${new URL(c.req.url).pathname}`)'
Last
$ hono optimize
$ hono optimize [entry]
Let’s talk about routers before hono optimize
RegExpRouter is one of the fastest routers in JavaScript world
The idea Routes (dynamic path) RegExp Request Buid Match
Weak points 1. Initialization is slow 2. The file size
is large
The solutions 1. LinearRouter (hono/quick) 2. PatternRouter (hono/tiny)
But I want to use RegExpRouter!
Now we introduce a new (7th) router
PreparedRegExpRouter
The idea Routes Routing information with RegExp new PreaparedRegExpRouter() Create
at preparing phase Hard code!
None
None
Benchmark with initialization
https://github.com/honojs/hono/pull/1796
None
PreparedRegExpRoute r is 16.5× faster than RegExpRouter
Back to Hono CLI
$ hono optimize will create optimized Hono for your app
What is optimized Hono?
This
None
$ hono optimize src/index.ts $ wrangler deploy dist/index.js
How small has it become??
None
Size drops from 18.0 kB to 11.14 kB (38% smaller!)
will your app fast and small $ hono optimize
That’s all
We introduce Hono CLI with 5 sub commands
1. hono docs 2. hono search 3. hono request 4.
hono serve 5. hono optimize
For Human and AI
github.com/honojs/cli
npm i @hono/cli
The end!