chore: fnm als Node-Version-Manager, Regel für systemverändernde Scripts

bootstrap.sh empfiehlt fnm statt nvm für Node.js-Installation und gibt
klare Installationsbefehle statt eines #-Kommentars aus. Neue Entwicklungs-
regel: systemverändernde Scripts nie zum Testen ausführen.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-11 19:34:32 +02:00
co-authored by Claude Opus 4.6
parent 0a9e0aa03e
commit d38bd1284e
3 changed files with 10 additions and 3 deletions
+1
View File
@@ -25,6 +25,7 @@ Der Pfad ist frei wählbar. Das Bootstrap-Skript erstellt alle Symlinks, prueft
| `ruff` | Python-Formatter (Hook) | `pipx install ruff` |
| `eslint` | JS/TS/Vue-Formatter (Hook) | Projektabhängig |
| `shellcheck` | Bash-Linter (Hook + /script) | `apt install shellcheck` |
| `fnm` + Node.js | Node-Version-Manager | `curl -fsSL https://fnm.vercel.app/install \| bash && fnm install --lts` |
| `markdownlint-cli2` | Markdown-Lint (Hook) | `npm install -g markdownlint-cli2` |
| `gh` | GitHub CLI | `apt install gh` |
| `go` + `gitea-mcp` | Gitea-MCP-Binary | `go install gitea.com/gitea/gitea-mcp@latest` |
+8 -3
View File
@@ -73,14 +73,19 @@ else
fi
fi
if command -v fnm &>/dev/null; then
eval "$(fnm env 2>/dev/null)" || true
fi
if command -v npm &>/dev/null; then
check_cmd "markdownlint-cli2" "$(markdownlint-cli2 --version 2>/dev/null | head -1 || true)" \
|| missing_other+=("npm install -g markdownlint-cli2")
else
if ! command -v markdownlint-cli2 &>/dev/null; then
echo " FEHLT markdownlint-cli2 (npm nicht vorhanden)"
echo " Node.js zuerst installieren, z.B. via nvm"
missing_other+=("# Node.js installieren: https://github.com/nvm-sh/nvm" "npm install -g markdownlint-cli2")
echo " FEHLT markdownlint-cli2 (Node.js nicht vorhanden)"
missing_other+=("curl -fsSL https://fnm.vercel.app/install | bash"
"fnm install --lts"
"npm install -g markdownlint-cli2")
else
echo " OK markdownlint-cli2 ($(markdownlint-cli2 --version 2>/dev/null | head -1 || true))"
fi
+1
View File
@@ -18,6 +18,7 @@ Alle Texte, Kommentare und Kommunikation auf Deutsch. Technische Begriffe und Co
- **Security by Default:** Input-Validierung, Auth-Checks, sichere Defaults. Sicherheitskritische Pfade durch Tests absichern
- **String-Eingaben trimmen:** Alle String-Felder beim Anlegen/Update in Services/Schemas trimmen (leading/trailing Whitespace entfernen). Leerstrings werden zu `None`, wenn das Feld optional ist. Verhindert Sortier-/Vergleichs-/Suchfehler durch unsichtbare Zeichen
- **Kleine Funktionen, keine Kommentare fuer Offensichtliches**
- **Keine systemveraendernden Scripts zum Testen ausfuehren:** Scripts die Symlinks, Berechtigungen, Pakete oder Konfiguration aendern niemals "einfach so" ausfuehren. Stattdessen mit `bash -n` (Syntax) oder gezieltem `grep`/`cat` pruefen
## Code-Konventionen