ItamiForge
ProjectsDevice Finder

Device Finder

Cross-platform device discovery CLI/TUI for iOS, Android, and Web development.

Overview

Device Finder (df) is a Rust CLI + TUI for discovering and managing iOS simulators, Android emulators, and connected devices across your development environment.

Install

From crates.io

cargo install device-finder

From GitHub (latest)

cargo install --git https://github.com/ItamiForge/device-finder.git

Verify

df --version
# df 0.1.0

What It Does

Device Finder eliminates the friction of device discovery by providing a unified interface:

  • iOS: Detects Xcode simulators via xcrun simctl
  • Android: Discovers emulators via adb and physical devices
  • Web: Identifies available browsers and Docker web containers
  • JSON output: Machine-readable results for scripting
  • Exit codes: Structured exit codes for automation

Quick usage

df                              # Interactive TUI
df list                         # List all devices
df list --platform ios          # Filter by platform
df find "iPhone"                # Search devices
df find "Pixel" --json          # JSON output
df info "device-id"             # Detailed info
df launch "device-id"           # Boot simulator/emulator
df install "id" "/path/app"     # Install app
df connect "device-id"          # Connect to device

Commands

  • df: launch interactive TUI
  • df list [--platform ios|android|web] [--verbose] [--json]: list devices
  • df find <query> [--json]: search by name, ID, or model
  • df info <device-id> [--json]: show detailed info
  • df launch <device-id> [--json]: boot/launch device
  • df install <device-id> <bundle> [--json]: install app
  • df connect <device-id> [--json]: establish connection

Core Features

  • Unified Interface: One command for all platforms
  • Smart Detection: Automatically identifies runtimes, OS versions, and states
  • Visual Status: Color-coded device status indicators
  • Tabular Display: Clean columnar view with filtering
  • Interactive TUI: Keyboard-driven device browser
  • JSON Output: Machine-readable output for scripting
  • Exit Codes: Automation-friendly exit codes (0=OK, 1=error, 3=not-found)
  • Configuration: Optional config file at ~/.config/itamiforge/device-finder/config.toml
  • Cross-Platform: Works on macOS, Linux, and Windows

Full Documentation