0

/ 100

GradeD

Popular for its size, but the engineering basics lag behind the interest.

Top 47% of 5,156 graded repos

📣 Connects your web site to social media. Likes, retweets, mentions, cross-posting, and more...

A low grade is a to-do list, not a judgment of your code

Most gaps here are documentation, tests, and setup, not the code itself. Closing your top 3 gaps alone would lift this repo to B (81).

See your top fixes
Now
D
69
Potential
B
81

Top fixes

Highest-impact changes first, ranked by point weight

17 to address
  1. 1
    Tests18pt

    Wire your tests to a documented command (e.g. a test script in your build config) so the suite is reproducible.

  2. 2
    CI/CD14pt

    Add a step like `run: npm test`, `run: pytest`, or `run: tox` to your workflow file.

  3. 3
    CI/CD14pt

    Add a lint step to catch style issues automatically.

  4. 4
    CI/CD14pt

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

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

76

Contributing guide5pt0

No CONTRIBUTING.md found (−47 pts base + up to −53 pts more for content).

Add a CONTRIBUTING.md telling newcomers how to get involved. Include setup, code style, test, and PR instructions.

README12pt85

README is present.

Install and run instructions9pt90

README documents how to install the project.

License6pt100

Licensed under CC0-1.0.

Engineering

57

Linting and formatting5pt0

No linter or formatter configured.

Add [tool.ruff] to pyproject.toml. Ruff handles linting and formatting in one tool and replaces flake8, isort, and black.

Issue and PR templates6pt0

No issue or PR templates found (−100 pts).

Add .github/ISSUE_TEMPLATE/ with bug_report.md and feature_request.md to guide contributors. It dramatically improves issue quality.

CI/CD14pt57

CI is configured (.github/workflows/auto-merge-dependabot.yaml).

Tests18pt80

Test files detected (browser-extension/test).

Reproducibility6pt90

Lockfile present (requirements.txt). Installs are reproducible.

Project health

91

Dependency manifest6pt71

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)
  • 58
    Forks
  • 0
    Releases

Community

  • -
    Community health
  • -
    authors own >50% of commits
  • 830
    Watchers

Responsiveness

  • 2d 15h
    Median issue response
  • 13h
    Median PR merge time
  • 111
    Open issues
Repository files59 root entries
  • .circleci
  • .github
    Good: CI is configured (.github/workflows/auto-merge-dependabot.yaml).
    Good: Dependabot covers 2 ecosystems (pip, github-actions). Dependencies stay current.
  • browser-extension
    Good: Test files detected (browser-extension/test).
  • docs
  • scripts
  • static
  • templates
  • tests
  • .gcloudignore
  • .gitignore
    Good: .gitignore present.
  • .gitmodules
  • .readthedocs.yaml
  • admin.py
  • app.py
  • app.yaml
  • appengine_config.py
  • background.py
  • background.yaml
  • beta_users.txt
  • blog_webmention.py
  • bluesky.py
  • browser.py
  • cloud_storage_lifecycle.json
  • config.py
  • cron.py
  • cron.yaml
  • domain_blocklist.txt
  • facebook.py
  • flask_app.py
  • flask_background.py
  • flickr.py
  • github.py
  • handlers.py
  • index.yaml
  • indieauth_client_id
  • indieauth.py
  • instagram.py
  • keys.md5
  • LICENSE
    Good: Licensed under CC0-1.0.
  • mastodon.py
  • micropub.py
  • models.py
  • original_post_discovery.py
  • pages.py
  • publish.py
  • pyproject.toml
    Good: Dependency manifest found (pyproject.toml).
  • queue.yaml
  • README.md
    Good: README is present.
    Issue: README has little structure (−15 pts). Add 2-3 headings for +8 pts; 4+ earns +15 pts.Fix: Break it into sections (Overview, Install, Usage, Contributing) using Markdown headings.
    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.
  • reddit.py
  • requirements.pinned.txt
  • requirements.txt
    Good: Lockfile present (requirements.txt). Installs are reproducible.
  • superfeedr.py
  • tasks.py
  • tumblr.py
  • twitter.py
  • util.py
  • volume_users.txt
  • webmention.py
  • wordpress_rest.py
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/snarfed/bridgy)](https://www.repo-grade.com/report/snarfed/bridgy)

More graded Python repos