docs(agents): note that tea reads stdin and hangs without </dev/null #62

Merged
archvillainette merged 1 commits from docs/tea-comment-stdin into main 2026-07-28 13:18:47 +00:00
Showing only changes of commit 7e0dc7ca83 - Show all commits
+6 -2
View File
@@ -52,7 +52,11 @@ preference — move it.
- **Read an issue**: `tea issues <number>` and - **Read an issue**: `tea issues <number>` and
`tea api repos/ShadowsOverWestgate/sow-nodebb-theme/issues/<number>/comments` for comments. `tea api repos/ShadowsOverWestgate/sow-nodebb-theme/issues/<number>/comments` for comments.
- **List issues**: `tea issues list --state open` (add `--labels ...` to filter). - **List issues**: `tea issues list --state open` (add `--labels ...` to filter).
- **Comment**: `tea comment <number> "..."` - **Comment**: `tea comment <number> "..." </dev/null`
Always redirect stdin. `tea` reads stdin to EOF and appends it to the body,
so any non-interactive shell (every agent) hangs forever without
`</dev/null`. Same trap on `tea issues create --description` and
`tea pr create`.
- **Apply / remove labels**: `tea api --method PATCH` on the issue, or - **Apply / remove labels**: `tea api --method PATCH` on the issue, or
`tea api repos/ShadowsOverWestgate/sow-nodebb-theme/issues/<number>/labels` endpoints. `tea api repos/ShadowsOverWestgate/sow-nodebb-theme/issues/<number>/labels` endpoints.
- **Close**: `tea issues close <number>` - **Close**: `tea issues close <number>`
@@ -81,4 +85,4 @@ Used by `/wayfinder`. The **map** is a single issue with **child** issues as tic
- **Blocking**: Gitea's **native dependencies API** — the canonical, UI-visible representation (shows as "Depends on" / "Blocks" on the issue page). Add an edge with `tea api -X POST repos/ShadowsOverWestgate/sow-nodebb-theme/issues/<child>/dependencies -f owner=ShadowsOverWestgate -f repo=sow-nodebb-theme -F index=<blocker>`, where `<blocker>` is the blocker's issue **index** (its `#number` — Gitea's dependency API takes the index directly, unlike GitHub's numeric database id). Check status with `tea api repos/ShadowsOverWestgate/sow-nodebb-theme/issues/<child>/dependencies` (GET) — a ticket is unblocked when every returned issue's `state` is `closed`. - **Blocking**: Gitea's **native dependencies API** — the canonical, UI-visible representation (shows as "Depends on" / "Blocks" on the issue page). Add an edge with `tea api -X POST repos/ShadowsOverWestgate/sow-nodebb-theme/issues/<child>/dependencies -f owner=ShadowsOverWestgate -f repo=sow-nodebb-theme -F index=<blocker>`, where `<blocker>` is the blocker's issue **index** (its `#number` — Gitea's dependency API takes the index directly, unlike GitHub's numeric database id). Check status with `tea api repos/ShadowsOverWestgate/sow-nodebb-theme/issues/<child>/dependencies` (GET) — a ticket is unblocked when every returned issue's `state` is `closed`.
- **Frontier query**: list the map's open children (`tea issues list --state open`, keep the ones whose description contains `Part of #<map>`), drop any with an open dependency (per the GET above) or an assignee; first in map order wins. - **Frontier query**: list the map's open children (`tea issues list --state open`, keep the ones whose description contains `Part of #<map>`), drop any with an open dependency (per the GET above) or an assignee; first in map order wins.
- **Claim**: `tea issues edit <n> --add-assignees <username>` — the session's first write. - **Claim**: `tea issues edit <n> --add-assignees <username>` — the session's first write.
- **Resolve**: `tea comment <n> "<answer>"`, then `tea issues close <n>`, then append a context pointer (gist + link) to the map's Decisions-so-far. - **Resolve**: `tea comment <n> "<answer>" </dev/null`, then `tea issues close <n>`, then append a context pointer (gist + link) to the map's Decisions-so-far.