Polished and well engineered. Punching above its star count.

A beautiful, usable, responsive MediaWiki skin

Documentation

79

Install and run instructions9pt45

README documents how to install the project.

Contributing guide5pt66

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.

License6pt100

Licensed under GPL-3.0.

Engineering

91

Tests18pt80

Test files detected (.github/scripts/generate-versions-json.test.mjs).

Reproducibility6pt90

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

CI/CD14pt100

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

Linting and formatting5pt100

PHP linting configured (.editorconfig).

Issue and PR templates6pt100

Issue or PR templates present.

Project health

100

Dependency manifest6pt100

Dependency manifest found (composer.json).

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)
  • 100
    Forks
  • 149
    Releaseslatest 4y ago

Community

  • Community health
  • authors own >50% of commits
  • 335
    Watchers

Responsiveness

  • 1d 15h
    Median issue response
  • <1h
    Median PR merge time
  • 57
    Open issues
Repository files43 root entries
  • .agents
  • .github
    Good: Test files detected (.github/scripts/generate-versions-json.test.mjs).
    Good: CI is configured (.github/workflows/ci-docs.yml).
    Good: Dependabot covers 3 ecosystems (github-actions, composer, npm). Dependencies stay current.
    Good: Issue or PR templates present.
  • .phan
  • docs
  • i18n
  • includes
  • licenses
  • resources
  • scripts
  • skinStyles
  • templates
  • tests
  • .commitlintrc.json
  • .djlintrc
  • .editorconfig
    Good: PHP linting configured (.editorconfig).
  • .eslintignore
  • .eslintrc.json
  • .gitattributes
  • .gitignore
    Good: .gitignore present.
  • .markdownlint.json
  • .markdownlintignore
  • .phpcs.xml
  • .release-please-manifest.json
  • .stylelintignore
  • .stylelintrc.json
  • .versionrc.json
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
    Good: Code of conduct present.
  • composer.json
    Good: Dependency manifest found (composer.json).
  • 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.
    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.
    Issue: Contributing guide has no code examples (−5 pts).Fix: Add code blocks showing example commands for setup, running tests, and submitting a PR.
  • CREDITS.md
  • lefthook.yml
  • LICENSE
    Good: Licensed under GPL-3.0.
  • package-lock.json
    Good: Lockfile present (package-lock.json). Installs are reproducible.
  • package.json
  • 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.
    Issue: No run or usage instructions found (−45 pts).Fix: Add a section showing how to start or use the project.
  • release-please-config.json
  • SECURITY.md
    Good: Security policy present.
  • skin.json
  • sonar-project.properties
  • vitest.config.js