# Gitea Access (tea CLI) **Never access the Gitea API directly** — use the `tea` CLI with all required flags to bypass interactive mode. Always pass `--login schweitz --repo jpmschweitzer/settled-reach --output simple` to avoid TTY prompts. ```bash # List open PRs tea pr list --login schweitz --repo jpmschweitzer/settled-reach --state open --output simple # View a PR with comments tea pr --login schweitz --repo jpmschweitzer/settled-reach --comments -o simple # Post a comment on a PR (or issue) — use @filepath for long comments tooling/tea-comment @/tmp/review.md tooling/tea-comment "short inline comment" # Approve a PR tea pr approve --login schweitz --repo jpmschweitzer/settled-reach # List issues tea issue list --login schweitz --repo jpmschweitzer/settled-reach --state open --output simple ``` ## Key rules - **All flags must be explicit** — omitting `--login` or `--repo` triggers interactive prompts that crash in Claude Code (no TTY) - **Use `--output simple`** for machine-readable output (no table borders) - **For comments, use `tooling/tea-comment @/tmp/file.md`** for long comments (write to file first, then pass `@filepath`). Short inline strings also work: `tooling/tea-comment "body"`. The `@filepath` form avoids `$()` subshells which break permission matching. - **`tea pr reject` does not work on your own PRs** — use `tea comment` instead - **Never delete protected branches:** `main`, `maintenance`, `server`, `client`, `copy`, `audio`, `visual`, `ci` are protected on Gitea. Do not use `tea pr clean`, `git push --delete`, or `git branch -D` on these branches. ## Pull requests **Use `tea` (Gitea CLI), not `gh` (GitHub CLI).** The remote is Gitea at `git.schweitz.internal`. Always provide all required flags to ensure non-interactive execution: ```bash tea pr create \ --repo jpmschweitzer/settled-reach \ --login schweitz \ --title "feat(scope): short description" \ --description "PR body here" \ --base main \ --head branch-name ```