Commit Graph

19 Commits

Author SHA1 Message Date
hikari e51a56c79f chore: remove news feed feature (#17)
Node.js CI / CI (push) Successful in 28s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 51s
## Summary

- Removes the hourly RSS news posting scheduler and `postNews` module
- Removes the `rss.ts` interface and `lastRssItems` tracking from the `Amari` interface and bot initialisation
- Removes the `news` channel ID from `ids.ts`
- Removes the `rss-parser` dependency

 This PR was created with help from Hikari~ 🌸

Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Reviewed-on: #17
Co-authored-by: Hikari <hikari@nhcarrigan.com>
Co-committed-by: Hikari <hikari@nhcarrigan.com>
2026-03-09 13:34:18 -07:00
hikari 1ebe240475 feat: add slash commands and context menu command (#16)
Node.js CI / CI (push) Successful in 28s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 2m41s
## Summary

This PR adds a suite of slash commands and a context menu command to Amari, along with shared utilities and quality improvements across the board.

### New Commands
- **`/create-issue`** — generates a GitHub issue on a specified repo using AI-drafted content (title, description, acceptance criteria)
- **`/create-task`** — creates a task in Naomi's Leantime instance with an AI-drafted description and configurable priority
- **`/onboard-mentee`** — automates the mentorship onboarding flow (GitHub invite, forum thread, role assignment)
- **Forward to Owner** (context menu, message command) — forwards any message to Naomi with action buttons (contributed by @teklu)

### Shared Utilities
- **`src/utils/makeAiRequest.ts`** — a single wrapper around the Anthropic SDK for all AI calls, with Amari's personality prompt baked in and full error handling
- **`src/events/handleInteractionCreate.ts`** — extracted interaction handler (was inline in `index.ts`) to keep complexity under control

### Quality Improvements
- `ephemeral: true` → `flags: [ MessageFlags.Ephemeral ]` (deprecated API removed)
- Full `try/catch` + `logger.error` audit across all modules (`logMenteeJoin`, `checkAchievements`, `processMentorshipRole`, `processGitHubEvent`)
- `deployGlobal.ts` replaced with a static `commands.json` payload for manual registration
- Amari's personality prompt updated to reflect her actual character — warm, observant, and relentlessly caring

### Notes
- `CLIENT_ID` is needed in 1Password at `op://Environment Variables - Naomi/Amari/client id` for the `commands.json` registration call
- The forward-to-owner command (PR #13, contributed by @teklu) is fully preserved with original commit authorship

 This PR was created with help from Hikari~ 🌸

Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-authored-by: Teklu <tekluabayneh@gmail.com>
Reviewed-on: #16
Co-authored-by: Hikari <hikari@nhcarrigan.com>
Co-committed-by: Hikari <hikari@nhcarrigan.com>
2026-03-03 15:05:09 -08:00
minori 5c39d3d9ce Merge pull request 'deps: update octokit to 5.0.5' (#6) from dependencies/update-octokit into main
Node.js CI / CI (push) Successful in 37s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m47s
2026-03-01 07:02:28 -08:00
minori 1281f3217a Merge pull request 'deps: update fastify to 5.7.1' (#5) from dependencies/update-fastify into main
Node.js CI / CI (push) Successful in 41s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m8s
2026-02-27 07:02:43 -08:00
minori 3e5dfa2799 Merge pull request 'deps: update typescript to 5.9.3' (#9) from dependencies/update-typescript into main
Node.js CI / CI (push) Successful in 40s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m27s
2026-02-26 07:03:02 -08:00
minori 2198126d1b deps: update @retroachievements/api to 2.10.0
Node.js CI / CI (pull_request) Successful in 44s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m16s
2026-02-14 07:05:09 -08:00
minori 40288728e8 deps: update fastify to 5.7.4
Node.js CI / CI (pull_request) Successful in 33s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m14s
2026-02-13 07:07:36 -08:00
minori 71bcd8e4ff deps: update fastify to 5.7.2
Node.js CI / CI (pull_request) Successful in 44s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 2m12s
2026-02-05 07:11:59 -08:00
minori cbe95550ea deps: update typescript to 5.9.3
Node.js CI / CI (pull_request) Successful in 32s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m28s
2026-02-04 08:36:59 -08:00
minori b2e49b8956 deps: update octokit to 5.0.5
Node.js CI / CI (pull_request) Successful in 36s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m31s
2026-02-04 08:36:37 -08:00
minori 49ab177669 deps: update fastify to 5.7.1
Node.js CI / CI (pull_request) Successful in 38s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m29s
2026-02-04 08:36:30 -08:00
minori a777989980 deps: update @retroachievements/api to 2.9.1
Node.js CI / CI (pull_request) Successful in 34s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m33s
2026-02-04 08:36:13 -08:00
naomi 99d8353f79 chore: bump analytics
Node.js CI / Lint and Test (push) Successful in 54s
2025-10-08 15:08:13 -07:00
naomi 5cadb9bbee feat: analytics
Node.js CI / Lint and Test (push) Successful in 49s
2025-10-08 08:41:37 -07:00
naomi 996cde5e2f feat: notify when naomi earns achievements
Node.js CI / Lint and Test (push) Successful in 48s
2025-09-10 13:21:08 -07:00
naomi 1b7f83f335 feat: auto-assign issues and prs to naomi
Node.js CI / Lint and Test (push) Successful in 42s
2025-08-27 17:58:28 -07:00
naomi 4611b13465 feat: grant role when user applies our tag
Node.js CI / Lint and Test (push) Successful in 39s
2025-08-20 16:09:37 -07:00
naomi b5c19abb52 feat: syndicate freeCodeCamp news posts 2025-08-20 12:23:53 -07:00
naomi a05de6ba2a feat: initial prototype
Node.js CI / Lint and Test (push) Successful in 37s
2025-08-19 17:16:42 -07:00