PHPackages                             spiral/ide-helper - 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. spiral/ide-helper

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

spiral/ide-helper
=================

Spiral Framework IDE helper

v0.9.6(8y ago)676.4k↓50%3MITPHPPHP &gt;=7.0

Since Feb 7Pushed 6y ago5 watchersCompare

[ Source](https://github.com/spiral-modules/ide-helper)[ Packagist](https://packagist.org/packages/spiral/ide-helper)[ RSS](/packages/spiral-ide-helper/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (4)Versions (9)Used By (3)

Spiral IDE Helper
=================

[](#spiral-ide-helper)

[![Latest Stable Version](https://camo.githubusercontent.com/5f423d98de8c264d6342d4a7566a5de76bfe1fd41287d1f5bb83224b7e2aa205/68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f6964652d68656c7065722f762f737461626c65)](https://packagist.org/packages/spiral/ide-helper)[![Total Downloads](https://camo.githubusercontent.com/ea7ff904f370f21c8aa896476840e224b9476721c4c422e3bc450ee818fb0c70/68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f6964652d68656c7065722f646f776e6c6f616473)](https://packagist.org/packages/spiral/ide-helper)[![License](https://camo.githubusercontent.com/c7e0106ae6f4fbfb2c883d50230177aa02473f151bd445751bce46e2b21e3d2a/68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f6964652d68656c7065722f6c6963656e7365)](https://packagist.org/packages/spiral/ide-helper)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/838eddef57365e1037ac21fe366b682a32142f48b4d6dc77844ab81b65f0c270/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73706972616c2d6d6f64756c65732f6964652d68656c7065722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/spiral-modules/ide-helper/?branch=master)[![Coverage Status](https://camo.githubusercontent.com/fca8c8ae21ca8e4b11377e5e303b1253586a65f3965421a2de950f50b50c464f/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f73706972616c2d6d6f64756c65732f6964652d68656c7065722f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/spiral-modules/ide-helper?branch=master)

This module generate IDE help files for spiral framework components like Controllers, RequestsFilters, Records, Documents and etc.

Install
-------

[](#install)

```
composer require spiral/ide-helper
./spiral register spiral/ide-helper && ./spiral console:reload

```

Usage
-----

[](#usage)

```
./spiral ide-helper

```

Configuration and Terminology
-----------------------------

[](#configuration-and-terminology)

The module is configured via `config/modules/ide-helper.php` file.

The config has 3 sections: `writers`, `locators`, `scopes`.

[VIEW CONFIG FILE](resources/config.php)

`locators` section includes any Locators used by the module. Locator is a class that responsible for searching classes and it's \[magic\] members.

`writers` section includes any Writers used by the modules. Writers are responsible to write the stuff collected by locators to some destination.

Both locators and writers must be represented by associated array, where the key is any human reasonable name for locator or writer and the value is class string or `\Spiral\Core\Container\Autowire` instance (can be obtained by `bind` method).

`scopes` section is also associated array, where the keys is any human reasonable name for the scope and the value is scope definition. Scope definition consists of number of locators and writers to execute, just check config above to understand the syntax. Each scope is executed independently.

The package includes following locators and writers:

- `BindingsLocator` — find short bindings (SharedTrait)
- `ContainersLocator` — find container and it's bindings
- `DocumentsLocator` — find documents and it's fields
- `RecordsLocator` — find records and it's fields
- `FilePerClassWriter` — write every class to it's own file
- `SingleFileWriter` — write everything to one file

Extending
---------

[](#extending)

### Custom Locators

[](#custom-locators)

To create your own locator you must implement `\Spiral\IdeHelper\Locators\LocatorInerface`:

```
interface LocatorInterface
{
    /**
     * @return ClassDefinition[]
     */
    public function locate(): array;
}
```

and then register it in configuration file.

### Custom Writers

[](#custom-writers)

Same as custom locator but `\Spiral\IdeHelper\Writers\WriterInterface` interface:

```
interface WriterInterface
{
    /**
     * @param ClassDefinition[] $classes
     */
    public function write(array $classes);
}
```

`FilePerClassWriter` and `SingleFileWriter` are using `\Spiral\IdeHelper\Rendere\RendererInterface`for rendering content, so if you want only to change the way files are looks like you can create your own implementation.

```
interface RendererInterface
{
    /**
     * @param ClassDefinition[] $classes
     * @return string
     */
    public function render(array $classes): string;
}
```

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity32

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~23 days

Recently: every ~35 days

Total

7

Last Release

3246d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/796136?v=4)[Anton Tsitou](/maintainers/wolfy-j)[@wolfy-j](https://github.com/wolfy-j)

---

Top Contributors

[![wolfy-j](https://avatars.githubusercontent.com/u/796136?v=4)](https://github.com/wolfy-j "wolfy-j (20 commits)")

---

Tags

ide-helperspiral

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/spiral-ide-helper/health.svg)

```
[![Health](https://phpackages.com/badges/spiral-ide-helper/health.svg)](https://phpackages.com/packages/spiral-ide-helper)
```

###  Alternatives

[salmanzafar/laravel-geo-fence

A Laravel Library to calculate distance between two longitude and latitudes

157.3k1](/packages/salmanzafar-laravel-geo-fence)

PHPackages © 2026

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