--- name: gitea-api description: Read-only Gitea API queries (list org repos, inspect a repo/PR/issue, check CI runs). Use instead of hand-writing curl with tokens. GET-only and allowlisted, so it never prompts. --- # Gitea API (read-only) Run for any read query against Gitea instead of constructing `curl` with a token: ```bash /root/projects/gitea-devtools/gitea-api.sh | jq ``` Path omits the `api/v1/` prefix and an optional leading `/`. Examples: | Goal | Command | |------|---------| | List org repos | `gitea-api.sh /orgs/sporel/repos?limit=100 \| jq -r '.[].full_name'` | | Inspect a repo | `gitea-api.sh repos/calic/claude-config` | | Default branch | `gitea-api.sh repos/sporel/sporel-engine \| jq -r .default_branch` | | Open PRs | `gitea-api.sh repos///pulls?state=open` | | Recent CI runs | `gitea-api.sh repos///actions/tasks` | It auto-resolves a temp read-scope token via the local `gitea` container (or uses `$GITEA_TOKEN`). GET-only — it cannot mutate anything, which is why it's safe to run without prompting. On `ERROR: ... HTTP ` read the hint line (401 = token/scope, 404 = path). If a real query path is missing from this list, just use it — the script accepts any GET path.