Skip to main content
meow ships a small set of first-party modules under the meow: namespace. They’re baked into the binary — there’s nothing to install, and they’re available in both runtime modes.

meow:http

A Web-standard HTTP/1.1 server. serve() a Request → Response handler.

meow:ui

Print on-brand status lines — purr, hiss, pounce.

meow:test

The test runner API — test() and expect().

Importing

import { serve } from "meow:http";
import { ui } from "meow:ui";
import { test, expect } from "meow:test";
Types resolve in your editor automatically — meow sync writes the meow:* declarations into .meow/types/meow/, and the generated tsconfig maps the meow:* specifier to them. No @types packages, no install step.
These modules are authored in TypeScript inside the runtime and are the single source of truth for both their behavior and their published type declarations — so the docs, the types, and the implementation never drift.
Node built-ins live under the standard node: namespace (node:fs, node:path, …) and are available in node-compat mode. The meow: namespace is for meow’s own first-party surface.