AGENT LAB: SKILLS

hapi

SKILL.md

Hapi

Quick Start

const server = Hapi.server({ port: 3000 });
server.route({ method: 'GET', path: '/', handler: () => 'ok' });
await server.start();

Critical Rules

  1. Compose with decorations & methods - Expose services via decorations and reusable logic via methods
  2. Follow the lifecycle - 24-step request flow; see lifecycle overview
  3. Auth is three layers - scheme → strategy → default; see server auth
  4. Validate at the route - Use joi schemas on params, query, payload, headers; see validation
  5. Type routes with Refs - Use ServerRoute<Refs> pattern; see route scaffold

Workflow

  1. Create server - server overview for constructor options
  2. Register plugins - plugins and plugin structure
  3. Configure auth - auth schemes and route auth
  4. Define routes - route overview with handlers
  5. Add extensions - lifecycle hooks and pre-handlers

Key Patterns

Topic Reference
Request/response objects request, response
Response toolkit (h) toolkit
Sessions (yar) sessions
Caching & CORS cache-cors, server cache, catbox-memory engine, catbox-fs engine, catbox-redis engine
Security headers security
Payload parsing payload
Decorations & methods decorations, methods
MIME types (mimos) mimos
Realms & plugin scoping realm
Response marshalling marshal pipeline
File serving (inert) overview, file handler, directory handler
Basic authentication basic auth
Error handling (Boom) boom errors
Error filtering (Bounce) bounce utility
WebSockets (nes) overview, subscriptions, client
Events events
Testing (server.inject) network
TypeScript auth typing auth-scheme, type-author
JWT authentication jwt overview, validate function, token API
TypeScript plugins plugin-scaffold
Views & templates vision overview, engines, context & layouts
Weekly Installs
8
Repository
damusix/skills
First Seen
5 days ago
Installed on
opencode8
gemini-cli8
github-copilot8
codex8
amp8
kimi-cli8