Getting started
fdbck turns feedback from your app into draft pull requests. You embed a small widget, run a worker on your own machine, and review the fixes it opens. No model keys leave your laptop — the triage and the fix both run on your own agent — Claude Code, Codex, or Gemini.
The loop
Four steps, then it runs itself.
- 01
Embed the widget
Drop one
<script>tag before</body>. Your users get a feedback button. Embed the widget → - 02
Run the worker
Run
node fdbck-worker.mjson a machine that has your repo checked out. It claims feedback, triages it, and writes fixes with your agent (Claude, Codex, or Gemini). Run the worker → - 03
Collect feedback
A user submits feedback. It queues and shows as Awaiting triage until your worker claims and triages it.
- 04
Review draft PRs
Fixes land as draft GitHub PRs against an isolated branch. You review and merge — nothing ships without you, unless you turn on Auto-PR. Automation & review →
Three things must be true for a fix to land: the widget is embedded, the worker is online, and you've approved the item (or Auto-PR is on). If feedback is stuck on Awaiting triage, one of these is usually the reason.
Why it's built this way
The worker runs on your hardware with your credentials. fdbck never sees your source, your git history, or your Claude login — it only stores the feedback and the state of the queue. The fix runs in an isolated git worktree, so it never touches your working copy.