Implementiert Session Context Workflow für Cross-Machine Tracking: - WORKLOG.md Template für Projekt-Zustandsdokumentation - Session-Start Hook erweitert: zeigt WORKLOG.md Kontext, Commits, Issues - /session-end Skill: strukturiertes Session-Ende mit Auto-Dokumentation - /session-start Skill: manueller Session-Start mit Planung - /new-project Skill: Projekt-Initialisierung mit Tracking Inspiriert von Boris Cherny's Claude Code Tipps: - Learnings dokumentieren für Fehler/Erkenntnisse - Verification Loops in Skills - Separate Checkouts für parallele Sessions Tea CLI (Gitea) separat installiert in ~/.local/bin Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
174 lines
3.7 KiB
Markdown
174 lines
3.7 KiB
Markdown
---
|
|
name: new-project
|
|
description: Use when initializing a new project - creates WORKLOG.md, copilot-instructions.md, git repo, and optionally a Gitea issue
|
|
---
|
|
|
|
# Skill: New Project
|
|
|
|
Initialisiert ein neues Projekt mit allen nötigen Dokumentationsstrukturen.
|
|
|
|
## Wann verwenden
|
|
|
|
- Neues Projekt starten
|
|
- Bestehendes Verzeichnis zum tracked Project machen
|
|
- Nach "This looks like a new workspace..." Prompt
|
|
|
|
## Workflow
|
|
|
|
### 1. Projekt-Informationen sammeln
|
|
|
|
Frage den Benutzer:
|
|
|
|
**"Wie soll das Projekt heißen?"**
|
|
- Wird für WORKLOG.md und ggf. Gitea Issue verwendet
|
|
|
|
**"Kurze Beschreibung des Projekts?"**
|
|
- 1-2 Sätze für Dokumentation
|
|
|
|
**"Gitea Issue erstellen?"**
|
|
- Ja: Erstellt Tracking-Issue auf Gitea
|
|
- Nein: Nur lokale Dokumentation
|
|
|
|
### 2. Git initialisieren (falls nötig)
|
|
|
|
```bash
|
|
if [[ ! -d ".git" ]]; then
|
|
git init
|
|
echo "Git Repository initialisiert"
|
|
fi
|
|
```
|
|
|
|
### 3. WORKLOG.md erstellen
|
|
|
|
Kopiere Template und ersetze Platzhalter:
|
|
|
|
```bash
|
|
# Template-Pfad
|
|
TEMPLATE="$HOME/dotfiles/claude_settings/templates/WORKLOG.md"
|
|
|
|
# Variablen
|
|
PROJEKT="[Projektname]"
|
|
DATUM=$(date +%Y-%m-%d)
|
|
HOST=$(hostname)
|
|
BRANCH=$(git branch --show-current 2>/dev/null || echo "main")
|
|
```
|
|
|
|
Erstelle WORKLOG.md mit:
|
|
- Projektname eingesetzt
|
|
- Aktuelles Datum
|
|
- Hostname
|
|
- Branch
|
|
- Initial Status: "Projekt angelegt"
|
|
|
|
### 4. copilot-instructions.md erstellen
|
|
|
|
Basis-Struktur:
|
|
```markdown
|
|
# [Projektname] - Copilot Instructions
|
|
|
|
## Architecture Overview
|
|
[Beschreibung aus Schritt 1]
|
|
|
|
## File Structure
|
|
```
|
|
[Verzeichnisstruktur - wird später gefüllt]
|
|
```
|
|
|
|
## Patterns & Conventions
|
|
[Wird während der Entwicklung gefüllt]
|
|
|
|
## Development Workflow
|
|
[Wird während der Entwicklung gefüllt]
|
|
|
|
## Pitfalls to Avoid
|
|
[Wird während der Entwicklung gefüllt]
|
|
```
|
|
|
|
### 5. Gitea Issue erstellen (optional)
|
|
|
|
Wenn Benutzer "Ja" gewählt hat:
|
|
|
|
```bash
|
|
# Issue erstellen mit tea CLI
|
|
tea issues create \
|
|
--title "[Projektname]: Initial Setup" \
|
|
--body "Projekt angelegt am $(date +%Y-%m-%d)
|
|
|
|
## Beschreibung
|
|
[Beschreibung aus Schritt 1]
|
|
|
|
## Erste Schritte
|
|
- [ ] Grundstruktur anlegen
|
|
- [ ] Abhängigkeiten definieren
|
|
- [ ] Erste Implementation
|
|
|
|
---
|
|
Erstellt via Claude Code /new-project"
|
|
```
|
|
|
|
Issue-Nummer in WORKLOG.md eintragen.
|
|
|
|
### 6. Initial Commit
|
|
|
|
```bash
|
|
git add WORKLOG.md copilot-instructions.md
|
|
git commit -m "Initial project setup: [Projektname]
|
|
|
|
- WORKLOG.md für Session-Tracking
|
|
- copilot-instructions.md für Entwicklungs-Guidelines
|
|
|
|
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
|
|
```
|
|
|
|
### 7. .gitignore prüfen
|
|
|
|
Falls keine .gitignore existiert, frage:
|
|
"Soll ich eine .gitignore erstellen? Welche Art Projekt ist das?"
|
|
- Node.js / JavaScript
|
|
- Python
|
|
- Go
|
|
- Allgemein
|
|
|
|
## Checkliste
|
|
|
|
- [ ] Projektname erhalten
|
|
- [ ] Beschreibung erhalten
|
|
- [ ] Git initialisiert
|
|
- [ ] WORKLOG.md erstellt
|
|
- [ ] copilot-instructions.md erstellt
|
|
- [ ] Gitea Issue erstellt (falls gewünscht)
|
|
- [ ] Initial Commit gemacht
|
|
- [ ] .gitignore geprüft
|
|
|
|
## Beispiel-Output
|
|
|
|
```
|
|
=== NEUES PROJEKT: smart-home-mqtt ===
|
|
|
|
✅ Git Repository initialisiert
|
|
✅ WORKLOG.md erstellt
|
|
✅ copilot-instructions.md erstellt
|
|
✅ Gitea Issue #42 erstellt: smart-home-mqtt: Initial Setup
|
|
✅ Initial Commit: a3f2b1c
|
|
|
|
Projekt ist bereit! Nächste Schritte:
|
|
1. Abhängigkeiten installieren
|
|
2. Grundstruktur aufbauen
|
|
3. Mit /session-end die Session dokumentieren
|
|
|
|
Viel Erfolg!
|
|
```
|
|
|
|
## Hinweise
|
|
|
|
- Template-Pfad: `~/dotfiles/claude_settings/templates/WORKLOG.md`
|
|
- Tea CLI muss konfiguriert sein für Issue-Erstellung
|
|
- Bei Gitea-Fehlern: Projekt trotzdem lokal anlegen
|
|
- Hostname: `hostname`
|
|
- Datum: `date +%Y-%m-%d`
|
|
|
|
## Verknüpfung mit anderen Skills
|
|
|
|
- Nach `/new-project`: Direkt mit Arbeit beginnen oder `/session-start`
|
|
- Am Ende: `/session-end` für vollständige Dokumentation
|