# warden - **Getting started** - [Introduction](/docs): Machine-wide leasing of iOS simulators, Android emulators, ports and native app builds. - [Installation](/docs/installation): Install warden from npm or build it from source, wire up agent hooks, and check your setup. - [Concepts](/docs/concepts): Leases, owners, liveness, and which devices warden will touch. - **Guides** - [Agents](/docs/guides/agents): Claude Code and Codex hooks that lease devices per session. - [e2e scripts](/docs/guides/e2e): Claim devices and ports for a script with warden run, released on exit. - [Affected e2e](/docs/guides/affected-e2e): Run only the e2e flows a change needs, picked from the git diff and the TypeScript import graph, and gate on the required ones. - [Ports](/docs/guides/ports): Lease TCP ports from a range, bind-probed and never handed out twice. - [Golden images](/docs/guides/golden-images): Clone new simulators from a settled golden for ~16 s boots. - [App builds](/docs/guides/app-builds): Install the native build matching your Expo fingerprint — from the device, cache, EAS or a local build. - **Reference** - [CLI](/docs/reference/cli): Every warden command and flag. All commands accept --json. - [warden.config.ts](/docs/reference/configuration): Optional per-repo config for app builds, saved batches and affected e2e suites. - [Environment variables](/docs/reference/environment): Variables warden reads, and the ones warden run sets. - **Project** - [Updating & releasing](/docs/updating): warden update for every build channel, and how releases are cut. - [Contributing](/docs/contributing): Repo layout, conventions and commands.