{"id":31565437,"url":"https://github.com/pushkarsambhus/slack-qa-assistant","last_synced_at":"2026-04-18T01:31:29.245Z","repository":{"id":314670208,"uuid":"1056363813","full_name":"pushkarsambhus/slack-qa-assistant","owner":"pushkarsambhus","description":"AI-powered Slack app \u0026 API that suggests test cases from code diffs or PRs — heuristics-first with optional LLM enrichment.","archived":false,"fork":false,"pushed_at":"2025-09-14T00:28:44.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-05T07:10:11.377Z","etag":null,"topics":["ai","automation","ci-cd","developer-tools","fastapi","llm","machine-learning","qa","slack","testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pushkarsambhus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-13T23:42:15.000Z","updated_at":"2025-09-15T10:27:17.000Z","dependencies_parsed_at":"2025-09-19T18:15:14.766Z","dependency_job_id":null,"html_url":"https://github.com/pushkarsambhus/slack-qa-assistant","commit_stats":null,"previous_names":["pushkarsambhus/slack-qa-assistant"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pushkarsambhus/slack-qa-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushkarsambhus%2Fslack-qa-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushkarsambhus%2Fslack-qa-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushkarsambhus%2Fslack-qa-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushkarsambhus%2Fslack-qa-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pushkarsambhus","download_url":"https://codeload.github.com/pushkarsambhus/slack-qa-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushkarsambhus%2Fslack-qa-assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31953509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"ssl_error","status_checked_at":"2026-04-18T00:39:20.671Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","automation","ci-cd","developer-tools","fastapi","llm","machine-learning","qa","slack","testing"],"created_at":"2025-10-05T07:07:02.524Z","updated_at":"2026-04-18T01:31:29.237Z","avatar_url":"https://github.com/pushkarsambhus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack QA Assistant\n\nA lightweight Slack app that suggests **test cases for pull requests / diffs** using heuristics with optional LLM enrichment. \n\n- **Slash command** → `/suggest-tests \u003csummary of change\u003e`\n- **HTTP API** → `POST /suggest-tests` with repo + diff summary\n\n## Why this project\nEngineers 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**.\n\n### Why This Matters\nPull 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.\n\n### Trade-offs \u0026 Design Choices\n- **Heuristics-first:** Provides baseline suggestions instantly; optional LLM enrichment adds creativity at higher cost.\n- **Slack-first integration:** Prioritized Slack because of team adoption; a production-ready version would include MS Teams or GitHub PR comments.\n- **Scope:** Lightweight bot to demonstrate value; enterprise version would include analytics and role-based access.\n\n\n![CI](https://github.com/pushkarsambhus/slack-qa-assistant/actions/workflows/ci.yml/badge.svg)\n\n## Quick start (API only)\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\nuvicorn app.api:app --reload\n```\n\nExample request:\n```bash\ncurl -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\"}'\n```\n\n## Slack app setup (optional)\n- Create a Slack app → add `/suggest-tests` slash command → point to `/slack/events`\n- Set env vars: `SLACK_SIGNING_SECRET`, `SLACK_BOT_TOKEN`, optional `OPENAI_API_KEY`\n- Run: `python -m app.bolt_app`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpushkarsambhus%2Fslack-qa-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpushkarsambhus%2Fslack-qa-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpushkarsambhus%2Fslack-qa-assistant/lists"}