协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
tidy-project-structure【开发与工程】Projektdateien in konventionelle Verzeichnisse organisieren, veraltete READMEs aktualisieren, Konfigurationsdrift bereinigen und veraltete Elemente archivieren ohne Code-Logik zu aendern. Anwenden wenn Dateien ohne klare Organisation verstreut sind, READMEs veraltet sind oder defekte Beispiele enthalten, Konfigurationsdateien sich ueber Dev/Staging/P…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Diesen Skill verwenden wenn die Projektorganisation von Konventionen abgewichen ist:
NICHT verwenden fuer Code-Refactoring oder Abhaengigkeits-Umstrukturierung. Dieser Skill konzentriert sich auf Dateiorganisation und Dokumentationshygiene.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
project_path | string | Ja | Absoluter Pfad zum Projektstamm |
conventions | string | Nein | Pfad zum Stilhandbuch (z.B. docs/conventions.md) |
archive_mode | enum | Nein | move (Standard) oder delete fuer veraltete Dateien |
readme_update | boolean | Nein | Veraltete READMEs aktualisieren (Standard: true) |
Aktuelle Struktur mit Projektkonventionen oder sprachspezifischen Best Practices vergleichen.
Gaengige Konventionen nach Sprache:
JavaScript/TypeScript:
src/ # Quellcode
tests/ # Testdateien
dist/ # Build-Ausgabe (gitignored)
docs/ # Dokumentation
.github/ # CI/CD-Workflows
Python:
package_name/ # Paketcode
tests/ # Testsuite
docs/ # Sphinx-Dokumentation
scripts/ # Hilfsskripte
R:
R/ # R-Quellcode
tests/testthat/ # Testsuite
man/ # Dokumentation (generiert)
vignettes/ # Ausfuehrliche Anleitungen
inst/ # Installierte Dateien
data/ # Paketdaten
Rust:
src/ # Quellcode
tests/ # Integrationstests
benches/ # Benchmarks
examples/ # Verwendungsbeispiele
Erwartet: Liste der gegen Konventionen verstossenden Dateien/Verzeichnisse in structure_audit.txt gespeichert
Bei Fehler: Wenn keine Konventionen dokumentiert sind, sprachspezifische Standards verwenden
Dateien in ihre konventionellen Verzeichnisse umlagern.
Haeufige Verschiebungen:
tests/ nach tests/ verschiebendocs/ nach docs/ verschiebensrc/ loeschen (sollten gitignored sein)config/ oder .config/ verschiebenFuer jede Verschiebung:
# Check if file is referenced anywhere
grep -r "filename" .
# If no references or only relative path references:
mkdir -p target_directory/
git mv source/file target_directory/file
# Update any imports/requires
# (language-specific — see repair-broken-references skill)
Erwartet: Alle Dateien an konventionellen Positionen; Git-Historie ueber git mv erhalten
Bei Fehler: Wenn Verschieben Imports bricht, Importpfade aktualisieren oder eskalieren
Veraltete Informationen in allen README-Dateien identifizieren.
Veralterungsindikatoren:
# Find all READMEs
find . -name "README.md" -o -name "readme.md"
# For each README:
# - Check last modified date
git log -1 --format="%ci" README.md
# - Check for broken links
markdown-link-check README.md
# - Verify example code still runs (sample first example)
Erwartet: Liste veralteter READMEs in readme_freshness.txt mit konkreten Problemen
Bei Fehler: Wenn markdown-link-check nicht verfuegbar, externe Links manuell pruefen
Defekte Links reparieren, Beispiele aktualisieren, fehlende Abschnitte ergaenzen.
Standard-Korrekturen:
README-Vorlagenstruktur:
# Projektname
Kurzbeschreibung (1-2 Saetze).
## Installation
```bash
# Sprachspezifischer Installationsbefehl
```
## Verwendung
```language
# Grundlegendes Beispiel
```
## Dokumentation
Link zur vollstaendigen Dokumentation.
## Mitwirkung
Link zu CONTRIBUTING.md oder eingebettete Richtlinien.
## Lizenz
LIZENZ-Badge und Link.
Erwartet: Alle READMEs aktualisiert; Beispiele auf Funktionsfaehigkeit verifiziert
Bei Fehler: Wenn Beispielcode nicht verifizierbar, mit Warnkommentar markieren
Konfigurationsdrift identifizieren und doppelte Einstellungen konsolidieren.
Haeufige Konfigurationsprobleme:
.env-Dateien (.env, .env.local, .env.dev, .env.prod)# Alle Konfigurationsdateien finden
find . -name "*.config.*" -o -name ".env*" -o -name "*.yml" -o -name "*.yaml"
# Fuer jede Konfiguration:
# - Auf doppelte Schluessel pruefen
# - Nach hartcodierten Geheimnissen suchen (API-Schluessel, Token, Passwoerter)
grep -E "(api[_-]?key|token|password|secret)" config_file
# - Dev- vs Prod-Einstellungen vergleichen
diff .env.dev .env.prod
Erwartet: Konfigurationsdrift in config_review.txt dokumentiert; Geheimnisse zur Eskalation markiert
Bei Fehler: Wenn Diff grosse Abweichungen zeigt, an devops-engineer eskalieren
Nicht mehr benoetigte Dateien verschieben oder loeschen.
Kandidaten fuer Archivierung:
nginx.conf.old)file.bak, file~)Archivierungsprozess:
# Create archive directory (if archive_mode=move)
mkdir -p archive/YYYY-MM-DD/
# For each deprecated file:
# 1. Verify not referenced anywhere
grep -r "filename" .
# 2. Check git history for last modification
git log -1 --format="%ci" filename
# 3. If not modified in >1 year and no references:
if [ "$archive_mode" = "move" ]; then
git mv filename archive/YYYY-MM-DD/
else
git rm filename
fi
# 4. Document in ARCHIVE_LOG.md
echo "- filename (reason, last modified: DATE)" >> ARCHIVE_LOG.md
Erwartet: Veraltete Dateien archiviert; ARCHIVE_LOG.md aktualisiert
Bei Fehler: Wenn unsicher ob Datei veraltet ist, belassen und im Bericht dokumentieren
Auf inkonsistente Dateibenennung im Projekt pruefen.
Gaengige Konventionen:
my-file.js (ueblich in JS/Web-Projekten)my_file.py (Python-Standard)MyComponent.tsx (React-Komponenten)myUtility.js (JavaScript-Funktionen)# Find files violating conventions
# Example: Python project expecting snake_case
find . -name "*.py" | grep -v "__pycache__" | grep -E "[A-Z-]"
# For each violation, either:
# 1. Rename to match conventions
# 2. Document exception (e.g., Django settings.py convention)
Erwartet: Alle Dateien folgen Namenskonventionen oder Ausnahmen dokumentiert
Bei Fehler: Wenn Umbenennung Imports bricht, Referenzen aktualisieren oder eskalieren
Alle strukturellen Aenderungen dokumentieren.
# Projektstruktur-Bereinigungsbericht
**Datum**: JJJJ-MM-TT
**Projekt**: <projektname>
## Verzeichnisaenderungen
- X Dateien in konventionelle Verzeichnisse verschoben
- Y neue Verzeichnisse erstellt
- Z veraltete Dateien archiviert
## README-Aktualisierungen
- W veraltete READMEs aktualisiert
- X defekte Links repariert
- Y Code-Beispiele verifiziert
## Konfigurationsbereinigung
- X doppelte Einstellungen konsolidiert
- Y hartcodierte Geheimnisse zur Entfernung markiert
- Z Konfigurationsdrift-Probleme dokumentiert
## Archivierte Dateien
Siehe ARCHIVE_LOG.md fuer vollstaendige Liste (Z Dateien).
## Namenskonventionskorrekturen
- X Dateien entsprechend Konventionen umbenannt
- Y Ausnahmen dokumentiert
## Eskalierungen
- [Konfigurationsdrift erfordert DevOps-Pruefung]
- [Hartcodierte Geheimnisse erfordern Sicherheitsaudit]
Erwartet: Bericht in TIDYING_REPORT.md gespeichert
Bei Fehler: (Entfaellt — Bericht unabhaengig generieren)
Nach der Bereinigung:
git mv, nicht mv)Relative Imports brechen: Verschieben von Dateien bricht relative Importpfade. Alle Referenzen aktualisieren oder absolute Imports verwenden.
Git-Historie verlieren: Verwendung von mv statt git mv verliert Dateihistorie. Immer Git-Befehle fuer Verschiebungen verwenden.
Ueberorganisation: Zu viele verschachtelte Verzeichnisse erschweren die Navigation. Flach halten bis Komplexitaet Struktur erfordert.
Loeschen statt Archivieren: Direktes Loeschen verliert Wiederherstellungsmoeglichkeit. Immer zuerst archivieren wenn nicht sicher.
Sprachkonventionen ignorieren: Persoenliche Vorlieben ueber Sprachstandards stellen. Etablierte Konventionen befolgen.
Dokumentation nicht aktualisieren: Dateien verschieben ohne README-Pfade anzupassen hinterlaesst defekte Dokumentation.