Skip to content

Getting Started

This guide covers setting up your development environment for DiveSuite.

Tool Version Purpose
Node.js 22+ JavaScript runtime (see .nvmrc)
npm 10+ Package manager
Git 2.x Version control
Tool Version Purpose
Rust stable Deco engine language
wasm-pack latest Rust -> WASM compiler
cargo (with Rust) Rust package manager
Tool Purpose
Xcode iOS simulator and builds
Android Studio Android emulator and builds
Expo Go app Quick testing on physical devices
Terminal window
git clone https://github.com/DiveSuite/app.git
cd DiveSuite
Terminal window
# Use correct Node version
nvm use # reads .nvmrc
# Install dependencies
npm install

3. Install Rust Toolchain (for deco engine)

Section titled “3. Install Rust Toolchain (for deco engine)”
Terminal window
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Add WASM target
rustup target add wasm32-unknown-unknown
# Install wasm-pack
cargo install wasm-pack
Terminal window
cd rust-engine
wasm-pack build --target web
cd ..
Terminal window
# Start Expo development server
npx expo start
# Options:
# - Press 'i' for iOS simulator
# - Press 'a' for Android emulator
# - Press 'w' for web browser
# - Scan QR code with Expo Go app on device
Terminal window
# TypeScript tests
npm test
# Rust tests
cd rust-engine && cargo test
# With coverage
npm test -- --coverage
Terminal window
# Web
npx expo export --platform web
# iOS/Android (requires EAS CLI)
npx eas build --platform ios
npx eas build --platform android
File Purpose
app.json Expo configuration
tsconfig.json TypeScript settings (strict mode)
.nvmrc Node.js version (22)
.editorconfig Editor formatting rules
mkdocs.yml Documentation site config
CLAUDE.md AI assistant instructions

The project uses path aliases for clean imports:

// Instead of:
import { DiveLog } from '../../../core/models/dive-log';
// Use:
import { DiveLog } from '@core/models/dive-log';
Alias Path
@core/ src/core/
@features/ src/features/
@shared/ src/shared/
  1. Read the Project Structure guide
  2. Review Coding Standards
  3. Understand the Testing Strategy
  4. Check the Architecture Overview