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(5y ago)76431[3 issues](https://github.com/WOSPM/checker/issues)MITPHPCI failing

Since Nov 9Pushed 1mo 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 2w 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

39

—

LowBetter than 85% of packages

Maintenance52

Moderate activity, may be stable

Popularity19

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.2% 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

1854d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3245166?v=4)[Umut Işık](/maintainers/umutphp)[@umutphp](https://github.com/umutphp)

---

Top Contributors

[![umutphp](https://avatars.githubusercontent.com/u/3245166?v=4)](https://github.com/umutphp "umutphp (176 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)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 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

[craftcms/cms

Craft CMS

3.6k3.6M2.9k](/packages/craftcms-cms)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19664.8M1.6k](/packages/drupal-core)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

101466.4k45](/packages/friendsoftypo3-content-blocks)[flarum/core

Delightfully simple forum software.

201.4M2.2k](/packages/flarum-core)[eliashaeussler/cache-warmup

Composer package to warm up website caches, based on a given XML sitemap

75419.2k9](/packages/eliashaeussler-cache-warmup)

PHPackages © 2026

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