Przejdź do głównej zawartości

Development Workflow

Skrót codziennego workflow developerskiego dla Vista: setup, start, testy i bramki jakości.

Na tej stronie
WymaganieWersja
Node20+ (zalecany 22)
pnpm10.14+
Rustvia rustup
Okno terminala
pnpm install
cp src-tauri/.env.example src-tauri/.env && pnpm env:verify
TrybKomendaOpis
FE onlypnpm devVite
Pełna aplikacjapnpm tauri:devTauri + Vite
Playground AIpnpm ai:playgroundBez Tauri
Playground AI + Tauripnpm ai:playground:with-tauriZ Tauri
Reset DBnode scripts/reset-vista-db.mjs resetSzybki reset
Okno terminala
pnpm test # Run
pnpm test:watch # Watch mode
Okno terminala
pnpm test:playwright # Preview
pnpm test:playwright:headed # Headed
pnpm test:playwright:ui # UI mode
KomendaOpis
pnpm test:translationsTłumaczenia (lub :structure)
pnpm test:aiTesty AI
pnpm test:authTesty auth
pnpm test:patientsTesty patients
Okno terminala
pnpm ci:pr-quality:local # Lint/format/tsc/semgrep
pnpm manifest:ensure # Manifesty (+ warianty :tauri, :docs)
  • Manifest guards
  • lint:filelimits/linebudget
  • Semgrep (staged)
  • Prettier check
  • ESLint fix (czasem)
  • Clippy
  • TSC
  • Loctree (circular/contract)
  • Cargo checks
OperacjaKomenda
Resetnode scripts/reset-vista-db.mjs reset
Backupnode scripts/reset-vista-db.mjs backup
Restorenode scripts/reset-vista-db.mjs restore
Infonode scripts/reset-vista-db.mjs info
PlatformŚcieżka
macOS~/Library/Application Support/Vista/vista.db
Windows%APPDATA%/Vista/vista.db
Linux~/.local/share/Vista/vista.db
ProblemRozwiązanie
Brak zależności Playwrightpnpm exec playwright install --with-deps
Nieprawidłowa wersja Nodepnpm env:verify / pnpm run preflight:node
Manifest diff po rebaziepnpm manifest:ensure i dodaj do stage

AI Playground to izolowane środowisko symulacyjne działające w przeglądarce (bez Tauri backend), do testowania interfejsu Vista Assistant i pipeline’ów audio.

Okno terminala
pnpm ai:playground

Otwiera Vite dev server na porcie 4300: http://localhost:4300

Playground działa w trybie “Browser Sandbox” ale łączy się z prawdziwym AI API (Libraxis Gateway).

KomponentRola
tauriMocks.tsPrzechwytuje invoke, wykonuje HTTP do API przez proxy
eventBridge.tsIn-memory event bus dla streaming tokenów
llmAdapter.tsHTTP/SSE transport, endpointy z .env

Playground używa zmiennych z src-tauri/.env:

LIBRAXIS_API_KEY=your-key
AI_CHAT_PRIMARY_ENDPOINT=https://api.libraxis.cloud/llm/v1/responses
AI_CHAT_PRIMARY_MODEL=chat
ProblemRozwiązanie
401 UnauthorizedSprawdź LIBRAXIS_API_KEY
400 Bad RequestUpewnij się że endpoint wspiera format “Responses”
No StreamingSprawdź console dla “Stream request failed”