{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/tmuxinator.json","additionalProperties":false,"properties":{"defaults":{"type":"object"},"name":{"oneOf":[{"type":"number"},{"type":"string","minLength":1}]},"project_name":{"description":"Name of project root (deprecated, use `name`)","type":"string"},"root":{"type":"string"},"project_root":{"description":"Name of project root (deprecated, use `root`)","type":"string"},"socket_name":{"description":"Optional tmux socket.","type":"string"},"on_project_start":{"description":"Runs on project start, always.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"on_project_first_start":{"description":"Run on project start, the first time.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"on_project_restart":{"description":"Run on project start, after the first time.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"on_project_exit":{"description":"Run on project exit (detaching from tmux session).","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"on_project_stop":{"description":"Run on project stop.","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pre":{"description":"Runs before everything (deprecated).","type":"string"},"post":{"description":"Runs after everything (deprecated).","type":"string"},"rbenv":{"description":"Specify version for rbenv (deprecated)","type":"string"},"cli_args":{"description":"Pass arguments to tmux (deprecated)","type":"string"},"tabs":{"description":"Specify tabs (deprecated)","type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}},"pre_window":{"description":"Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.","type":"string"},"tmux_options":{"description":"Pass command line options to tmux. Useful for specifying a different tmux.conf.","type":"string"},"tmux_command":{"description":"Change the command to call tmux.  This can be used by derivatives/wrappers like byobu.","type":"string"},"startup_window":{"description":"Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.","oneOf":[{"type":"string"},{"type":"integer"}]},"startup_pane":{"description":"Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.","type":"integer"},"attach":{"description":"Controls whether the tmux session should be attached to automatically. Defaults to true.","type":"boolean","default":true},"tmux_detached":{"description":"Deprecated. Use `attach`","type":"boolean"},"enable_pane_titles":{"description":"Enables the display of pane titles.","type":"boolean","default":false},"pane_title_position":{"description":"Configures pane title position.","type":"string","default":"top"},"pane_title_format":{"description":"Configures pane title format.","type":"string","default":"#{pane_index}: #{pane_title}"},"windows":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object","properties":{"pre":{"type":"array","items":{"type":"string"}},"layout":{"description":"The layout setting gets handed down to tmux directly, so you can choose from one of the five tmux standard layouts or specify your own.","type":"string"},"panes":{"description":"Panes are optional and are children of window entries.","type":"array","items":{"oneOf":[{"type":"number"},{"type":"string","minLength":1},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object","patternProperties":{".":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}}]}}]}}}}]}}},"type":"object"}