#!/usr/bin/env php
<?php

/**
 * Консоль Lil_CMS.
 *
 * Запуск: php bin/lil <команда>
 *
 * Консоль нужна раньше, чем кажется: миграции, очистка кеша, создание
 * администратора и сборка статики — всё это должно работать без браузера,
 * в том числе по расписанию. В платформе-доноре часть таких операций жила
 * только в админке, и автоматизировать их было нечем.
 *
 * @license GPL-2.0-or-later
 */

declare(strict_types=1);

use Lil\Console\Console;
use Lil\Kernel\Application;
use Lil\Kernel\Autoloader;

if (PHP_SAPI !== 'cli') {
    http_response_code(404);

    exit;
}

$root = dirname(__DIR__);

require $root . '/core/Kernel/Autoloader.php';

$autoloader = new Autoloader();
$autoloader->addNamespace('Lil', $root . '/core');
$autoloader->register();

$app = (new Application($root, autoloader: $autoloader))->boot();

exit((new Console($app))->run(array_slice($argv, 1)));
