Configuration .env.claude
Le fichier .env.claude permet de configurer le comportement des plugins du marketplace pour chaque projet. Il est lu automatiquement par les skills qui en ont besoin.
Emplacement
Le fichier doit se trouver a la racine du projet utilisateur (pas dans le plugin).
mon-projet/
├── .env.claude # <-- ici
├── src/
├── composer.json
└── ...Format
Le format est KEY=VALUE, une variable par ligne. Pas de quotes, pas d'export.
MAIN_BRANCH=main
REPO=atournayre/mon-projet
PROJECT=Mon Projet
WORKTREE_DIR=../worktreesVariables disponibles
MAIN_BRANCH
Branche principale du projet. Utilisee comme branche source par defaut quand aucune n'est specifiee.
| Propriete | Valeur |
|---|---|
| Defaut | main |
| Exemples | main, master, develop |
| Plugins | git, dev |
Skills qui l'utilisent :
| Skill | Usage |
|---|---|
/git:branch | Branche source par defaut si non fournie en argument |
/git:worktree | Branche source par defaut si non fournie en argument |
/git:pr | Branche de base pour la Pull Request |
/git:cd-pr | Branche de base pour la Pull Request CD |
/dev:auto-feature | Branche de base pour le workflow automatise |
Exemple :
# .env.claude
MAIN_BRANCH=develop# Avant : branche source obligatoire
/git:branch main 42
# Apres : branche source optionnelle (utilise MAIN_BRANCH)
/git:branch 42REPO
Identifiant du depot GitHub au format owner/repo.
| Propriete | Valeur |
|---|---|
| Defaut | Detecte automatiquement via git remote |
| Format | owner/repo |
| Plugins | git, dev |
Skills qui l'utilisent :
| Skill | Usage |
|---|---|
/git:pr | Depot cible pour la creation de PR |
/git:cd-pr | Depot cible pour la creation de PR CD |
Exemple :
REPO=atournayre/mon-projetPROJECT
Nom du projet GitHub (GitHub Projects v2). Utilise pour l'assignation automatique des PR a un projet.
| Propriete | Valeur |
|---|---|
| Defaut | Vide (pas d'assignation) |
| Plugins | git, dev |
Skills qui l'utilisent :
| Skill | Usage |
|---|---|
/git:pr | Assigne la PR au projet GitHub |
/git:cd-pr | Assigne la PR au projet GitHub |
/dev:auto-feature | Assigne la PR au projet GitHub |
Exemple :
PROJECT=Mon Projet Sprint 3WORKTREE_DIR
Repertoire de base pour la creation des worktrees Git. Peut etre un chemin relatif ou absolu.
| Propriete | Valeur |
|---|---|
| Defaut | Demande a l'utilisateur si absent |
| Exemples | ../worktrees, .worktrees, /home/user/worktrees |
| Plugins | git |
Skills qui l'utilisent :
| Skill | Usage |
|---|---|
/git:worktree | Repertoire parent pour les worktrees |
Convention de nommage des repertoires :
La branche feature/ma-fonctionnalite cree un worktree dans $WORKTREE_DIR/feature-ma-fonctionnalite (les / sont remplaces par des -).
Exemple :
WORKTREE_DIR=../worktrees/git:worktree 42
# Cree: ../worktrees/feature-42-login-fix/Exemple complet
# .env.claude - Configuration projet
MAIN_BRANCH=main
REPO=atournayre/mon-application
PROJECT=Sprint 4
WORKTREE_DIR=../worktreesComportement
- Fichier optionnel : si
.env.clauden'existe pas, les skills utilisent des valeurs par defaut ou demandent a l'utilisateur - Variables optionnelles : chaque variable est independante, seules celles qui te sont utiles doivent etre definies
- Pas de quotes : ecrire
MAIN_BRANCH=mainet nonMAIN_BRANCH="main" - Pas d'export : ecrire
MAIN_BRANCH=mainet nonexport MAIN_BRANCH=main - Priorite : les arguments passes en ligne de commande ont toujours priorite sur
.env.claude
Gitignore
Le fichier .env.claude peut contenir des configurations specifiques a l'environnement de chaque developpeur (par exemple WORKTREE_DIR). Selon le cas :
- Commiter : si les variables sont communes a l'equipe (
MAIN_BRANCH,REPO,PROJECT) - Gitignorer : si les variables sont specifiques a chaque developpeur (
WORKTREE_DIR)
Pour un compromis, utiliser un template :
# Commiter .env.claude.dist comme reference
cp .env.claude.dist .env.claude
# Ajouter .env.claude au .gitignore
echo ".env.claude" >> .gitignoreAjouter une variable
Si tu developpes un plugin ou une skill qui a besoin d'une configuration projet, utilise .env.claude avec cette convention :
- Nommer en SCREAMING_SNAKE_CASE :
MA_VARIABLE - Documenter : ajouter la variable a cette page
- Fallback : toujours prevoir un comportement par defaut si la variable est absente
- Lecture : utiliser
Readpour lire.env.claudeet extraire la valeur