Skip to content

Getting Started

This guide covers setting up your development environment for DiveSuite.

ToolVersionPurpose
Node.js22+JavaScript runtime (see .nvmrc)
npm10+Package manager
Git2.xVersion control
ToolVersionPurpose
RuststableDeco engine language
wasm-packlatestRust -> WASM compiler
cargo(with Rust)Rust package manager
ToolPurpose
XcodeiOS simulator and builds
Android StudioAndroid emulator and builds
Expo Go appQuick 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
FilePurpose
app.jsonExpo configuration
tsconfig.jsonTypeScript settings (strict mode)
.nvmrcNode.js version (22)
.editorconfigEditor formatting rules
mkdocs.ymlDocumentation site config
CLAUDE.mdAI 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';
AliasPath
@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