Developer information
- Architecture
- Agent loop
- Console commands
- Testing
-
Architecture decision records
- ADR-001: Embedded MCP Client in TYPO3 Backend
- ADR-002: CLI-Based Message Processing
- ADR-003: MCP Integration via stdio Subprocess
- ADR-004: nr-llm as LLM Abstraction Layer
- ADR-005: Persistent Conversation Model with State Machine
- ADR-006: Layered Architecture with PHPAt Enforcement
- ADR-007: Polling over WebSockets or SSE
- ADR-008: Lit Web Components Without a Build Step
- ADR-009: Group-Based Access Control via Extension Configuration
- ADR-010: LLM Error Message Sanitization Before Browser Output
- ADR-011: Floating Chat Panel Outside the Module iframe
- ADR-012: Markdown Rendering with marked.js and DOMPurify
- ADR-013: Server-Side Document Text Extraction as Provider Fallback
- ADR-014: Configurable MCP Server Registry with Auto-Init Default
- ADR-015: nr-llm Task per Backend Group via Extension Configuration
- ADR-016: Messages in Their Own Table
- ADR-017: The chat states what the run did, not what it said
- ADR-018: A question is answered with reply buttons
- ADR-019: A conversation starts about a page, with a skill
- ADR-020: Guided processes report progress and focus
- ADR-021: Editors approve their own changes in chat
- ADR-022: Open points of guided processes
- ADR-023: The chat guides a process
- ADR-024: The Chat as a Column Beside the Page Tree
- ADR-025: The Skill Says Whether It Needs a Page
- ADR-026: A Site-Wide Check for Missing Alt Texts