framework:make:contracts

Génère les interfaces de contrats pour une architecture Elegant Objects

8 stars

Best use case

framework:make:contracts is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Génère les interfaces de contrats pour une architecture Elegant Objects

Teams using framework:make:contracts 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

$curl -o ~/.claude/skills/make-contracts/SKILL.md --create-dirs "https://raw.githubusercontent.com/atournayre/claude-marketplace/main/framework/skills/make-contracts/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/make-contracts/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How framework:make:contracts Compares

Feature / Agentframework:make:contractsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Génère les interfaces de contrats pour une architecture Elegant Objects

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 Contracts Skill

## Instructions à Exécuter

**IMPORTANT : Exécute ce workflow étape par étape :**


## Description
Génère l'ensemble des interfaces de contrats nécessaires pour une architecture respectant les principes Elegant Objects et DDD.

Ces interfaces servent de fondation pour toutes les autres skills du framework.

## Usage
```
Use skill framework:make:contracts
```

## Templates
- `OutInterface.php` - Interface pour objets de sortie (DTO)
- `InvalideInterface.php` - Interface pour exceptions métier
- `HasUrlsInterface.php` - Interface pour objets ayant des URLs
- `OutDataInterface.php` - Interface pour data classes de sortie
- `InvalideDataInterface.php` - Interface pour data classes d'invalidation
- `UrlsDataInterface.php` - Interface pour data classes d'URLs
- `Story/StoryInterface.php` - Interface pour stories de tests
- `Doctrine/DoctrineMigrationInterface.php` - Interface pour migrations Doctrine

## Variables requises
Aucune - Ces interfaces sont génériques et ne nécessitent pas de paramètres.

## Dépendances
Aucune - C'est la première skill à exécuter (Niveau 0 - Fondation).

## Outputs
- `src/Contracts/OutInterface.php`
- `src/Contracts/InvalideInterface.php`
- `src/Contracts/HasUrlsInterface.php`
- `src/Contracts/OutDataInterface.php`
- `src/Contracts/InvalideDataInterface.php`
- `src/Contracts/UrlsDataInterface.php`
- `src/Contracts/Story/StoryInterface.php`
- `src/Contracts/Doctrine/DoctrineMigrationInterface.php`

## Workflow

1. Vérifier si le répertoire `src/Contracts/` existe
2. Créer la structure de répertoires si nécessaire :
   - `src/Contracts/`
   - `src/Contracts/Story/`
   - `src/Contracts/Doctrine/`
3. Copier tous les templates d'interfaces depuis `framework/skills/make-contracts/templates/Contracts/` vers `src/Contracts/`
4. Afficher la liste des fichiers créés

## Notes
- Ces interfaces n'ont pas besoin d'être modifiées pour chaque projet
- Elles doivent être créées une seule fois par projet
- Toutes les autres skills du framework dépendent de ces interfaces

Related Skills

symfony-framework

8
from atournayre/claude-marketplace

Comprehensive Symfony 6.4 development skill for web applications, APIs, and microservices.

symfony:make

8
from atournayre/claude-marketplace

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

8
from atournayre/claude-marketplace

Génère classe Urls + Message CQRS + Handler

framework:make:story

8
from atournayre/claude-marketplace

Génère Story Foundry pour fixtures de tests

framework:make:out

8
from atournayre/claude-marketplace

Génère classe Out (DTO immuable pour output)

framework:make:invalide

8
from atournayre/claude-marketplace

Génère classe Invalide (exceptions métier)

framework:make:factory

8
from atournayre/claude-marketplace

Génère Factory Foundry pour tests

framework:make:entity

8
from atournayre/claude-marketplace

Génère une entité Doctrine avec repository selon principes Elegant Objects

framework:make:collection

8
from atournayre/claude-marketplace

Génère classe Collection typée avec traits Atournayre

framework:make:all

8
from atournayre/claude-marketplace

Génère tous les fichiers pour une entité complète (orchestrateur)

fix-grammar

8
from atournayre/claude-marketplace

Fix grammar and spelling errors in one or multiple files while preserving formatting

phpstan-resolver

8
from atournayre/claude-marketplace

Résout automatiquement les erreurs PHPStan en analysant et corrigeant les problèmes de types. Boucle jusqu'à zéro erreur ou stagnation.