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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yusuke Wada
October 18, 2025
Programming
4.1k
7
Share
Introduce Hono CLI
Hono Conference 2025
Oct 18, 2025
Yusuke Wada
October 18, 2025
More Decks by Yusuke Wada
See All by Yusuke Wada
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.4k
Dynamic Workersについて
yusukebe
2
570
飯MCP
yusukebe
0
590
へんな働き方
yusukebe
6
3k
Cap'n Webについて
yusukebe
0
340
OSS開発者の憂鬱
yusukebe
17
30k
r2-image-worker
yusukebe
1
260
私はどうやって技術力を上げたのか
yusukebe
51
23k
Reactをクライアントで使わない
yusukebe
8
7.1k
Other Decks in Programming
See All in Programming
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
270
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
170
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
530
dRuby over BLE
makicamel
2
290
Lessons from Spec-Driven Development
simas
PRO
0
120
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
440
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
160
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
210
初めてのRubyKaigiはこう見えた
jellyfish700
0
410
Moments When Things Go Wrong
aurimas
3
140
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
310
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
140
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
It's Worth the Effort
3n
188
29k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
370
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
sira's awesome portfolio website redesign presentation
elsirapls
0
270
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Color Theory Basics | Prateek | Gurzu
gurzu
0
320
Scaling GitHub
holman
464
140k
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!