Leaderboard github.com
jhlee0409/claude-code-history-viewer
Desktop app and web server to browse, search and analyze your AI coding assistant history — Claude Code, Codex CLI, GitHub Copilot, Gemini CLI, Cursor, OpenCode and more. 100% offline.
AI provenance
76%
explicit
- Confidence
- 95%
- Coverage
- 100%
Estimated share of AI-generated code. Explicit attribution is a lower bound.
Code quality
70/100
adequate
- Confidence
- 90%
- Coverage
- 100%
Complexity, duplication, lint density, tests, CI, docs and review process.
Security
44/100
poor
- Confidence
- 85%
- Coverage
- 100%
Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.
- Repository: https://github.com/jhlee0409/claude-code-history-viewer
- Commit:
67979b401e936ed503c941a3f3294012f51d730e - Generated: 2026-11-14T00:09:09+00:00
- Scorer 0.1.0, scoring prov-4+qual-2+sec-2, report schema v2
Scores
| Pillar | Score | Signal | Confidence | Coverage |
|---|---|---|---|---|
| AI provenance (estimated AI-generated share) | 76 | explicit | 95% | 100% |
| Code quality | 70 | adequate | 90% | 100% |
| Security | 44 | poor | 85% | 100% |
AI provenance
Explicit AI attribution on 76% of first-party code added; an estimated 76% including velocity signals.
- Explicitly attributed share (lower bound): 76.4%
- Unattributed share in AI-consistent velocity bursts: 7.4%
- Estimated AI-generated share: 76.4%
| AI tool | Attributed commits | Lines added |
|---|---|---|
| Claude Code | 762 | 193,888 |
| OpenAI Codex | 46 | 10,943 |
| GitHub Copilot coding agent | 36 | 1,552 |
| Cursor agent | 3 | 1,314 |
- AI tooling configured in repo: claude-code
Current source lines last changed by AI-attributed commits: 142,168 of 174,994.
| Findings per 1,000 lines | AI-attributed | Other | Ratio |
|---|---|---|---|
| Quality | 0.689 | 1.554 | 0.44x |
| Security | 0.542 | 0.274 | 1.98x |
- Stylometry index: 0.23 per 1,000 lines (narrated steps 13, placeholders 0, assistant phrasing 0, emoji 55). Reported as a signal, not scored.
| Month | Lines added | Attributed to AI |
|---|---|---|
| 2025-11 | 829 | 7% |
| 2025-12 | 3,512 | 99% |
| 2026-01 | 72,583 | 100% |
| 2026-02 | 33,723 | 81% |
| 2026-03 | 25,451 | 94% |
| 2026-04 | 7,016 | 90% |
| 2026-05 | 9,865 | 99% |
| 2026-06 | 26,534 | 98% |
| 2026-07 | 16,210 | 70% |
| 2026-08 | 23,635 | 52% |
| 2026-09 | 15,043 | 49% |
| 2026-10 | 8,909 | 61% |
Evidence
- Claude Code: trailer 'Co-Authored-By: Claude' (7f48907081d9)
- Claude Code: trailer 'Co-Authored-By: Claude' (594cb7a1669a)
- Claude Code: trailer 'Co-authored-by: Claude' (cf0ba80e81fa)
- Claude Code: trailer 'Co-Authored-By: Claude' (985332170969)
- Claude Code: trailer 'Co-authored-by: Claude' (7371d4342e2b)
- Claude Code: trailer 'Co-Authored-By: Claude' (508812cb0303)
- Claude Code: trailer 'Co-authored-by: Claude' (5a7dd5616aef)
- Claude Code: trailer 'Co-authored-by: Claude' (e3ed8f0e779b)
- Claude Code: trailer 'Co-authored-by: Claude' (c3ade3d19cd4)
- Claude Code: trailer 'Co-authored-by: Claude' (e1789a797972)
- Claude Code: trailer 'Co-Authored-By: Claude' (7e52c341da1f)
- Claude Code: trailer 'Co-Authored-By: Claude' (acdfaea9b05f)
- Claude Code: trailer 'Co-Authored-By: Claude' (40eb613d68cb)
- Claude Code: trailer 'Co-authored-by: Claude' (d801b697797f)
- Claude Code: trailer 'Co-authored-by: Claude' (c7babb940bcc)
AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.
Code quality
Code quality is adequate: test-to-source ratio 0.17, CI runs tests; 27% of function code in complex or long functions; 11% duplicated lines. Weakest area: complexity.
| Area | Score |
|---|---|
| Complexity (lizard) | 44 |
| Duplication | 51 |
| Code smells (Opengrep) | 83 |
| Tests and CI | 83 |
| Documentation | 85 |
| Type safety | 100 |
| Process (Scorecard review/maintenance) | n/a |
- Functions: 6,736; mean complexity 3.4, 90th percentile 8; 195 complex and 144 long functions
- Duplicated lines: 11.4% of 129,247 compared
- Tests: 29,052 test lines for 174,994 source lines (ratio 0.17); CI test commands: vitest; 40% of recent source commits also change tests
- Docs missing or thin: contributing
Most complex functions:
- ToolExecutionResultRouter in src/components/messageRenderer/ToolExecutionResultRouter.tsx: complexity 102, 273 lines
- search_all_providers in src-tauri/src/commands/multi_provider.rs: complexity 88, 433 lines
- extract_session_metadata_internal in src-tauri/src/commands/session/load.rs: complexity 88, 327 lines
- (anonymous) in src/components/SessionBoard/InteractionCard.tsx: complexity 87, 318 lines
- extractSearchableText in src/utils/searchWorker.ts: complexity 86, 190 lines
Security
Security posture is poor: 74 known vulnerabilities in 45 dependencies; 77 high-severity workflow issues. Weakest area: ci actions.
| Area | Score |
|---|---|
| Secrets (gitleaks, tree + history) | 77 |
| Static analysis (Opengrep) | 96 |
| Vulnerable dependencies (OSV) | 5 |
| CI workflows (zizmor) | 0 |
| Posture (policy, updates, signing, lockfiles) | 0 |
| OpenSSF Scorecard | n/a |
-
Known vulnerabilities: 74 in 45 packages (critical 2, high 12, medium 16, low 4)
-
Posture checks passed: lockfiles; missing: security policy, dependency updates, signed commits
Top findings
| Severity | Finding | Location |
|---|---|---|
| critical | osv/RUSTSEC-2026-0369: zip@4.2.0 (crates.io) is affected by RUSTSEC-2026-0369 |
src-tauri/Cargo.lock |
| critical | osv/GHSA-m665-v7pm-7grj: zip@4.2.0 (crates.io) is affected by GHSA-m665-v7pm-7grj |
src-tauri/Cargo.lock |
| high | osv/GHSA-6j4f-fj2g-mc7p: brace-expansion@1.1.18 (npm) is affected by GHSA-6j4f-fj2g-mc7p |
pnpm-lock.yaml |
| high | osv/GHSA-qhr7-859c-m2p7: brace-expansion@1.1.18 (npm) is affected by GHSA-qhr7-859c-m2p7 |
pnpm-lock.yaml |
| high | osv/GHSA-6j4f-fj2g-mc7p: brace-expansion@5.0.9 (npm) is affected by GHSA-6j4f-fj2g-mc7p |
pnpm-lock.yaml |
| high | osv/GHSA-qhr7-859c-m2p7: brace-expansion@5.0.9 (npm) is affected by GHSA-qhr7-859c-m2p7 |
pnpm-lock.yaml |
| high | osv/GHSA-68fv-2mgg-jv7q: source-map-js@1.2.1 (npm) is affected by GHSA-68fv-2mgg-jv7q |
pnpm-lock.yaml |
| high | osv/GHSA-587h-7wmj-h5pm: vite@7.3.6 (npm) is affected by GHSA-587h-7wmj-h5pm |
pnpm-lock.yaml |
| high | osv/GHSA-mrhx-c7xc-m3w5: zod@3.25.76 (npm) is affected by GHSA-mrhx-c7xc-m3w5 |
pnpm-lock.yaml |
| high | osv/GHSA-mrhx-c7xc-m3w5: zod@4.5.4 (npm) is affected by GHSA-mrhx-c7xc-m3w5 |
pnpm-lock.yaml |
| high | osv/RUSTSEC-2026-0194: quick-xml@0.37.5 (crates.io) is affected by RUSTSEC-2026-0194 |
src-tauri/Cargo.lock |
| high | osv/RUSTSEC-2026-0195: quick-xml@0.37.5 (crates.io) is affected by RUSTSEC-2026-0195 |
src-tauri/Cargo.lock |
| high | osv/RUSTSEC-2026-0367: zip@4.2.0 (crates.io) is affected by RUSTSEC-2026-0367 |
src-tauri/Cargo.lock |
| high | osv/GHSA-q7v9-x93c-xqv3: zip@4.2.0 (crates.io) is affected by RUSTSEC-2026-0429, GHSA-q7v9-x93c-xqv3 |
src-tauri/Cargo.lock |
| high | zizmor/dangerous-triggers: use of fundamentally insecure workflow trigger [confidence medium] |
.github/workflows/claude-mentions.yml:12 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/claude-mentions.yml:33 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/claude-mentions.yml:37 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/daily-pr-health.yml:25 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/daily-pr-health.yml:27 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/frontend-tests.yml:45 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/frontend-tests.yml:50 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/frontend-tests.yml:53 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/issue-to-spec.yml:17 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/pages.yml:27 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/pages.yml:30 |
Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.
Distribution signals
- binary-release-asset: release v1.32.2 ships cchv-server-linux-arm64.tar.gz (204 downloads)
- binary-release-asset: release v1.32.2 ships cchv-server-linux-x64.tar.gz (131 downloads)
- binary-release-asset: release v1.32.2 ships cchv-server-macos-arm64.tar.gz (117 downloads)
- binary-release-asset: release v1.32.2 ships cchv-server-macos-x64.tar.gz (17 downloads)
- binary-release-asset: release v1.32.2 ships Claude.Code.History.Viewer-1.32.2-1.x86_64.rpm (14 downloads)
Signals consistent with a repository that exists to distribute a download. They are heuristics, not a verdict; release files were not downloaded or inspected.
Repository profile
- Source lines: 174,994; test lines: 29,052
| Language | Lines |
|---|---|
| TypeScript | 111,533 |
| Rust | 90,487 |
| JavaScript | 1,873 |
| Shell | 153 |