Skip to main content

Guide

Quickstart

Concise build reference for Land from source - prerequisites, two-step build flow, common profiles, and development environment setup.

A minimal build reference for developers who already know their way around the repository and just need the commands.


Prerequisites

# Install tools
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
nvm install 24 && nvm use 24
npm install -g pnpm

# Skip large test binaries (not needed for compilation)
echo 'export ELECTRON_SKIP_BINARY_DOWNLOAD=1' >> ~/.zshrc
echo 'export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1' >> ~/.zshrc
source ~/.zshrc

Step 1: Compile VS Code Source

cd Dependency/Microsoft/Dependency/Editor
nvm use 24
export NODE_ENV=development
git fetch --all
git reset --hard Parent/main
git clean -dfx
npm install
npm run compile
npm run compile-extensions-build
cd Land

The Editor submodule uses npm, not pnpm.


Step 2: Build Land Application

cd Land
./Maintain/Debug/Build.sh --profile debug-mountain  # fast, 80–90% coverage
./Maintain/Debug/Build.sh --profile debug-electron   # full feature set

Common Profiles

ProfileWhen to use
debug-mountainDaily development (fastest viable build)
debug-electronFull feature set, Electron workbench
debug-electron-bundledBundled Vite/Astro workbench debug build
production-electron-bundledRelease build
debug-kernelPure Mountain, no Cocoon, no UI

Run After Build

# Launch the binary directly
./Element/Mountain/Target/debug/Mountain

# Or build and run in one command
./Maintain/Debug/Build.sh --profile debug-electron-bundled --run

Quick Troubleshooting

SymptomFix
npm install stallsSet ELECTRON_SKIP_BINARY_DOWNLOAD=1 and PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
Playwright lockfile errorrm -rf ~/Library/Caches/ms-playwright/__dirlock
App crashes on macOSRun BundleLevel=debug sh Maintain/Script/SignBundle.sh
Compilation errors in Editorgit clean -dfx && rm -rf node_modules && npm install && npm run compile

Further Reading