• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 27285060191
65%
develop: 65%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-5573-20c4c86b145334137e0fcabe1b305c1ec8ca7fd8
DEFAULT BRANCH: develop
Ran 10 Jun 2026 02:56PM UTC
Jobs 1
Files 223
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Jun 2026 02:54PM UTC coverage: 64.636%. Remained the same
27285060191

push

github

web-flow
feat(cli): default output to JSON for coding agents (#5532)

## Summary

Coding agents that run the CLI now get JSON output by default, so they
can parse structured results instead of scraping human-formatted tables.
I resolve the effective output format once at the TypeScript entrypoint
(both the legacy and next roots): an explicit `--output` /
`--output-format` always wins, otherwise a detected coding agent gets
`json` and everyone else keeps `text`. For Go-proxied commands this
flows down as `--output json` to the Go subprocess, which renders JSON
for the data-returning commands and ignores the flag elsewhere, so no Go
changes were needed.

## Changes

- Resolve output format from coding-agent detection in both CLI roots,
defaulting agents to `json` when no format is set explicitly.
- Add a shared `resolveAgentOutputFormat` helper (`explicit ?? (agent ?
json : text)`) reused by both roots, with unit tests.
- Make the `--output-format` global flag optional so an
explicitly-passed format is distinguishable from the default.
- Suppress the agent JSON default whenever the Go-compat `-o`/`--output`
flag is passed explicitly: `-o json|yaml|toml|env` already
short-circuits inside handlers, and `-o pretty` now keeps rendering the
human table on natively ported commands instead of being overridden to
JSON.

## Behavior notes

- Humans and CI keep their current output: production telemetry shows
~99.6% of CI invocations carry no coding-agent env signal, so they don't
flip.
- Error rendering follows the resolved format. In text mode errors stay
as red text on stderr, unchanged. In agent-default JSON mode handler
errors emit the existing structured envelope
(`{"_tag":"Error","error":{code,message}}`) on stdout with a non-zero
exit code, the same behavior `--output-format json` already had, so
agents get parseable failures instead of prose.
- Interactive prompts already refuse to block in JSON mode
(`NonInteractiveError`), so a detected agent cannot hang on a c... (continued)

10506 of 16254 relevant lines covered (64.64%)

7.13 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
80.61
0.0% internal/storage/rm/rm.go
Jobs
ID Job ID Ran Files Coverage
1 27285060191.1 10 Jun 2026 02:56PM UTC 223
64.64
GitHub Action Run
Source Files on build 27285060191
  • Tree
  • List 223
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27285060191
  • 3b517e77 on github
  • Prev Build on gh-readonly-queue/develop/pr-5525-8c577d84f5522c58671434c56bea787549defc89 (#27276155931)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc