CLI Commands
Dyngle provides several commands for working with operations.
run
Execute a named operation from your configuration.
Syntax
dyngle run <operation-name> [optional arguments...]
Examples
Basic execution:
dyngle run hello
Pass command-line arguments that become available throughout the entire operation tree:
dyngle run greet Alice Bob
The run command is unique in supporting positional command-line arguments, as a convenience for common desktop operations. They can be accessed using the runtime.args context path.
dyngle:
operations:
greet:
expressions:
name: "get('runtime.args.0') or 'World'"
steps:
- echo "Hello {{name}}!"
With data from stdin:
echo "name: Alice" | dyngle run hello
With a specific config file:
dyngle --config /path/to/.dyngle.yml run deploy
Options
--display <mode>
Control step display behavior:
steps(default) - Show each step before executingnone- Suppress step display for cleaner output
dyngle run build --display none
When to Use Each Mode
Use steps mode when:
- Debugging operations - See exactly what commands are being executed
- Learning - Understand what's happening during execution
- Development - Verify that template substitution is working correctly
- Interactive use - Get visual confirmation of progress
Use none mode when:
- Scripting - Cleaner output for parsing or processing
- Production workflows - Reduce noise in logs
- Return value focused - When you only care about the final result
- Automated systems - CI/CD environments where step display is unnecessary
Examples
Development workflow with step display:
dyngle run test --display steps
Useful for seeing exactly what test commands are being run.
Production deployment with clean output:
dyngle run deploy --display none
Keeps deployment logs focused on command output without displaying each step.
Combining with return values:
When an operation has a return value, none mode is particularly useful:
dyngle:
operations:
get-version:
returns: version
steps:
- cat package.json => pkg
- pkg -> jq -r '.version' => version
With steps mode:
$ dyngle run get-version --display steps
Output:
$ cat package.json => pkg
$ pkg -> jq -r '.version' => version
1.2.3
With none mode:
$ dyngle run get-version --display none
Output:
1.2.3
Important Notes
- The
--displayoption controls whether step commands are shown before execution - This works independently of whether the operation has a
returns:key (which controls stdout suppression) - stderr is always displayed regardless of the
--displaysetting - If you don't specify
--display, it defaults tostepsmode
list-operations
List all available public operations with their descriptions.
Syntax
dyngle list-operations
Output Format
The command outputs YAML-formatted list of operations:
operations:
build: Build the project for production
test: Run the test suite
deploy: Deploy to production
Behavior
- Shows only public operations (not those with
access: private) - Includes the
description:attribute if present - Operations without descriptions show empty descriptions
See Operations for information about public vs private operations.
mcp
Start Dyngle as an MCP (Model Context Protocol) server, exposing operations as tools for AI assistants.
Syntax
dyngle mcp
This starts a server using the stdio (standard input/output) transport, which is suitable for integration with Claude Desktop and other AI assistants.
Configuration File
Specify a configuration file for the MCP server:
dyngle --config /path/to/.dyngle.yml mcp
See MCP Server for complete setup and usage information.
Global Options
These options work with any command:
--config <path>
Specify a configuration file:
dyngle --config ./custom.yml run hello