psopt/psopt
Grade a repo

0

/ 100

GradeD

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

Higher than 47% of 5,156 graded repos

PSOPT Optimal Control Software

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 C (74).

See your top fixes
Now
D
63
Potential
C
74

Top fixes

Highest-impact changes first, ranked by point weight

19 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

87

Contributing guide5pt72

Contributing guide is detailed and thorough.

README12pt85

README is present.

Install and run instructions9pt90

README documents how to install the project.

License6pt100

Licensed under LGPL-2.1.

Engineering

47

Linting and formatting5pt0

No linter or formatter config found.

Add a linter config such as .eslintrc.json, .prettierrc, ruff.toml, or .golangci.yml to enforce consistent code style.

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.

Reproducibility6pt10

No dependency lockfile found (−70 pts).

Commit the lockfile for this project's package manager so installs produce the same dependency versions everywhere.

CI/CD14pt57

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

Tests18pt80

Test files detected (tests).

Project health

62

Dependency manifest6pt0

No dependency manifest detected at root.

Add a manifest (package.json, pyproject.toml, Cargo.toml, go.mod, etc.) so others can install dependencies in one command.

Housekeeping3pt60

.gitignore present.

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)
  • 81
    Forks
  • 23
    Releaseslatest 2mo ago

Community

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

Responsiveness

  • 1d 18h
    Median issue response
  • 17h
    Median PR merge time
  • 10
    Open issues
Repository files25 root entries
  • .github
    Good: CI is configured (.github/workflows/ci.yml).
  • cmake
  • doc
  • examples
  • include
  • snopt-interface
  • src
  • tests
    Good: Test files detected (tests).
  • tools
  • .ci-trigger
  • .DS_Store
    Issue: Build artifacts or local files may be committed (.DS_Store) (−40 pts).Fix: Remove them and add to .gitignore.
  • .gitignore
    Good: .gitignore present.
  • .travis.yml
  • CMakeLists.txt
  • CONTRIBUTING.md
    Good: Contributing guide is detailed and thorough.
    Issue: Contributing guide lacks a setup section (−12 pts).Fix: Show new contributors how to get a local dev environment running.
    Issue: Contributing guide lacks a code style section (−8 pts).Fix: Describe your linting/formatting rules and how to run them.
    Issue: Contributing guide lacks a testing section (−8 pts).Fix: Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).
    Good: Contributing guide describes the PR/review workflow.
    Good: Contributing guide includes code examples.
  • COPYING
  • Dockerfile
    Good: Environment pinned via Dockerfile.
  • docking.jpeg
  • INSTALL
  • LICENSE.txt
    Good: Licensed under LGPL-2.1.
  • psopt_logo.png
  • psopt-config.cmake
  • README
    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.
  • README_Ubuntu_22.04.md
  • README.md
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/psopt/psopt)](https://www.repo-grade.com/report/psopt/psopt)

More graded C++ repos