PHPackages                             oskarstark/doctor-rst - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. oskarstark/doctor-rst

ActiveProject[DevOps &amp; Deployment](/categories/devops)

oskarstark/doctor-rst
=====================

1.80.0(2mo ago)4586822[10 issues](https://github.com/OskarStark/doctor-rst/issues)[3 PRs](https://github.com/OskarStark/doctor-rst/pulls)MITPHPPHP ^8.5CI passing

Since May 15Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/OskarStark/doctor-rst)[ Packagist](https://packagist.org/packages/oskarstark/doctor-rst)[ GitHub Sponsors](https://github.com/OskarStark)[ RSS](/packages/oskarstark-doctor-rst/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (25)Versions (167)Used By (0)

DOCtor-RST
==========

[](#doctor-rst)

Lint your documentation against given rules.

Available rules
---------------

[](#available-rules)

You can find the available rules [here](docs/rules.md).

Usage
-----

[](#usage)

You can use it as a Github Action like this:

```
# .github/workflows/lint.yaml
name: Lint

on:
    push:
    pull_request:

jobs:
    doctor-rst:
        name: DOCtor-RST
        runs-on: ubuntu-latest
        steps:
            - name: "Checkout code"
              uses: actions/checkout@v4

            - name: DOCtor-RST
              uses: docker://oskarstark/doctor-rst
              with:
                  args: --short --error-format=github
```

If your `*.rst` files are not located in root:

```
              uses: docker://oskarstark/doctor-rst
              with:
                  args: --short --error-format=github
+              env:
+                  DOCS_DIR: 'docs/'
```

Error Formatter
---------------

[](#error-formatter)

- **detect** *(default)* If running inside GithubActions CI environment, `github` is used, otherwise `console`.
- **github** Used to annotate your pull requests.
- **console** Used to generate a human readable output.

To force the usage of a specific formatter, use the `--error-format` option.

Use Caching to Speedup your GithubActions builds
------------------------------------------------

[](#use-caching-to-speedup-your-githubactions-builds)

```
        steps:
            - name: "Checkout"
              uses: actions/checkout@v4

+            - name: "Create cache dir"
+              run: mkdir .cache
+
+            - name: "Extract base branch name"
+              run: echo "##[set-output name=branch;]$(echo ${GITHUB_BASE_REF:=${GITHUB_REF##*/}})"
+              id: extract_base_branch
+
+            - name: "Cache DOCtor-RST"
+              uses: actions/cache@v2
+              with:
+                  path: .cache
+                  key: doctor-rst-${{ runner.os }}-${{ steps.extract_base_branch.outputs.branch }}
+                  restore-keys: |
+                      doctor-rst-${{ runner.os }}-
+                      doctor-rst-
+
            - name: "Run DOCtor-RST"
              uses: docker://oskarstark/doctor-rst
              with:
-                 args: --short --error-format=github
+                 args: --short --error-format=github --cache-file=/github/workspace/.cache/doctor-rst.cache
```

Docker
------

[](#docker)

A Docker-Image is built automatically and located here:

You can run it in any given directory like this:

`docker run --rm -it -e DOCS_DIR='/docs' -v ${PWD}:/docs  oskarstark/doctor-rst:latest`

Local usage
-----------

[](#local-usage)

`bin/doctor-rst analyze dummy --group=@Symfony`

or

`bin/doctor-rst analyze dummy --group=@Sonata`

Todos
-----

[](#todos)

- Allow to register custom Rules
- Move logic from Command to Services

###  Health Score

64

—

FairBetter than 99% of packages

Maintenance83

Actively maintained with recent releases

Popularity35

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity95

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~15 days

Total

160

Last Release

80d ago

Major Versions

0.5.0 → 1.0.0-beta2020-02-17

PHP version history (8 changes)0.1.0PHP ^7.1.3

0.4.0PHP ^7.4

1.18.0PHP ^8.0

1.24.0PHP ^8.1

1.27.0PHP ^8.2

1.56.0PHP ^8.3

1.65.0PHP ^8.4

1.78.1PHP ^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/4b0aaaa249bfef22b586e459b3fd8687e58644fb6223ffe8e4e709ac05be704d?d=identicon)[OskarStark](/maintainers/OskarStark)

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1053 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (1052 commits)")[![OskarStark](https://avatars.githubusercontent.com/u/995707?v=4)](https://github.com/OskarStark "OskarStark (817 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (130 commits)")[![dependabot-support](https://avatars.githubusercontent.com/u/112581971?v=4)](https://github.com/dependabot-support "dependabot-support (51 commits)")[![alamirault](https://avatars.githubusercontent.com/u/9253091?v=4)](https://github.com/alamirault "alamirault (27 commits)")[![MrYamous](https://avatars.githubusercontent.com/u/32437818?v=4)](https://github.com/MrYamous "MrYamous (15 commits)")[![staabm](https://avatars.githubusercontent.com/u/120441?v=4)](https://github.com/staabm "staabm (12 commits)")[![mergery[bot]](https://avatars.githubusercontent.com/in/64327?v=4)](https://github.com/mergery[bot] "mergery[bot] (10 commits)")[![javiereguiluz](https://avatars.githubusercontent.com/u/73419?v=4)](https://github.com/javiereguiluz "javiereguiluz (7 commits)")[![smnandre](https://avatars.githubusercontent.com/u/1359581?v=4)](https://github.com/smnandre "smnandre (4 commits)")[![smoench](https://avatars.githubusercontent.com/u/183530?v=4)](https://github.com/smoench "smoench (4 commits)")[![lsmith77](https://avatars.githubusercontent.com/u/300279?v=4)](https://github.com/lsmith77 "lsmith77 (3 commits)")[![AlessandroMinoccheri](https://avatars.githubusercontent.com/u/3356506?v=4)](https://github.com/AlessandroMinoccheri "AlessandroMinoccheri (2 commits)")[![ct-clearhaus](https://avatars.githubusercontent.com/u/6168505?v=4)](https://github.com/ct-clearhaus "ct-clearhaus (2 commits)")[![wouterj](https://avatars.githubusercontent.com/u/749025?v=4)](https://github.com/wouterj "wouterj (2 commits)")[![xabbuh](https://avatars.githubusercontent.com/u/1957048?v=4)](https://github.com/xabbuh "xabbuh (1 commits)")[![andrew-demb](https://avatars.githubusercontent.com/u/12499813?v=4)](https://github.com/andrew-demb "andrew-demb (1 commits)")[![azjezz](https://avatars.githubusercontent.com/u/29315886?v=4)](https://github.com/azjezz "azjezz (1 commits)")[![greg0ire](https://avatars.githubusercontent.com/u/657779?v=4)](https://github.com/greg0ire "greg0ire (1 commits)")

---

Tags

dockerdocshacktoberfestphprstsphinx

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/oskarstark-doctor-rst/health.svg)

```
[![Health](https://phpackages.com/badges/oskarstark-doctor-rst/health.svg)](https://phpackages.com/packages/oskarstark-doctor-rst)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)

PHPackages © 2026

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