Jeroen confirmed the .internal-to-.net proxy migration was intentional (2026-07 weekend maintenance): git.schweitz.internal's vhost is gone, git.schweitz.net is live with a LE cert and AdGuard LAN hairpin. tea-cli.md + local-services.md repointed (tea's own config already switched). tooling/db/config.json: the bare tower-of-joy hostname has no DNS entry since the migration — Stable Audio/Trellis endpoints now by IP. Workshop archives under docs/workshops/ keep their historical .internal mentions (records, not operative config). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3.0 KiB
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.
# 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 <PR_NUMBER>
# Post a comment on a PR (or issue) — use @filepath for long comments
tooling/tea-comment <NUMBER> @/tmp/review.md
tooling/tea-comment <NUMBER> "short inline comment"
# Approve a PR
tea pr approve --login schweitz --repo jpmschweitzer/settled-reach <PR_NUMBER>
# List issues
tea issue list --login schweitz --repo jpmschweitzer/settled-reach --state open --output simple
Key rules
- All flags must be explicit — omitting
--loginor--repotriggers interactive prompts that crash in Claude Code (no TTY). One exception:tea pr createmust OMIT--repo— see Pull requests below. - Use
--output simplefor machine-readable output (no table borders) - For comments, use
tooling/tea-comment <number> @/tmp/file.mdfor long comments (write to file first, then pass@filepath). Short inline strings also work:tooling/tea-comment <number> "body". The@filepathform avoids$()subshells which break permission matching. tea pr rejectdoes not work on your own PRs — usetea commentinstead- Run
teafrom the main checkout, never a linked worktree — its go-git can't read a worktree's.gitfile and errors with "local/remote repository required".tea pr close/commenttake explicit--login/--reposo cwd barely matters for them, buttea pr createresolves the repo from the local checkout's remote (see below) — that is why it must run from the main repo. - Never delete protected branches:
main,maintenance,server,client,copy,audio,visual,ciare protected on Gitea. Do not usetea pr clean,git push --delete, orgit branch -Don these branches.
Pull requests
Use tea (Gitea CLI), not gh (GitHub CLI). The remote is Gitea at https://git.schweitz.net (the .internal vhost was retired in the 2026-07 proxy migration; AdGuard hairpins the .net name to the LAN).
tea pr create is the one command that must omit --repo: an explicit
--repo <slug> makes tea skip local-repo setup, but pr create unconditionally
needs the local repo handle (it checks whether the head branch is pushed) and
dies with local repository required — the flag causes the failure it
suggests fixing. Run it from the main checkout and let tea infer the repo
from origin's URL. (This inference is also why the login's ssh_host in
~/.config/tea/config.yml must match the remote host — currently
git.schweitz.net.)
tea pr create \
--login schweitz \
--title "feat(scope): short description" \
--description "PR body here" \
--base main \
--head branch-name