# github-issue-bot

## 解決什麼問題
開源專案維護苦：每天好幾個 issue 進來，要先看 → 分流 → 引導用戶補資訊。
這個 bot 自動做第一輪：分類 / 評估嚴重度 / 留有意義的 comment / 加 label。

## 前置
1. 在 GitHub repo settings → Webhooks → 加 webhook：
   - URL: `https://cypher.arcrun.dev/webhooks/named/github_issue_bot/trigger`
   - Content type: `application/json`
   - Events: `Issues (opened)`
   - 加 secret header `X-Arcrun-API-Key: ak_xxx`
2. 設 credential `GITHUB_BOT_TOKEN`（一支 PAT 或 GitHub App token）

## 預期結果
新 issue 開出來 30 秒後，bot 就 comment + 加標籤了。

## 改成你自己的
- prompt 改為你的專案 conventions（用詞、語氣）
- severity / category enum 改為你的分類
- 加 conditional：critical 自動 telegram 通知 maintainer
- 加 KBDB 存歷史 issue + claude 分析 → 用 RAG 找重複 issue
- 加 `if_control`：若 issue body 有 `traceback` 自動 reproduce

## 為什麼這 pattern 重要
- LLM 做「結構化判斷」比寫 if-else 強：能讀人類自然語言、抓上下文、判斷模糊邊界
- GitHub webhook → workflow 是最常見「外部 event → 處理」場景，所有 SaaS webhook 都類似

## 學到什麼
- 多步串聯（analyze → comment → label）每步都有 next，ON_SUCCESS 串
- `{{analyze.X}}` 從 claude_api JSON 自動展開到下游
- 同一個 API（GitHub）多次 call 共享 `Authorization` header
- 嚴重度 / 類別這類 LLM 判斷，用 enum + required_fields 確保結構穩定
