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

38

—

LowBetter than 85% of packages

Maintenance90

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

53d 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

[log1x/laravel-webfonts

Download, install, and preload over 1500 Google fonts locally in your Laravel project

14083.5k1](/packages/log1x-laravel-webfonts)[ericlagarda/nova-text-card

A custom card for Laravel Nova to show Text in cards with some good options

20388.6k2](/packages/ericlagarda-nova-text-card)[stape/gtm-server-side-magento-module

Stape Conversion Tracking Magento Module

1254.8k](/packages/stape-gtm-server-side-magento-module)[carloswph/linguistics

Linguistics and language tools in PHP.

101.0k](/packages/carloswph-linguistics)

PHPackages © 2026

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