framework:make:factory
Génère Factory Foundry pour tests
Best use case
framework:make:factory is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Génère Factory Foundry pour tests
Teams using framework:make:factory should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/make-factory/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How framework:make:factory Compares
| Feature / Agent | framework:make:factory | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Génère Factory Foundry pour tests
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Framework Make Factory Skill
## Instructions à Exécuter
**IMPORTANT : Exécute ce workflow étape par étape :**
## Description
Génère une Factory Foundry pour créer des instances d'entités dans les tests.
## Usage
```
Use skill framework:make:factory
```
## 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)
- **{properties}** - Liste des propriétés pour `defaults()`
## Dépendances
- Entité dans `src/Entity/{EntityName}.php`
- Zenstruck Foundry installé
## Outputs
- `src/Factory/{EntityName}Factory.php`
## Workflow
1. Demander le nom de l'entité (EntityName)
2. Vérifier que l'entité existe
3. Lire l'entité pour détecter les propriétés du constructeur `create()`
4. Générer la factory depuis le template `templates/Factory/`
5. Afficher le fichier créé
## Patterns appliqués
- Extends PersistentObjectFactory, classe `final`
- Méthode `class()` retournant FQCN
- Méthode `defaults()` avec valeurs Faker
- Méthode `initialize()` avec `instantiateWith()` appelant `Entity::create()`
- Méthodes custom (ex: `withSpecificId()`, `inactive()`)
## References
- [Usage](references/usage.md) - Exemples de tests et valeurs Faker recommandées
## Notes
- Utilise `instantiateWith()` pour respecter Elegant Objects (pas de `new Entity()`)
- Faker via `self::faker()`
- Méthodes custom uniquement si demandées (YAGNI)
- Persiste par défaut, `withoutPersisting()` si besoinRelated Skills
symfony-framework
Comprehensive Symfony 6.4 development skill for web applications, APIs, and microservices.
symfony:make
Cherche si il existe un maker Symfony pour faire la tache demandée et l'utilise si il existe. Si aucun maker n'existe alors utilise la slash command "/prepare"
framework:make:urls
Génère classe Urls + Message CQRS + Handler
framework:make:story
Génère Story Foundry pour fixtures de tests
framework:make:out
Génère classe Out (DTO immuable pour output)
framework:make:invalide
Génère classe Invalide (exceptions métier)
framework:make:entity
Génère une entité Doctrine avec repository selon principes Elegant Objects
framework:make:contracts
Génère les interfaces de contrats pour une architecture Elegant Objects
framework:make:collection
Génère classe Collection typée avec traits Atournayre
framework:make:all
Génère tous les fichiers pour une entité complète (orchestrateur)
fix-grammar
Fix grammar and spelling errors in one or multiple files while preserving formatting
phpstan-resolver
Résout automatiquement les erreurs PHPStan en analysant et corrigeant les problèmes de types. Boucle jusqu'à zéro erreur ou stagnation.