<?php

namespace Kylin\Scaffold;

use Illuminate\Support\ServiceProvider;
use Kylin\Scaffold\Commands\ComplianceCheckCommand;
use Kylin\Scaffold\Commands\PostInstallVerifyCommand;
use Kylin\Scaffold\Commands\ScaffoldInstallCommand;

/**
 * 脚手架服务提供者
 *
 * 提供项目快速搭建命令，一键安装前端资源、
 * 数据库迁移、初始数据填充等。
 *
 * 合规要求：
 *  - 依据 GB/T 8566-2022，安装后需验证配置正确性
 *  - 依据 GB/T 22239-2019，安装后需执行合规检查
 *  - 依据等保 2.0，安装操作需记录审计日志
 */
class ScaffoldServiceProvider extends ServiceProvider
{
    public function register(): void {}

    public function boot(): void
    {
        if ($this->app->runningInConsole()) {
            $this->commands([
                ScaffoldInstallCommand::class,
                PostInstallVerifyCommand::class,
                ComplianceCheckCommand::class,
            ]);
        }
    }
}