PHPackages                             krinkle/toollabs-base - 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. [Framework](/categories/framework)
4. /
5. krinkle/toollabs-base

ActiveLibrary[Framework](/categories/framework)

krinkle/toollabs-base
=====================

Framework for web apps in Wikimedia's Toolforge environment.

v2.2.0(9mo ago)08.0kMITPHPPHP &gt;=7.4

Since Jan 8Pushed 8mo agoCompare

[ Source](https://github.com/wikimedia/labs-tools-toolbase)[ Packagist](https://packagist.org/packages/krinkle/toollabs-base)[ RSS](/packages/krinkle-toollabs-base/feed)WikiDiscussions master Synced 1mo ago

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

[![Packagist](https://camo.githubusercontent.com/dacaa91030fb8d6ff72be105ffa97c2b5c5b08635278d55bc28bd9f09d732559/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b72696e6b6c652f746f6f6c6c6162732d626173652e7376673f7374796c653d666c6174)](https://packagist.org/packages/krinkle/toollabs-base)

Toolbase
========

[](#toolbase)

Install
-------

[](#install)

It's recommended to use [Composer](https://getcomposer.org).

- Run `composer require krinkle/toollabs-base`.
- Create a symlink from "base/" in your application's root public directory (e.g. public\_html) to `vendor/krinkle/toollabs-base/public_html`.
- Include `vendor/autoload.php` in your program.

Example
-------

[](#example)

```
use Krinkle\Toolbase\BaseTool;

require_once __DIR__ . '/vendor/autoload.php';

$kgBase = BaseTool::newFromArray( array(
	'displayTitle' => 'Example',
	'remoteBasePath' => dirname( $_SERVER['PHP_SELF'] ),
) );
// require_once __DIR__ . '/config.php';

$kgBase->flushMainOutput();
```

See [Template](/template) for an example.

Versioning
----------

[](#versioning)

This library follows the [Semantic Versioning guidelines](https://semver.org/).

Releases will be numbered in the following format: `..`.

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance58

Moderate activity, may be stable

Popularity23

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 98.8% 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 ~257 days

Recently: every ~616 days

Total

16

Last Release

293d ago

Major Versions

v0.9.0 → v1.0.02018-07-15

v1.0.2 → v2.0.02022-06-20

PHP version history (5 changes)v0.7.0PHP &gt;=5.3.3

v0.7.2PHP &gt;=5.5

v0.9.0PHP &gt;=5.6

v2.0.0PHP &gt;=7.3

v2.2.0PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/716c86d71cbf921e7912a505f89d799de398fc0a3af0bd4c8862834b2d642bd7?d=identicon)[wikimedia](/maintainers/wikimedia)

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

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

---

Top Contributors

[![Krinkle](https://avatars.githubusercontent.com/u/156867?v=4)](https://github.com/Krinkle "Krinkle (160 commits)")[![paladox](https://avatars.githubusercontent.com/u/5727000?v=4)](https://github.com/paladox "paladox (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/krinkle-toollabs-base/health.svg)

```
[![Health](https://phpackages.com/badges/krinkle-toollabs-base/health.svg)](https://phpackages.com/packages/krinkle-toollabs-base)
```

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)

PHPackages © 2026

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