Monorepo Example
A multi-workspace miso.json with dependency ordering, concurrent companion tasks, and per-app env validation.
{
"$schema": "https://misojs.dev/miso.schema.json",
"scripts": "./scripts",
"shell": "bash",
"tui": "tabbed",
"repo": {
"mode": "mono",
"tasks": {
"build": { "dependsOn": ["^build"] },
"dev": { "concurrent": ["services", "db:studio"] }
}
},
"flags": {
"add": ["--dev"],
"install": ["--frozen-lockfile"],
"dev": ["--env"]
},
"env": [
{
"label": "web",
"path": "apps/web/.env.local",
"variables": {
"PORT": "port",
"DATABASE_URL": "url",
"API_KEY": {
"type": "string",
"min": 1,
"max": 32
},
"ADMIN_EMAIL": "email",
"DEBUG_MODE": "bool",
"FEATURE_FLAGS": "json"
}
},
{
"label": "api",
"path": "apps/api/.env",
"required": "all",
"variables": {
"NODE_ENV": {
"type": "enum",
"values": ["development", "production", "test"],
"optional": true
},
"REDIS_URL": {
"type": "url",
"schemes": ["redis", "rediss"]
},
"RATE_LIMIT": {
"type": "int+",
"min": 1,
"max": 1000
},
"USER_ID": "uuid",
"SLUG": {
"type": "pattern",
"pattern": "^[a-z0-9-]+$"
}
}
}
]
}Last updated on