| sidebar_position | 1 |
|---|---|
| sidebar_label | Development Setup |
Everything you need to build DotAgents from source.
| Requirement | Version | Purpose |
|---|---|---|
| Node.js | 24.x recommended (min: 20.19.4) | Runtime |
| pnpm | 9.x | Package manager (required) |
| Rust | Latest stable | Native keyboard/input binary |
| Xcode | Latest (macOS only) | Code signing |
pnpm is required. Using npm or yarn will cause installation issues.
corepack enable
corepack prepare pnpm@9 --activategit clone https://github.com/aj47/dotagents-mono.git
cd dotagents-mono
nvm use
pnpm install
pnpm --filter @dotagents/desktop build-rs # Build Rust native binary
pnpm dev # Start development server| Command | Description |
|---|---|
pnpm dev |
Start development server (desktop) |
pnpm dev:mobile |
Start development server (mobile, Expo) |
pnpm build |
Production build for current platform |
pnpm --filter @dotagents/desktop build:mac |
macOS build (Apple Silicon + Intel universal) |
pnpm --filter @dotagents/desktop build:win |
Windows build (x64) |
pnpm --filter @dotagents/desktop build:linux |
Linux build for host architecture |
pnpm --filter @dotagents/desktop build:linux:x64 |
Linux x64 build |
pnpm --filter @dotagents/desktop build:linux:arm64 |
Linux ARM64 build |
pnpm --filter @dotagents/desktop build-rs |
Build Rust native binary |
pnpm test |
Run test suite |
pnpm test:run |
Run tests once (CI mode) |
pnpm test:coverage |
Run tests with coverage |
pnpm typecheck |
TypeScript type checking |
pnpm lint |
ESLint across all packages |
For signing, release packaging, GitHub Actions artifacts, docs builds, and web deployments, see Build, Release, Deploy.
pnpm dev d # ALL debug logging
pnpm dev debug-llm # LLM calls and responses
pnpm dev debug-tools # MCP tool execution
pnpm dev debug-ui # UI state changesSee Debug Reference for details.
Build Linux packages in a consistent environment:
docker compose run --rm build-linux # Build Linux packages
docker compose run --rm --build build-linux # Rebuild after code changes
docker compose run --rm shell # Interactive dev shellpnpm --filter @dotagents/desktop build:linux:x64
pnpm --filter @dotagents/desktop build:linux:arm64Override packaging targets:
DOTAGENTS_LINUX_TARGETS=AppImage,deb pnpm --filter @dotagents/desktop build:linux:arm64pnpm --filter @dotagents/mobile start # Start Metro bundler
pnpm --filter @dotagents/mobile ios # iOS (requires Xcode)
pnpm --filter @dotagents/mobile android # Android (requires Android Studio)
pnpm --filter @dotagents/mobile web # Webpnpm test # Watch mode
pnpm test:run # Single run (CI)
pnpm test:coverage # With coverage reportTests use Vitest and are located alongside source files as *.test.ts and *.test.tsx.
rm -rf node_modules && pnpm installrm -f package-lock.json bun.lock
rm -rf node_modules && pnpm installpnpm install --ignore-scripts
pnpm.cmd -C apps/desktop exec electron-builder install-app-depsnvm use # Uses the repository .nvmrc- Architecture Deep Dive — Technical details for contributors
- Build, Release, Deploy — Release packaging, signing, and deployment map
- Apps & Packages — Every app, package, and support area in the monorepo
- Contributing — How to contribute