Skip to content

About

pi coding-agent extension: pull YellAtUs website feedback (selectors, screenshots, attachments) into your agent and write back status/replies

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

pi-yellatus

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.

Install

# 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-yellatus

Configuration

Config 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 as Authorization: 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, default pi): name shown on replies.
  • YELLATUS_URL and YELLATUS_API_KEY override url and apiKey.

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.

Tools

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.

Development

npm install
npm run typecheck
npm test

Smoke 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 test

License

MIT

About

pi coding-agent extension: pull YellAtUs website feedback (selectors, screenshots, attachments) into your agent and write back status/replies

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages