YellAtUs feedback tools for pi.
Visitors leave feedback on a website through the YellAtUs widget: a message, CSS-selector annotations, a screenshot, and attachments. This extension lets the pi agent read that feedback, including the images, fix the code, reply to the reporter, and update the status.
# from git
pi install git:github.com/pascalporedda/pi-yellatus
# or from a local clone
git clone https://github.com/pascalporedda/pi-yellatus ~/work/pi-yellatus
cd ~/work/pi-yellatus && npm install
pi install ~/work/pi-yellatus
# try it for a single run without installing
pi -e ~/work/pi-yellatusConfig file: ~/.pi/agent/yellatus.json, or $PI_CODING_AGENT_DIR/yellatus.json
when PI_CODING_AGENT_DIR is set.
{
"url": "https://feedback.example.com",
"apiKey": "<admin API key>",
"authorName": "pi",
"folders": {
"/Users/me/work/my-site": { "project": "my-site" }
}
}url,apiKey: the YellAtUs base URL and admin API key (sent asAuthorization: Bearer …).folders: maps a repository to a YellAtUs project. The key is the git root of pi's working directory (git rev-parse --show-toplevel), or the working directory itself outside a git repo.authorName(optional, defaultpi): name shown on replies.YELLATUS_URLandYELLATUS_API_KEYoverrideurlandapiKey.
You don't have to write the file by hand. If a value is missing when a tool
runs in interactive mode, pi asks for the URL, API key, and project, then saves
them to the config file with mode 600. Without a UI (print/JSON mode) the
tool returns an error explaining how to configure it. Nothing is ever written
into your repository.
| Tool | What it does |
|---|---|
yellatus_list |
Lists feedback for the project (default: open + in_progress, newest first, limit 20). Filters: status (open, in_progress, resolved, wont_fix, all), type, search, limit, project (one-off override, not saved). |
yellatus_get |
Shows the full detail of one item: message, page URL, viewport, user agent, diagnostics, annotations, replies, and attachments. The screenshot and image attachments come back inline as images. All files are saved under $TMPDIR/yellatus/<id>/. |
yellatus_set_status |
Sets the status: open, in_progress, resolved, or wont_fix. |
yellatus_reply |
Posts an admin reply, which the reporter sees in the widget. |
yellatus_delete |
Deletes a feedback item or a reply. You have to confirm it in the UI, so it is refused in non-interactive mode. |
Typical flow: ask pi to "fix the open YellAtUs feedback" → yellatus_list →
yellatus_get → code changes → yellatus_reply → yellatus_set_status resolved.
npm install
npm run typecheck
npm testSmoke test against a running YellAtUs server (it creates and then deletes one feedback item in a throwaway project, using a temporary config dir):
YELLATUS_SMOKE_URL=http://localhost:7300 YELLATUS_SMOKE_KEY=dev-api-key-0123456789 npm testMIT