Unix Pipes

devv reads from stdin and writes to stdout, making it a natural fit in Unix pipelines.

Reading from stdin

When data is piped in, devv uses it as the input:

cat package.json | devv json format
echo "hello" | devv base64 encode
curl -s https://api.example.com | devv json format --sort-keys

Writing to stdout

All output goes to stdout, so you can chain with other tools:

devv uuid | pbcopy                           # Copy UUID to clipboard
devv json format data.json | less            # Page through formatted JSON
devv password -l 32 | tee password.txt       # Save and display
cat file.txt | devv hash - sha256 > hash.txt # Save hash to file

Chaining devv commands

Pipe devv's output into another devv command:

echo '{"key":"value"}' | devv json format | devv base64 encode
devv uuid | devv hash - sha256
devv mock --count 3 | devv json minify

Real-world examples

Format clipboard JSON (macOS)

pbpaste | devv json format | pbcopy

Hash a file

cat secret.txt | devv hash - sha256

API response formatting

curl -s https://api.github.com/users/octocat | devv json format --sort-keys

Generate seed data

devv mock --count 100 > seed-data.json

Decode a JWT from env

echo "$JWT_TOKEN" | devv jwt decode

CSV to formatted JSON

cat export.csv | devv pipe exec "csv-json-converter | json-formatter"

When stdin is detected, devv skips the REPL and processes the piped data directly. Use devv with no pipe and no arguments to enter interactive mode.

Was this page helpful?