Installation
Install the Escher desktop app and set up your development environment.
Prerequisites
- macOS 12+, Windows 10+, or Linux (Ubuntu 20.04+)
- For building from source: Node.js 18+, Rust stable, Xcode CLT (macOS)
- AWS CLI and/or Azure CLI installed — Escher discovers profiles from these
Install the desktop app
Pre-built release (recommended)
Download the latest release from the internal distribution channel:
| Platform | Package |
|---|---|
| macOS (Apple Silicon) | Escher_x.x.x_aarch64.dmg |
| macOS (Intel) | Escher_x.x.x_x86_64.dmg |
| Windows | Escher_x.x.x_x64-setup.exe |
| Linux | Escher_x.x.x_amd64.AppImage |
macOS install:
bash
# Open the .dmg, drag Escher to /Applications
# On first launch, right-click → Open (to bypass Gatekeeper on unsigned builds)Linux install:
bash
chmod +x Escher_x.x.x_amd64.AppImage
./Escher_x.x.x_amd64.AppImageBuild from source
bash
# 1. Install prerequisites (macOS)
xcode-select --install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
brew install node
# 2. Clone
git clone https://github.com/escher-dbai/v2-desktop-app-tauri
cd v2-desktop-app-tauri
# 3. Configure package registry access
export NPM_TOKEN=your_github_pat_here # needs read:packages scope
# 4. Install deps and build
npm install
npm run tauri:buildWARNING
Never commit NPM_TOKEN to the repository. Add it to your shell profile (~/.zshrc) or use a .env file that is git-ignored.
Set up the Python skill environment
Escher embeds Python scripts for estate scanning, cost analysis, and compliance checks. These run inside the app's managed virtual environment.
bash
# The app bootstraps this on first launch automatically.
# To set it up manually (for development):
cd v2-desktop-app-tauri
yarn update-scripts # pulls latest skill scripts from serverThe virtual environment is created at ~/.escher/venv/ and is managed entirely by the app.
Install cloud CLIs
Escher discovers credentials from your local CLI configuration. Install and authenticate both CLIs before launching Escher.
AWS CLI
bash
# macOS
brew install awscli
# Verify
aws --version
# aws-cli/2.x.x Python/3.x.x ...
# Configure a profile
aws configure --profile prod-admin
# AWS Access Key ID: ...
# AWS Secret Access Key: ...
# Default region: us-east-1
# Default output format: json
# Verify
aws sts get-caller-identity --profile prod-adminAzure CLI
bash
# macOS
brew install azure-cli
# Verify
az --version
# Authenticate
az login
# Opens browser for interactive login
# Verify
az account showFirst launch checklist
After installing:
- [ ] App launches without errors
- [ ]
aws sts get-caller-identitysucceeds for at least one profile - [ ] In Escher → Estate → Discover Profiles finds your profiles
- [ ] At least one profile shows status Connected
- [ ] Refresh Estate completes at least one successful scan
Next steps
- AWS Connection — Attach the correct IAM policy
- Azure Connection — Set up Azure service principal
- Quickstart — Run your first scan