<?php
declare(strict_types=1);

namespace App\Services;

final class GeneratorRegistry
{
    /** @return list<array<string,string|bool>> */
    public function all(): array
    {
        return [
            ['code'=>'manifest','name'=>'Manifest module','description'=>'Produit le futur module.json AXIOM SDK.','ready'=>true],
            ['code'=>'sql','name'=>'Migration SQL','description'=>'Prépare les migrations versionnées et réversibles.','ready'=>false],
            ['code'=>'model','name'=>'Modèles','description'=>'Génère les modèles et métadonnées des entités.','ready'=>true],
            ['code'=>'controller','name'=>'Contrôleurs','description'=>'Génère les contrôleurs CRUD sécurisés.','ready'=>true],
            ['code'=>'views','name'=>'Vues responsive','description'=>'Génère listes, fiches et formulaires.','ready'=>true],
            ['code'=>'routes','name'=>'Routes','description'=>'Génère et vérifie les routes du module.','ready'=>true],
            ['code'=>'permissions','name'=>'Permissions','description'=>'Génère les droits fins du module.','ready'=>true],
            ['code'=>'workflow','name'=>'Workflows','description'=>'Modélise, simule et publie les processus métier.','ready'=>true],
            ['code'=>'dashboard','name'=>'Tableaux de bord','description'=>'Compose des tableaux de bord responsive à partir de widgets.','ready'=>true],
            ['code'=>'package','name'=>'Package AXIOM','description'=>'Construit un ZIP compatible avec le Centre de mises à jour.','ready'=>false],
        ];
    }
}
