Files
settled-reach/.claude/rules/tea-cli.md
T
jpmschweitzerandClaude Fable 5 8b76d8c4a8 feat(config): worktree-setup helper + skill notes for worktree gotchas
tooling/worktree-setup <branch>: one command to create a usable worktree —
adds it under the gitignored .worktrees/, symlinks .venv (so make/python
tooling resolves .venv/bin/python), relies on the post-checkout hook for the
pql --vault rebuild, and prints the in-worktree reminders. Tested end-to-end
(venv linked, pql.db populated on create).

whats-next §3c now calls the helper and documents the three in-worktree
gotchas (pql --vault, tea-from-main, read-only content agents); tea-cli.md
notes tea must run from the main checkout.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 15:28:28 +02:00

2.3 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 --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 <number> @/tmp/file.md for long comments (write to file first, then pass @filepath). Short inline strings also work: tooling/tea-comment <number> "body". The @filepath form avoids $() subshells which break permission matching.
  • tea pr reject does not work on your own PRs — use tea comment instead
  • Run tea from the main checkout, never a linked worktree — its go-git can't read a worktree's .git file and errors with "local/remote repository required". tea pr create/close/comment all take explicit --login/--head/--base, so cwd only needs to be the main repo, not the branch's worktree.
  • 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:

tea pr create \
  --repo jpmschweitzer/settled-reach \
  --login schweitz \
  --title "feat(scope): short description" \
  --description "PR body here" \
  --base main \
  --head branch-name