Communitygithub.com

thatdudealso/consistent-naming

Fertigkeit zur konsistenten Datei- und Projektbenennung basierend auf der lokalen Repository-Struktur.

Was ist consistent-naming?

Diese Fertigkeit stellt sicher, dass neue Namen – egal ob für Dateien, Verzeichnisse, Projekte, Systemkonfigurationen oder andere Artefakte – sich nahtlos in den bestehenden Namenskonventionen des Zielbaums einfügen. Sie verhindert willkürliche, themenfremde oder inkonsistente Bezeichnungen, indem sie vor der Benennung eine strukturierte Umfrage des relevanten Namensraums (Geschwisterverzeichnisse, Pakete, Git-Root, benachbarte Projekte) durchführt. Der Agent klassifiziert den Namenstyp (z.B. Projekt, Paket, Datei, Komponente, Umgebungsvariable), wertet das Umfrageskript `scripts/survey-names.sh` aus, beachtet Groß-/Kleinschreibung und Trennzeichen gemäß definierter Regeln und schlägt maximal einen primären sowie zwei alternative Namen vor, jeweils begründet mit konkreten Beispielen. Die Fertigkeit ist plattformunabhängig und eignet sich für jede Codebasis, in der Konsistenz und Wartbarkeit wichtig sind; sie wird als Agent-Skill (z.B. für Claude Code, Cursor, Codex) über das Repository `thatdudealso/consistent-naming` bereitgestellt und arbeitet mit einem Skript und Referenzdateien, die die genauen Regeln und Standardwerte für Neuland-Projekte enthalten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add thatdudealso/consistent-naming

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Konsistente Benennung

Schluss mit zufälligen Namen. Jeder neue Name muss so aussehen, als hätte er bereits im Zielbaum existiert – einschließlich Dateien.

Harte Regel

Bevor du einen neuen Namen vorschlägst oder schreibst:

  1. Wähle den Namensbereich (references/scope.md): Geschwister → Paket → Git-Root → Geschwisterprojekte auf der Festplatte → Standardwerte des Hauptverzeichnisses.
  2. Führe scripts/survey-names.sh in diesem Bereich aus (und --siblings für neue Projekte).
  3. Lies references/rules.md für die Art des Namens.
  4. Schlage einen primären Namen sowie höchstens zwei Alternativen vor, jede begründet mit konkreten Beispielen aus der Umfrage.
  5. Falls Muster in Konflikt geraten, ziehe die lokale Nachbarschaft vor, dann ein Satz mit Begründung.

Keine niedlichen, Meme- oder einmaligen Namen, die Nachbarn ignorieren. Verwende nicht den Stil von Repo A in Repo B, ohne B zuvor zu untersuchen.

Arbeitsablauf

  1. Klassifiziere die Art des Namens (references/kinds.md): Projekt, Paket, Verzeichnis, Datei, System-/Konfigurationsdatei, Komponente, Test, Umgebung, Branch, Fertigkeit, CLI, API/Route.

  2. Untersuche den zugehörigen Pfad (nicht eine zufällige Workspace-Wurzel):

    scripts/survey-names.sh [Pfad]
    # für neues Projekt / Produktstamm auch:
    scripts/survey-names.sh --siblings [Übergeordneter-Projekte]
    
  3. Passe Groß-/Kleinschreibung und Trennzeichen für diese Art in diesem Ordner an (kebab-Verzeichnisse, PascalCase-Komponenten, SCREAMING_SNAKE-Umgebungen, feste Tool-Dateinamen).

  4. Passe das Vokabular an, das bereits in diesem Baum vorhanden ist. Verwende Stämme wieder; vermeide Synonym-Gabelungen (auth/ neben authentication/).

  5. Prüfe Kollisionen mit der Umfrage, Geschwister-Repos und PATH-/Paketnamen. Keine 2, final, new, copy-Suffixe.

  6. Ausgabe:

    Primär: <Name>
    Bereich: <untersuchter Pfad>
    Muster: <Regel + 1-2 echte Beispiele>
    Abgelehnt: <Alternativen und warum>
    

Dateien und Systemdateien

  • Gewöhnliche Quellcodedateien: Stimme Stil des Geschwister-Basenamens + Erweiterung exakt überein.
  • System-/Konfigurations-/Tooling-Dateien: Bevorzuge idiomatische feste Namen (.env.example, docker-compose.yml, AGENTS.md, flake.nix, Workflow- Kebab-Namen). Siehe references/scope.md.

Standardwerte bei Leerstand

Falls die Umfrage fast nichts findet, verwende references/defaults.md und bleibe ab dem ersten Namen konsistent.

Anti-Patterns

  • Zufällige Tier-/Essens-Codenamen, es sei denn, dieses Thema existiert bereits im Bereich
  • Leerzeichen in neuen Pfaden; Title-Case-Ordner neben Kebab-Geschwistern
  • Mischen von camelCase und kebab-case-Dateien im selben Ordner
  • Anwenden des Hausstils dieses Workspaces auf ein unabhängiges Repo ohne dessen Untersuchung
  • „Verbessern“ erforderlicher Systemdateinamen (package.json → pkg.json)
  • utils2.ts, helpers-new.ts, tmp-final.tsx

Mitgelieferte Ressourcen

PfadWann
scripts/survey-names.shImmer vor der Benennung
references/scope.mdMulti-Repo, Dateien, System-/Config-Namen
references/rules.mdGroß-/Kleinschreibung / Trennzeichen nach Art
references/kinds.mdKlassifiziere die Anfrage
references/defaults.mdNur bei Neuland

Verwandte Skills