akaruineko/git-commits
Dataset: dataset.jsonl Auto-labeled commit dataset scraped from GitHub repositories. Each line is a JSON object representing one commit with extracted features and an inferred label. Features Field Type Description Stats text string Commit message first line, conventional prefix stripped — files_count int Number of files changed mean 4.3, median 1, max 300 additions int Lines added mean 88, median 6, max 187K deletions int Lines deleted mean 172… See the full description on the dataset page: https://huggingface.co/datasets/akaruineko/git-commits.
Dataset: dataset.jsonl
Auto-labeled commit dataset scraped from GitHub repositories. Each line is a JSON object representing one commit with extracted features and an inferred label.
Features
Top extensions: md, go, cc, js, h, json, ts, yml, rc, mm
| directories | [string] | Unique top-level directories in the diff | 61 unique |
Top directories: docs, pkg, shell, atom, spec, lib, test, script
| label | string | Inferred commit category | see distribution above |
Labeling heuristics
Labels are inferred from the commit message and file changes using a cascade of signals:
Conventional commit prefix (highest confidence)
fix(scope): → bugfix
feat(scope): → feature
chore(scope): → chore
refactor(scope):→ refactor
docs(scope): → docs
test(scope): → test
perf(scope): → perf
ci(scope): → ci
build(scope): → build
style(scope): → style
revert(scope): → revertGitmoji prefix
:bug: → bugfix
:sparkles: → feature
:books: → docs
:hammer: → refactor
... → (28 emoji mapped)Keyword start (first word)
fix/correct → bugfix (unless "lint"→chore, "typo"→docs, docs-only→docs)
doc/readme → docs
add/new/support → feature
remove/cleanup → refactor
update/bump → chore
test/spec → test
revert/rollback → revertFree-text keyword (within the whole first line)
crash/corrupt/leak/deadlock → bugfix
prevent/avoid/guard → bugfix
cleanup/tidy/polish → refactor
renam/move → refactor
refactor/restruct/redesign/rewrite→ refactorFile-only fallback
- All files in docs directories →
docs - All files in test/spec directories →
test
Source repos
Data was scraped from the commits endpoint of these public repositories:
- electron/electron
- yargs/yargs
- istanbuljs/istanbuljs
- fastify/fastify
- jenkins-x/jx
