81/ 100 · B

Good community traction and solid fundamentals. Nearly in the top tier.

A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases

Rust8,133 starsApache-2.0updated 3mo ago
DocumentationREADME, setup, examples, license
82
EngineeringTests, CI, linting, lockfiles
78
Project healthDescription, activity, stars, deps
89

What to fix first

The highest-impact improvements for this repo.

  1. 1
    Install and run instructions
    DocumentationInfo

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

  2. 2
    Reproducibility
    EngineeringInfo

    Add a Dockerfile, .nvmrc, or .python-version to pin the runtime version and make the environment reproducible.

  3. 3
    Issue and PR templates
    EngineeringInfo

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

Detailed breakdown

Documentation

82
  • README100
    • README is present.
    • README is well structured with multiple sections.
    • README includes screenshots or visuals. Great for first impressions.
    • README has code examples.
    • README links to a live demo or deployed app.
    • README includes status badges.
  • Install and run instructions90
    • README documents how to install the project.
    • README documents how to run the project.
    • If your project uses environment variables, add a .env.example listing them (+10 pts).Add a .env.example listing all required environment variables so contributors know what to set up.
  • License100
    • Licensed under Apache-2.0.
  • Contributing guide0
    • No CONTRIBUTING.md found (−45 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.
    • Optional: add a Code of Conduct (+5 pts).A CODE_OF_CONDUCT.md signals that your project is welcoming. GitHub has a template you can add in one click.

Engineering

78
  • Tests85
    • Test files detected (tests).
    • Pytest referenced in pyproject.toml and test files present.
  • CI/CD100

    Not applicable?

    • CI is configured (.github/workflows/python-build.yml).
    • CI workflow runs tests.
    • CI runs on pull requests, not just on pushes to main.
    • CI workflow runs a lint or format check.
    • CI runs type checking (tsc, mypy, cargo check, etc.).
    • CI reports or uploads test coverage.
    • CI caches dependencies for faster runs.
    • CI tests across multiple environments or versions.
    • CI includes a build step.
  • Linting and formatting60
    • Linter or formatter configured (.editorconfig).
    • No linter or type checker configured in pyproject.toml (−80 pts).Add [tool.ruff] for linting and [tool.mypy] for type checking to pyproject.toml.
  • Reproducibility95
    • Lockfile present (Cargo.lock). Installs are reproducible.
    • No Dockerfile or runtime version pin found. Adding one earns +10 pts.Add a Dockerfile, .nvmrc, or .python-version to pin the runtime version and make the environment reproducible.
    • Dependabot covers 2 ecosystems (cargo, github-actions). Dependencies stay current.
    • Cargo.toml uses Rust edition 2021 (current best practice).
  • Issue and PR templates0
    • No issue or PR templates found (−90 pts).Add .github/ISSUE_TEMPLATE/ with bug_report.md and feature_request.md to guide contributors. It dramatically improves issue quality.
    • Optional: add a SECURITY.md.A SECURITY.md explains how to responsibly disclose vulnerabilities. Worth adding once the project has real users.

Project health

89
  • Dependency manifest100
    • Dependency manifest found (Cargo.toml).
    • pyproject.toml has a [project] table with package metadata.
    • pyproject.toml includes a description.
    • pyproject.toml specifies requires-python, preventing installs on incompatible versions.
    • pyproject.toml has a [build-system] table. The package can be built and published.
  • Repository metadata100
    • Repository has a description.
    • Primary language detected: Rust.
    • pyproject.toml [project] metadata is complete (description, authors, urls).
  • Activity60
    • Last pushed 3–6 months ago. A push within 90 days earns 80 pts; within 30 days earns 100 pts.
    • 8,133 stars.
  • Housekeeping100
    • .gitignore present.
Repository files19 root entries
  • .github
    Good: CI is configured (.github/workflows/python-build.yml).
    Good: Dependabot covers 2 ecosystems (cargo, github-actions). Dependencies stay current.
  • benches
  • src
  • tests
    Good: Test files detected (tests).
  • .editorconfig
    Good: Linter or formatter configured (.editorconfig).
  • .gitignore
    Good: .gitignore present.
  • Cargo.lock
    Good: Lockfile present (Cargo.lock). Installs are reproducible.
  • Cargo.toml
    Good: Dependency manifest found (Cargo.toml).
  • demo.gif
  • demo.tape
  • grex.pyi
  • LICENSE
    Good: Licensed under Apache-2.0.
  • logo.png
  • pyproject.toml
  • README_PYPI.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.md
  • RELEASE_NOTES.md
  • requirements.txt
  • website.jpg