Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 17:58:47 +08:00
commit 77525b8480
18 changed files with 1505 additions and 0 deletions

167
commands/docker.md Normal file
View File

@@ -0,0 +1,167 @@
---
allowed-tools:
- Bash
- Read
- Grep
- Glob
description: Indique d'utiliser docker pour faire la ou les actions définies dans le prompt
model: claude-sonnet-4-5-20250929
---
# Contexte Docker
Active le mode Docker pour exécuter toutes les actions dans des conteneurs Docker plutôt que directement sur l'hôte.
## Purpose
Cette commande active un contexte spécial où Claude utilisera systématiquement Docker pour :
- Exécuter des commandes système
- Builder des projets
- Lancer des tests
- Gérer les dépendances
- Toute autre opération technique
## Variables
- DOCKER_COMPOSE_FILE: Fichier docker-compose à utiliser (défaut: docker-compose.yml)
- DOCKER_SERVICE: Service Docker à cibler pour les commandes (optionnel)
- DOCKER_ENV: Environnement Docker (dev/staging/prod, défaut: dev)
## Relevant Files
- `docker-compose.yml` - Configuration Docker Compose
- `Dockerfile` - Définition des images
- `.dockerignore` - Fichiers exclus du build
- `docker/` - Configurations Docker additionnelles
## Workflow
### Étape 1: Analyse de l'environnement Docker
- Détecter le fichier docker-compose.yml ou Dockerfile
- Identifier les services Docker disponibles
- Vérifier l'état des conteneurs (docker ps)
- Lister les services configurés
### Étape 2: Validation de Docker
- Vérifier que Docker est installé et accessible
- Confirmer que les conteneurs nécessaires sont démarrés ou peuvent l'être
- Identifier le service principal si plusieurs services existent
### Étape 3: Configuration du contexte
- Enregistrer le mode Docker comme actif pour la session
- Déterminer le préfixe de commande à utiliser :
- `docker exec [container]` pour conteneurs running
- `docker-compose exec [service]` pour docker-compose
- `docker run` pour images standalone
- Mémoriser les paramètres pour les prochaines commandes
### Étape 4: Rapport de configuration
- Afficher la configuration Docker détectée
- Confirmer le mode actif
- Indiquer comment les prochaines commandes seront exécutées
## Instructions pour Claude
**MODE DOCKER ACTIF**
À partir de maintenant et jusqu'à nouvel ordre :
1. **Toutes les commandes système** doivent être exécutées via Docker
2. **Format des commandes** :
- Avec Docker Compose : `docker compose exec [service] [commande]`
- Sans Docker Compose : `docker exec [container] [commande]`
- Pour les builds : `docker compose build` ou `docker build`
3. **Exemples de transformation** :
```bash
# Au lieu de : composer install
# Utiliser : docker compose exec php composer install
# Au lieu de : npm run build
# Utiliser : docker compose exec node npm run build
# Au lieu de : php bin/console cache:clear
# Utiliser : docker compose exec php php bin/console cache:clear
```
4. **Services communs à identifier** :
- `php` / `app` - Application PHP
- `node` / `frontend` - Build frontend
- `web` / `nginx` - Serveur web
- `db` / `database` - Base de données
5. **Gestion des erreurs** :
- Si un conteneur n'est pas démarré → suggérer `docker compose up -d`
- Si un service n'existe pas → lister les services disponibles
- Si Docker n'est pas accessible → indiquer clairement l'erreur
6. **Persistance du contexte** :
- Ce mode reste actif pour toute la session
- Peut être désactivé avec une commande explicite de l'utilisateur
- S'applique à toutes les opérations : build, test, deploy, etc.
## Report
```
🐳 Mode Docker Activé
Configuration détectée :
- Fichier : [docker-compose.yml / Dockerfile]
- Services disponibles :
• [service1] - [description]
• [service2] - [description]
• [service3] - [description]
État des conteneurs :
- [X] [service1] - Running
- [ ] [service2] - Stopped
- [X] [service3] - Running
Format des commandes :
docker compose exec [service] [commande]
Exemples :
• composer install → docker compose exec php composer install
• npm run build → docker compose exec node npm run build
• php bin/console → docker compose exec php php bin/console
Toutes les prochaines commandes système seront exécutées via Docker.
```
## Examples
### Activation basique
```bash
/docker
```
### Avec projet Symfony + Docker Compose
```
🐳 Mode Docker Activé
Services disponibles : php, nginx, database, redis
Commandes transformées :
• composer install → docker compose exec php composer install
• symfony console cache:clear → docker compose exec php php bin/console cache:clear
```
### Avec projet Node.js
```
🐳 Mode Docker Activé
Service : node
Commandes transformées :
• npm install → docker compose exec node npm install
• npm run dev → docker compose exec node npm run dev
```
## Best Practices
- Toujours vérifier que Docker est accessible avant d'activer le mode
- Identifier le service principal pour les commandes fréquentes
- Proposer `docker compose up -d` si les conteneurs ne sont pas démarrés
- Conserver le contexte Docker pour toute la session une fois activé
- Adapter les commandes de manière transparente pour l'utilisateur
- En cas d'échec Docker, expliquer clairement la raison et la solution