https://github.com/pushkarsambhus/slack-qa-assistant
AI-powered Slack app & API that suggests test cases from code diffs or PRs — heuristics-first with optional LLM enrichment.
https://github.com/pushkarsambhus/slack-qa-assistant
ai automation ci-cd developer-tools fastapi llm machine-learning qa slack testing
Last synced: 2 months ago
JSON representation
AI-powered Slack app & API that suggests test cases from code diffs or PRs — heuristics-first with optional LLM enrichment.
- Host: GitHub
- URL: https://github.com/pushkarsambhus/slack-qa-assistant
- Owner: pushkarsambhus
- License: other
- Created: 2025-09-13T23:42:15.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-14T00:28:44.000Z (9 months ago)
- Last Synced: 2025-10-05T07:10:11.377Z (9 months ago)
- Topics: ai, automation, ci-cd, developer-tools, fastapi, llm, machine-learning, qa, slack, testing
- Language: Python
- Homepage:
- Size: 5.86 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Slack QA Assistant
A lightweight Slack app that suggests **test cases for pull requests / diffs** using heuristics with optional LLM enrichment.
- **Slash command** → `/suggest-tests `
- **HTTP API** → `POST /suggest-tests` with repo + diff summary
## Why this project
Engineers often spend time re-deriving the same test ideas for common change types (new endpoints, DB schema changes, auth). This assistant proposes a quick **starter set of tests**.
### Why This Matters
Pull requests often lack sufficient test coverage or test planning. By embedding test suggestions directly into Slack workflows, this project shortens feedback loops, improves QA alignment, and ensures higher confidence in code merges.
### Trade-offs & Design Choices
- **Heuristics-first:** Provides baseline suggestions instantly; optional LLM enrichment adds creativity at higher cost.
- **Slack-first integration:** Prioritized Slack because of team adoption; a production-ready version would include MS Teams or GitHub PR comments.
- **Scope:** Lightweight bot to demonstrate value; enterprise version would include analytics and role-based access.

## Quick start (API only)
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.api:app --reload
```
Example request:
```bash
curl -X POST http://127.0.0.1:8000/suggest-tests -H "Content-Type: application/json" -d '{"repo":"payments-service","diff":"added endpoint /transactions and a schema change"}'
```
## Slack app setup (optional)
- Create a Slack app → add `/suggest-tests` slash command → point to `/slack/events`
- Set env vars: `SLACK_SIGNING_SECRET`, `SLACK_BOT_TOKEN`, optional `OPENAI_API_KEY`
- Run: `python -m app.bolt_app`