--- /dev/null
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2025-04-22T17:19:05Z"
+ content="""
+Adding --json to `map` would be a useful thing to do.
+
+Conceptually, we have here a directed graph (cyclic) with named edges
+(remote names) and nodes (repository uuids or urls). Fitting a cyclic graph
+into json probably needs something not unlike the graphviz output, and
+also as implemented `map` doesn't actually build the graph internally.
+
+So I envision a json output something like a list of nodes, where each node
+has a field for uuid (omitted for non-annex git repos), a field
+for url, and a field containing a list of its remotes. With each json
+object in the remotes list having a remote name, a uuid (for annex repos),
+and an url.
+
+As for how well it might fit the needs of your project, some thoughts:
+
+* `map` is able to spider out to remotes of remotes, but that's as far as
+ it can go, since it only queries the `git config` of remote repositories,
+ and does not run itself recursively on other hosts. Which can only get so
+ far, but is a reasonable limitation for it. Often sshing into a remote
+ host to run map recursively would be blocked for security reasons anyway.
+ With --json output, you could run `map` on several hosts and combine them
+ easily enough.
+* `map` does not currently show connections to special remotes, which maybe you
+ would need. This would be easy to do for special remotes of the local
+ repository, but it seems like it would actually be pretty hard to do for
+ special remotes of a remote repository.
+"""]]