id = "ente-cli"
name = "Ente CLI"
homepage = "https://github.com/ente-io/ente/tree/main/cli"
description = "Command-line interface for Ente Photos and Auth."
executables = ["ente"]
[dotfiles]
paths = ["~/.ente/config.yaml"]
exclude = []
secret = []
side_effect = false
[commands]
format = 1
label = "Export from Ente"
description = "Export your Ente library and manage which accounts and export folders the CLI knows about. Signing in (ente account add) is interactive and left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/ente-io/ente/tree/main/cli"
revision = "main 2026-10-27"
evidence = """
(Rendered from the cobra flag definitions in cli/cmd/export.go and cli/cmd/account.go of ente-io/ente)
ente export
--shared to exclude shared albums, pass --shared=false
--hidden to exclude hidden albums, pass --hidden=false
--albums strings Comma-separated list of album names to export
--emails strings Comma-separated list of emails to export files shared with
--exclude-albums strings Comma-separated list of album names to exclude
ente account list list configured accounts
ente account add login into existing account
ente account update --app auth/photos --email email@domain.com --dir ~/photos
--dir string update export directory
--email string email address of the account
--app string Specify the app, default is 'photos'
"""
[[commands.subcommand]]
path = ["export"]
label = "Export photos"
description = "Start the export of your Ente library to the configured export directory."
[[commands.subcommand.source]]
id = "help"
kind = "help"
url = "https://github.com/ente-io/ente/tree/main/cli"
revision = "main 2026-10-27"
evidence = """
(Rendered from the cobra flag definitions in cli/cmd/export.go and cli/cmd/account.go of ente-io/ente)
ente export
--shared to exclude shared albums, pass --shared=false
--hidden to exclude hidden albums, pass --hidden=false
--albums strings Comma-separated list of album names to export
--emails strings Comma-separated list of emails to export files shared with
--exclude-albums strings Comma-separated list of album names to exclude
ente account list list configured accounts
ente account add login into existing account
ente account update --app auth/photos --email email@domain.com --dir ~/photos
--dir string update export directory
--email string email address of the account
--app string Specify the app, default is 'photos'
"""
[[commands.subcommand.field]]
id = "shared"
label = "Include shared albums"
description = "On by default."
type = "boolean"
option = ["--shared"]
false_option = "--shared=false"
sources = ["help"]
[[commands.subcommand.field]]
id = "hidden"
label = "Include hidden albums"
description = "On by default."
type = "boolean"
option = ["--hidden"]
false_option = "--hidden=false"
sources = ["help"]
[[commands.subcommand.field]]
id = "albums"
label = "Only these albums"
description = "Comma-separated album names."
type = "string"
option = ["--albums"]
sources = ["help"]
[[commands.subcommand.field]]
id = "exclude_albums"
label = "Exclude albums"
description = "Comma-separated album names."
type = "string"
option = ["--exclude-albums"]
sources = ["help"]
[[commands.subcommand.field]]
id = "emails"
label = "Shared-by emails"
description = "Comma-separated emails to export shared files from."
type = "string"
option = ["--emails"]
sources = ["help"]
[[commands.subcommand.task]]
id = "all"
label = "Export everything"
fields = []
[[commands.subcommand.task]]
id = "some"
label = "Export selected albums"
fields = ["albums", "exclude_albums"]
required = ["albums"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["albums", "exclude_albums", "shared", "hidden"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["emails"]
[[commands.subcommand]]
path = ["account", "update"]
label = "Set export directory"
description = "Change where an account is exported to."
[[commands.subcommand.source]]
id = "help"
kind = "help"
url = "https://github.com/ente-io/ente/tree/main/cli"
revision = "main 2026-10-27"
evidence = """
(Rendered from the cobra flag definitions in cli/cmd/export.go and cli/cmd/account.go of ente-io/ente)
ente export
--shared to exclude shared albums, pass --shared=false
--hidden to exclude hidden albums, pass --hidden=false
--albums strings Comma-separated list of album names to export
--emails strings Comma-separated list of emails to export files shared with
--exclude-albums strings Comma-separated list of album names to exclude
ente account list list configured accounts
ente account add login into existing account
ente account update --app auth/photos --email email@domain.com --dir ~/photos
--dir string update export directory
--email string email address of the account
--app string Specify the app, default is 'photos'
"""
[[commands.subcommand.field]]
id = "dir"
label = "Export directory"
type = "path"
option = ["--dir"]
path = { kind = "directory", role = "output", must_exist = false }
sources = ["help"]
[[commands.subcommand.field]]
id = "email"
label = "Account email"
type = "string"
option = ["--email"]
sources = ["help"]
[[commands.subcommand.field]]
id = "app"
label = "App"
description = "Defaults to photos."
type = "enum"
option = ["--app"]
choices = [{ value = "photos", label = "Photos" }, { value = "auth", label = "Auth" }]
sources = ["help"]
[[commands.subcommand.task]]
id = "update"
label = "Update export directory"
fields = ["dir", "email", "app"]
required = ["dir", "email"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["dir", "email", "app"]