meow.config.json is the one human-edited config for a meow project. It replaces
the usual scatter of .eslintrc, .prettierrc, tsconfig.json, and test configs.
Everything in it is runtime/toolchain behavior — dependencies, scripts, and
workspaces live in your package.json.
meow.config.json
The config is a closed schema: unknown keys are a parse error, not a silent
ignore. A typo’d key is caught immediately rather
than quietly doing nothing. Keys use
camelCase. Every key has a default, so the
minimal config is {}.Full schema
meow.config.json
Key reference
"strict-web" | "node-compat" | "legacy"
default:"\"strict-web\""
The runtime mode.
strict-web is a deterministic, web-standard
sandbox; node-compat (and the legacy alias) expose the full Node surface with
host access. This is the key behavioral switch and is read on every run.boolean
default:"true"
Sets
strict in the generated .meow/tsconfig.json. Run meow sync after
changing it. Drives meow check and your editor’s types.object (rule id → severity)
default:"{}"
Per-rule severities for
meow lint, keyed by rule id. Each
value is "off", "warn", or "error"."meow"
default:"\"meow\""
The formatter style. meow ships one opinionated style — there are no formatting
knobs.
"strip"
default:"\"strip\""
How TypeScript is handled for execution. meow strips types in place; this is the
only meaningful value.
string[]
default:"[]"
Glob roots for a monorepo, e.g.
["apps/*", "packages/*"]."pnp" | "vfs" | "materialized" | "vendor"
default:"\"pnp\""
The intended install projection.
boolean / enum / enum
Test-runner defaults. Today
meow test always runs each suite
in a deterministic isolate; these keys are accepted and forward-looking.string array / object
default:"[] / {}"
Per-package capability grants (
default is a string array; packages maps a
package name to a string array). Accepted and reserved; not yet enforced — see
the permissions scope note.What’s active today
Some keys change behavior right now; others are part of the closed schema but forward-looking. The config validates either way.
After editing the config, regenerate the editor/TypeScript shims:
package.json reference
Dependencies, scripts, overrides, and workspaces.