feat(cli): add pipe support to stop, start, delete, and ls commands#283
Open
feat(cli): add pipe support to stop, start, delete, and ls commands#283
Conversation
Add stdin piping and improved output for CLI composability.
Stop/Start/Delete:
- Accept instance names from stdin (one per line)
- Accept multiple instance names as arguments
- Output instance names when piped for chaining
- Add --all flag to stop command
Ls improvements:
- Add --json flag for JSON output
- Output plain table when piped (for grep/awk)
- Add JSON and pipe support to ls orgs
Examples:
brev ls | awk '/RUNNING/ {print $1}' | brev stop
brev ls | grep "test-" | awk '{print $1}' | brev delete
brev ls --json | jq '.[] | select(.status == "RUNNING")'
brev stop --all
- Extract trackLsAnalytics() in ls.go - Extract runBatchStart() and runSingleStart() in start.go Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Member
Author
Manual QA Results ✅Build & Static Analysis:
Test Plan Verification:
Piping Integration Test:
Notes:
|
- Consolidate duplicate isStdoutPiped() from delete, ls, start, stop - Consolidate duplicate getInstanceNames() from delete, stop - Consolidate duplicate getInstanceNamesFromStdin() from start - Create IsStdoutPiped(), IsStdinPiped(), GetInstanceNames(), GetInstanceNamesWithPipeInfo() - Remove ~108 lines of duplicated code
ea4dba8 to
03b8f8c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add stdin piping and improved output for CLI composability, enabling Unix-style command chaining.
Changes
Stop/Start/Delete
--allflag to stop commandLs Improvements
--jsonflag for JSON outputbrev ls orgsExamples
Test plan
echo "instance" | brev stopworksbrev stop inst1 inst2works with multiple argsbrev ls --jsonoutputs valid JSONbrev ls | grepworks (plain table when piped)brev stop --allstops all running instancesbrev ls orgs --jsonoutputs valid JSON