ca09d23a78da8974d3d3b32c53fae5bd9d05ddad
- tools/ki-proxy: setzt API-Schlüssel aus der Windows-Anmeldeinformationsverwaltung ein, nur im Speicher, ohne Header-Protokoll; Tests gegen Platzhalter-Server - docs/server-anforderungen.md für den ITM-Entwickler - .gitleaks.toml erkennt zki_/zodl_/zocr_-Schlüssel - CLAUDE.md, Plan, Tech-Stack: Schlüssel nie in .env, in der App verschlüsselt in der DB Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
KI-BauIN
KI-gestützte Prüfung von Mehrkostenanzeigen und Nachträgen im Bahnbau.
Laravel 13, Livewire 4, TallStackUI 4, Fortify, Spatie laravel-permission, Pest. Entwicklung mit
Laravel Sail: PHP 8.5, MySQL 8.4, Meilisearch, Mailpit. Details und Begründungen in
docs/tech-stack.md, Arbeitsregeln für Claude Code in CLAUDE.md.
Einrichten
Voraussetzungen: Linux bzw. WSL2 mit Docker, PHP ≥ 8.3 und Composer (nur für den ersten
composer install), Node, gitleaks.
Unter WSL2 das Projekt im Linux-Dateisystem ablegen (z. B. ~/code), nicht unter /mnt/c.
cp .env.example .env
composer install
./vendor/bin/sail up -d
./vendor/bin/sail artisan key:generate
./vendor/bin/sail artisan migrate
npm install && npm run dev
git config core.hooksPath .githooks # gitleaks vor jedem Commit
| Dienst | Adresse |
|---|---|
| Anwendung | http://localhost:8080 |
| Mailpit (E-Mails) | http://localhost:8025 |
| Meilisearch | http://localhost:7700 |
| MySQL | localhost:3307 (Benutzer sail, Passwort password) |
Die Ports 80 und 3306 sind auf dem Entwicklungsrechner belegt, daher APP_PORT und
FORWARD_DB_PORT in .env.
Täglich
./vendor/bin/sail up -d # starten
./vendor/bin/sail artisan test # Tests
./vendor/bin/sail bin pint # Code-Stil
./vendor/bin/sail bin phpstan analyse # statische Analyse
./vendor/bin/sail composer require … # Pakete immer im Container installieren (PHP 8.5)
./vendor/bin/sail down # stoppen
Festlegungen
- Keine Selbstregistrierung: Benutzer legt ein Administrator an.
- 2FA (Authenticator-App) und Passkeys sind verfügbar, 2FA ist noch nicht verpflichtend.
- Meilisearch: Version fest eingestellt, Telemetrie aus (
MEILISEARCH_NO_ANALYTICS=true). - Git: führend ist der lokale Gitea; der Gitea von ITM folgt als Push-Mirror.
Languages
PHP
64%
Blade
30%
Python
5.4%
JavaScript
0.3%
CSS
0.2%
Other
0.1%