Configuring Miso
You can edit miso.json directly to change it’s settings:
JSON Schema (IDE Support)
Add a $schema property to get autocomplete and validation in VS Code, Cursor, and other editors:
{
"$schema": "https://misojs.dev/miso.schema.json",
"package-manager": "bun",
"name": "my-project",
"scripts": "./scripts"
}The schema is available at https://misojs.dev/miso.schema.json — use this URL in your miso.json for type-safe editing.
Package Manager
Set or update your project’s package manager:
packageManager: "bun"bun
Sets “package manager” to “bun”
pnpm
Sets “package manager” to “pnpm”
yarn
Sets “package manager” to “yarn”
npm
Sets “package manager” to “npm”
Package Manager
Set or update your project’s package manager:
name: "my-cool-react-app"string
Set’s the name of your project. To be honest, I don’t know why. I think I had a reason at first, but it’s already in package.json so this will probably be deprecated at some point.
Package Manager
Set or update your project’s package manager:
packageManager: "bun"bun
Sets “package manager” to “bun”
pnpm
Sets “package manager” to “pnpm”
yarn
Sets “package manager” to “yarn”
npm
Sets “package manager” to “npm”
Scripts
Sets the path to the folder you want miso to use when you run custom scripts:
scripts: "./scripts"string
This path is relative to the location of your miso.json file. Learn more about Scripting in Miso
Shell
Default interpreter for scripts with no shebang and no recognized extension. If not set, Miso uses sh:
shell: "bash"string
Examples: "sh", "bash", "zsh". The interpreter must be available in your PATH.
Repo
Configure whether your project is a single project or a monorepo:
repo: "mono""single"
Default. Treats the project as a single repository. All scripts resolve from the root scripts/ folder.
"mono"
Enables monorepo mode. Unlocks workspace-scoped script execution using the workspace:script syntax and automatic CWD-based scoping. Requires a workspaces field in your root package.json.
When set to "mono", miso reads workspace paths from your root package.json:
{
"workspaces": ["apps/*", "packages/*"]
}See Monorepo Scripts for full details on workspace script execution.
Env
Configure environment variable validation for miso env:
{
"env": {
"path": [".env.local", ".env"],
"required": "all",
"variables": {
"PORT": "port",
"DATABASE_URL": "url",
"NODE_ENV": {
"type": "enum",
"values": ["development", "production", "test"],
"optional": true
}
}
}
}- path: Array of .env file paths (relative to project root). Loaded in order; later files override earlier. If omitted, miso discovers
.env.local,.env.production,.env.development, or.env. - required:
"all"(every variable unless optional),"none", or an array of specific keys. - variables: Either an object (type validation) or array (presence only). See Env validation for the full spec.