# tea CLI — HELPERS See [`./index.md`](./index.md) for global options and common flags shared by all commands. ## `tea open, o` Open the current repository/context in a web browser. ## `tea notifications` (aliases: `notification`, `n`) Defaults to the current repo; `--mine/-m` aggregates across all your repos. Fields: `id,status,updated,index,type,state,title,repository`. Filters: `--types/-t {issue|pull|repository|commit}`, `--states/-s {pinned|unread|read}` (default: `unread,pinned`). - `ls, list` - `read, r [all | ]` - `unread, u [all | ]` - `pin, p [all | ]` - `unpin [all | ]` ## `tea clone, C [target-dir]` Clone without requiring a local git install. Accepts slug forms: `gitea/tea`, `tea`, `gitea.com/gitea/tea`, `git@gitea.com:gitea/tea`, `https://gitea.com/gitea/tea`, `ssh://gitea.com:22/gitea/tea`. A host in the slug overrides `--login`. Options: `--depth/-d`, `--login/-l`. ## `tea api ` Authenticated HTTP request to the Gitea API. Endpoints are auto-prefixed with `/api/v1/` unless they start with `/api/` or `http(s)://`. Placeholders `{owner}` and `{repo}` are filled from the repo context. - `--method/-X {GET|POST|PUT|PATCH|DELETE}` (default GET; switches to POST automatically when a body is provided) - `--field/-f key=value` — string field on body (repeatable). - `--Field/-F key=value` — typed field (numbers, booleans, null, JSON arrays/objects); `@file` or `@-` (stdin); `"null"` forces literal string. - `--data/-d` — raw JSON body (`@file` / `@-`). Incompatible with `-f`/`-F`. - `--header/-H key:value` (repeatable) - `--include/-i` — write status + response headers to stderr. - `--output/-o ` — write response body to file (`-` = stdout). **Not the entity commands' format flag**: `-o json` here creates a file named `json` and prints nothing. The body is already JSON. - Quote the endpoint if it contains `?` or `&` to prevent shell expansion.