feat: Add GitHub Actions CI for PR protection

- Add CI workflow with Python (ruff lint, security tests) and UI (ESLint, TypeScript, build) jobs
- Add ruff, mypy, pytest to requirements.txt
- Add pyproject.toml with ruff configuration
- Fix import sorting across Python files (ruff --fix)
- Fix test_security.py expectations to match actual security policy
- Remove invalid 'eof' command from ALLOWED_COMMANDS

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Auto
2026-01-07 10:35:19 +02:00
parent 17b7354db8
commit 122f03dc21
28 changed files with 144 additions and 85 deletions

View File

@@ -28,7 +28,6 @@ import time
import webbrowser
from pathlib import Path
ROOT = Path(__file__).parent.absolute()
VENV_DIR = ROOT / "venv"
UI_DIR = ROOT / "ui"
@@ -158,9 +157,9 @@ def start_dev_server(port: int) -> tuple:
"""Start both Vite and FastAPI in development mode."""
venv_python = get_venv_python()
print(f"\n Starting development servers...")
print("\n Starting development servers...")
print(f" - FastAPI backend: http://127.0.0.1:{port}")
print(f" - Vite frontend: http://127.0.0.1:5173")
print(" - Vite frontend: http://127.0.0.1:5173")
# Start FastAPI
backend = subprocess.Popen([