Skip to content

Add @dsgt Slack bot for Data Science @ Georgia Tech - #350

Closed
aamoghS wants to merge 1 commit into
mainfrom
cursor/dsgt-slack-bot-a9d5
Closed

Add @dsgt Slack bot for Data Science @ Georgia Tech#350
aamoghS wants to merge 1 commit into
mainfrom
cursor/dsgt-slack-bot-a9d5

Conversation

@aamoghS

@aamoghS aamoghS commented Aug 14, 2026

Copy link
Copy Markdown
Member

Adds a custom Slack Bolt app for DS@GT. In Slack it appears as @dsgt (app name and bot user display name). This is a club-owned Slack app, not the Cursor Slack integration.

What the bot does

  • Replies to @dsgt mentions (app_mention)
  • Replies to direct messages
  • Slash command /dsgt with help, ping, and join
  • Join / first-event FAQ: first event is August 26 (8/26); further details announced there; points people to the club site
  • ping health check so we can confirm the process is alive after install

No LLM backend. Intent routing is a small local helper in apps/dsgt-slack/src/replies.ts.

Packaging for Aamogh

Follow apps/dsgt-slack/README.md:

  1. Create the app from apps/dsgt-slack/manifest.yaml at api.slack.com/apps (From an app manifest)
  2. Install into the workspace and copy SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET, and SLACK_APP_TOKEN into apps/dsgt-slack/.env (see .env.example)
  3. Run locally with Socket Mode: pnpm --filter @query/dsgt-slack dev
  4. Invite with /invite @dsgt, then try @dsgt ping or /dsgt help

Socket Mode is on in the manifest for local/dev. The same process can listen on HTTP later (SLACK_SOCKET_MODE=false; Slack Request URL path is /slack/events).

Monorepo

  • New workspace package: apps/dsgt-slack (@query/dsgt-slack)
  • Wired into turbo dev / build / lint / typecheck
  • Root pnpm test now includes this package
  • Lint, typecheck, build, and the join-FAQ unit test pass for the new app
Open in Web Open in Cursor 

Introduce apps/dsgt-slack as a custom @dsgt bot (mentions, DMs, /dsgt)
with a Slack app manifest, Socket Mode plus HTTP receiver, and install docs.

Co-authored-by: Aamogh <aamoghS@users.noreply.github.com>
@github-actions github-actions Bot added the dependencies Pull requests that update a dependency file label Aug 14, 2026
@aamoghS
aamoghS marked this pull request as ready for review August 14, 2026 21:11
@github-actions

Copy link
Copy Markdown
Contributor

Dependency Review

The following issues were found:

  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 3 package(s) with unknown licenses.
  • ⚠️ 12 packages with OpenSSF Scorecard issues.

View full job summary

@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Visit the preview URL for this PR (updated for commit 11ddf4b):

https://hacklytics2027--pr-350-op0w7gw7.web.app

(expires Fri, 21 Aug 2026 21:12:18 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: c48ba34db61581e25fe2978355160b5eefe0e83f

@greptile-apps

greptile-apps Bot commented Aug 14, 2026

Copy link
Copy Markdown

Greptile Summary

Adds a standalone Slack Bolt application for DS@GT, supporting mentions, direct messages, and the /dsgt command in Socket Mode or HTTP mode.

  • Adds environment validation and Socket Mode/HTTP startup configuration.
  • Implements deterministic help, health, and joining-information replies.
  • Adds a Slack manifest, package documentation, unit tests, and monorepo task integration.

Confidence Score: 5/5

The pull request appears safe to merge, with no concrete blocking or independently actionable non-blocking defects identified.

The configured listeners, environment validation, fixed reply routing, Slack manifest, and Socket Mode and HTTP startup paths are mutually consistent, while the investigated dependency and runtime compatibility paths do not establish a current failure.

Important Files Changed

Filename Overview
apps/dsgt-slack/src/app.ts Registers mention, direct-message, and slash-command listeners and configures valid Socket Mode and HTTP Bolt receivers.
apps/dsgt-slack/src/env.ts Validates required Slack credentials, conditionally requires the Socket Mode token, and parses the HTTP port.
apps/dsgt-slack/src/replies.ts Implements deterministic intent detection and fixed responses without exposing an external execution or interpolation sink.
apps/dsgt-slack/manifest.yaml Declares the bot identity, slash command, required scopes, subscribed events, and Socket Mode configuration.
apps/dsgt-slack/package.json Defines the new workspace package and its build, lint, typecheck, test, development, and runtime dependencies.
package.json Extends the repository test command to include the Slack application tests.

Sequence Diagram

sequenceDiagram
    participant U as Slack user
    participant S as Slack
    participant B as @dsgt Bolt app
    participant R as Reply router
    U->>S: Mention, DM, or /dsgt command
    S->>B: Signed event or Socket Mode payload
    alt Slash command
        B-->>S: Acknowledge command
    end
    B->>R: Route message text
    R-->>B: Fixed help, ping, join, or default reply
    B-->>S: Send response
    S-->>U: Display bot reply
Loading

Reviews (1): Last reviewed commit: "Add dsgt Slack Bolt bot for Data Science..." | Re-trigger Greptile

@aamoghS aamoghS closed this Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants