Leaderboard github.com
rhysd/NyaoVim
Web-enhanced Extensible Neovim Frontend
AI provenance
0%
none-detected
- Confidence
- 65%
- Coverage
- 100%
Estimated share of AI-generated code. Explicit attribution is a lower bound.
Code quality
53/100
weak
- Confidence
- 90%
- Coverage
- 100%
Complexity, duplication, lint density, tests, CI, docs and review process.
Security
55/100
weak
- Confidence
- 85%
- Coverage
- 100%
Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.
- Repository: https://github.com/rhysd/NyaoVim
- Commit:
99db8fa62125106d7182d7c8e09aca5b04f7f76e - Generated: 2026-11-13T23:38:19+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) | 0 | none-detected | 65% | 100% |
| Code quality | 53 | weak | 90% | 100% |
| Security | 55 | weak | 85% | 100% |
AI provenance
No AI attribution or AI-consistent velocity signals detected.
- Explicitly attributed share (lower bound): 0.0%
- Unattributed share in AI-consistent velocity bursts: 0.0%
- Estimated AI-generated share: 0.0%
| Month | Lines added | Attributed to AI |
|---|---|---|
| 2016-02 | 225 | 0% |
| 2016-07 | 148 | 0% |
| 2016-08 | 426 | 0% |
| 2016-09 | 14 | 0% |
| 2016-10 | 61 | 0% |
| 2016-11 | 62 | 0% |
| 2016-12 | 50 | 0% |
| 2017-05 | 22 | 0% |
| 2017-08 | 32 | 0% |
| 2017-11 | 301 | 0% |
| 2018-02 | 4 | 0% |
| 2018-04 | 47 | 0% |
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 weak: test-to-source ratio 0.14, no CI test run detected; 23% of function code in complex or long functions; 0% duplicated lines. Weakest area: type safety.
| Area | Score |
|---|---|
| Complexity (lizard) | 51 |
| Duplication | 100 |
| Code smells (Opengrep) | 61 |
| Tests and CI | 43 |
| Documentation | 80 |
| Type safety | 0 |
| Process (Scorecard review/maintenance) | 0 |
- Functions: 81; mean complexity 1.9, 90th percentile 3; 0 complex and 1 long functions
- Duplicated lines: 0.0% of 624 compared
- Tests: 142 test lines for 984 source lines (ratio 0.14); CI test commands: none detected; 2% of recent source commits also change tests
- Docs missing or thin: changelog
Most complex functions:
Security
Security posture is weak: no high-impact findings. Weakest area: posture.
| Area | Score |
|---|---|
| Secrets (gitleaks, tree + history) | 100 |
| Static analysis (Opengrep) | 46 |
| Vulnerable dependencies (OSV) | n/a |
| CI workflows (zizmor) | n/a |
| Posture (policy, updates, signing, lockfiles) | 0 |
| OpenSSF Scorecard | 17 |
- Posture checks passed: none; missing: security policy, dependency updates, signed commits, lockfiles
- OpenSSF Scorecard aggregate: 1.6/10 (published 2026-11-02)
Top findings
| Severity | Finding | Location |
|---|---|---|
| medium | opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] |
main/browser-config.ts:26 |
| medium | opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument config_dir has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] |
main/browser-config.ts:27 |
| medium | opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument path has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] |
main/main.ts:47 |
| medium | opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] |
renderer/nyaovim-app.ts:26 |
| medium | opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument dir has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] |
renderer/nyaovim-app.ts:28 |
| medium | opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] |
renderer/nyaovim-app.ts:30 |
| medium | opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] |
renderer/nyaovim-app.ts:30 |
| medium | opengrep/javascript.lang.security.audit.detect-non-literal-require: Detected the use of require(variable). Calling require with a non-literal argument might allow an attacker to load and run arbitrary code, or access arbitrary files. [confidence low] |
renderer/nyaovim-app.ts:92 |
| medium | opengrep/javascript.browser.security.eval-detected: Detected the use of eval(). eval() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low] |
renderer/nyaovim-app.ts:111 |
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 beta ships NyaoVim-darwin-x64-0.1.1.zip (45 downloads)
- binary-release-asset: release beta ships NyaoVim-linux-armv7l-0.1.1.zip (19 downloads)
- binary-release-asset: release beta ships NyaoVim-linux-ia32-0.1.1.zip (18 downloads)
- binary-release-asset: release beta ships NyaoVim-linux-x64-0.1.1.zip (58 downloads)
- binary-release-asset: release beta ships NyaoVim-win32-ia32-0.1.1.zip (30 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: 984; test lines: 142
| Language | Lines |
|---|---|
| TypeScript | 1,011 |
| Shell | 84 |
| JavaScript | 31 |