id = "imap-backup" name = "imap-backup" homepage = "https://github.com/joeyates/imap-backup" description = "Back up IMAP mailboxes" executables = ["imap-backup"] [dotfiles] # The upstream configuration guide documents ~/.imap-backup/config.json as # the default and explicitly states that usernames and passwords are held in # plain text in it, so the whole file is a credential-bearing path. # https://github.com/joeyates/imap-backup/blob/main/docs/files/config.md paths = [] secret = ["~/.imap-backup/config.json"] [commands] format = 1 label = "IMAP backup" description = "Back up configured accounts or restore one account. Account setup and the single-account commands are outside this form." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["backup"] label = "Back up accounts" description = "Incrementally copy all configured accounts to disk." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://github.com/joeyates/imap-backup/blob/main/docs/commands/backup.md" revision = "2026-10-27" evidence = """ imap-backup backup Verbose output can be configured by adding the `--verbose` (or `-v`) parameter. Add that parameter twice will also show all network traffic between """ [[commands.subcommand.field]] id = "verbose" label = "Verbose" description = "Repeat to also show IMAP network traffic." type = "count" option = ["--verbose", "-v"] sources = ["docs"] [[commands.subcommand.task]] id = "backup" label = "Back up all accounts" fields = ["verbose"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["verbose"] [[commands.subcommand]] path = ["restore"] label = "Restore an account" description = "Push missing backed-up messages to the IMAP server; existing messages are left unchanged." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://github.com/joeyates/imap-backup/blob/main/docs/commands/restore.md" revision = "2026-10-27" evidence = """ imap-backup restore EMAIL_ADDRESS All missing messages are pushed to the IMAP server. """ [[commands.subcommand.field]] id = "email" label = "Email address" type = "string" position = 0 min = 1 sources = ["docs"] [[commands.subcommand.task]] id = "restore" label = "Restore an account" fields = ["email"] required = ["email"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["email"]