dagucloud / dagucloud/dagu

Step-level input: field for piping file content to stdin

Open
#1,809 0 comments 0 reactions 0 assignees View on GitHub
wishlist
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.