Skip to content

feat: add --output flag with console and json modes to the status sub-command#1812

Merged
vishalg0wda merged 3 commits into
mainfrom
vishal/gen-2345-status-output-flag
Jan 20, 2026
Merged

feat: add --output flag with console and json modes to the status sub-command#1812
vishalg0wda merged 3 commits into
mainfrom
vishal/gen-2345-status-output-flag

Conversation

@vishalg0wda

@vishalg0wda vishalg0wda commented Jan 20, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds --output flag to speakeasy status with three modes:
    • summary (default): Visual boxes with lipgloss styling, requires TTY
    • console: Plain text output for non-TTY environments (CI/CD, AI agents)
    • json: Structured JSON for automation and programmatic parsing
  • Updates skill documentation to reflect new output modes

Motivation

The speakeasy status command previously required a TTY for its visual output, making it unusable in non-interactive environments like CI/CD pipelines or AI agent workflows. This change enables:

  • CI/CD Integration: Use --output console for readable logs
  • Automation: Use --output json for reliable machine parsing
  • AI Agents: Non-TTY environments can now check workspace status

Test plan

  • Run speakeasy status - verify default visual output works
  • Run speakeasy status --output console - verify plain text output
  • Run speakeasy status --output json - verify valid JSON output
  • Run speakeasy status --output json | jq . - verify JSON is parseable
  • Verify no log messages leak into JSON output
  • Run existing tests: go test ./cmd/...

Screenshots

Standard output

image

--output console

image

--output json

image

Add non-interactive output modes for `speakeasy status` command to support
AI agents, CI/CD pipelines, and automation:

- `--output summary` (default): Visual boxes with lipgloss styling (TTY required)
- `--output console`: Plain text with aligned key-value pairs (no TTY)
- `--output json`: Structured JSON for programmatic access

Console mode features:
- Section headers with target counts
- Aligned key-value formatting
- Explicit Status and Version fields
- No spinner (works without TTY)

JSON mode features:
- Clean stdout (no log messages)
- Nested objects for timestamps, actors
- Structured fields (language, name, sdkVersion)
- Easy to parse programmatically

Closes GEN-2345
@linear

linear Bot commented Jan 20, 2026

Copy link
Copy Markdown

@vishalg0wda vishalg0wda changed the title feat(status): add --output flag with console and json modes feat: add --output flag with console and json modes to the status sub-command Jan 20, 2026
@vishalg0wda
vishalg0wda enabled auto-merge (squash) January 20, 2026 18:04
@vishalg0wda
vishalg0wda merged commit 22a897a into main Jan 20, 2026
3 of 4 checks passed
@vishalg0wda
vishalg0wda deleted the vishal/gen-2345-status-output-flag branch January 20, 2026 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants