A well-known project done right. Strong docs and solid engineering throughout.

Self-hosted downloader and player for YouTube, Bilibili, Twitch, MissAV, and yt-dlp sites. Features channel subscriptions, auto-downloads, and local storage for media. Organize your library into collections with a sleek UI. Includes built-in Cloudflare Tunnel support for secure remote access without port forwarding. Docker-ready deployment.

Outstanding. A score of 96/100 puts this repo in a very small tier of truly well-engineered projects.

Documentation

99

Contributing guide5pt91

Contributing guide is too short for full depth credit (−6 pts). 400+ words earns the full +12 pts.

Add setup instructions, code style notes, and how to run tests.

README12pt100

README is present.

Install and run instructions9pt100

README documents how to install the project.

License6pt100

Licensed under MIT.

Engineering

98

Reproducibility6pt80

Lockfile present (package-lock.json). Installs are reproducible.

Tests18pt100

Test files detected (backend/src/__tests__).

CI/CD14pt100

CI is configured (.github/workflows/ghcr.yml).

Linting and formatting5pt100

Linter or formatter configured (backend/bgutil-ytdlp-pot-provider/server/.prettierrc.json).

Issue and PR templates6pt100

Issue or PR templates present.

Project health

88

Housekeeping3pt60

.gitignore present.

Dependency manifest6pt83

Dependency manifest found (package.json).

Repository metadata5pt100

Repository has a description.

Activity5pt100

Actively maintained (pushed within the last month).

Repository health signals

Activity, community, and responsiveness at scan time

Activity

  • Commits (30d / 90d)
  • 90
    Forks
  • 0
    Releases

Community

  • Community health
  • authors own >50% of commits
  • 1,021
    Watchers

Responsiveness

  • 17h
    Median issue response
  • 2h
    Median PR merge time
  • 8
    Open issues
Repository files26 root entries
  • .codacy
  • .github
    Good: CI is configured (.github/workflows/ghcr.yml).
    Good: Issue or PR templates present.
  • backend
    Good: Test files detected (backend/src/__tests__).
    Good: Linter or formatter configured (backend/bgutil-ytdlp-pot-provider/server/.prettierrc.json).
    Good: Environment pinned via backend/Dockerfile.
  • chrome-extension
  • documents
  • frontend
    Issue: Build artifacts or local files may be committed (frontend/.env) (−40 pts).Fix: Remove them and add to .gitignore.
  • reports
  • scripts
  • stacks
  • .codacy.yaml
  • .codacyignore
  • .dockerignore
  • .gitignore
    Good: .gitignore present.
  • .semgrepignore
  • .sqllintrc
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
    Good: Code of conduct present.
  • CONTRIBUTING.md
    Issue: Contributing guide is too short for full depth credit (−6 pts). 400+ words earns the full +12 pts.Fix: Add setup instructions, code style notes, and how to run tests.
    Good: Contributing guide includes setup/install instructions.
    Issue: Contributing guide lacks a code style section (−8 pts).Fix: Describe your linting/formatting rules and how to run them.
    Good: Contributing guide explains how to run tests.
    Good: Contributing guide describes the PR/review workflow.
    Good: Contributing guide includes code examples.
  • LICENSE
    Good: Licensed under MIT.
  • package-lock.json
    Good: Lockfile present (package-lock.json). Installs are reproducible.
  • package.json
    Good: Dependency manifest found (package.json).
  • README-telegram-direct-download.md
    Good: README is present.
    Good: README is well structured with multiple sections.
    Good: README includes screenshots or visuals. Great for first impressions.
    Good: README has code examples.
    Good: README links to a live demo or deployed app.
    Good: README includes status badges.
    Good: README documents how to install the project.
    Good: README documents how to run the project.
  • README-zh.md
  • README.md
  • RELEASING.md
  • SECURITY.md
    Good: Security policy present.