frontend.porwoll.de/.claude/ralph-loop.local.md
CCS Admin f518e20fae fix: resolve lint errors (server.js ignore, unused imports)
- Add server.js to ESLint globalIgnores (CJS file for Passenger)
- Remove unused cn import from QuoteBlock
- Configure underscore-prefix pattern for unused vars

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 21:49:22 +00:00

2.9 KiB

active iteration max_iterations completion_promise started_at
true 1 50 PHASE1_COMPLETE 2026-01-02T11:35:45Z

SSL-Monitor Phase 1: Foundation

Kontext

  • Verzeichnis: /home/frontend/ssl-monitor
  • Tech Stack: Next.js 15 (App Router), Tailwind CSS, shadcn/ui, SQLite (better-sqlite3), BullMQ
  • Port: 3009
  • Redis: localhost:6379 (existiert bereits)

Ziel

Grundgerüst mit funktionierendem SSL-Check und Dashboard erstellen.

Aufgaben

1. Projekt-Setup

  • Next.js 15 mit App Router initialisieren (falls nicht vorhanden)
  • Dependencies installieren: better-sqlite3, bullmq, ioredis, zod, date-fns
  • Tailwind CSS + shadcn/ui konfigurieren
  • Projektstruktur gemäß umsetzung.md anlegen

2. Datenbank

  • SQLite Schema erstellen (src/lib/db.ts)
  • Tabellen: domains, ssl_checks, categories, settings
  • Initial-Seed: 3 Default-Kategorien (Development, Production, External)
  • Initial-Seed: 16 Domains aus umsetzung.md

3. SSL-Checker

  • src/lib/ssl-checker.ts: tls.connect() Implementation
  • Zertifikat-Parsing (Issuer, Subject, Validity, SANs)
  • Certificate Chain Analyse
  • OCSP-Status Check (src/lib/ocsp-checker.ts)
  • Error-Handling mit Kategorisierung (dns, connection, certificate, timeout)
  • Retry-Logik (Exponential Backoff)

4. Queue System

  • src/lib/queue.ts: BullMQ Queue Setup
  • worker/ssl-worker.ts: Worker Process
  • Concurrency: 5 parallele Checks
  • Job-Options: 3 Attempts, Exponential Backoff

5. API Routes

  • GET/POST /api/domains - Domain CRUD
  • GET/PUT/DELETE /api/domains/[id]
  • POST /api/check - Single Domain Check (queued)
  • POST /api/check/all - Alle Domains checken
  • GET /api/history/[domainId] - Check History

6. Dashboard UI

  • src/app/page.tsx: Dashboard mit Grid Layout
  • components/dashboard/DomainCard.tsx: Expandable Card
  • components/common/StatusBadge.tsx: Ampel (Grün/Gelb/Rot/Grau)
  • components/dashboard/FilterBar.tsx: Kategorie + Status Filter + Suche
  • components/domain/CertificateChain.tsx: Chain Visualisierung

Erfolgskriterien

  • pnpm build erfolgreich
  • pnpm lint ohne Errors
  • Dashboard zeigt alle 16 Domains
  • SSL-Check für eine Domain funktioniert (manueller Test)
  • Queue-Worker startet und verarbeitet Jobs
  • StatusBadge zeigt korrekte Farben basierend auf daysRemaining

Selbst-Prüfung nach jeder Iteration

  1. pnpm lint --fix
  2. pnpm build
  3. Falls Fehler: analysieren, korrigieren, wiederholen
  4. Falls Build erfolgreich: nächste Aufgabe

Bei Blockade nach 40 Iterationen

  • Dokumentiere in BLOCKERS.md was nicht funktioniert
  • Liste versuchte Ansätze
  • Markiere welche Aufgaben abgeschlossen sind

Referenz

Lies /home/frontend/ssl-monitor/umsetzung.md für Details zu:

  • Datenbank-Schema (Abschnitt 2.2)
  • SSLCheckResult Interface (Abschnitt 3.2.1)
  • Domain-Seed Daten (Abschnitt 5.3)

Output PHASE1_COMPLETE wenn alle Aufgaben erledigt.