Overview
Install and run CLI commands from your terminal
Installation
After installing the package, the daysurface command is available:
daysurface --helpIf you installed from source, prefix with uv run:
uv run daysurface --helpGlobal Flags
Flags go before the subcommand:
daysurface [flags] <command> [args]| Flag | Short | Description |
|---|---|---|
--verbose | -v | Increase output verbosity |
--quiet | -q | Suppress non-essential output |
--debug | Show full tracebacks on error | |
--format | -f | Output format: table (default), json, plain |
--dry-run | Preview actions without executing | |
--version | -V | Print version and exit |
Examples:
daysurface --format json config show # JSON output
daysurface --dry-run greet Alice # preview without executing
daysurface --debug config get bad.key # full tracebacks on errorScripting & agents
The CLI is built to be driven non-interactively (by scripts and AI agents):
-
Non-interactive by default. Prompts only appear on an interactive terminal. When stdin is not a TTY, missing required values fail fast with an actionable error instead of hanging on a prompt.
-
Values accept stdin. Anywhere a value is taken, pass
-as the value or add--stdinto read it from stdin - handy for piping:echo true | daysurface config set llm_config.cache_enabled --stdin echo "$API_KEY" | daysurface secrets set OPENAI_API_KEY --stdin cat .env | daysurface secrets import --stdin -
--dry-runpreviews destructive actions (config set,secrets set,secrets delete,secrets import) without writing anything. -
Idempotent where it counts. Deleting an absent secret is a no-op success, so retries are safe.
-
Examples in every
--help. Rundaysurface <command> --helpto see concrete invocations to pattern-match off.