You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi! I have been working on a CLI tool for ElysiaJS that makes it easier to interact with the framework from the terminal — both for humans and AI coding agents.
This project was inspired by hono-cli — the official CLI for the Hono framework. Seeing how much a dedicated CLI improves the DX for Hono users made me want to explore what something similar could look like for ElysiaJS.
I would love to get feedback from the community, and I am also opening this as a discussion about whether an official CLI could be a valuable addition to the ElysiaJS ecosystem.
Features
The CLI currently exposes five commands:
Command
Description
elysia docs [path]
Browse official Elysia documentation in the terminal
elysia search <query>
Fuzzy-search the docs (outputs JSON by default)
elysia request [file] [url]
Send HTTP requests to your app via app.handle() — no server needed
elysia serve [entry]
Start a dev server with hot reload (Bun native --hot or esbuild+chokidar on Node.js)
elysia optimize [entry]
Bundle and tree-shake your app with esbuild
Works with Bun (≥1.0) and Node.js (≥20).
AI Agent Support
One motivation for building this was to make ElysiaJS more accessible to AI coding agents (Claude Code, Cursor, GitHub Copilot Workspace, etc.).
elysia search outputs JSON by default, making it trivial to pipe into jq or consume programmatically
elysia docs fetches and caches official documentation locally, so agents can read the latest Elysia docs without going through a browser
The README includes a suggested CLAUDE.md snippet that developers can drop into their projects so AI agents automatically know how to use the CLI
Example snippet for CLAUDE.md:
## Elysia CLI- Use `elysia docs <path>` to read official documentation
- Use `elysia search <query> | jq` to find relevant docs
- Use `elysia req <file> <url>` to test handlers without a running server
- Use `elysia serve` to start the dev server
Why an Official CLI?
Several popular frameworks ship a first-party CLI that significantly improves the developer experience:
Hono — honojs/cli ← the inspiration for this project
Nitro / H3 — nitro CLI
Fastify — fastify-cli
Having an official @elysiajs/cli (or create-elysia) could:
Lower the barrier to entry — new developers can scaffold and explore the framework without reading all the docs first
Improve documentation access — elysia docs and elysia search put the official docs one command away, including inside AI agent contexts
Enable in-process testing — elysia request lets you test handlers without spinning up a server, which is great for CI and quick iterations
Provide a standard dev workflow — elysia serve and elysia optimize give a consistent starting point across projects
Installation
# npm
npm install -g @sc30gsw/elysiajs-cli
# pnpm
pnpm add -g @sc30gsw/elysiajs-cli
# bun (no persistent global install — use bunx to run directly)
bunx @sc30gsw/elysiajs-cli
Next Steps
I am sharing this as a starting point, not a finished product. I would really appreciate:
Feedback on the command design, API surface, and DX
Ideas for additional commands that would be most useful
A discussion about whether this kind of tooling would fit into the official ElysiaJS organization
If the core team is interested, I am happy to contribute this (or a rewritten version of it) upstream. If there are concerns about scope or maintenance, I completely understand — feedback alone would be incredibly valuable.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
Hi! I have been working on a CLI tool for ElysiaJS that makes it easier to interact with the framework from the terminal — both for humans and AI coding agents.
This project was inspired by hono-cli — the official CLI for the Hono framework. Seeing how much a dedicated CLI improves the DX for Hono users made me want to explore what something similar could look like for ElysiaJS.
The tool is available on npm:
@sc30gsw/elysiajs-cliSource code: sc30gsw/elysiajs-cli
I would love to get feedback from the community, and I am also opening this as a discussion about whether an official CLI could be a valuable addition to the ElysiaJS ecosystem.
Features
The CLI currently exposes five commands:
elysia docs [path]elysia search <query>elysia request [file] [url]app.handle()— no server neededelysia serve [entry]--hotor esbuild+chokidar on Node.js)elysia optimize [entry]Works with Bun (≥1.0) and Node.js (≥20).
AI Agent Support
One motivation for building this was to make ElysiaJS more accessible to AI coding agents (Claude Code, Cursor, GitHub Copilot Workspace, etc.).
elysia searchoutputs JSON by default, making it trivial to pipe intojqor consume programmaticallyelysia docsfetches and caches official documentation locally, so agents can read the latest Elysia docs without going through a browserCLAUDE.mdsnippet that developers can drop into their projects so AI agents automatically know how to use the CLIExample snippet for
CLAUDE.md:Why an Official CLI?
Several popular frameworks ship a first-party CLI that significantly improves the developer experience:
honojs/cli← the inspiration for this projectnitroCLIfastify-cliHaving an official
@elysiajs/cli(orcreate-elysia) could:elysia docsandelysia searchput the official docs one command away, including inside AI agent contextselysia requestlets you test handlers without spinning up a server, which is great for CI and quick iterationselysia serveandelysia optimizegive a consistent starting point across projectsInstallation
Next Steps
I am sharing this as a starting point, not a finished product. I would really appreciate:
If the core team is interested, I am happy to contribute this (or a rewritten version of it) upstream. If there are concerns about scope or maintenance, I completely understand — feedback alone would be incredibly valuable.
Thanks for building such a great framework! 🙏
Beta Was this translation helpful? Give feedback.
All reactions