95

/ 100

GradeA

Well engineered for its size. A portfolio piece worth showing off.

Top 6% of 5,156 graded repos

Self-hosted ebook library server with built-in reader, KOReader sync, OPDS feed, and reading stats. Single Docker image.

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

Top fixes

Highest-impact changes first, ranked by point weight

8 to address
  1. 1
    CI/CD14pt

    Add a lint step to catch style issues automatically.

  2. 2
    CI/CD14pt

    Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.

  3. 3
    CI/CD14pt

    Upload coverage to Codecov, Coveralls, or report it with `--coverage` flags.

  4. 4
    Install and run instructions9pt

    Add a .env.example listing all required environment variables so contributors know what to set up.

Working through the fixes? Let every push regrade itself.

The free GitHub App rescans this repo on every push and posts the grade as a commit check, so the score climbs without coming back to rescan by hand.

Install the GitHub App

Scorecard

Every check, grouped by category and sorted worst-first

Documentation

97

Install and run instructions9pt90

README documents how to install the project.

Contributing guide5pt97

Contributing guide is detailed and thorough.

README12pt100

README is present.

License6pt100

Licensed under AGPL-3.0.

Engineering

93

Reproducibility6pt80

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

CI/CD14pt85

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

Tests18pt100

Test files detected (tests).

Linting and formatting5pt100

Linter or formatter configured (frontend/eslint.config.js).

Issue and PR templates6pt100

Issue or PR templates present.

Project health

96

Dependency manifest6pt86

Dependency manifest found (pyproject.toml).

Repository metadata5pt100

Repository has a description.

Activity5pt100

Actively maintained (pushed within the last month).

Housekeeping3pt100

.gitignore present.

Repository health signals

Activity, community, and responsiveness at scan time

Activity

  • -
    Commits (30d / 90d)
  • 3
    Forks
  • 15
    Releaseslatest 2mo ago

Community

  • 100% - Good
    Community health
  • 1 bus factorlow
    author own >50% of commits
  • 61
    Watchers

Responsiveness

  • 1h
    Median issue response
  • <1h
    Median PR merge time
  • 1
    Open issues
Repository files24 root entries
  • .github
    Good: CI is configured (.github/workflows/docker.yml).
    Good: Issue or PR templates present.
  • alembic
  • backend
  • docs
  • frontend
    Good: Linter or formatter configured (frontend/eslint.config.js).
    Good: Lockfile present (frontend/package-lock.json). Installs are reproducible.
  • scripts
  • skills
  • tests
    Good: Test files detected (tests).
  • website
  • .dockerignore
  • .gitignore
    Good: .gitignore present.
  • alembic.ini
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
    Good: Code of conduct present.
  • CONTRIBUTING.md
    Good: Contributing guide is detailed and thorough.
    Good: Contributing guide includes setup/install instructions.
    Good: Contributing guide describes code style expectations.
    Good: Contributing guide explains how to run tests.
    Issue: Contributing guide lacks a PR workflow section (−8 pts).Fix: Explain how to fork, branch, and open a pull request so contributors know what to expect.
    Good: Contributing guide includes code examples.
  • dev.sh
  • docker-compose.yml
  • Dockerfile
    Good: Environment pinned via Dockerfile.
  • install.sh
  • LICENSE
    Good: Licensed under AGPL-3.0.
  • NOTICE
  • pyproject.toml
    Good: Dependency manifest found (pyproject.toml).
  • README.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.
  • SECURITY.md
    Good: Security policy present.
RepoGrade badge preview

Add this badge to your README

It updates automatically each time the repo is re-graded.

[![RepoGrade](https://www.repo-grade.com/api/badge/bndct-devops/tome)](https://www.repo-grade.com/report/bndct-devops/tome)

More graded Python repos