Development Setup
Skrót setupu środowiska: runtime, instalacja, komendy dev/test i bootstrap DB.
Na tej stronie
Wymagania runtime
Dział zatytułowany „Wymagania runtime”| Narzędzie | Wersja | Uwagi |
|---|---|---|
| Node.js | >= 20 (rekomendujemy 22) | via fnm/nvm |
| pnpm | >= 10.14 | engines w package.json |
| Rust | latest | via rustup |
| tauri-cli | auto | cargo install tauri-cli w razie potrzeby |
Zależności systemowe
Dział zatytułowany „Zależności systemowe”| Platform | Wymagania |
|---|---|
| macOS | Xcode CLT |
| Linux | libgtk-3-dev libssl-dev webkit2gtk-4.0 |
| Windows | Visual Studio Build Tools (Desktop dev with C++), WebView2 Runtime, Powershell 7+ |
Szybka instalacja (dev)
Dział zatytułowany „Szybka instalacja (dev)”# fnm + Node 22curl -fsSL https://fnm.vercel.app/install | bashfnm install 22 && fnm use 22 && fnm default 22
# pnpm (global)npm install -g pnpm
# Rustcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/env
# zależności JSpnpm installZmienne środowiskowe
Dział zatytułowany „Zmienne środowiskowe”cp src-tauri/.env.example src-tauri/.env# uzupełnij klucze (AI, backend) – patrz scripts/env-*.mjs do szyfrowania/sealpnpm env:verify # sprawdza kompletność .envKluczowe komendy
Dział zatytułowany „Kluczowe komendy”Development
Dział zatytułowany „Development”| Komenda | Opis |
|---|---|
pnpm dev | FE only (vite —force) |
pnpm tauri:dev | Desktop (wrapper scripts/tauri-dev.sh) |
pnpm tauri:dev:diag | Diagnostyka startu |
pnpm ai:playground | Playground AI |
pnpm ai:playground:with-tauri | Playground AI z Tauri |
Jakość i manifesty
Dział zatytułowany „Jakość i manifesty”| Komenda | Opis |
|---|---|
pnpm ci:pr-quality:local | Format, eslint, stylelint, tsc, semgrep, manifesty |
pnpm manifest:ensure | Aktualizacja manifestów (components/docs/tauri/config/scripts) |
pnpm sync:ai-config | Sync AI config przed testami |
Diagnostyka
Dział zatytułowany „Diagnostyka”| Komenda | Opis |
|---|---|
pnpm node:diagnose | Diagnostyka środowiska |
pnpm dev:diagnose | Diagnostyka dev |
pnpm dev:setup | Bootstrap (instalacja + sanity checks) |
pnpm setup:system:deps | Linux deps |
Pomocnicze
Dział zatytułowany „Pomocnicze”| Komenda | Opis |
|---|---|
pnpm check:tauri:commands | Sprawdzenie komend Tauri |
pnpm lint:tokens | Lint tokenów |
pnpm audit:a11y:all | Audyt accessibility |
Baza danych (DEV)
Dział zatytułowany „Baza danych (DEV)”| Operacja | Komenda |
|---|---|
| Reset | node scripts/reset-vista-db.mjs reset |
| Backup | node scripts/reset-vista-db.mjs backup |
| Restore | node scripts/reset-vista-db.mjs restore |
| Info | node scripts/reset-vista-db.mjs info |
| Reset + start | node scripts/reset-vista-db.mjs reset-and-start |
Lokalizacja DB
Dział zatytułowany „Lokalizacja DB”| Platform | Ścieżka |
|---|---|
| macOS | ~/Library/Application Support/Vista/vista.db |
| Linux | ~/.local/share/Vista/vista.db |
| Windows | %APPDATA%/Vista/vista.db |
Unit testy (Vitest)
Dział zatytułowany „Unit testy (Vitest)”pnpm test # Szybkie (sync AI config + ensure ports)pnpm test:watch # Watch modepnpm vitest src/components/workspace/__tests__/WorkspaceReminders.interactions.test.tsx --run --reporter=dot --bail=1E2E (Playwright)
Dział zatytułowany „E2E (Playwright)”pnpm test:playwright # Preview-basedpnpm test:playwright:headed # Headed modepnpm test:playwright:ui # UI modeSpecjalizowane
Dział zatytułowany „Specjalizowane”| Komenda | Opis |
|---|---|
pnpm test:translations | Tłumaczenia (lub :structure) |
pnpm audit:a11y:all | A11y (lub audit:axe, audit:contrast) |
pnpm smoke:all | Smoke/contract |
pnpm contract:check | Contract tests |
pnpm test:ai | Testy AI |
pnpm test:auth | Testy auth |
pnpm test:patients | Testy patients |
Hooki i pre-push
Dział zatytułowany „Hooki i pre-push”Husky (pre-commit)
Dział zatytułowany „Husky (pre-commit)”- Manifest guards (components/docs/tauri/config/scripts)
lint:filelimits/linebudget- Semgrep (staged)
- Prettier check
- ESLint fix (czasem)
Pre-push quality gate
Dział zatytułowany „Pre-push quality gate”- Clippy
- TSC
- Loctree (circular/contract)
- Cargo checks
IDE Setup
Dział zatytułowany „IDE Setup”VS Code (zalecane)
Dział zatytułowany „VS Code (zalecane)”Zainstaluj rozszerzenia:
| Rozszerzenie | Opis |
|---|---|
| Rust Analyzer | Wsparcie Rust |
| Tailwind CSS IntelliSense | Autokompletacja Tailwind |
| ESLint | Linting JS/TS |
| Prettier | Formatowanie |
Projekt zawiera .vscode/settings.json z zalecanymi ustawieniami.
- Skrypty
reset-vista-db.shsą przestarzałe - używaj wariantów.mjs - Storybook:
pnpm storybook(dev),pnpm storybook:ci(build) - Release’y desktop:
pnpm build:desktop:mac,pnpm build:desktop:win - Podpisywanie/notarization:
pnpm mac:keys:setup/mac:notarize(macOS) - Pakiety Playwright:
pnpm exec playwright install --with-deps(Linux)
Troubleshooting
Dział zatytułowany „Troubleshooting””Tauri CLI not found”
Dział zatytułowany „”Tauri CLI not found””cargo install tauri-cliProblemy z SQLite na macOS
Dział zatytułowany „Problemy z SQLite na macOS”brew install sqliteBłędy WebView2 na Windows
Dział zatytułowany „Błędy WebView2 na Windows”Pobierz i zainstaluj WebView2 Runtime.
Port zajęty
Dział zatytułowany „Port zajęty”# Znajdź proces na porcie 1420lsof -i :1420# Zabij proceskill -9 <PID>