Skip to Content
Working with MisoBasic Configuration

Configuring Miso

You can edit miso.json directly to change its settings:

Package Manager

Controls whether miso operates as a package manager wrapper or a standalone script runner:

>miso.json
"packageManager": false
boolean Default: true

When set to false, miso runs in simple mode — all package manager features are disabled. Every command resolves as a folder script. See Simple Mode for details.

When true (or omitted), miso operates normally as a package manager wrapper.

Scripts

Sets the path to the folder you want miso to use when you run custom scripts:

>miso.json
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:

>miso.json
"shell": "sh" | "zsh" | "bash" | "dash" | "ksh" | "fish" | "nu" | "pwsh"
string Default: “sh”

The selected interpreter must be available in your PATH.

Repo

Configure whether your project is a single project or a monorepo:

>miso.json
"repo": "single" | "mono" | "turbo" | "nx"
"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:

>package.json
{ "workspaces": [ "apps/*", "packages/*" ] }

See Monorepo Scripts for full details on workspace script execution.

"turbo"

Delegates orchestration to Turborepo . Turbo must be installed and available in your PATH.

"nx"

Delegates orchestration to Nx . Nx must be installed and available in your PATH.

TUI

Configure the multi-terminal UI mode for running scripts across workspaces:

>miso.json
"tui": "off" | "tabbed" | "merged"

See TUI Configuration for the full reference.

Flags

Add default flags to package manager commands:

>miso.json
{ "flags": { "install": ["--frozen-lockfile"], "add": ["--dev"], "dev": ["--env"] } }

See Flags for the full reference.

Env

Configure environment variable loading and validation:

>miso.json
{ "env": [ { "label": "web", "path": ".env.local", "required": "all", "variables": { "PORT": "port", "DATABASE_URL": "url" } } ] }

See Env Configuration for the full reference.

Last updated on