* add incremental re-review on new PR commits
When new commits are pushed to a PR that Pullfrog has previously reviewed,
automatically perform a focused re-review on only the new changes. Includes
a supersede mechanism to abort stale in-flight reviews on rapid pushes, a
new IncrementalReview mode with incremental diff + prior-feedback awareness,
and a PRReview tracking model so re-review fires for both auto-reviewed and
manually-triggered PRs. Reviews now always submit (APPROVE when clean).
Co-authored-by: Cursor <cursoragent@cursor.com>
* simplify re-review eligibility and add summary to incremental reviews
Remove the path1/path2 distinction for re-review eligibility — now simply
requires prReReview=enabled and a prior Pullfrog review on the PR. Show
the re-review toggle regardless of prCreated setting. Add a top-level
summary body to incremental reviews for consistency with full reviews.
Co-authored-by: Cursor <cursoragent@cursor.com>
* replace superseded polling with server-side in-flight dedup and add prApproveEnabled setting
Made-with: Cursor
* add armstrong cursor command
Made-with: Cursor
* update armstrong
* feat: Pullfrogger game v1 (#378)
* Frogger game basis code (CC0 1.0 Unversal license).
* Initial React port.
* fix props for Sprite.
* fixed context issue in FroggerGame.
* Fixed format.
* Fixed lint issue in FroggerGame.
* Restoring LeapingLoader, using FroggerGame as a new fallback in Suspense.
* feat: Display toast when URL ready.
* Add props constraints on Sprite.
* feat: frog sprite.
* fix: zoom and alignment.
* fix: extract const.
* fix: mv types.
* fix: mv game into index.tsx file.
* fix: replacing deprecated event prop which with key.
* feat: Log sprite.
* feat: turtle sprite.
* Adjusting game colors.
* feat: sprites for the cars.
* rm primitive sprites.
* fix: bulldozer sprite position.
* Adjusting colors.
* Shape constraints.
* rm original.
* minor: naming, cleanup.
* fix: renderers dict.
* fix: adjusting and renaming racer.
* fix renderer binding for scored frogs.
* feat: responsive layout with gap below and maintained aspect ratio.
* grammar fix.
* feat: road lane dividers.
* feat: using AbortController to cleanup events.
* fix: cleanup and shortening.
* feat: extracting drawGameBackground.
* feat: initObstacleRows and updateAndDrawObstacles helpers.
* feat: initFroggers helper.
* feat: drawFroggers helper.
* feat: checkForCollision helper.
* feat: makeKeydownHandler helper.
* feat: listenToKeyboardEvents helper.
* mv cleanup into drawGameBackground.
* fix: cleanup.
* feat: better adjustBrightness helper.
* Polling on the page.tsx side, restoring timeout and fallbacks, dynamic link msg.
* FEAT: wait for workflow to complete and notify additionally with a big link (incl.db migration).
* Fix: larger title, shorter link.
* fix(hook): Writing completedAt from hook.workflow_run.updated_at according to suggestion.
* fix(loader): rm unused props from WorkflowRunClientProps as suggested.
* fix(loader): mv id=dev case into the page.
* fix(DNRY): mv PollStartedResult and PollCompletedResult types.
* fix(DNRY): reusing drawEllipse() helper in Sprite.
* fix(style): reordering methods by priority in Sprite.
* fix(frogger): rm empty rows from canvas, square game.
* feat: game canvas rounded corners.
* fix(DNRY): extracting SpriteShape type for faster reference.
* fix: rm target from links, use same window.
* add incremental re-review on new PR commits
When new commits are pushed to a PR that Pullfrog has previously reviewed,
automatically perform a focused re-review on only the new changes. Includes
a supersede mechanism to abort stale in-flight reviews on rapid pushes, a
new IncrementalReview mode with incremental diff + prior-feedback awareness,
and a PRReview tracking model so re-review fires for both auto-reviewed and
manually-triggered PRs. Reviews now always submit (APPROVE when clean).
Co-authored-by: Cursor <cursoragent@cursor.com>
* replace superseded polling with server-side in-flight dedup and add prApproveEnabled setting
Made-with: Cursor
* consolidate workflow_run completed handling and track completedAt
Removes the duplicate exported handleWorkflowRunCompleted in favor of
the private one, merges status + orphan resolution logic into a single
path, and sets completedAt on both normal completion and orphan cancel.
Made-with: Cursor
* fix rebase conflict resolution: restore eligibility logic, incremental review summaries, and exhaustiveness check
- replace deleted hasPullfrogReviewedPR call with WorkflowRun.findFirst
(the utility file was removed by the dedup improvements commit)
- restore IncrementalReview summary body in modes.ts and selectMode.ts
(lost during ca0168b conflict resolution; origin had re-added them via f98f902)
- use switch + satisfies never for workflow_run event dispatch
- lowercase comments per project conventions
Made-with: Cursor
* fix workflow-run polling architecture and improve incremental review prompts
move polling loops from server actions to client to avoid serverless timeouts
(pollForCompleted ran up to 600s in a single invocation). each server action
is now a single DB check; client drives retries. also fix misleading prompt
text about incremental diff scope and remove dead code in handleWebhook.
Made-with: Cursor
* await reportReviewNodeId to eliminate race condition and webhook sleep
- refactor reportReviewNodeId from fire-and-forget to async/awaited,
guaranteeing the dedup signal lands before the tool returns
- remove the 5-second grace period sleep in the synchronize webhook
handler (no longer needed with the awaited PATCH)
- update IncrementalReview guidance to use get_review_comments for
detailed prior line-level feedback instead of just review summaries
- remove dead fallbackUrl field from CheckStartedResult type
Made-with: Cursor
* fix rebase artifacts: broken triggeringIssue reference, review formatting, and prompt wording
Made-with: Cursor
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Anna Bocharova <robin_tail@me.com>
Pullfrog is a GitHub bot that brings the full power of your favorite coding agents into GitHub. It's open source and powered by GitHub Actions.
Tag @pullfrog — Tag @pullfrog in a comment anywhere in your repo. It will pull in any relevant context using the action's internal MCP server and perform the appropriate task.
Prompt from the web — Trigger arbitrary tasks from the Pullfrog dashboard
Automated triggers — Configure Pullfrog to trigger agent runs in response to specific events. Each of these triggers can be associated with custom prompt instructions.
issue created
issue labeled
PR created
PR review created
PR review requested
and more...
Pullfrog is the bridge between your preferred coding agents and GitHub. Use it for:
🤖 Coding tasks — Tell @pullfrog to implement something and it'll spin up a PR. If CI fails, it'll read the logs and attempt a fix automatically. It'll automatically address any PR reviews too.
🔍 PR review — Coding agents are great at reviewing PRs. Using the "PR created" trigger, you can configure Pullfrog to auto-review new PRs.
🤙 Issue management — Via the "issue created" trigger, Pullfrog can automatically respond to common questions, create implementation plans, and link to related issues/PRs. Or (if you're feeling lucky) you can prompt it to immediately attempt a PR addressing new issues.
Literally whatever — Want to have the agent automatically add docs to all new PRs? Cut a new release with agent-written notes on every commit to main? Pullfrog lets you do it.