Tamircohen28/repo-bug-learner

GitHub: Tamircohen28/repo-bug-learner

该工具通过挖掘 Jira 和 GitHub 的历史 bug 修复记录,自动聚类并合成静态分析规则,经验证后作为 CI 门禁拦截未来代码库中的同类缺陷。

Stars: 0 | Forks: 0

repo-bug-learner — mine bugs, synthesize rules

CI License

# 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, 云安全监控, 代码审查, 开发工具, 机器学习, 测试用例, 自动化规则合成, 请求拦截, 逆向工具, 静态分析