id = "myrepos"
name = "myrepos"
homepage = "https://myrepos.branchable.com"
description = "myrepos provides a mr command, which is a tool to manage all your version control repositories."
executables = ["mr"]
[dotfiles]
paths = [
"~/.mrconfig",
"~/.mrtrust",
]
exclude = ["~/.mrlog"]
secret = []
side_effect = false
[commands]
format = 1
label = "Run mr action"
description = "Run one mr action (update, status, push, diff) across the registered repositories. Parallel jobs, caching, bootstrap and custom commands are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "manpage"
kind = "manual"
url = "https://manpages.debian.org/unstable/myrepos/mr.1.en.html"
revision = "2026-10-27"
evidence = """
update
Updates each repository from its configured remote repository.
status
Displays a status report for each repository, showing what uncommitted
push
Pushes committed local changes to the remote repository.
diff
-d directory
--directory
Specifies the topmost directory that mr should work in.
--config mrconfig
--force
--verbose
-v
--minimal
-m
--quiet
-q
--stats
-s
--interactive
-i
"""
[[commands.field]]
id = "action"
label = "Action"
type = "enum"
position = 0
choices = [{ value = "update", label = "Update" }, { value = "status", label = "Status" }, { value = "push", label = "Push" }, { value = "diff", label = "Diff" }]
sources = ["manpage"]
[[commands.field]]
id = "directory"
label = "Top directory"
description = "Topmost directory mr should work in; defaults to the current directory."
type = "path"
option = ["--directory", "-d"]
path = { kind = "directory", role = "input" }
sources = ["manpage"]
[[commands.field]]
id = "config"
label = "mrconfig file"
type = "path"
option = ["--config"]
path = { kind = "file", role = "input" }
sources = ["manpage"]
[[commands.field]]
id = "verbose"
label = "Verbose"
type = "boolean"
option = ["--verbose", "-v"]
sources = ["manpage"]
[[commands.field]]
id = "minimal"
label = "Minimal output"
type = "boolean"
option = ["--minimal", "-m"]
sources = ["manpage"]
[[commands.field]]
id = "quiet"
label = "Quiet"
type = "boolean"
option = ["--quiet", "-q"]
sources = ["manpage"]
[[commands.field]]
id = "stats"
label = "Expanded statistics"
type = "boolean"
option = ["--stats", "-s"]
sources = ["manpage"]
[[commands.field]]
id = "interactive"
label = "Interactive on failure"
type = "boolean"
option = ["--interactive", "-i"]
sources = ["manpage"]
[[commands.task]]
id = "update"
label = "Update all repositories"
fields = ["action"]
required = ["action"]
set = { action = ["update"] }
[[commands.task]]
id = "status"
label = "Status of all repositories"
fields = ["action"]
required = ["action"]
set = { action = ["status"] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["action", "directory", "verbose", "quiet"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["config", "minimal", "stats", "interactive"]