Step-level input: field for piping file content to stdin
- Dominant language
- Go
- Stars
- 4k
- Forks
- 332
- Avg merge
- 19h 9m
- Merged PRs (30d)
- 137
Description
## Problem
Feeding a previous step's output file to a command requires verbose shell boilerplate: `cat "${prev_step.stdout}" | command`. This pattern appears in almost every multi-step workflow and is error-prone (quoting issues with paths containing spaces).
## Expected Behavior
A step-level `input:` field that automatically pipes the referenced file's content to the command's stdin.
## Example
```yaml
- id: summarize
input: ${fetch.stdout} # pipes file content to stdin
command: claude -p "Summarize this"
depends: [fetch]
# Equivalent to current workaround:
- id: summarize
script: |
cat "${fetch.stdout}" | claude -p "Summarize this"
depends: [fetch]
```
## Motivation
This is the single most common pattern in multi-step workflows. A dedicated field would reduce boilerplate, eliminate quoting bugs, and make the data flow explicit in the DAG definition.
Contributor guide
Assessment
This issue has not been assessed yet.