id = "e1s"
name = "e1s"
homepage = "https://github.com/keidarcy/e1s"
description = "Terminal application to browse and manage AWS ECS resources"
executables = ["e1s"]
[dotfiles]
paths = ["~/.config/e1s/config.yml"]
secret = []
side_effect = false
[commands]
format = 1
label = "Browse ECS resources"
description = "Start the e1s terminal UI against an AWS profile, region, cluster and service. Theme, SSM custom command and startup splash options are not covered."
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/keidarcy/e1s#usage"
revision = "2026-10-27"
evidence = """
Usage:
e1s [flags]
Flags:
--cluster string specify the default cluster
-c, --config-file string config file (default "$HOME/.config/e1s/config.yml")
-d, --debug sets debug mode
--exec-mode string execution mode for ECS containers: ecs or ssm (default "ecs")
-j, --json log output json format
-l, --log-file string specify the log file path (default "${TMPDIR}e1s.log")
--profile string specify the AWS profile
--read-only sets read only mode
-r, --refresh int specify the default refresh rate as an integer, sets -1 to stop auto refresh (sec) (default 30)
--region string specify the AWS region
--service string specify the default service (requires --cluster)
-s, --shell string specify interactive ecs exec shell (default "/bin/sh")
"""
[[commands.field]]
id = "profile"
label = "AWS profile"
type = "string"
option = ["--profile"]
sources = ["help"]
[[commands.field]]
id = "region"
label = "AWS region"
type = "string"
option = ["--region"]
suggestions = [{ value = "us-east-1", label = "us-east-1" }, { value = "us-east-2", label = "us-east-2" }, { value = "us-west-2", label = "us-west-2" }, { value = "eu-west-1", label = "eu-west-1" }]
sources = ["help"]
[[commands.field]]
id = "cluster"
label = "Default cluster"
type = "string"
option = ["--cluster"]
sources = ["help"]
[[commands.field]]
id = "service"
label = "Default service"
description = "Requires a default cluster."
type = "string"
option = ["--service"]
sources = ["help"]
[[commands.field]]
id = "read_only"
label = "Read-only mode"
type = "boolean"
option = ["--read-only"]
sources = ["help"]
[[commands.field]]
id = "refresh"
label = "Refresh rate (seconds)"
description = "Use -1 to stop auto refresh."
type = "integer"
option = ["--refresh", "-r"]
sources = ["help"]
[[commands.field]]
id = "exec_mode"
label = "Exec mode"
type = "enum"
option = ["--exec-mode"]
choices = [{ value = "ecs", label = "ECS Exec" }, { value = "ssm", label = "SSM" }]
sources = ["help"]
[[commands.field]]
id = "shell"
label = "Exec shell"
type = "string"
option = ["--shell", "-s"]
suggestions = [{ value = "/bin/sh", label = "/bin/sh" }, { value = "/bin/bash", label = "/bin/bash" }]
sources = ["help"]
[[commands.field]]
id = "config_file"
label = "Config file"
type = "path"
option = ["--config-file", "-c"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "debug"
label = "Debug mode"
type = "boolean"
option = ["--debug", "-d"]
sources = ["help"]
[[commands.field]]
id = "log_file"
label = "Log file"
type = "path"
option = ["--log-file", "-l"]
path = { kind = "file", role = "output", must_exist = false }
effect = "overwrite"
sources = ["help"]
[[commands.field]]
id = "json"
label = "JSON log output"
type = "boolean"
option = ["--json", "-j"]
sources = ["help"]
[[commands.task]]
id = "browse"
label = "Browse a cluster"
fields = ["profile", "region", "cluster", "service"]
required = ["profile", "region"]
[[commands.task]]
id = "read_only"
label = "Browse read-only"
fields = ["profile", "region", "read_only"]
required = ["read_only"]
set = { read_only = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["profile", "region", "cluster", "service", "read_only", "refresh"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["exec_mode", "shell", "config_file", "debug", "log_file", "json"]