Commit Graph
2 Commits
Author SHA1 Message Date
Jannik f2e8e59baf v2.0.2: Watcher-Mode + Watch-Bug-Fix + Lint-Setup + Audit-Fix
CI / test (push) Canceled after 0s
CI / webapp (push) Canceled after 0s
Phase 6 (Bonus): Watcher-Mode (--watch):
- src/cli/ingest.ts: --watch Flag parsed
- watchInbox(): chokidar-basiert (robuster als node:fs.watch auf Windows)
  Debounce 1s, awaitWriteFinish, ignoreInitial, filter Verarbeitet/Problemfaelle
  Auf Ctrl+C wird sauber beendet
- Bug-Fix: 'return' bei files.length===0 war vor dem Watch-Block
  -> bei leerer Inbox mit --watch startet Watcher trotzdem

ESLint + Prettier:
- .eslintrc.cjs (deprecated eslintrc-Format, USE_FLAT_CONFIG=false)
- .prettierrc mit Standard-Format
- package.json scripts: lint, format, format:check
- Lint-Fehler in Tests gefixt (try/catch, unused imports)

npm audit fix --force:
- esbuild 0.24.2 -> neuere Version (via Vite-Update)
- vite, vitest auf v5 (breaking change akzeptiert)
- 5 vulnerabilities -> 0

Verifiziert:
- 50/50 Tests gruen
- Watcher E2E: Notiz in 00_Inbox/ waehrend --watch -> Wiki erstellt, verarbeitet
- Lint: 0 Fehler (nur Deprecation-Warnung fuer eslintrc-Format)

Dependencies: chokidar (neu)
2026-09-05 12:29:48 +02:00
Jannik 4f174e748e Phase 1c: init-vault + Indexer + Webapp (Erfolgskriterium)
1.3 init-vault:
- Erstellt komplette Vault-Struktur (12 Ordner + .gitignore + Konfig.md + README + CLAUDE.md)
- 2 Demo-Notizen mit heutigem Datum
- git init mit main-Branch
- Fragt interaktiv nach gitea-URL (oder --remote Parameter, --no-interactive)
- Macht initialen Commit
- Idempotent (Vault-existiert-Skip oder --force)
- Argumente: --force, --no-commit, --no-interactive, --remote <url>

1.5 Indexer:
- Deterministisch: 2 Laeufe ergeben byte-identische Outputs (Test bestaetigt)
- Liest Vault, parst Frontmatter mit gray-matter
- Extrahiert Wikilinks mit Regex
- Schreibt landkarte.json + 99_System/Index.md + 10_Wiki/Index.md
- Ueberspringt eigene Outputs (Index.md) und System-Ordner
- Pfad-Normalisierung zu Forward-Slashes fuer Windows-Kompatibilitaet
- Statisches generated-Feld (kein Timestamp) fuer Determinismus

1.6 Webapp:
- Vite + React + TypeScript + Cytoscape.js
- Liest landkarte.json, rendert Force-directed Graph
- Knoten nach Typ eingefaerbt (inbox/daily/wiki/project)
- Hover/Klick zeigt Node-Details
- Build in 2.25s, 32 Module, 590 KB JS (Cytoscape last)

Tests:
- 12 Unit-Tests gruen (10 Vault-Path + 2 Determinismus)
- Indexer-Smoke: 5 Notizen, 3 Kanten auf Test-Vault
- Webapp-Build erfolgreich

Phase 1 Erfolgskriterium: Webapp zeigt Notizen als verbundenen Graph (Build verifiziert)
2026-09-05 11:30:04 +02:00