
The Floof
Empathetic, beautiful terminal UX. Structured diagnostics with code frames and
caret markers, paw-print spinners, Bento-style panels — that degrade cleanly to
plain text in CI.
The Teeth
Ruthless systems engineering. One Oxc parse feeds every tool, packages
materialize with copy-on-write, and runs are deterministic by default. No
redundant work, no wasted bytes.
Why meow exists
A modern JavaScript project is a pile of tools that don’t know about each other. Node runs the code; npm or pnpm installs the packages;tsc checks types; ESLint
lints; Prettier formats; a bundler bundles; a test runner tests. Each one parses
your source again. Each one has its own config file. Each one is a separate
install with its own version drift.
meow collapses that stack. One binary. One config. One parse.
meow doesn’t reinvent the engine or fork the ecosystem. It runs on a tuned
build of V8 (via
deno_core) and resolves real npm packages from the public
registry. What’s new is the integration: the runtime, installer, type-checker,
linter, formatter, bundler, and test runner are one program sharing one
in-memory model of your code.The equation
0 config + 0 duplicated bytes + 1 binary = meow
What makes it different
Parse once, use everywhere
Your code is parsed a single time into an Oxc syntax tree and reused by the
runtime, linter, formatter, type-checker, and bundler. No tool re-parses what
another already read.
Deterministic by default
In
strict-web mode the clock is frozen, randomness is seeded, and the
timezone is pinned to UTC — so the same code produces the same output on every
machine. Ideal for tests, CI, and edge.Two runtime modes
node-compat gives you the full Node.js surface for frameworks like Next.js
and Vite. strict-web gives you a portable, web-standard sandbox. You choose
per project.Zero-waste installs
Packages download once to a global content-addressed cache and project into
your workspace via copy-on-write or hardlinks — no symlink loops, no duplicated
disk.
One config file
meow.config.json replaces the graveyard of .eslintrc, .prettierrc,
tsconfig.json, and test configs. meow generates the legacy shims that editors
still expect.Diagnostics that help
Errors are framed inside structured panels with the offending line, caret
markers, and a path to the fix — not a wall of raw compiler output.
Start here
Install meow
Get the binary on your machine in one command.
Quickstart
From empty folder to a running TypeScript server in 60 seconds.
Coming from Node?
A side-by-side cheat sheet for
npm, node, and npx users.