Tamircohen28/repo-bug-learner
GitHub: Tamircohen28/repo-bug-learner
该工具通过挖掘 Jira 和 GitHub 的历史 bug 修复记录,自动聚类并合成静态分析规则,经验证后作为 CI 门禁拦截未来代码库中的同类缺陷。
Stars: 0 | Forks: 0
# repo-bug-learner
从 Jira + GitHub 挖掘历史 bug 修复 commit,对反复出现的模式进行聚类,合成 **Scalafix** (Scala) 和 **Opengrep** (TypeScript, JavaScript, Python, Go) 规则,并基于留出语料库进行验证,最后将其作为 PR 提交到规则仓库,该仓库通过 CI 对未来的 PR 进行拦截控制。
## 功能亮点
- **感知语言的合成** — Scala 聚类将成为 Scalafix 规则;TS/JS/Python/Go 聚类将成为 Opengrep YAML 规则
- **可配置的挖掘** — 支持任何 Jira 项目 + GitHub 组织;工单模式和仓库列表配置在 `config.toml` 中
- **验证循环** — 在自动发布规则前检查 precision/recall 阈值
- **PR 审查 skill** — 位于 `.claude/skills/repo-bug-review/` 的 Claude Code skill,用于扫描本地代码或 GitHub PR
- **CI 模板** — 将 `service-integration/` 中的工作流复制到任何目标仓库
- **持续学习** — 支持批量 bootstrap 以及可选的针对单个 bug 的持续循环
## 前置条件
- Python 3.11+
- Docker (通过 `docker compose up -d` 运行 Postgres + pgvector)
- [uv](https://github.com/astral-sh/uv) 或 pip
- Jira + GitHub API 凭据
- Anthropic API key (或兼容的 endpoint)
## 快速开始
```
docker compose up -d
uv sync --extra dev
cp config/config.example.toml config/config.toml
# 编辑 config.toml — Jira URL、GitHub org、repos、Claude base_url
export JIRA_USER=... JIRA_TOKEN=... GITHUB_TOKEN=... ANTHROPIC_API_KEY=...
python -m src.orchestrator schema
python -m src.orchestrator batch \
--repo backend \
--since 2024-05-01 \
--output out/
ls out/candidates/
make test
```
## 文档
请参阅 [docs/README.md](docs/README.md) 获取完整的文档地图。
## 贡献
请参阅 [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)。
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
标签:Apex, SOC Prime, 云安全监控, 代码审查, 开发工具, 机器学习, 测试用例, 自动化规则合成, 请求拦截, 逆向工具, 静态分析