hono
/hono
Opisuje framework Hono dla środowisk edge: routing, middleware i obsługę wielu runtime'ów, przy budowaniu API w podejściu edge-first.
- Autor
- claude-dev-suite ↗
- Repozytorium
- claude-dev-suite ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 21.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 4
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 21.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Opisuje framework Hono dla środowisk edge: routing, middleware i obsługę wielu runtime'ów, przy budowaniu API w podejściu edge-first.
Wyzwalacze z opisu
Oryginalny opis (EN)
Hono ultrafast web framework for edge runtimes. Covers routing, middleware, and multi-runtime support. Use when building edge-first APIs. USE WHEN: user mentions "Hono", "hono", "Cloudflare Workers", "Vercel Edge", "edge runtime", "Bun", asks about "edge-first API", "multi-runtime framework", "ultrafast web framework", "lightweight edge functions" DO NOT USE FOR: Node.js-only apps - use `express`, `nestjs`, or `fastify` instead, Deno-specific features - use `oak` or `fresh` instead, Enterprise DI patterns - use `nestjs` instead
Jak działa
- Basic Setup
- Route Patterns
- Middleware
- Multi-Runtime Support
- When NOT to Use This Skill
- Anti-Patterns
- Quick Troubleshooting
- Production Readiness
- Reference Documentation
Podgląd SKILL.md
---
name: hono
description: |
Hono ultrafast web framework for edge runtimes. Covers routing,
middleware, and multi-runtime support. Use when building edge-first
APIs.
USE WHEN: user mentions "Hono", "hono", "Cloudflare Workers", "Vercel Edge", "edge runtime", "Bun", asks about "edge-first API", "multi-runtime framework", "ultrafast web framework", "lightweight edge functions"
DO NOT USE FOR: Node.js-only apps - use `express`, `nestjs`, or `fastify` instead, Deno-specific features - use `oak` or `fresh` instead, Enterprise DI patterns - use `nestjs` instead
allowed-tools: Read, Grep, Glob, Write, Edit
---
# Hono Core Knowledge
> **Full Reference**: See [advanced.md](advanced.md) for WebSocket integration patterns including Cloudflare Workers, Node.js ws library, Bun WebSocket, room management, and message protocols.
> **Deep Knowledge**: Use `mcp__documentation__fetch_docs` with technology: `hono` for comprehensive documentation.
## Basic Setup
```ts
import { Hono } from 'hono';
import { cors } from 'hono/cors';
import { logger } from 'hono/logger';
const app = new Hono();
app.use('*', logger());
app.use('*', cors());
app.route('/api/users', userRoutes);
export default app;
```
## Route Patterns
```ts
import { Hono } from 'hono';
import { zValidator } from '@hono/zod-validator';
import { z } from 'zod';
const app = new Hono();
const userSchema = z.object({
name: z.string(),
email: z.string().email(),
});
app.get('/', async (c) => {
const users = await db.users.findMany();
return c.json(users);
});
app.post('/', zValidator('json', userSchema), async (c) => {
const data = c.req.valid('json');
const user = await db.users.create(data);
return c.json(user, 201);
});
app.get('/:id', async (c) => {
const id = c.req.param('id');
const user = await db.users.find(id);
if (!user) return c.json({ error: 'Not found' }, 404);
return c.json(user);
});
```
## Middleware
```ts
import { createMiddleware } from 'hono/factory';
const auth = createMiddleware(async (c, next) => {
const token = c.req.header('Authorization')?.split(' ')[1];
if (!token) return c.json({ error: 'Unauthorized' }, 401);
c.set('user', await verifyToken(token));
await next();
});
app.get('/protected', auth, (c) => {
const user = c.get('user');
return c.json({ message: `Hello ${user.name}` });
});
```
## Multi-Runtime Support
```ts
// Cloudflare Workers
export default app;
// Node.js
import { serve } from '@hono/node-server';
serve(app);
// Bun
export default { fetch: app.fetch, port: 3000 };
```
## When NOT to Use This Skill
- **Node.js-Only Applications**: Use Express, Fastify, or NestJS
- **Enterprise DI Patterns**: Use NestJS for dependency injection
- **Deno-Specific Features**: Use Oak or Fresh
- **Long-Running Processes**: Edge runtimes have execution time limits
- **File System Operations**: Edge environments have limited FS access
- **Database-Heavy Logic**: Consider traditional servers for complex ORM
## Anti-Patterns
| Anti-Pattern | Why It's Bad | Correct Approach |
|--------------|--------------|------------------|
| Using Node.js-specific APIs in edge code | Won't work on Cloudflare Workers | Use Web APIs (fetch, Response, etc.) |
| Not handling context properly | State leaks between requests | Use `c.set()` and `c.get()` |
| Importing large dependencies | Exceeds edge bundle size limits | Use tree-shakeable libraries |
| Using `fs` module | Not available in edge runtimes | Use KV storage or external APIs |
| Blocking operations in handlers | Exceeds edge execution time | Use async operations |
| Hardcoding runtime assumptions | Portability issues | Check `c.env` for runtime bindings |
## Quick Troubleshooting
| Issue | Likely Cause | Solution |
|-------|--------------|----------|
| "Module not found" in production | Wrong runtime adapter | Use correct import for runtime |
| Request context undefined | Accessing outside request scope | Use context `c` within handlers |
| Middleware not executing | Wrong order or missing `await next()` | Ensure middleware calls `await next()` |
| CORS errors in production | Missing CORS middleware | Add `app.use('*', cors())` |
| Validation not working | Zod validator not applied | Use `zValidator('json', schema)` |
| Cold start timeouts | Bundle too large | Optimize imports |
## Production Readiness
### Security Setup
```ts
import { Hono } from 'hono';
import { cors } from 'hono/cors';
import { secureHeaders } from 'hono/secure-headers';
const app = new Hono();
app.use('*', secureHeaders());
app.use('*', cors({
origin: process.env.CORS_ORIGINS?.split(',') || [],
credentials: true,
}));
```
### Error Handling
```ts
import { HTTPException } from 'hono/http-exception';
export function errorHandler(err: Error, c: Context) {
if (err instanceof HTTPException) {
return c.json({ error: err.message }, err.status);
}
return c.json({ error: 'Internal error' }, 500);
}
app.onError(errorHandler);
```
### Health Checks
```ts
health.get('/health', (c) => c.json({ status: 'healthy' }));
health.get('/ready', async (c) => {
try {
await db.query('SELECT 1');
return c.json({ status: 'ready', database: 'connected' });
} catch (error) {
return c.json({ status: 'not ready' }, 503);
}
});
```
### Testing
```ts
import { describe, it, expect } from 'vitest';
import app from '../src/app';
describe('API', () => {
it('GET /health returns healthy', async () => {
const res = await app.request('/health');
expect(res.status).toBe(200);
});
});
```
### Monitoring Metrics
| Metric | Target |
|--------|--------|
| Cold start time | < 50ms |
| Response time (p99) | < 20ms |
| Error rate | < 0.1% |
| Memory usage | < 128MB |
### Checklist
- [ ] Secure headers middleware
- [ ] CORS properly configured
- [ ] Rate limiting for API routes
- [ ] Zod validation for inputs
- [ ] Request ID tracing
- [ ] Structured JSON logging
- [ ] Custom error handler
- [ ] Health/readiness endpoints
- [ ] Graceful shutdown (Node.js)
- [ ] Tests with app.request()
## Reference Documentation
- [Middleware Patterns](quick-ref/middleware.md)
- [Validation](quick-ref/validation.md)
Pliki w paczce (4)
- SKILL.md 6 KB
- advanced.md 5 KB
- quick-ref/middleware.md 3 KB
- quick-ref/validation.md 3 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · claude-dev-suite/claude-dev-suite | 100 | MIT |
| TerminalSkills/skills | 100 | Apache-2.0 |
| G1Joshi/Agent-Skills | 100 | MIT |
| masumi-network/sokosumi | 95 | MIT |
| mashharuki/AWS-SummitHackathon-2026 | 95 | MIT |
| EpicenterHQ/epicenter | 90 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 92f96148eae0 (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100express
Wspiera pracę z Express.js, minimalnym frameworkiem Node.js: routing, middleware, obsługa błędów i projektowanie API REST. - 95hono-helper
Pomaga tworzyć lekkie API w frameworku Hono dla środowisk brzegowych: routing, middleware, walidacja Zod i obsługa wielu środowisk uruchomieniowych. - 100oak
Pomaga budować API w Oak, frameworku middleware dla Deno wzorowanym na Koa: routing, middleware, kontekst, WebSocket i pliki statyczne. - 100bun-hono-integration
Buduje API we frameworku Hono na Bun, w tym routing, middleware, REST API, obsługę kontekstu i funkcje frameworka webowego. - 90nodejs-hono
Buduje aplikacje Hono: lekki framework gotowy na edge, z walidacją Zod, klientem RPC i kompozycją middleware. - 100hono-idioms
Opisuje wzorce frameworka Hono: typobezpieczne handlery tras, składanie middleware, walidację Zod i klientów RPC dla Cloudflare Workers, Node lub Bun.