← ClaudeAtlas

add-endpointlisted

Add new HTTP endpoints to Catalyst-Relay server. Use when creating routes, API endpoints, or HTTP handlers.
aiskillstore/marketplace · ★ 329 · API & Backend · score 79
Install: claude install-skill aiskillstore/marketplace
# Adding HTTP Endpoints ## When to Use - Creating a new HTTP route - Adding an API endpoint - Wiring a new handler to the Hono app ## Route File Pattern Each endpoint gets its own file with colocated schema, types, and handler. **Location:** `src/server/routes/{category}/{endpoint}.ts` ```typescript // src/server/routes/auth/login.ts import { z } from 'zod'; import type { Context } from 'hono'; import type { ISessionManager } from '../types'; // 1. Request schema (colocated) export const loginRequestSchema = z.object({ url: z.string().url(), client: z.string().min(1).max(3), auth: authConfigSchema }); // 2. Response type (colocated) export interface LoginResponse { sessionId: string; username: string; expiresAt: number; } // 3. Single handler export (factory pattern) export function loginHandler(sessionManager: ISessionManager) { return async (c: Context) => { const body = await c.req.json(); const validation = loginRequestSchema.safeParse(body); if (!validation.success) { return c.json({ success: false as const, error: 'Invalid request', code: 'VALIDATION_ERROR' }, 400); } // ... implementation ... return c.json({ success: true as const, data: response }); }; } ``` ## Wiring Routes Register routes in `src/server/routes/index.ts`: ```typescript import { loginHandler } from './auth/login'; export function regis