coreapi commands: human tables by default, --json to opt out

main

Commit

Soph3mo ago

The list/get commands dumped the raw wire model as JSON — noisy (installationId, jurisdiction, ULIDs) and, for mirrors, missing the one field a person actually wants: the clone URL. Default them to a compact, aligned table of the actionable columns; add a persistent --json flag (inherited by nested subcommands like entire repo mirror list) for the full model when scripting.

corecmd.go gains the shared machinery: addJSONFlag / jsonRequested, a tabwriter-based printTable + printFields, and runCoreList / runCoreObject that branch on --json. Each resource defines one columns + row mapper reused by both its list (table) and get (vertical field view).

Mirror output now synthesises the clone URL (entire://<cluster>/gh/<owner>/<repo>) the list API doesn't return, and drops installationId/jurisdiction/createdAt from the human view — so repo mirror list leads with repo, cluster, and the URL you'd clone.

Scope is the read commands (org/project/repo/grant list, repo+mirror get); create/add still echo the new object as JSON so the new id is easy to capture, and mirror create keeps its interactive clone-wait output.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com Entire-Checkpoint: ad6864b8ff39

Checkpoints

CoreAPI Command Output and Mirror Improvements

CodexGPT-5.5
View session
Checkpoint 1

Integrate EntireDB Commands into CLI

Claude Code
View session
Checkpoint 1