PHPackages                             revund/php-worker - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. revund/php-worker

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

revund/php-worker
=================

Revund's PHP AST sidecar — implements the universal revund.worker.v1.Worker gRPC contract using nikic/PHP-Parser.

v0.1.3(2mo ago)02Apache-2.0PHP &gt;=8.1

Since May 21Compare

[ Source](https://github.com/revund-dev/php-worker)[ Packagist](https://packagist.org/packages/revund/php-worker)[ Docs](https://revund.dev)[ RSS](/packages/revund-php-worker/feed)WikiDiscussions Synced 3w ago

READMEChangelogDependencies (4)Versions (5)Used By (0)

revund/php-worker
=================

[](#revundphp-worker)

The PHP AST sidecar for [Revund](https://revund.dev). A gRPC server that implements `revund.worker.v1.Worker` — the universal contract every Revund worker speaks. Built on [nikic/PHP-Parser](https://github.com/nikic/PHP-Parser).

Install
-------

[](#install)

```
composer global require revund/php-worker
```

You also need the `grpc` PECL extension and the [`revund`](https://revund.dev/install)CLI itself. The CLI discovers `revund-php-worker` on `PATH` and spawns it on demand.

```
pecl install grpc            # one-time, builds the PHP gRPC extension
```

Usage
-----

[](#usage)

The worker is normally launched by the Revund CLI. To run it standalone (for debugging or to share a single instance across reviews):

```
revund-php-worker                              # binds 0.0.0.0:50052
REVUND_PHP_WORKER_PORT=0 revund-php-worker     # OS-assigned port; prints "ready: 0.0.0.0:" on stdout
```

Point the CLI at it via the `REVUND_WORKERS` env var (plain `host:port` — the CLI calls `Describe` to learn the worker's languages and capabilities):

```
REVUND_WORKERS=localhost:50052 revund review
```

What it does
------------

[](#what-it-does)

The worker advertises one capability via the `Describe` RPC:

CapabilityRPCPurpose`parse``Parse`Returns the universal `ParsedFile` shape — `use` imports, top-level decls (`class` / `interface` / `trait` / `enum` / `function`), method+function bodies (with cyclomatic complexity, hash, canonical hash, blocks), and concern evidence (Presentation/State/Network/IO/Config/Business/DataAccess/Transport).`ResolveSymbols` and `RunDiagnostics` are not implemented yet — the Revund CLI checks the capability list from `Describe` and skips RPCs the worker hasn't advertised.

Environment
-----------

[](#environment)

VariableDefaultPurpose`REVUND_PHP_WORKER_PORT``50052`Bind port. Use `0` for OS-assigned (recommended when the CLI spawns the worker).Contract
--------

[](#contract)

The wire contract is defined in [`proto/worker.proto`](./proto/worker.proto), vendored inside the package. Generated PHP stubs land under `proto/Revund/Worker/V1/`(built from the .proto via the `composer proto` script).

License
-------

[](#license)

Apache-2.0

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance87

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

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

Total

4

Last Release

63d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10504265?v=4)[Wes Guirra](/maintainers/wesguirra)[@wesguirra](https://github.com/wesguirra)

---

Tags

code reviewgRPCastphp-parsersidecarrevund

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/revund-php-worker/health.svg)

```
[![Health](https://phpackages.com/badges/revund-php-worker/health.svg)](https://phpackages.com/packages/revund-php-worker)
```

###  Alternatives

[google/gax

Google API Core for PHP

267116.3M574](/packages/google-gax)[googleads/google-ads-php

Google Ads API client for PHP

3508.5M14](/packages/googleads-google-ads-php)[clarifai/clarifai-php-grpc

Clarifai PHP gRPC client

1229.7k](/packages/clarifai-clarifai-php-grpc)[ajthinking/archetype

Programmatically edit PHP and Laravel files.

2723.9M19](/packages/ajthinking-archetype)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k16](/packages/tempest-framework)

PHPackages © 2026

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