chore: replace AI Coding Starter Kit references with archivmail project info

- 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 <noreply@anthropic.com>
This commit is contained in:
sysops
2026-03-17 09:58:41 +01:00
parent 861df83986
commit 1e677659b9
2 changed files with 55 additions and 51 deletions
+53 -49
View File
@@ -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
```