Communitygithub.com

thatdudealso/consistent-naming

Compétence d'agent : nommer fichiers/projets en sondant la structure locale du dépôt.

Qu'est-ce que consistent-naming ?

Cette compétence permet à un agent IA d'adopter des conventions de nommage cohérentes avec un projet existant en analysant d'abord la structure locale du dépôt. Au lieu de générer des noms aléatoires ou arbitraires, l'agent examine les fichiers, dossiers et configurations voisins pour proposer des noms qui semblent avoir toujours fait partie de l'arborescence cible. La compétence guide l'agent à travers un workflow structuré : classification du type de nom (projet, fichier, composant, etc.), exécution d'un script de sondage (scripts/survey-names.sh) pour inspecter le périmètre pertinent, puis sélection d'un nom primaire et de deux alternatives en respectant les règles de casse, séparateurs et vocabulaire local. Elle prend en charge les environnements multi-dépôts en vérifiant les styles voisins avant de proposer un nom. Utile pour tout agent de codage (Claude Code, Cursor, etc.) qui doit créer des fichiers, dossiers, composants ou variables dans un projet existant sans briser les conventions établies. La compétence rejette les anti-patrons comme les noms d'animaux aléatoires, les mélanges de casse ou les suffixes redondants (2, final, new).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add thatdudealso/consistent-naming

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Nommage cohérent

Arrêtez les noms aléatoires. Chaque nouveau nom doit sembler avoir toujours fait partie de l'arbre cible – fichiers inclus.

Règle stricte

Avant de proposer ou d'écrire un nouveau nom :

  1. Choisissez le périmètre de nommage (references/scope.md) : frères → package → racine git → projets frères sur le disque → valeurs par défaut du référentiel.
  2. Exécutez scripts/survey-names.sh sur ce périmètre (et --siblings pour les nouveaux projets).
  3. Lisez references/rules.md pour le type de nom.
  4. Proposez un nom principal et au plus deux alternatives, chacune justifiée par des exemples concrets issus du sondage.
  5. En cas de conflit de motifs, privilégiez le voisinage local, puis une phrase expliquant pourquoi.

N'utilisez pas de noms mignons, de mèmes ou uniques qui ignorent les voisins. Ne réutilisez pas le style du dépôt A à l'intérieur du dépôt B sans sonder B.

Workflow

  1. Classifiez le type de nom (references/kinds.md) : projet, package, répertoire, fichier, fichier système/de configuration, composant, test, env, branche, compétence, cli, api/route.

  2. Sondez le chemin propriétaire (pas une racine d'espace de travail aléatoire) :

    scripts/survey-names.sh [chemin]
    # nouveau projet / racine de produit aussi :
    scripts/survey-names.sh --siblings [parent-des-projets]
    
  3. Faites correspondre la casse et les séparateurs pour ce type dans ce dossier (répertoires en kebab, composants en PascalCase, variables d'environnement en SCREAMING_SNAKE, noms de fichiers d'outils fixes).

  4. Faites correspondre le vocabulaire déjà présent dans cet arbre. Réutilisez les racines ; évitez les bifurcations synonymes (auth/ à côté de authentication/).

  5. Vérifiez les collisions avec le sondage, les dépôts frères et les noms de PATH/paquets. Pas de suffixes 2, final, new, copy.

  6. Sortie :

    Principal : <nom>
    Périmètre : <chemin sondé>
    Motif : <règle + 1-2 exemples réels>
    Rejeté : <alternatives et pourquoi>
    

Fichiers et fichiers système

  • Fichiers source ordinaires : faire correspondre exactement le style du nom de base frère + l'extension.
  • Fichiers système/configuration/outillage : préférer les noms fixes idiomatiques (.env.example, docker-compose.yml, AGENTS.md, flake.nix, noms de workflow en kebab). Voir references/scope.md.

Valeurs par défaut en cas de vide

Si le sondage ne trouve presque rien, utilisez references/defaults.md et restez cohérent dès le premier nom.

Anti-patrons

  • Noms de code d'animaux/nourriture aléatoires, sauf si ce thème existe déjà dans le périmètre
  • Espaces dans les nouveaux chemins ; dossiers en casse Titre à côté de frères en kebab
  • Mélanger des fichiers camelCase et kebab-case dans le même dossier
  • Appliquer le style de cet espace de travail à un dépôt non lié sans le sonder
  • « Améliorer » les noms de fichiers système obligatoires (package.json → pkg.json)
  • utils2.ts, helpers-new.ts, tmp-final.tsx

Ressources incluses

CheminQuand
scripts/survey-names.shToujours avant de nommer
references/scope.mdMulti-dépôts, fichiers, noms système/de configuration
references/rules.mdCasse / séparateur par type
references/kinds.mdClassifier la demande
references/defaults.mdNouveau projet uniquement

Skills associés