- DM-based modmail: user DMs bot -> ticket channel created
- Staff relay: messages in ticket -> DM to user
- Configurable categories via /modmail addcategory
- Setup via /modmail setup (category, staff role, log channel)
- Close command: /close or !close -> HTML transcript generated
- Components V2: Container, TextDisplay, Separator, persistent views
- Transcript: dark theme HTML with staff badges, avatars, timestamps
- .env.dev / .env.prod with separate tokens and APPLICATION_ID
- Bot syncs commands to specific guild in dev mode
- Global sync for production
- Updated .forgejo/workflows/ci.yml with SSH deploy to prod server
- Updated .gitignore for .env.dev / .env.prod