PHPackages                             folivoro/climb - 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. folivoro/climb

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

folivoro/climb
==============

Modernize Sloth projects to the latest version.

01↓100%PHP

Since May 19Pushed 3w agoCompare

[ Source](https://github.com/folivoro/climb)[ Packagist](https://packagist.org/packages/folivoro/climb)[ RSS](/packages/folivoro-climb/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

[![Sloth Logo](https://raw.githubusercontent.com/folivoro/art/refs/heads/main/sloth-logo.svg)](https://folivoro.com)

[![Total Downloads](https://camo.githubusercontent.com/50a91488f510c6f9bd3074bc314825af959dba3d6ee6e545bd617338ab46cc39/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f666f6c76696f726f2f636c696d62)](https://packagist.org/packages/folvioro/climb)[![Latest Stable Version](https://camo.githubusercontent.com/5e7cd0cc7dfc7ccd329db322290285c9091340492557d0fd7b736e8d329d5a44/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f666f6c76696f726f2f636c696d62)](https://packagist.org/packages/folvioro/climb)[![License](https://camo.githubusercontent.com/4d90d876f1ecfb7fe5292c2a850312d2e6f7d2a1c9891b31598b36240f521dfb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f666f6c76696f726f2f636c696d62)](https://packagist.org/packages/folvioro/climb)

folivoro/climb 🧗
================

[](#folivoroclimb-)

Modernizes [Sloth](https://github.com/folivoro/sloth) projects to the latest version.

Installation
------------

[](#installation)

```
composer global require folivoro/climb
```

Make sure `~/.composer/vendor/bin` is in your `$PATH`:

```
export PATH="$PATH:$HOME/.composer/vendor/bin"
```

Usage
-----

[](#usage)

From the root of your Sloth project:

```
climb
```

Explicitly target a version:

```
climb --to=2
```

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

[](#what-it-does)

### v1 → v2

[](#v1--v2)

1. **UpdateComposerJson** — removes deprecated Sloth v1 scripts, normalizes `composer.json`
2. **UpdateComposerPackages** — swaps `sixmonkey/sloth` / `folivoro/sloth` for `folivoro/sloth:^2.0`, removes old Layotter packages, installs `folivoro/cecropia`, optionally installs `folivoro/layotter-bridge`
3. **MigrateConfigs** — installs a temporary MU-plugin to dump all `Configure::` values, migrates them to Laravel-style config files in `app/config/` and `theme/config/`
4. **MigrateViewExtensions** — converts legacy Twig filter/function registrations to `AbstractViewExtension` classes in `theme/Extensions/View/`
5. **MigrateTypedProperties** — removes typed property declarations from Model and Taxonomy classes via Rector
6. **MigrateBootstrap** — removes Sloth v1 bootstrapping from `bootstrap.php`, deletes obsolete `sloth.php` mu-plugin, cleans up `.gitignore`

Prerequisites
-------------

[](#prerequisites)

- PHP ^8.4
- `composer` available on `$PATH`
- A Sloth v1 project with `installer-paths` configured in `composer.json`

How MigrateConfigs works
------------------------

[](#how-migrateconfigs-works)

climb installs a temporary MU-plugin (`legacy-config-dumper.php`) into your WordPress MU-plugin directory. On the next WordPress request it dumps all `Configure::read()` values to `climb-config.json` in your project root, then climb removes the plugin automatically.

climb reads `WP_HOME` from your `.env` and suggests the URL to open — but you can make the request however you like (browser, curl, Docker, Lando, etc.).

If `climb-config.json` already exists, the dump step is skipped.

License
-------

[](#license)

MIT

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance62

Regular maintenance activity

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

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.

### Community

Maintainers

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

---

Top Contributors

[![sixmonkey](https://avatars.githubusercontent.com/u/15140258?v=4)](https://github.com/sixmonkey "sixmonkey (1 commits)")

### Embed Badge

![Health badge](/badges/folivoro-climb/health.svg)

```
[![Health](https://phpackages.com/badges/folivoro-climb/health.svg)](https://phpackages.com/packages/folivoro-climb)
```

###  Alternatives

[sllh/composer-lint

Extends the composer validate command with extra rules

14222.1k7](/packages/sllh-composer-lint)

PHPackages © 2026

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