Anwendungen
KI-Chat
Content Studio
Content Pipeline
Semantic Explorer
Nextcloud
Entwicklung
Tasks
Protokoll
Contracts
Content-Config
Prompts
System Explorer
Ressourcen
Dokumentation
Code Hygiene
File Backup
Contracts
»
View Structure Contract
» Bearbeiten
Contract bearbeiten
Aktuelle Version:
2.0
Neue Version *
Muss sich von der aktuellen Version unterscheiden.
Änderungsbeschreibung
YAML-Inhalt *
contract: name: "view-structure-standards" version: "2.0" status: "active" description: "CRUD-Views folgen einheitlicher Struktur (index, show, new, edit)" created: "2025-12-20" author: "migration" scope: paths: - "/src/View/tasks/*.php" - "/src/View/content/*.php" excludes: - "/src/View/docs/**/*.php" - "/src/View/chat/**/*.php" - "/src/View/home/**/*.php" - "/src/View/layout.php" principles: - KISS - DRY - REST - SRP rules: # URL-Regeln - id: "url-no-create" check_type: "forbidden_pattern" patterns: - "/create" in_files: "**/*.php" severity: "critical" description: "Keine /create URLs - verwende /new" - id: "url-no-update-delete" check_type: "forbidden_pattern" patterns: - "/update" - "/delete" in_files: "**/*.php" severity: "critical" description: "Keine /update oder /delete URLs - verwende HTTP-Methoden" # View-Struktur - id: "no-page-container" check_type: "forbidden_pattern" patterns: - "page-container" in_files: "View/**/*.php" severity: "critical" description: "Kein page-container Wrapper" - id: "no-card-wrapper" check_type: "forbidden_pattern" patterns: - '<div class="card">' in_files: "View/**/*.php" severity: "critical" description: "Keine Cards als Wrapper um Formulare" - id: "no-form-section" check_type: "forbidden_pattern" patterns: - "form-section" in_files: "View/**/*.php" severity: "critical" description: "Keine verschachtelten form-section Strukturen" - id: "no-page-header" check_type: "forbidden_pattern" patterns: - "page-header" in_files: "View/**/*.php" severity: "critical" description: "Verwende breadcrumb + h1 separat" - id: "breadcrumb-first" check_type: "required_pattern" patterns: - '<nav class="breadcrumb">' in_files: "View/**/show.php" severity: "critical" description: "Breadcrumb als erstes Element in show/new/edit" - id: "form-max-width" check_type: "required_pattern" patterns: - 'max-width' in_files: "View/**/new.php" severity: "major" description: "Formular mit max-width Style" - id: "table-sortable" check_type: "required_pattern" patterns: - "data-sortable" in_files: "View/**/index.php" severity: "major" description: "Tabellen haben data-sortable Attribut" pass_threshold: critical_max: 0 major_max: 2 minor_max: 5 reference_files: index: "/src/View/tasks/index.php" show: "/src/View/tasks/show.php" new: "/src/View/tasks/new.php" edit: "/src/View/tasks/edit.php" restful_urls: pattern: index: "/{resource}" show: "/{resource}/{id}" new: "/{resource}/new" edit: "/{resource}/{id}/edit" css_classes: layout: - breadcrumb - stats-grid - stat-card - page-actions - action-bar - filters - links-bar - result-box forms: - form - form-group - form-input - form-textarea - form-select - form-actions - form-message buttons: - btn - btn--primary - btn--success - btn--danger - btn--light - btn--info
Neue Version speichern
Abbrechen