commit-analysis
8
总安装量
2
周安装量
#35366
全站排名
安装命令
npx skills add https://github.com/felixwayne0318/aitrader --skill commit-analysis
Agent 安装分布
amp
2
opencode
2
kimi-cli
2
codex
2
github-copilot
2
gemini-cli
2
Skill 文档
Commit Analysis & Regression Detection
Overview
Automated tools for detecting regressions and analyzing code changes:
| Tool | Purpose | Speed |
|---|---|---|
| scripts/smart_commit_analyzer.py | Auto-evolving regression detection | Fast |
| scripts/analyze_commits_ai.py | AI semantic analysis (DeepSeek) | Slow |
| scripts/analyze_git_changes.py | Git history statistics | Fast |
| scripts/validate_commit_fixes.py | Legacy manual rules (deprecated) | Fast |
Recommended Tool: smart_commit_analyzer.py
This is the primary regression detection tool. Rules are automatically generated from git history.
Commands
# Full analysis (update rules + validate)
python3 scripts/smart_commit_analyzer.py
# Update rules only (scan git for new fixes)
python3 scripts/smart_commit_analyzer.py --update
# Validate only (check existing rules)
python3 scripts/smart_commit_analyzer.py --validate
# Show all rules
python3 scripts/smart_commit_analyzer.py --show-rules
# JSON output (for CI/CD)
python3 scripts/smart_commit_analyzer.py --json
Expected Output
ð Smart Commit Analyzer
============================================================
Step 1: ä» Git å岿´æ°è§ååº...
ð æ«æå° 78 ä¸ªä¿®å¤æäº¤
â
æ°å¢ 5 æ¡è§å
Step 2: éªè¯ææè§å...
============================================================
ð éªè¯ç»æ
============================================================
â
éè¿: 70
â 失败: 2
â ï¸ è¦å: 3
âï¸ è·³è¿: 0
How It Works
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Step 1: git log --grep="fix" â
â â Auto-discover all fix commits â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Step 2: git show <commit> -- <file> â
â â Extract key code patterns from diffs â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Step 3: Save to configs/auto_generated_rules.json â
â â Rules auto-grow with new fix commits â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Step 4: Validate all rules â
â â Detect regressions (missing patterns) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
AI Deep Analysis (Optional)
Requires DEEPSEEK_API_KEY environment variable.
# Analyze last 10 commits with AI
python3 scripts/analyze_commits_ai.py --commits 10
# JSON output
python3 scripts/analyze_commits_ai.py --commits 10 --json
Git History Analysis
# Analyze last 50 commits
python3 scripts/analyze_git_changes.py
# Show only fix commits
python3 scripts/analyze_git_changes.py --fix-only
# Analyze more commits
python3 scripts/analyze_git_changes.py --commits 100
GitHub Actions Integration
These tools run automatically on every push/PR via .github/workflows/commit-analysis.yml:
| Job | Tool | Trigger |
|---|---|---|
| Smart Regression Detection | scripts/smart_commit_analyzer.py | Always |
| AI Deep Analysis | scripts/analyze_commits_ai.py | If DEEPSEEK_API_KEY set |
Key Files
| File | Purpose |
|---|---|
scripts/smart_commit_analyzer.py |
Main regression detection tool |
configs/auto_generated_rules.json |
Auto-generated validation rules |
scripts/analyze_commits_ai.py |
AI-powered analysis |
scripts/analyze_git_changes.py |
Git history parser |
.github/workflows/commit-analysis.yml |
GitHub Actions workflow |
When to Run
- Before committing:
python3 scripts/smart_commit_analyzer.py - Before merging PR: Automatic via GitHub Actions
- After pulling updates:
python3 scripts/smart_commit_analyzer.py --validate - Investigating regressions:
python3 scripts/smart_commit_analyzer.py --show-rules
Interpreting Results
| Status | Meaning | Action |
|---|---|---|
| â Passed | Pattern found in code | None |
| â Failed | Pattern missing (potential regression) | Investigate |
| â ï¸ Warning | Pattern may have been refactored | Review |
| âï¸ Skipped | File not found (renamed/deleted) | Update rules |