SkillAgentSearch skills...

Xctree

Swift command-line tool that extracts and displays the accessibility tree from iOS Simulator apps, similar to Xcode's Accessibility Inspector but as a CLI tool.

Install / Use

/learn @ldomaradzki/Xctree
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

xctree

A Swift command-line tool that extracts and displays the accessibility tree from iOS Simulator apps, similar to Xcode's Accessibility Inspector but as a CLI tool.

xctree in action

Features

  • Extract accessibility tree from running iOS Simulator apps
  • Multiple output formats (tree view with colors, JSON)
  • Smart text wrapping and formatting
  • Comprehensive accessibility attribute support (role, label, value, traits, identifiers, hints)
  • Built with Swift Package Manager for easy distribution

Installation

Via Homebrew

brew tap ldomaradzki/xctree
brew install xctree

Build from Source

git clone https://github.com/ldomaradzki/xctree.git
cd xctree
swift build -c release
.build/release/xctree

Usage

# Display tree of currently running iOS Simulator app
xctree

# Output as JSON
xctree --format json

# Disable colors
xctree --no-color

# Set custom width for text wrapping
xctree --width 120

# Show help
xctree --help

Requirements

  • macOS 15.0 (Sequoia) or later
  • Xcode
  • Running iOS Simulator instance
  • Accessibility permissions for your terminal app (xctree will detect missing permissions and help you set them up on first run)

Output Format

Tree View (Default)

└── AXWindow
    label: Login Window
    ├── AXButton
    │   label: Submit
    │   traits: [button]
    │   id: submit_btn
    └── AXTextField
        label: Email Address
        value: user@example.com
        traits: [textField]
        id: email_field

JSON Format

{
  "identifier": "submit_btn",
  "label": "Submit",
  "role": "AXButton",
  "traits": ["button"]
}

Architecture

xctree is built with a modular Swift Package Manager structure:

  • AXWrapper - Library that wraps macOS Accessibility API
  • TreeFormatter - Library for output formatting (tree view, JSON, colors)
  • xctree - Executable that orchestrates the workflow

Limitations

  • Only works with iOS Simulator (not physical devices)
  • Uses public macOS Accessibility API - some iOS UI elements may not be exposed (e.g., tab bar buttons in Xcode 26)
  • Requires macOS 15.0+ and Accessibility permissions

Testing

swift test

License

MIT

Contributing

Contributions welcome! Please feel free to submit issues or pull requests.

View on GitHub
GitHub Stars21
CategoryProduct
Updated1mo ago
Forks0

Languages

Swift

Security Score

75/100

Audited on Feb 25, 2026

No findings