Claude-skill-registry framework:make:collection
Génère classe Collection typée avec traits Atournayre
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/frameworkmakecollection" ~/.claude/skills/majiayu000-claude-skill-registry-framework-make-collection && rm -rf "$T"
manifest:
skills/data/frameworkmakecollection/SKILL.mdsource content
Framework Make Collection Skill
Description
Génère une classe Collection typée pour gérer des ensembles d'entités avec les traits et interfaces Atournayre.
Usage
Use skill framework:make:collection
Variables requises
- {EntityName} - Nom de l'entité en PascalCase (ex: Product)
- {entityName} - Nom de l'entité en camelCase (ex: product)
- {namespace} - Namespace du projet (défaut: App)
Dépendances
- Entité dans
src/Entity/{EntityName}.php - Framework
atournayre/framework
Outputs
src/Collection/{EntityName}Collection.php
Workflow
- Demander le nom de l'entité (EntityName)
- Vérifier que l'entité existe dans
src/Entity/{EntityName}.php- Si non : arrêter et demander de créer l'entité d'abord
- Générer la classe Collection depuis le template
templates/Collection/ - Afficher le fichier créé
Patterns appliqués
- Classe
final - Interfaces : AsListInterface, ToArrayInterface, CountInterface, CountByInterface, AtLeastOneElementInterface, HasSeveralElementsInterface, HasNoElementInterface, HasOneElementInterface, HasXElementsInterface, LoggableInterface
- Traits : Collection, Collection\ToArray, Collection\Countable
- Méthode statique
asList(array $collection)
References
- Usage - Exemples d'utilisation et méthodes métier
Notes
- Respect du principe YAGNI : pas de méthodes génériques anticipées
- Seules les méthodes explicitement demandées doivent être ajoutées
- Les traits fournissent déjà les fonctionnalités de base