Repository navigation
What's Changed
Fix: --json output could be invalid or crash
JSON was printed through Rich, which wrapped long values at the terminal width (80 columns when piped) and read [...] in paths or branch names as markup. Depending on the data, commands produced invalid JSON or exited with an error.
- Every
--jsondocument is now written to stdout as exact JSON through one shared path, regardless of terminal width or the characters in paths and branch names. - In JSON mode, error and warning messages go to stderr, so stdout contains only the JSON document. Exit codes are unchanged.
list --json --pathsnow returns JSON;--jsontakes precedence over--paths.- JSON shape and keys are unchanged.
Faster repository discovery
Discovery no longer descends into .git directories or node_modules, which roughly halves discovery time on large trees. The set of discovered repositories is otherwise unchanged; repositories located inside node_modules are no longer listed.
Fix: --dry-run reported actions that did not happen
sync --dry-run printed Pulled 1/1 / Pushed 1/1 although nothing was pulled or pushed. Dry runs of pull, push and sync now say what would happen (Would pull, Would push, Pull Preview (dry-run)). Output without --dry-run is unchanged.