Skip to content

Quick Start

Prerequisites

ИнструментВерсияНазначение
Rust toolchainstableBackend (Tauri + libp2p)
Node.js18+Frontend, Nx, тесты
npm9+Управление зависимостями
Docker24+Observability, Kroki (docs)
Docker Composev2Orchestration

Установка

bash
# Клонирование
git clone <repository-url> kontinuum
cd kontinuum

# Установка npm-зависимостей (из корня монорепозитория)
npm install

Первый запуск

Desktop-приложение (Tauri)

bash
# Dev-режим с hot reload (backend + frontend)
nx run backend:dev

Tauri автоматически соберёт backend, сгенерирует TypeScript биндинги и запустит frontend dev-сервер.

Headless backend (без GUI)

bash
# HTTP API для тестирования и отладки
nx run backend:dev:headless

Frontend отдельно

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:bindings

Specta создаст типы и команды в 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 на мобильных