docs: add project management structure
This commit is contained in:
116
project-management/project-setup.md
Normal file
116
project-management/project-setup.md
Normal file
@ -0,0 +1,116 @@
|
||||
ID: SETUP_000005 | Version: 0.1.0 | Status: Draft
|
||||
By: Codex (GPT-5)
|
||||
|
||||
# 🧬 SETUP_GUIDE: Phase 0 - Project Genesis
|
||||
|
||||
Dieses Dokument ist die Master-Anweisung für das initiale Setup des Sound Architect Projekts. Wer hiervon abweicht, riskiert Daten-Chaos – und glaub mir, das willst du nicht.
|
||||
|
||||
## 1. Verzeichnis-Struktur (The Skeleton)
|
||||
|
||||
Erstelle die Verzeichnisse exakt so. Wir trennen Planung und Anforderungen (`project-management`) strikt von der Umsetzung (`src`).
|
||||
|
||||
```
|
||||
# ID: SCRIPT_000001
|
||||
# Management & Requirements
|
||||
mkdir -p project-management/requirements/{epics,stories,tasks,bugs}
|
||||
|
||||
# Source Code (Hexagonal Architecture)
|
||||
mkdir -p src/{core,ports,adapters,ui}
|
||||
|
||||
# Infrastructure & Docs
|
||||
mkdir -p tests docs/architecture
|
||||
```
|
||||
|
||||
## 2. Das Logbuch-Gesetz (CHANGELOG.md)
|
||||
|
||||
Das Logbuch im Hauptverzeichnis ist die einzige chronologische Wahrheit des Projekts. Es wird im Root-Verzeichnis abgelegt, um maximale Sichtbarkeit zu garantieren.
|
||||
|
||||
### Format
|
||||
|
||||
Das Logbuch folgt einem strikten Tabellenformat:
|
||||
|
||||
- Datum
|
||||
- Typ
|
||||
- Beschreibung
|
||||
|
||||
Beispiel: `DD.MM.YYYY | Icon + Kürzel | ID (optional): Präzise Beschreibung der Änderung.`
|
||||
|
||||
### Die Legende
|
||||
|
||||
Verwende ausschließlich diese Typen für das Logbuch und Commit-Messages:
|
||||
|
||||
| Icon | Typ | Bedeutung |
|
||||
| --- | --- | --- |
|
||||
| 🚀 | Init | Projekt-Setup & Initialisierung |
|
||||
| 📝 | Req | Requirements / Anforderungen |
|
||||
| 🏛️ | Arch | Architektur-Entscheidungen |
|
||||
| 🎨 | UI | UI-Implementation / Design |
|
||||
| ✅ | Done | Feature oder Story abgeschlossen |
|
||||
| ⚙️ | Code | Allgemeine Code-Implementation |
|
||||
| 🔊 | Audio | Spezifische Audio-Features |
|
||||
| 🗣️ | UX | User Experience Verbesserungen |
|
||||
| ✨ | Feature | Neues Feature / Funktionalität |
|
||||
| 🛠️ | CRUD | Asset-Management (Delete/Rename/etc.) |
|
||||
| 🏗️ | Planning | Grobplanung von Epics & Stories |
|
||||
|
||||
## 3. Die „No-Dirt“ Regel (.gitignore)
|
||||
|
||||
Erstelle eine `.gitignore` im Root, damit kein digitaler Müll unser sauberes Labor kontaminiert.
|
||||
|
||||
```
|
||||
# ID: DOC_000002
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
.venv/
|
||||
venv/
|
||||
ENV/
|
||||
.env
|
||||
.vscode/
|
||||
.idea/
|
||||
*.log
|
||||
output/
|
||||
temp/
|
||||
```
|
||||
|
||||
## 🛠️ Genesis-Automatisierungsscript
|
||||
|
||||
Kopiere diesen Block in dein Terminal, um das Labor mit einem Knall hochzufahren.
|
||||
|
||||
```
|
||||
# ID: SCRIPT_000002
|
||||
# 1. Verzeichnisse anlegen
|
||||
mkdir -p project-management/requirements/{epics,stories,tasks,bugs} src/{core,ports,adapters,ui} tests docs/architecture
|
||||
|
||||
# 2. Logbuch initialisieren (incl. Legende)
|
||||
cat <<EOF > CHANGELOG.md
|
||||
# 📜 Projekt-Logbuch (Changelog)
|
||||
# ID: DOC_000001
|
||||
|
||||
| Datum | Typ | Beschreibung |
|
||||
|---|---|---|
|
||||
| $(date +%d.%m.%Y) | 🚀 Init | **PROJECT_SETUP**: Struktur nach SETUP_000005 initialisiert. |
|
||||
|
||||
---
|
||||
## 🔑 Legende
|
||||
* 🚀 **Init** = Setup | 📝 **Req** = Requirements | 🏛️ **Arch** = Architektur
|
||||
* 🎨 **UI** = Design | ✅ **Done** = Abgeschlossen | ⚙️ **Code** = Implementation
|
||||
* 🔊 **Audio** = Audio-Engine | 🗣️ **UX** = User Experience | ✨ **Feature** = Neu | 🛠️ **CRUD** = Management
|
||||
EOF
|
||||
|
||||
# 3. .gitignore erstellen
|
||||
cat <<EOF > .gitignore
|
||||
__pycache__/
|
||||
.venv/
|
||||
.env
|
||||
*.log
|
||||
EOF
|
||||
|
||||
# 4. Status-File vorbereiten
|
||||
echo "# 📊 Projekt-Status" > project-management/PROJECT_STATUS.md
|
||||
|
||||
# 5. Version initialisieren
|
||||
echo "0.1.0" > VERSION
|
||||
|
||||
echo "Labor ist bereit. Let's create some ghosts! 👻☕"
|
||||
```
|
||||
Reference in New Issue
Block a user