#13 · Add !bounty command to surface open feature bounties in Signal
+140 pts on merge
Claim on GitLab
Submit a merge request that closes this issue to earn points on merge — bounties stack on the standard
+40 merge_pr award. New to the repo? See the
Contributing guide,
and Local Development & SSO
to run the app locally (
cp .dev.vars.example .dev.vars && pnpm dev, after rebasing on main) and fully test your change before opening the MR.
Description
Context
The community-facing bot should surface open bounties so contributors can claim them without leaving Signal. Today, bounties live only on score.irregulars.io and GitLab — adding a !bounty command closes that loop and brings the bot ↔ scoreboard parity in line with !jobs, !events, !tasks.
Acceptance criteria
- [ ]
!bounty(no args) lists up to 10 unclaimed bounties with title, app, tier, points - [ ]
!bounty <iid>shows full description and acceptance criteria for one issue - [ ]
!bounty mineshows bounties assigned to the calling user (matched by email) - [ ] Output uses Signal's text formatting (bold for title, monospace for app name)
- [ ] Caches GitLab API response in Redis for 5 min to avoid rate-limit churn
Technical hints
!bountyalready exists as a link-only stub:handleBountyinselfhost/messaging-apps/signal-messenger/src/src/bot/command-handler.ts(dispatched from the switch as!bounty/!bounties). Expand it to list inline;handleJobSearchin the same file is the closest listing pattern.- For the data source, wrap GET on score.irregulars.io if a JSON endpoint is added there, otherwise direct GitLab API. Put the client in
packages/shared-utils/src/bot-utils/(alongsidecareer-board-client.ts) so both bots can share it. - Add an
isBountyConfigured()guard inpackages/shared-utils/src/bot-utils/following the same pattern asisCareerBoardConfigured()
Related
- Bounty page on scoreboard: https://score.irregulars.io/bounties
- GitLab issues API: https://docs.gitlab.com/ee/api/issues.html
--- *Submit a merge request that says Closes #<this issue iid> in the description. On merge to main, the GitLab webhook will auto-award your bounty + the standard merge_pr (40 pts) to your scoreboard account. Email on commit must match your Authentik email.*
Relevant files
No relevant files linked yet.
Hints
No hints yet.
Activity
No points have been awarded for this bounty yet.
Comments
Sign in to join the discussion.
No comments yet. Be the first to weigh in.