Skip to content

Instantly share code, notes, and snippets.

@brian-xu-vlt
Created April 19, 2026 16:45
Show Gist options
  • Select an option

  • Save brian-xu-vlt/d66a38ae0ef0082dda16aa89d7977fed to your computer and use it in GitHub Desktop.

Select an option

Save brian-xu-vlt/d66a38ae0ef0082dda16aa89d7977fed to your computer and use it in GitHub Desktop.
JSON Schema for ~/.cmux-stack/user.json (cmux-stack bookmarks + favorites)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "cmux-stack user config",
"description": "Schema for ~/.cmux-stack/user.json — favorites + named plan bookmarks consumed by the `stack` TUI (https://github.com/brian-xu-vlt/cmux-stack).",
"type": "object",
"required": ["favorites", "bookmarks"],
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string",
"description": "URL of the JSON Schema this file validates against. Editors use this for autocomplete + error marks."
},
"favorites": {
"type": "array",
"description": "Task ids marked with ★ in the TUI's tasks tab.",
"items": { "$ref": "#/definitions/taskId" },
"uniqueItems": true
},
"bookmarks": {
"type": "array",
"description": "Named plans — each is a preflight + parallel grouping of task ids.",
"items": { "$ref": "#/definitions/bookmark" }
}
},
"definitions": {
"taskId": {
"type": "string",
"minLength": 1,
"description": "Task id. Either `<pkgShortName>__<script>` (a discovered package.json script) or a curated one-shot id like `db-migrate`."
},
"bookmark": {
"type": "object",
"required": ["name", "preflight", "parallel", "createdAt"],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Unique name. Used for `stack <name>` CLI lookup."
},
"preflight": {
"type": "array",
"description": "Task ids to run sequentially before the parallel items. Aborts on first non-zero exit.",
"items": { "$ref": "#/definitions/taskId" }
},
"parallel": {
"type": "array",
"description": "Task ids to run together via `concurrently`.",
"items": { "$ref": "#/definitions/taskId" }
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "ISO-8601 timestamp. Written once on save; not displayed in the TUI."
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment