Manuskript is a JavaFX 21 desktop application for manuscript editing with AI integration (Ollama), DOCX processing, and export capabilities. Built with Maven. German-language UI.
- Java 21 (OpenJDK, pre-installed at
/usr/lib/jvm/java-21-openjdk-amd64) - Maven 3.8+ (installed via
apt-get install maven)
| Task | Command |
|---|---|
| Compile | mvn compile |
| Run tests | mvn test |
| Run application | DISPLAY=:1 mvn javafx:run |
| Package fat JAR | mvn package |
| Resolve dependencies | mvn dependency:resolve |
| OpenRouter Monitor (optional) | cd tools/openrouter-monitor && mvn package dann ./run-openrouter-monitor.sh |
mvn compileschreibt nur nachtarget/classes. Die JAR (z.B.target/manuskript-standalone.jar) und das App-Image (z.B.installer-output\Manuskript\) werden dabei nicht aktualisiert.- Wenn die App ueber Manuskript.exe / Manuskript.app (installer-output) oder eine alte JAR gestartet wird, laeuft der Stand des letzten
mvn packagebzw.create-installer.bat(Windows) /create-installer.sh(macOS arm64). - Damit nach Aenderungen der aktuelle Code laeuft: App mit
mvn javafx:runstarten (oderrun-developer.batunter Windows), oder vor dem Startmvn packageausfuehren und danach die gebaute App starten.
- Aktiver Editor:
ManuskriptEditorTestWindow/ManuskriptTextEditor/MdTextArea. - API für Features:
ChapterEditorHost– neue Editor-Funktionen nur im Canvas-Pfad umsetzen. - Legacy
EditorWindow(RichTextFX/FXML): nicht mehr Ziel für Entwicklung; keine Parität, keine Doppelpflege, nicht als Referenz nutzen. - Standard: Canvas-Editor per Preference
use_canvas_chapter_editor(sieheMainController.openChapterEditor). - Im Canvas-Editor: Agenten-Panel, Makros, Textanalyse, Szenen-Outline, Online-Lektorat (Toolbar).
- Display: The JavaFX app requires
DISPLAY=:1(the VM desktop) to render. Do NOT use headless mode. - No Maven wrapper: The repo does not include
mvnw. System-installed Maven is required. - Deprecation warnings:
OllamaWindow.javaandMainController.javaproduce compiler warnings (deprecated API, unchecked operations) — these are expected and non-blocking. - First launch: The app shows a "Willkommen zu Manuskript" dialog asking for a project root directory. Without DOCX project files, the project selection screen will show "Keine Projekte gefunden".
- Optional services: Ollama (localhost:11434), LanguageTool (localhost:8081), Pandoc, FFmpeg are optional and not required for basic app functionality or tests.
- OpenRouter Monitor (
tools/openrouter-monitor/): eigenständiges JavaFX-Hilfsprogramm für Credits und API-Logs; liestagent.openai.api_keyundagent.openai.api_urlaus Manuskript-Konfiguration. Nicht in die Haupt-App integriert. - Test suite: 7 unit tests (JUnit 5) covering
QuotationMarkConverterTestandLoggingConfigurationTest. All pass without a display server. - No linter configured: The project has no dedicated linting tool (no Checkstyle, SpotBugs, etc.). Compiler warnings serve as the primary code quality check via
mvn compile.