PHPackages                             wospm/checker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. wospm/checker

ActiveProject[Utility &amp; Helpers](/categories/utility)

wospm/checker
=============

A checker for project owners to measure their open source project.

0.4.0(4y ago)76431[3 issues](https://github.com/WOSPM/checker/issues)MITPHP

Since Nov 9Pushed 2y ago3 watchersCompare

[ Source](https://github.com/WOSPM/checker)[ Packagist](https://packagist.org/packages/wospm/checker)[ Patreon](https://www.patreon.com/umutphp)[ RSS](/packages/wospm-checker/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)Dependencies (5)Versions (35)Used By (0)

WOSPM Checker
=============

[](#wospm-checker)

[![All Contributors](https://camo.githubusercontent.com/db0a672758a6b3f2641e6c6099e3fadfd608167acfae3b31425eb3917b0dc47f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f616c6c5f636f6e7472696275746f72732d322d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](#contributors-) [![Markdown Linter Checks](https://github.com/WOSPM/checker/workflows/Markdown%20Linter%20Checks/badge.svg)](https://github.com/WOSPM/checker/workflows/Markdown%20Linter%20Checks/badge.svg) [![All PHP Versions](https://github.com/WOSPM/checker/actions/workflows/php-versions.yml/badge.svg)](https://github.com/WOSPM/checker/actions/workflows/php-versions.yml) [![WOSPM](https://github.com/WOSPM/checker/workflows/WOSPM/badge.svg)](https://github.com/WOSPM/checker/workflows/WOSPM/badge.svg) [![CircleCI](https://camo.githubusercontent.com/e0ba65033cb28d943ec5fd82d5eafa3373f9b55f713da9e9e4426eae537eeb87/68747470733a2f2f636972636c6563692e636f6d2f67682f574f53504d2f636865636b65722e7376673f7374796c653d737667)](https://circleci.com/gh/WOSPM/checker)

A checker for project owners to measure their open source project if it is a welcoming project for contributors or not.

[![WOSPM Checker](./assets/WOSPM_checker_tool.png)](./assets/WOSPM_checker_tool.png)

---

Table Of Contents
-----------------

[](#table-of-contents)

- [Introduction](#introduction)
- [How To Install And Use](#how-to-install-and-use)
    - [Github Action](#github-action)
- [To Be Considered](#to-be-considered)
- [WOSPM Metrics](#wospm-metrics)
    - [Metric Rules](#metric-rules)
    - [List of Existing Metrics](#list-of-existing-metrics)
    - [Badges](#badges)
- [Contributing](#contributing)
- [Code of Conduct](#code-of-conduct)

---

Introduction
------------

[](#introduction)

`wospm-checker` is a commandline tool to measure how an open source project welcomes users and possible contributors. The tool checks the repository against a list of metrics. The metrics are mostly inspired by [Github's Open Source Guides](https://opensource.guide/).

How To Install And Use
----------------------

[](#how-to-install-and-use)

Install the package with composer.

```
composer global require wospm/checker
```

You can use `--help` parameter to how the options and other information of the command.

```
wospm-checker --help

WOSPM Checker version: 0.0.1
Options:
    --output            The format of output. JSON, READABLE (Default), NO, HTML.
    --verbose           Show the progress or not. (0 => No, 1 => Detailed,
                        2 => Dots)
    --no-colors         Disable the console colors. It is enabled by default.
    --strict            Enable strict mode. The script will have a higher
                        bound to give success code.
    --version           Show version.
    --help              Print this help.
```

You can check your project by running the `wospm-checker` command in the root folder of your repo.

```
/full/path/to/wospm-checker
```

[![alt text](./assets/screenshot-1.png)](./assets/screenshot-1.png)

### Github Action

[](#github-action)

It is also ready on Github marketplace as an action with name "[WOSPM Checker Github Action](https://github.com/marketplace/actions/wospm-checker-github-action)" to use in your pipeline.

To Be Considered
----------------

[](#to-be-considered)

**GitHub Rest API Rate Limit** ❗❗❗

`wospm-checker` uses GitHub Rest API to fecth repository information in some of the metric checks. There some [limits](https://developer.github.com/v3/#rate-limiting) in using this API. When you use `wospm-checker` very frequently, you may hit the wall of anonymous limit of the API.

```
Client error: `GET https://api.github.com/repos/user/repo/labels` resulted in a `403 Forbidden` response:
{
  "message": "API rate limit exceeded for XX.XX.XX.XXX. (But here's the good news: Authenticated requests get a higher (truncated...)
```

You can use your [personal access token](https://github.com/settings/tokens) to have a bigger rate limit. In order to do this, you need to create a YML file with name `.wospm` under the root folder of the repository to be checked.

```
github:
    auth_token: PERSONAL_ACCESS_TOKEN
```

WOSPM Metrics
-------------

[](#wospm-metrics)

WOSPM metrics are measures to make quantitative assessments about the open sourse projects if they are contributor friendly or not. They are not scientific values which are mostly derived from [Open Source Guides](https://opensource.guide/).

### Metric Rules

[](#metric-rules)

1. Every metric should check only one simple case
2. Metrics can be dependent to each other (If there is no README, no need to make any check in README content etc.)
3. Every metric should have a unique WOSPMXXX number and a unique title (uppercase and snake-case).

For more information about adding a new metric to the project, please [Add New Metric](./CONTRIBUTING.md#add-new-metric) section.

### List of Existing Metrics

[](#list-of-existing-metrics)

To see the details of the metrics, click the metric code for detailed document.

CodeTitleDescription[WOSPM0001](./mdocs/WOSPM0001.md)USING\_WOSPMYou are using WOSPM checker. It is a good start.[WOSPM0002](./mdocs/WOSPM0002.md)READMEEvery open source project should have a README file.[WOSPM0003](./mdocs/WOSPM0003.md)LICENSEEvery open source project should have a LICENSE file.[WOSPM0004](./mdocs/WOSPM0004.md)CONTRIBUTINGEvery open source project should have a CONTRIBUTING file.[WOSPM0005](./mdocs/WOSPM0005.md)CODE\_OF\_CONDUCTEvery open source project should have a CODE\_OF\_CONDUCT file.[WOSPM0006](./mdocs/WOSPM0006.md)README\_TOCEvery README file should have table of contents list.[WOSPM0007](./mdocs/WOSPM0007.md)LINK\_TO\_CONTRIBUTEREADME should have a link to CONTRIBUTING file.[WOSPM0008](./mdocs/WOSPM0008.md)LINK\_TO\_CODE\_OF\_CONDUCTREADME should have a link to CODE\_OF\_CONDUCT file.[WOSPM0009](./mdocs/WOSPM0009.md)README\_ADEQUATEREADME should have atleast 200 words.[WOSPM0010](./mdocs/WOSPM0010.md)INSTALLATION\_SECTIONREADME file should have an installation section.[WOSPM0011](./mdocs/WOSPM0011.md)GITHUB\_ISSUE\_TEMPLATEYou should have issue templates on Github.[WOSPM0012](./mdocs/WOSPM0012.md)GITHUB\_PR\_TEMPLATEYou should have PR template on Github.[WOSPM0013](./mdocs/WOSPM0013.md)GITHUB\_SHORT\_DESCRIPTIONProject should have a short description on Github.[WOSPM0014](./mdocs/WOSPM0014.md)GITHUB\_TOPICSRelated Github topics should be added to the repository.[WOSPM0015](./mdocs/WOSPM0015.md)GITHUB\_LABELSProject should have issue labels.[WOSPM0016](./mdocs/WOSPM0016.md)GITHUB\_LABELS\_USEDLabels should be used to highlight the issues.[WOSPM0017](./mdocs/WOSPM0017.md)GITHUB\_CUSTOM\_LABELSCreating custom labels is a good practice.[WOSPM0018](./mdocs/WOSPM0018.md)GITHUB\_LABELS\_GFI\_HW*good first issue* and *help wanted* labels should exist.[WOSPM0019](./mdocs/WOSPM0019.md)GITHUB\_CUSTOM\_LABELS\_USEDAt least one custom label should be associated to an issue.[WOSPM0020](./mdocs/WOSPM0020.md)GITHUB\_LABELS\_GFI\_HW\_USED*good first issue* and "help wanted" labels should be used.[WOSPM0021](./mdocs/WOSPM0021.md)GITHUB\_RESPONSIVENESSResponsive owners encourage users to be contributors.[WOSPM0022](./mdocs/WOSPM0022.md)GITHUB\_CUSTOM\_LABEL\_DESCRIPTONCustom labels should have descriptions.[WOSPM0023](./mdocs/WOSPM0023.md)NO\_BROKEN\_LINKS\_IN\_READMENo broken links exists in README.[WOSPM0024](./mdocs/WOSPM0024.md)CONTRIBUTORS\_SECTIONREADME file should have a contributors section.[WOSPM0025](./mdocs/WOSPM0025.md)CHANGELOGProject should have a changelog published.### Badges

[](#badges)

After the check, the checker will generate a overall status for the project. There types of status are considered;

- *Perfect:* It means that the porject covers 100 percent of the metrics. [![Perfect](https://camo.githubusercontent.com/8c34aba3a2eeec170c18d3a7ff3b0ba09974d8a085df25beeacf5fe04f4c8daf/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f574f53504d2d506572666563742d626c7565)](https://camo.githubusercontent.com/8c34aba3a2eeec170c18d3a7ff3b0ba09974d8a085df25beeacf5fe04f4c8daf/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f574f53504d2d506572666563742d626c7565)
- *Welcoming:* It means that the project covers atleast 90 percent of the metrics. [![Welcoming](https://camo.githubusercontent.com/1f341c256735bacbc0bfedb2dc142b51c6b92d60b80216d55bb61cf5a3cf6f8f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f574f53504d2d57656c636f6d696e672d677265656e)](https://camo.githubusercontent.com/1f341c256735bacbc0bfedb2dc142b51c6b92d60b80216d55bb61cf5a3cf6f8f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f574f53504d2d57656c636f6d696e672d677265656e)
- *Not Ready:* It means that the project is not ready to be accepted as *Welcoming*. The project covers between 50 and 90 percents of the metrics. [![Not Ready](https://camo.githubusercontent.com/88eca204130d7e31d679a5ec0ae55300162f14178dd505ad218ad6e6b1a4e7aa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f574f53504d2d4e6f742d2d52656164792d6f72616e6765)](https://camo.githubusercontent.com/88eca204130d7e31d679a5ec0ae55300162f14178dd505ad218ad6e6b1a4e7aa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f574f53504d2d4e6f742d2d52656164792d6f72616e6765)
- *Bad:* I means that the project is in very bad status. The coverage is under 50 percent. [![Bad](https://camo.githubusercontent.com/ac0bec48273eac50e410f09441ffb72911e274e703847b65861a88fffe99a828/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f574f53504d2d4261642d726564)](https://camo.githubusercontent.com/ac0bec48273eac50e410f09441ffb72911e274e703847b65861a88fffe99a828/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f574f53504d2d4261642d726564)

The checker generates the badge code of the project at the end of the the execution.

Contributing
------------

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md) for information.

Code of Conduct
---------------

[](#code-of-conduct)

See [CODE\_OF\_CONDUCT](CODE_OF_CONDUCT) for information.

Contributors ✨
--------------

[](#contributors-)

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

  [![](https://avatars0.githubusercontent.com/u/8276015?v=4)
**Tom Mens**](https://github.com/tommens)
[🤔](#ideas-tommens "Ideas, Planning, & Feedback") [![](https://avatars2.githubusercontent.com/u/34370960?v=4)
**Mohammad Reza**](https://github.com/cmohammadc)
[💻](https://github.com/WOSPM/checker/commits?author=cmohammadc "Code") By [all-contributors](https://github.com/all-contributors/all-contributors).

Contributions of any kind welcome!

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance11

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~22 days

Recently: every ~115 days

Total

27

Last Release

1809d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/166d2da042ca5531d53f89b5ed96eb784133c4eccb41395e86305fc33334bdd4?d=identicon)[umutphp](/maintainers/umutphp)

---

Top Contributors

[![umutphp](https://avatars.githubusercontent.com/u/3245166?v=4)](https://github.com/umutphp "umutphp (175 commits)")[![allcontributors[bot]](https://avatars.githubusercontent.com/in/23186?v=4)](https://github.com/allcontributors[bot] "allcontributors[bot] (4 commits)")[![azibom](https://avatars.githubusercontent.com/u/34370960?v=4)](https://github.com/azibom "azibom (2 commits)")

---

Tags

best-practiceshacktoberfestmeasuremetricsopen-sourceosswospmwospm-metrics

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/wospm-checker/health.svg)

```
[![Health](https://phpackages.com/badges/wospm-checker/health.svg)](https://phpackages.com/packages/wospm-checker)
```

###  Alternatives

[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[aeliot/todo-registrar

Register TODOs from source code in issue tracker

153.0k](/packages/aeliot-todo-registrar)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
