Getting Started
Relevant source files
The following files were used as context for generating this wiki page:
Keynobi is a specialized Android development companion designed to run alongside Android Studio and Claude Code. It provides a focused interface for build logs, logcat streaming, and device management, while also exposing an MCP (Model Context Protocol) server for AI agent integration. Sources: README.md:3-8, PITCH.md:3-6
The getting started process involves satisfying system prerequisites, setting up the local development environment, and completing the initial application onboarding to configure the Android SDK and Java environment. Sources: README.md:25-70, src/components/onboarding/OnboardingWizard.tsx:115-135
System Prerequisites
Before installing Keynobi, the following environmental tools must be available on the host macOS system:
| Prerequisite | Minimum Version | Installation Command / Tool |
|---|---|---|
| Rust | Stable toolchain (1.78.0+) | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
| Node.js | 20+ (v22 recommended) | volta install node@22 |
| Xcode Tools | Latest | xcode-select --install |
| Tauri CLI | 2.x | cargo install tauri-cli |
Sources: README.md:27-50, package.json:50-65
Development Environment Setup
The Keynobi codebase uses a hybrid architecture consisting of a Rust backend and a SolidJS frontend. Setting up the repository involves cloning, dependency installation, and launching the Tauri development server.
The first run of the Rust compilation can take 3–8 minutes as it downloads and compiles approximately 400 crates. Subsequent starts typically resolve in under 5 seconds. Sources: README.md:55-70, scripts/build-dmg.sh:122-125
Essential Development Commands
- Run Development App:
npm run tauri dev - Generate Bindings:
npm run generate:bindings(Required after Rust model changes) - Run Frontend Tests:
npm run test - Run Rust Tests:
cd src-tauri && cargo test - Linting:
npm run lintandcargo clippy
Sources: README.md:75-108, AGENTS.md:53-75
Onboarding and Initial Configuration
Upon the first launch of the application, the OnboardingWizard initiates a multi-step setup process to ensure the development environment is properly linked to the Android toolchain.
Onboarding Workflow
- Environment Detection: Automatically detects the Android SDK path and
JAVA_HOME. - Privacy Settings: Configures opt-in anonymous crash reporting via Sentry.
- Workflow Toggles: Sets defaults for MCP server auto-start and Logcat auto-start upon device connection.
- Health Check: Executes a final system-level health probe for Java, SDK, ADB, and Gradle availability.
Sources: src/components/onboarding/OnboardingWizard.tsx:10-25, src/components/onboarding/OnboardingWizard.tsx:140-230
Health and Tool Validation
The application provides a "Health Center" (Cmd+Shift+H) to monitor and fix environmental issues. It validates the state of several critical components:
AI Integration (MCP Setup)
Keynobi serves as a Model Context Protocol (MCP) host, allowing AI agents like Claude Code to interact with your local Android environment.
One-Click Configuration
Users can register the MCP server with Claude Code directly from the UI. The application provides a configuration command that uses the current binary's execution path:
claude mcp add --transport stdio keynobi -- "/path/to/keynobi" --mcp
Sources: src/components/health/HealthPanel.tsx:280-310, src-tauri/src/services/mcp_server.rs:25-35
MCP Capabilities
Once connected, the AI agent gains access to several tools defined in the Rust backend:
- Build Tools:
run_gradle_task,get_build_errors,get_build_log. - Logcat Tools:
start_logcat,get_logcat_entries,get_crash_logs. - Device Tools:
list_devices,install_apk,launch_app,screenshot.
Sources: src-tauri/src/services/mcp_server.rs:595-610, PITCH.md:16-22
Summary
Getting started with Keynobi requires a functional Rust and Node.js environment on macOS. After the initial setup and project onboarding, the application bridges the gap between the IDE and the command line, offering both a visual interface and a standardized MCP interface for AI-driven development workflows. Sources: README.md:145-160, PITCH.md:35-42