Aller au contenu
← Tous les TIL
TIL

TIL : une custom command OpenCode pour générer un endpoint API Platform complet

opencodeapi-platformphp

Note juillet 2026 : setup de l’époque OpenCode — la technique reste transposable avec les skills et custom commands de Claude Code.

Les custom commands d’OpenCode sont des fichiers Markdown dans .opencode/commands/. Une commande bien écrite remplace 80% des instructions répétées pour les patterns récurrents. Exemple concret pour API Platform 3 :

# .opencode/commands/new-endpoint.md

Crée un endpoint API Platform complet pour l'entité `$ARGUMENTS`.

## Ce que tu dois créer

1. **Resource class** dans `src/ApiResource/{Entity}Resource.php`
   - Opérations : GetCollection, Get, Post, Patch, Delete
   - Groups de sérialisation : `{entity}:read`, `{entity}:write`
   - Respecte les conventions dans AGENTS.md

2. **Tests fonctionnels** dans `tests/ApiResource/{Entity}ResourceTest.php`
   - Étend `AbstractApiResourceTest`
   - Teste : liste, détail, création valide, création invalide (validation), 
     mise à jour, suppression
   - Fixtures dans `tests/fixtures/{Entity}Fixtures.php`

3. **Vérifie** que les tests passent : `php bin/phpunit tests/ApiResource/{Entity}ResourceTest.php`

Utilisation dans OpenCode :

> /new-endpoint Order

L’agent crée les 3 fichiers, lance les tests, corrige les erreurs s’il y en a.