Skip to content

Add AndroidKit semantic UI support - #53

Merged
setoelkahfi merged 5 commits into
developmentfrom
feature/xcrs-androidkit
Sep 10, 2026
Merged

setoelkahfi merged 5 commits into
developmentfrom
feature/xcrs-androidkit

Conversation

@setoelkahfi

Copy link
Copy Markdown
Collaborator

Related Issue

Fixes #

Description

Type of Change

  • Bug fix
  • New feature
  • Refactor (no functional change)
  • Documentation update
  • CI / tooling change

How Has This Been Tested?

  • cargo test --all-features
  • Manual testing (smb <command>)

Checklist

  • cargo check --workspace passes
  • cargo clippy --workspace --tests -- -D warnings passes
  • cargo fmt --all -- --check passes
  • No new unwrap() or expect() calls in production code
  • No new mod.rs files introduced
  • New dependencies added to root Cargo.toml and inherited with { workspace = true }
  • Error messages are user-friendly and surfaced to the terminal

Release Notes

Co-Authored-By: siGit Code <noreply@sigit.si>
@setoelkahfi setoelkahfi self-assigned this Sep 9, 2026

@sigit-code-review sigit-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change adds semantic UI automation support for Android via the new XCRS AndroidKit companion runner. It introduces a new ui_tap tool for semantic element activation, extends ui_describe and ui_element_list to Android, and normalizes AndroidKit's accessibility tree to the cross-platform element-list shape. The CLI gains android-kit subcommands for installing, starting, stopping, and querying AndroidKit on devices. The MCP and tool schemas are updated to accept app_id (Android package name or Apple bundle ID), with validation to prevent conflicting identifiers. Documentation is updated and a new docs/androidkit.md is added. Reviewers should focus on the new AndroidKit integration points, the normalization logic for AndroidKit elements, and the cross-platform tool schema changes.


Automated review by siGit Code Review · commit 50c9e43

Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/xcrs.rs Outdated
Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/xcrs.rs Outdated
Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/mcp.rs
Comment thread crates/xcrs/src/mcp.rs Outdated
Comment thread crates/xcrs/src/mcp.rs
Comment thread crates/xcrs/src/xcrs.rs
setoelkahfi and others added 2 commits September 10, 2026 13:49
Co-Authored-By: siGit Code <noreply@sigit.si>
Co-Authored-By: siGit Code <noreply@sigit.si>
Comment thread crates/xcrs/README.md Outdated
# Conflicts:
#	crates/xcrs/src/mcp.rs

@sigit-code-review sigit-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change adds support for semantic UI automation on Android via the new XCRS AndroidKit companion runner. The CLI gains an android-kit subcommand for installing, starting, stopping, and probing AndroidKit on a device. The MCP contract is extended so that ui_describe, ui_element_list, and ui_tap work cross-platform: they now accept app_id (Android package name or Apple bundle id), and will use AndroidKit if available for Android targets. AndroidKit is detected and its capabilities are surfaced in device_capabilities. The element extraction logic is extended to normalize AndroidKit's accessibility hierarchy into the same shape as Apple's. Documentation is updated to describe AndroidKit setup and usage. Reviewers should focus on the new AndroidKit client, the cross-platform logic in MCP tools, and the correctness of element extraction and error handling for AndroidKit-backed flows.


Automated review by siGit Code Review · commit f9602df

Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/mcp.rs
Comment thread crates/xcrs/src/mcp.rs
Comment thread crates/xcrs/src/mcp.rs
Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/xcrs.rs
Comment thread crates/xcrs/src/mcp.rs
@setoelkahfi
setoelkahfi merged commit bfe4e5e into development Sep 10, 2026
6 checks passed
@setoelkahfi
setoelkahfi deleted the feature/xcrs-androidkit branch September 10, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants