From 1e677659b9afc9adb491153d7df11cd1194bf1a8 Mon Sep 17 00:00:00 2001 From: sysops Date: Tue, 17 Mar 2026 09:58:41 +0100 Subject: [PATCH] chore: replace AI Coding Starter Kit references with archivmail project info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CLAUDE.md: vollständig auf archivmail-Kontext umgeschrieben (Go/Xapian Stack, On-Premise Deploy, keine Supabase/Vercel) - package.json: name und description auf archivmail aktualisiert Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 102 ++++++++++++++++++++++++++------------------------- package.json | 4 +- 2 files changed, 55 insertions(+), 51 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index a241491..58baaec 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,66 +1,70 @@ -# AI Coding Starter Kit +# archivmail -> A Next.js template with an AI-powered development workflow using specialized skills for Requirements, Architecture, Frontend, Backend, QA, and Deployment. +Selbst gehostetes Mail-Archiv-System. Go-Backend + Next.js-Frontend + PostgreSQL + Xapian. ## Tech Stack -- **Framework:** Next.js 16 (App Router), TypeScript -- **Styling:** Tailwind CSS + shadcn/ui (copy-paste components) -- **Backend:** Supabase (PostgreSQL + Auth + Storage) - optional -- **Deployment:** Vercel -- **Validation:** Zod + react-hook-form -- **State:** React useState / Context API +- **Backend:** Go 1.23, CGO, Xapian (Volltext-Index) +- **Frontend:** Next.js 16 (App Router), TypeScript, Tailwind CSS, shadcn/ui +- **Datenbank:** PostgreSQL (pgx/v5) +- **Deployment:** On-Premise (192.168.1.131), Systemd +- **Auth:** JWT (httpOnly Cookie), bcrypt Cost 12 -## Project Structure +## Projektstruktur ``` +cmd/archivmail/ CLI-Einstiegspunkt + Subkommandos +config/ YAML-Konfiguration +internal/ + api/ HTTP-API + Handler + audit/ Audit-Log (PostgreSQL + Flat-File) + auth/ JWT-Authentifizierung + imap/ IMAP-Import, Scheduler, Store + index/ Xapian-Wrapper (CGO), Async Worker + smtpd/ Eingebetteter SMTP-Daemon + storage/ AES-256-GCM Dateispeicher + PostgreSQL-Metadaten + userstore/ Benutzerverwaltung +pkg/mailparser/ RFC-2822 Parser, MBOX-Splitter src/ - app/ Pages (Next.js App Router) - components/ - ui/ shadcn/ui components (NEVER recreate these) - hooks/ Custom React hooks - lib/ Utilities (supabase.ts, utils.ts) -features/ Feature specifications (PROJ-X-name.md) - INDEX.md Feature status overview -docs/ - PRD.md Product Requirements Document - production/ Production guides (Sentry, security, performance) + app/ Next.js Seiten (/, /search, /mail/[id], /admin, /imap) + components/ UI-Komponenten (shadcn/ui) + hooks/ useAuth + lib/ api.ts, auth-cache.ts ``` -## Development Workflow - -1. `/requirements` - Create feature spec from idea -2. `/architecture` - Design tech architecture (PM-friendly, no code) -3. `/frontend` - Build UI components (shadcn/ui first!) -4. `/backend` - Build APIs, database, RLS policies -5. `/qa` - Test against acceptance criteria + security audit -6. `/deploy` - Deploy to Vercel + production-ready checks - -## Feature Tracking - -All features tracked in `features/INDEX.md`. Every skill reads it at start and updates it when done. Feature specs live in `features/PROJ-X-name.md`. - -## Key Conventions - -- **Feature IDs:** PROJ-1, PROJ-2, etc. (sequential) -- **Commits:** `feat(PROJ-X): description`, `fix(PROJ-X): description` -- **Single Responsibility:** One feature per spec file -- **shadcn/ui first:** NEVER create custom versions of installed shadcn components -- **Human-in-the-loop:** All workflows have user approval checkpoints - -## Build & Test Commands +## Build & Deploy ```bash -npm run dev # Development server (localhost:3000) -npm run build # Production build -npm run lint # ESLint -npm run start # Production server +# Backend (CGO + Xapian zwingend erforderlich) +CGO_ENABLED=1 go build -tags xapian -buildvcs=false -o archivmail ./cmd/archivmail/ + +# Frontend +npm run build # .next/standalone/ für Produktion + +# Auf Server deployen +bash update.sh # oder: curl ... | bash ``` -## Product Context +## Konventionen -@docs/PRD.md +- **Commits:** `feat(PROJ-X): ...`, `fix(PROJ-X): ...`, `chore: ...` +- **Feature-IDs:** PROJ-1, PROJ-2, … (nächste freie: PROJ-20) +- **shadcn/ui:** Keine Custom-Versionen installierter Komponenten +- **Kein Supabase, kein Vercel** – reines On-Premise-Deployment -## Feature Overview +## Wichtige Konfiguration (Server) -@features/INDEX.md +``` +/etc/archivmail/config.yml Hauptkonfiguration +/etc/archivmail/keyfile AES-256 Schlüssel (32 Bytes, nie committen) +/var/archivmail/store/ Verschlüsselter E-Mail-Speicher +/var/archivmail/xapian/ Xapian-Index +``` + +## Dienste (Systemd) + +```bash +systemctl status archivmail # Go-Backend (Port 8080 + 2525) +systemctl status archivmail-web # Next.js-Frontend (Port 3000) +journalctl -u archivmail -f +``` diff --git a/package.json b/package.json index d328adb..2f9e280 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "ai-coding-starter-kit", + "name": "archivmail", "version": "1.0.0", - "description": "AI Coding Starter Kit with AI Agent Team System for Claude Code", + "description": "Selbst gehostetes Mail-Archiv-System", "private": true, "scripts": { "dev": "next dev",