PHPackages                             johannschopplich/kirby-tools-utils - 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. johannschopplich/kirby-tools-utils

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

johannschopplich/kirby-tools-utils
==================================

Shared utility classes for Kirby Tools plugins

0.1.1(1mo ago)2366↑33.3%3AGPL-3.0-or-laterPHP

Since Mar 2Pushed 1mo agoCompare

[ Source](https://github.com/kirby-tools/utils)[ Packagist](https://packagist.org/packages/johannschopplich/kirby-tools-utils)[ Docs](https://github.com/kirby-tools/kirby-tools-utils#readme)[ RSS](/packages/johannschopplich-kirby-tools-utils/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (3)Used By (3)

Kirby Tools Utils
=================

[](#kirby-tools-utils)

Shared utility classes for [Kirby Tools plugins](https://kirby.tools). This package provides common model and field resolution logic used across multiple plugins to avoid ambiguous class resolution when multiple plugins are installed together.

Classes
-------

[](#classes)

### `ModelResolver`

[](#modelresolver)

Resolves Kirby CMS models from different identifier formats:

- **`resolveFromId`**: Resolves a model from a model ID (e.g., `site`, `page-id`, `file-id`)
- **`resolveFromPath`**: Resolves a model from a Panel view path (e.g., `site`, `pages/xxx`, `pages/xxx/files/yyy`)

### `FieldResolver`

[](#fieldresolver)

Resolves blueprint fields from Kirby models:

- **`resolveModelFields`**: Creates a Kirby Form from the model's blueprint fields and returns field properties (excluding `title`, `slug`, and field values)

Used By
-------

[](#used-by)

- [kirby-content-translator](https://kirby.tools/content-translator)
- [kirby-copilot](https://kirby.tools/copilot)
- [kirby-minimap](https://kirby.tools/minimap)

License
-------

[](#license)

[AGPL](./LICENSE) License © 2026-PRESENT [Johann Schopplich](https://github.com/johannschopplich)

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance89

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

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

Total

2

Last Release

57d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b9be5bf8dd3a36f63c00f92a115f1109567745fb3b068617341ffc8a90755d6c?d=identicon)[johannschopplich](/maintainers/johannschopplich)

---

Top Contributors

[![johannschopplich](https://avatars.githubusercontent.com/u/27850750?v=4)](https://github.com/johannschopplich "johannschopplich (8 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/johannschopplich-kirby-tools-utils/health.svg)

```
[![Health](https://phpackages.com/badges/johannschopplich-kirby-tools-utils/health.svg)](https://phpackages.com/packages/johannschopplich-kirby-tools-utils)
```

###  Alternatives

[fntneves/laravel-transactional-events

Transaction-aware Event Dispatcher for Laravel

3202.6M2](/packages/fntneves-laravel-transactional-events)[ipinfo/ipinfo

The official PHP library for IPinfo, the most reliable, accurate, and in-depth source of IP address data available anywhere. We process terabytes of data to produce our custom IP geolocation, company, carrier and IP type data sets. Visit our developer docs at https://ipinfo.io/developers.

2891.2M11](/packages/ipinfo-ipinfo)[typo3/cms-recordlist

TYPO3 CMS Recordlist - Lists database records in the TYPO3 backend module (Web&gt;List).

178.0M48](/packages/typo3-cms-recordlist)[neos/eel

The Embedded Expression Language (Eel) is a building block for creating Domain Specific Languages

122.0M27](/packages/neos-eel)

PHPackages © 2026

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