new-api

star 347

Scaffold a new merjs API route. Use when the user wants to create a new API endpoint.

justrach By justrach schedule Updated 3/12/2026

name: new-api description: Scaffold a new merjs API route. Use when the user wants to create a new API endpoint. argument-hint: "[route-name]" disable-model-invocation: true

Create a new merjs API route

Scaffold a new API route at api/$ARGUMENTS.zig.

Steps

  1. Create api/$ARGUMENTS.zig with this template:
const mer = @import("mer");

const Response = struct {
    // Define your response fields here
    message: []const u8,
};

pub fn render(req: mer.Request) mer.Response {
    return mer.typedJson(req.allocator, Response{
        .message = "hello",
    });
}
  1. Adapt the Response struct fields based on what the user described
  2. Run zig build codegen to regenerate routes
  3. Confirm the route appears at /api/$ARGUMENTS

Conventions

  • API routes live in api/ and map to /api/...
  • Use mer.typedJson(allocator, value) to return typed JSON responses
  • Use mer.json(string) for raw JSON strings
  • Access request body via req.body, method via req.method
  • Access query string via req.query_string
  • Access cookies via req.cookie("name")
  • For validation, use dhi: const dhi = @import("dhi_validator");
  • API routes do NOT need pub const meta
Install via CLI
npx skills add https://github.com/justrach/merjs --skill new-api
Repository Details
star Stars 347
call_split Forks 15
navigation Branch main
article Path SKILL.md
More from Creator