Created
April 19, 2026 16:45
-
-
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "$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