Quick Start
Prerequisites
| Инструмент | Версия | Назначение |
|---|---|---|
| Rust toolchain | stable | Backend (Tauri + libp2p) |
| Node.js | 18+ | Frontend, Nx, тесты |
| npm | 9+ | Управление зависимостями |
| Docker | 24+ | Observability, Kroki (docs) |
| Docker Compose | v2 | Orchestration |
Установка
bash
# Клонирование
git clone <repository-url> kontinuum
cd kontinuum
# Установка npm-зависимостей (из корня монорепозитория)
npm installПервый запуск
Desktop-приложение (Tauri)
bash
# Dev-режим с hot reload (backend + frontend)
nx run backend:devTauri автоматически соберёт backend, сгенерирует TypeScript биндинги и запустит frontend dev-сервер.
Headless backend (без GUI)
bash
# HTTP API для тестирования и отладки
nx run backend:dev:headlessFrontend отдельно
bash
# Dev-сервер с HMR
nx run frontend:dev
# В web-режиме (HTTP transport вместо Tauri IPC)
nx run frontend:dev:webПроверка работоспособности
bash
# Backend unit-тесты
nx run backend:test
# Frontend unit-тесты
nx run frontend:test
# Линтинг
nx run backend:lint
nx run frontend:lint
# Type checking
nx run frontend:type-checkГенерация биндингов
При изменении backend API — перегенерируй TypeScript типы:
bash
nx run backend:gen:bindingsSpecta создаст типы и команды в frontend/src/shared/api/bindings.ts.
Следующие шаги
| Гайд | Описание |
|---|---|
| Frontend API | Как фронтенд вызывает бекенд (Tauri IPC / HTTP shim) |
| Создание сервисов | Как добавлять backend API endpoints (#[api] макрос) |
| Nx | Все команды для backend, frontend, docs, тестов |
| Тестирование | Unit, E2E, интеграционные тесты, observability |
| Безопасность | Криптографические примитивы, хранение ключей |
| P2P разработка | Транспортный стек, протоколы, отладка mDNS |
| Mobile | Сборка для Android, permissions, P2P на мобильных |