wissen-ahrensburg.de (MeinCMS)
CMS mit Wiki-Funktion & Multi-Tenancy (100% Rust Workspace Edition, PostgreSQL).
Architektur & Tech (Rust Workspace)
- meincms_parser/: Hochleistungs Markdown & MediaWiki Parser Crate (mit C-FFI Exporten).
- meincms_web/: Axum 0.7 Webanwendung. Multi-Tenancy via Hostname, Maud Templating, Admin-Auth, No-Cache Middleware.
- meincms_backup/: Backup & Repair CLI Tool (YAML/XML Ex-/Import & Repair).
- meincms_admin/: User & Admin Management CLI Tool (Argon2 Password Hashing).
- Tech: Rust 1.80+, Tokio, Axum, Maud, SQLx, PostgreSQL, Argon2.
- Lizenz: AGPL-3.0.
Befehle (Rust & Qualitätssicherung)
- Workspace Check & Test:
cargo check&cargo test --workspace - Linter & Formatierung:
cargo clippy&cargo fmt --check - Dokumentation (mdBook):
npm run build:docs(synchronisiertAGENTS.md& Skills nachdocs/srcund führtmdbook build docsaus) - Dokus veröffentlich:
npm run ver(baut Dokus inkl. AGENTS.md & Skills und veröffentlicht automatisch via gh-pages) - Web Backend:
cargo run -p meincms_web - Backup CLI:
cargo run -p meincms_backup -- [export|import|repair] - Admin CLI:
cargo run -p meincms_admin
Konventionen & Regeln für KI-Agenten
- Git & Sicherheit: NIEMALS
.envoder Passwörter einchecken.!.env.exampleals Referenz nutzen. - Produktion / Unix Socket: PostgreSQL-Verbindung bevorzugt über Unix Domain Socket (
DATABASE_URL="postgres://user:pass@/var/run/postgresql/meincms"). Webserver viaUNIX_SOCKET. - Mandanten: Multi-Tenancy mit Filterung nach
TenantId("main" = Standard, "doc" = Technik). - Sicherheit: Markdown & MediaWiki strikt gegen XSS/CSRF sichern, keine Inline-Skripte. No-Cache-Header erzwingen.
- Menschliche Verantwortung & Code-Review: KI-Agenten (CLI & IDE) sind Assistenzwerkzeuge. Die Verantwortung für Code-Sicherheit, Funktion und Wartbarkeit liegt stets beim Menschen. Code muss verständlich strukturiert und dokumentiert werden, damit er nachvollziehbar und optimierbar bleibt.
- Frontend / Maud: Editor-Toggling via Vanilla JS (
DOMContentLoaded&style.display), nicht rein über CSS-Klassen. - Backend: Beim Speichern von Wiki-Artikeln das jeweils nicht genutzte Inhaltsfeld (Markdown/MediaWiki) explizit leeren.
- DB-Modell:
WikiArtikel,WikiArtikelVersion,WikiNamespace,WikiCategory. - Backup & Repair: Nach Import oder Parser-Änderungen stets
repairübermeincms_backupausführen. - Dokumentation & mdBook: Bei Konfigurations- oder Architekturänderungen stets die Doku in
docs/aktualisieren und danachnpm run build:docsbzw.mdbook build docsausführen.