Stos technologiczny
Speedwave to poligloto-monorepozytorium łączące niskopoziomowe moduły w języku Rust, wieloplatformowy interfejs graficzny w Angularze i środowisku Tauri, mikrousługi MCP w TypeScript oraz natywne biblioteki systemowe. Wszystkie procedury budowania są zunifikowane w pliku Makefile. Szczegóły działania środowiska opisano w rozdziale Architektura uruchomieniowa.
Rdzeń w języku Rust
Dział zatytułowany „Rdzeń w języku Rust”Podstawowe moduły backendowe tworzą wspólną przestrzeń roboczą Cargo:
speedwave-runtime: Biblioteka systemowa zarządzająca wirtualizacją Lima (macOS) i WSL2 (Windows), kompilacją obrazów oraz cyklem życia kontenerów.speedwave-cli: Plik wykonywalny interfejsu wiersza poleceń.speedwave-desktop: Aplikacja desktopowa Tauri 2 koordynująca mostki IPC, zasobnik systemowy i demona proxy.
Przestrzeń robocza wymusza surowe reguły bezpieczeństwa kodu: blokadę kodu niebezpiecznego (#![deny(unsafe_code)]) oraz reguły Clippy zabraniające stosowania unwrap_used, expect_used i bezpośrednich wywołań print_stdout.
Aplikacja graficzna Desktop
Dział zatytułowany „Aplikacja graficzna Desktop”Warstwa interfejsu użytkownika łączy Angular z powłoką Tauri 2:
- Frontend: Komponenty Angular oparte na Signals i reaktywnym zarządzaniu stanem w RxJS.
- Pluginy Tauri: Oficjalne wtyczki do obsługi pojedynczej instancji, natywnych okien dialogowych, zasobnika, schowka oraz aktualizacji.
- Testy E2E: Zestaw testów automatycznych w WebdriverIO testujący skompilowaną aplikację Tauri.
Mikrousługi MCP
Dział zatytułowany „Mikrousługi MCP”Katalog mcp-servers/ stanowi wielopakietową przestrzeń roboczą Node.js / TypeScript:
- Odrębne usługi workerów dla integracji: Atlassian, GitHub, GitLab, Slack, SharePoint, Redmine, Playwright oraz przetwarzania dokumentów biurowych.
- Biblioteka
shareddostarczająca wspólne schematy JSON-RPC, sanitizery logów i obsługę błędów HTTP. - Testy jednostkowe i integracyjne wykonywane za pomocą środowiska Vitest.
Pomocnicze moduły systemowe
Dział zatytułowany „Pomocnicze moduły systemowe”- macOS: Samodzielne pakiety narzędziowe SwiftPM (
calendar-cli,reminders-cli,mail-cli,notes-cli,audio-cli) komunikujące się bezpośrednio z frameworkami EventKit, ScreenCaptureKit oraz Apple Events. - Windows: Moduły Rust WinRT/MAPI (w trakcie implementacji).
Środowisko testowe
Dział zatytułowany „Środowisko testowe”cargo test: Testy jednostkowe, integracyjne i testy dokumentacji w crate’ach Rusta.vitest: Testy jednostkowe frontendu Angular oraz pakietów MCP.bats: Testy skryptów powłoki oraz skryptów wejściowych w kontenerach.