CLI: уровень готовности PHP-файлов к миграции в Laravel

Maintainers

Package info

github.com/ximki-vinki/laravel-ready

pkg:composer/laravel-readiness/tool

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v0.4.5 2026-07-16 12:31 UTC

This package is auto-updated.

Last update: 2026-07-26 17:48:35 UTC


README

CLI для охраны PHP-файлов при миграции в Laravel: помечаешь файл меткой — при правке проверка не даёт скатиться в легаси.

Запуск

# PHP 8.5+
composer install
cd /path/to/project
vendor/bin/laravel-ready path/to/File.php

Windows: скачать laravel-ready.exe с Releases (PHP на машине не нужен).

cd C:\path\to\project
laravel-ready.exe path\to\File.php

В текущей рабочей директории должен находиться laravel-ready.json. Пути резолверов задаются относительно этого файла:

{
  "resolvers": [
    {
      "prefix": "App\\",
      "path": "app/"
    }
  ]
}

Docker:

docker build -t laravel-ready .
docker run --rm -e FORCE_COLOR=1 \
  -v /path/to/project:/project \
  -w /project \
  laravel-ready \
  app/SomeFile.php

Exit 0 — ок для хука/CI, 1 — guard провален (или нет/несколько меток).

Метки (PHPDoc)

Метка Смысл
@laravel-ready Под охраной: без AST-блокеров, deps ок
@laravel-adapter Мост к легаси для Laravel-контура
@legacy-adapter Мост только внутри легаси; AST только по @allows
@legacy-perfect Почищен, но остаётся в легаси-контуре
@legacy-code Явный легаси (findings не валят exit)
@allows Модификатор для @legacy-adapter: $_COOKIE, setcookie, …
@skipCheck Модификатор: при blockers не валить guard (exit 0, findings видны); на файл без/с несколькими метками не действует

Public CLI contract (hooks/CI): CLI_CONTRACT_0x.md.

Архитектура и модель: ARCHITECTURE.md, READINESS_MODEL.md, RESOLUTION_AND_OUTPUT.md, MANIFEST.md.