id = "oterm"
name = "oterm"
homepage = "https://ggozad.github.io/oterm/"
description = "The terminal client for Ollama, OpenAI, Anthropic, and other LLM providers"
executables = ["oterm"]
[dotfiles]
paths = [
"[xdgData]/oterm/",
"[appData]/oterm/",
]
secret = [
"[xdgData]/oterm/config.json",
"[appData]/oterm/config.json",
]
[commands]
format = 1
label = "Inspect oterm"
description = "Print oterm information instead of starting the chat interface. The interactive app itself takes no other options."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "docs"
kind = "manual"
url = "https://ggozad.github.io/oterm/app_config/"
revision = "2026-10-27"
evidence = """
If in doubt, run oterm --data-dir (or uvx oterm --data-dir) to print the resolved location.
Run oterm --db to print its path.
"""
[[commands.source]]
id = "src"
kind = "help"
url = "https://raw.githubusercontent.com/ggozad/oterm/HEAD/src/oterm/cli/oterm.py"
revision = "HEAD 2026-10-27"
evidence = """
version: bool = typer.Option(None, "--version", "-v", help="Print the version."),
None, "--upgrade", help="Apply pending database upgrades."
None, "--config", help="Print the environment settings."
None, "--db", help="Print the path of the chat database."
data_dir: bool = typer.Option(None, "--data-dir", help="Print the data directory."),
"""
[[commands.field]]
id = "version"
label = "Print version"
type = "boolean"
option = ["--version", "-v"]
sources = ["src"]
[[commands.field]]
id = "data_dir"
label = "Print data directory"
type = "boolean"
option = ["--data-dir"]
sources = ["docs", "src"]
[[commands.field]]
id = "db"
label = "Print chat database path"
type = "boolean"
option = ["--db"]
sources = ["docs", "src"]
[[commands.field]]
id = "config"
label = "Print environment settings"
type = "boolean"
option = ["--config"]
sources = ["src"]
[[commands.field]]
id = "upgrade"
label = "Apply database upgrades"
type = "boolean"
option = ["--upgrade"]
effect = "overwrite"
sources = ["src"]
[[commands.task]]
id = "data_dir"
label = "Show data directory"
fields = ["data_dir"]
required = ["data_dir"]
set = { data_dir = [true] }
[[commands.task]]
id = "version"
label = "Show version"
fields = ["version"]
required = ["version"]
set = { version = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["version", "data_dir", "db", "config", "upgrade"]