drift-dependency-updatelisted
Install: claude install-skill mick-gsk/drift
# Drift Dependency Update
Workflow für alle Änderungen an `pyproject.toml`-Abhängigkeiten im Drift-Repo.
Deckt: neue Abhängigkeit hinzufügen, bestehende upgraden/einschränken, Abhängigkeit entfernen.
**KRITISCH:** `pyproject.toml` und `uv.lock` sind **unlösbar gekoppelt**. Beide Dateien müssen im selben Commit landen. Das Pre-Push-Gate 5 blockiert jeden Push, bei dem `pyproject.toml` geändert, `uv.lock` aber nicht committet wurde.
---
## Wann verwenden
- `pyproject.toml`-Abhängigkeit soll geändert, hinzugefügt oder entfernt werden
- `uv.lock` soll mit aktuellen Constraints synchronisiert werden
- Security-Patch für eine direkte oder transitive Abhängigkeit
- CI schlägt fehl mit „Lockfile not synchronized" oder ähnlichem
---
## Technischer Kontext
**Dependency-Gruppen in `[project.optional-dependencies]`:**
| Gruppe | Zweck |
|--------|-------|
| `typescript` | `tree-sitter`, `tree-sitter-typescript` |
| `embeddings` | `sentence-transformers`, `faiss-cpu`, `numpy` |
| `markdown` | `mistune` |
| `mcp` | `mcp[cli]` |
| `watch` | `watchfiles` |
| `dev` | Alle Test- / Lint- / Release-Werkzeuge |
| `all` | Metagruppe, die alle einschließt |
**Lokale Venv-Aktivierung (Windows):**
```powershell
.\.venv\Scripts\Activate.ps1
```
**Wichtige uv-Befehle:**
| Aufgabe | Befehl |
|---------|--------|
| Neue Abhängigkeit hinzufügen (schreibt auch pyproject.toml) | `uv add <paket>` |
| Abhängigkeit in optionale Gruppe hinzufügen | `uv add --optional <gruppe> <paket>` |
| Abhängigke