Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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.6k
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
OSS開発者の憂鬱
yusukebe
16
13k
r2-image-worker
yusukebe
1
180
私はどうやって技術力を上げたのか
yusukebe
45
20k
Reactをクライアントで使わない
yusukebe
8
6.8k
AI時代のUIはどこへ行く?
yusukebe
23
12k
速いWebフレームワークを作る
yusukebe
5
1.9k
Honoアップデート 2025年夏
yusukebe
1
1k
パスタの技術
yusukebe
1
710
AI Ramen Fight
yusukebe
0
230
Other Decks in Programming
See All in Programming
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
130
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
540
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
20k
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
6.5k
チーム開発の “地ならし"
konifar
8
6.8k
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
4
240
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
260
アーキテクチャと考える迷子にならない開発者テスト
irof
9
3.4k
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
4
1.7k
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.3k
React Native New Architecture 移行実践報告
taminif
1
130
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
76
5.2k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Building Applications with DynamoDB
mza
96
6.8k
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!