/command-name in the TUI. They support dynamic flow via arguments, shell output, and file references.
Creating commands
Markdown files (recommended)
Create.md files in one of two directories:
The filename (without
.md) becomes the command name.
Example
- Create a file named
test.mdin.symbiotic/commands/with the following content:
- Use it in Symbiotic Code TUI:
JSON config
Alternatively, define commands insymbiotic.json or .symbiotic/symbiotic.json (project), or the same files under ~/.symbiotic/ (global):
Frontmatter Options
Template syntax
Use these placeholders in your command templates:$ARGUMENTS — full argument string
Pass the entire argument string as a value in the prompt.
Example:
$ARGUMENTS is replaced with src/core/session.ts in the prompt written from the custom command template.
$1, $2, $3… — positional arguments
Pass the argument at the specified position as a value in the prompt.
Example:
$1→Sidebar$2→src/cli/tui/components
!command“ — shell output injection
Inject the output of a shell command into the prompt.
Commands priority
When the same command name exists in multiple sources, the highest-priority source wins:
This lets project commands override global defaults, and JSON config override markdown for the same name.