Dojo presets
Dojo presets turn a named layout into one atomic Splinterm topology transaction. The client validates and compiles the complete pane tree before the daemon persists it or launches a process. Presets use direct argument vectors; they are not shell scripts.
Bundled Omarchy workflows
Section titled “Bundled Omarchy workflows”Splinterm ships five workflows:
| Preset | Layout |
|---|---|
omarchy.t |
Reopen the first running Dojo, or create a one-shell Work Lair. |
omarchy.tdl |
Editor and one or two AI panes over a shell. |
omarchy.tds |
2×2 editor, watched diff, shell, and opencode layout. |
omarchy.tdlm |
One tdl Dojo per immediate non-hidden real child directory. |
omarchy.tsl |
A deterministic 1–16 pane command swarm. |
Inspect and preview them without contacting the daemon:
splinterm preset listsplinterm preset show omarchy.tdlsplinterm preset checksplinterm preset run omarchy.tdl --cwd "$PWD" --param ai=opencode --dry-runRun a preset with:
splinterm preset run omarchy.tdl --cwd "$PWD" --param ai=opencodesplinterm preset run omarchy.tdl --param ai=c --param ai2=cxsplinterm preset run omarchy.tsl --param count=4 --param command='codex -a never'Successful layout runs open their first Dojo in a native Window. Add --no-open to keep a layout headless after full reconciliation; omarchy.t always opens.
Optional Bash helpers
Section titled “Optional Bash helpers”Generate the integration for review, or install it to a dedicated file:
splinterm preset shell-init omarchy --shell bashsplinterm preset shell-install omarchy --shell bashsource "${XDG_CONFIG_HOME:-$HOME/.config}/splinterm/shell/omarchy.bash"The helpers use a separate collision-safe namespace:
s omarchy.tsdl AI [AI2] omarchy.tdlsds omarchy.tdssdlm AI [AI2] omarchy.tdlmssl COUNT COMMAND omarchy.tslInstallation refuses to replace an existing file and never edits .bashrc. When sourced, the file defines nothing if any proposed name is already an alias, function, builtin, or executable.
Add a user catalog
Section titled “Add a user catalog”Select an optional strict TOML catalog in config.ini:
[presets]file=presets.tomlallow-unrestricted-commands=noA catalog defines direct command aliases and bounded pane/split trees. User preset names may shadow bundled names. The schema rejects unknown fields, cycles, reused nodes, missing children, unsafe command strings, trees deeper than 32, and layouts over 32 panes.
version = 1
[commands.editor]kind = "editor-env"fallback = ["nvim"]append = ["."]
[presets.review]kind = "dojo"display-name = "Review workspace"name = "{cwd.basename}"root = "main"focus = "editor"
[presets.review.nodes.main]type = "split"orientation = "columns"ratio = 650first = "editor"second = "shell"
[presets.review.nodes.editor]type = "pane"command = "editor"cwd = "{cwd}"title = "editor"
[presets.review.nodes.shell]type = "pane"shell = truecwd = "{cwd}"title = "shell"{cwd} and {cwd.basename} are the only placeholders. Pane commands are direct argv, or values parsed by Splinterm’s closed compatibility lexer; they are never passed to sh -c.
Non-dry runs are trusted-local human operations. Remote, automation, and MCP clients cannot invoke private preset materialization. For the complete schema and failure semantics, read repository docs/presets.md.