azizuysal/simtool

A beautiful and powerful TUI for managing iOS Simulators

35

stars

110

commits

Go

primary language

Sep 6, 2026

updated

go
ios
macos
simulator
tui

README

SimTool

macOS Go License Release codecov Quality Gate Status Downloads

A beautiful and powerful TUI for managing iOS Simulators

Navigate your iOS simulators, browse apps, explore files, and preview content—all from your terminal.

SimTool Demo

✨ Features

🚀 Simulator Management

  • List all iOS simulators with status indicators (running/stopped)
  • Boot simulators directly from the TUI
  • Smart filtering to show only simulators with apps
  • Real-time search by name, runtime, or state

📱 App Browsing

  • Browse installed apps with detailed information
  • View app metadata: Bundle ID, version, size, last modified date
  • All Apps view: See apps from all simulators in one place
  • Open in Finder: Quick access to app containers
  • Lightning-fast search across all app properties

📁 File Explorer

  • Navigate app containers with an intuitive file browser
  • Breadcrumb navigation for easy orientation
  • Smart file previews based on content type
  • Quick Finder access for any file or folder

🎨 Rich File Viewing

📝 Text Files

  • Syntax highlighting for 100+ languages
  • Automatic language detection
  • Theme-aware colors
  • Lazy loading for large files

🖼️ Images

  • Terminal-based previews
  • Support for PNG, JPEG, GIF, WebP, BMP, TIFF
  • SVG rendering with ASCII art
  • Automatic format detection

📦 Archives

  • Browse ZIP, JAR, IPA, APK contents
  • Tree structure visualization
  • Compression statistics
  • No extraction needed

🗄️ Databases

  • SQLite browser with table navigation
  • Paginated data viewing
  • Schema inspection
  • Column-aligned display

⚡ Additional Features

  • Property List Support: Automatic binary plist → XML conversion
  • Binary File Viewer: Hex dump with ASCII preview
  • Dynamic Theming: 60+ themes, auto dark/light mode switching
  • Vim Navigation: Full keyboard control with customizable shortcuts
  • Responsive Design: Adapts to any terminal size
  • Lightning Fast: Instant navigation and lazy loading

Requirements

  • macOS 13.0 or later
  • Full Xcode with an iOS Simulator runtime; the Command Line Tools alone do not include simctl
  • Go 1.27.1, installed through mise, for building from source

Installation

brew install azizuysal/tap/simtool

To update:

brew upgrade simtool

Go Install

go install github.com/azizuysal/simtool/cmd/simtool@latest

Download Binary

Download simtool_<version>_darwin_all.tar.gz from Releases, extract it with tar -xzf, and move simtool to a directory on your PATH.

Build from Source

git clone https://github.com/azizuysal/simtool.git
cd simtool
mise install
mise exec -- make install

Verifying releases

Release artifacts are signed with Cosign using Sigstore's keyless signing. There are no long-lived keys — each signature's identity is tied to the specific GitHub Actions workflow run that produced the release, recorded in the public Sigstore transparency log.

New releases ship a checksums.txt.sigstore.json bundle alongside the archives. Signing the checksums file protects every artifact transitively via SHA-256.

To verify a new release:

# One-time: brew install cosign

# From the release page, download: the archive, checksums.txt, checksums.txt.sigstore.json
# Replace vX.Y.Z with the release tag you downloaded.
cosign verify-blob \
  --bundle checksums.txt.sigstore.json \
  --certificate-identity 'https://github.com/azizuysal/simtool/.github/workflows/release.yml@refs/tags/vX.Y.Z' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  checksums.txt

# If verification succeeds, confirm the archive matches:
shasum -a 256 -c checksums.txt --ignore-missing

For the older v1.1.1 release, use its legacy checksums.txt.pem and checksums.txt.sig sidecars:

cosign verify-blob \
  --certificate checksums.txt.pem \
  --signature checksums.txt.sig \
  --certificate-identity 'https://github.com/azizuysal/simtool/.github/workflows/release.yml@refs/tags/v1.1.1' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  checksums.txt

Homebrew installs don't need manual verification — the tap formula pins each release to a specific SHA-256, so any tampering after the fact is caught by brew install itself.

In addition to signatures, each release includes a CycloneDX SBOM sidecar (*.cdx.json) cataloging every dependency baked into the binary.

📖 Usage

Quick Start

# Launch SimTool
simtool

# Start with all apps view
simtool --apps

Keyboard Shortcuts

KeyAction
↑/↓ or j/kNavigate up/down
←/→ or h/lGo back/enter
SpaceBoot simulator / Open in Finder
/Search mode
fFilter (simulators with apps only)
qQuit
g/GJump to top/bottom

All shortcuts are customizable.

⚙️ Configuration

SimTool uses a TOML configuration file located at ~/.config/simtool/config.toml.

# Start with all apps view by default
[startup]
initial_view = "all_apps"

# Theme configuration
[theme]
mode = "auto"  # auto, dark, or light
dark_theme = "dracula"
light_theme = "github"

# Custom key bindings
[keys]
up = ["up", "k"]
down = ["down", "j"]
quit = ["q", "ctrl+c"]

Generate an example configuration:

simtool --generate-config

See Configuration Guide for all options.

🎨 Themes

SimTool includes 60+ beautiful syntax highlighting themes. Popular choices:

Dark: dracula, monokai, github-dark, nord, tokyo-night
Light: github, solarized-light, tango, papercolor-light

List all themes:

simtool --list-themes

Contributing

Contributions are welcome! Please read the Contributing Guide for details on the development process.

Development Setup

git clone https://github.com/azizuysal/simtool.git
cd simtool
mise install
mise exec -- make build

See Development Guide for architecture details.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

🌟 Star History

Star History Chart


Made with ❤️ by Aziz Uysal

Contributors

azizuysal

110 commits

azizuysal/simtool

A beautiful and powerful TUI for managing iOS Simulators

35

stars

110

commits

Go

primary language

Sep 6, 2026

updated

go
ios
macos
simulator
tui

README

SimTool

macOS Go License Release codecov Quality Gate Status Downloads

A beautiful and powerful TUI for managing iOS Simulators

Navigate your iOS simulators, browse apps, explore files, and preview content—all from your terminal.

SimTool Demo

✨ Features

🚀 Simulator Management

  • List all iOS simulators with status indicators (running/stopped)
  • Boot simulators directly from the TUI
  • Smart filtering to show only simulators with apps
  • Real-time search by name, runtime, or state

📱 App Browsing

  • Browse installed apps with detailed information
  • View app metadata: Bundle ID, version, size, last modified date
  • All Apps view: See apps from all simulators in one place
  • Open in Finder: Quick access to app containers
  • Lightning-fast search across all app properties

📁 File Explorer

  • Navigate app containers with an intuitive file browser
  • Breadcrumb navigation for easy orientation
  • Smart file previews based on content type
  • Quick Finder access for any file or folder

🎨 Rich File Viewing

📝 Text Files

  • Syntax highlighting for 100+ languages
  • Automatic language detection
  • Theme-aware colors
  • Lazy loading for large files

🖼️ Images

  • Terminal-based previews
  • Support for PNG, JPEG, GIF, WebP, BMP, TIFF
  • SVG rendering with ASCII art
  • Automatic format detection

📦 Archives

  • Browse ZIP, JAR, IPA, APK contents
  • Tree structure visualization
  • Compression statistics
  • No extraction needed

🗄️ Databases

  • SQLite browser with table navigation
  • Paginated data viewing
  • Schema inspection
  • Column-aligned display

⚡ Additional Features

  • Property List Support: Automatic binary plist → XML conversion
  • Binary File Viewer: Hex dump with ASCII preview
  • Dynamic Theming: 60+ themes, auto dark/light mode switching
  • Vim Navigation: Full keyboard control with customizable shortcuts
  • Responsive Design: Adapts to any terminal size
  • Lightning Fast: Instant navigation and lazy loading

Requirements

  • macOS 13.0 or later
  • Full Xcode with an iOS Simulator runtime; the Command Line Tools alone do not include simctl
  • Go 1.27.1, installed through mise, for building from source

Installation

brew install azizuysal/tap/simtool

To update:

brew upgrade simtool

Go Install

go install github.com/azizuysal/simtool/cmd/simtool@latest

Download Binary

Download simtool_<version>_darwin_all.tar.gz from Releases, extract it with tar -xzf, and move simtool to a directory on your PATH.

Build from Source

git clone https://github.com/azizuysal/simtool.git
cd simtool
mise install
mise exec -- make install

Verifying releases

Release artifacts are signed with Cosign using Sigstore's keyless signing. There are no long-lived keys — each signature's identity is tied to the specific GitHub Actions workflow run that produced the release, recorded in the public Sigstore transparency log.

New releases ship a checksums.txt.sigstore.json bundle alongside the archives. Signing the checksums file protects every artifact transitively via SHA-256.

To verify a new release:

# One-time: brew install cosign

# From the release page, download: the archive, checksums.txt, checksums.txt.sigstore.json
# Replace vX.Y.Z with the release tag you downloaded.
cosign verify-blob \
  --bundle checksums.txt.sigstore.json \
  --certificate-identity 'https://github.com/azizuysal/simtool/.github/workflows/release.yml@refs/tags/vX.Y.Z' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  checksums.txt

# If verification succeeds, confirm the archive matches:
shasum -a 256 -c checksums.txt --ignore-missing

For the older v1.1.1 release, use its legacy checksums.txt.pem and checksums.txt.sig sidecars:

cosign verify-blob \
  --certificate checksums.txt.pem \
  --signature checksums.txt.sig \
  --certificate-identity 'https://github.com/azizuysal/simtool/.github/workflows/release.yml@refs/tags/v1.1.1' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  checksums.txt

Homebrew installs don't need manual verification — the tap formula pins each release to a specific SHA-256, so any tampering after the fact is caught by brew install itself.

In addition to signatures, each release includes a CycloneDX SBOM sidecar (*.cdx.json) cataloging every dependency baked into the binary.

📖 Usage

Quick Start

# Launch SimTool
simtool

# Start with all apps view
simtool --apps

Keyboard Shortcuts

KeyAction
↑/↓ or j/kNavigate up/down
←/→ or h/lGo back/enter
SpaceBoot simulator / Open in Finder
/Search mode
fFilter (simulators with apps only)
qQuit
g/GJump to top/bottom

All shortcuts are customizable.

⚙️ Configuration

SimTool uses a TOML configuration file located at ~/.config/simtool/config.toml.

# Start with all apps view by default
[startup]
initial_view = "all_apps"

# Theme configuration
[theme]
mode = "auto"  # auto, dark, or light
dark_theme = "dracula"
light_theme = "github"

# Custom key bindings
[keys]
up = ["up", "k"]
down = ["down", "j"]
quit = ["q", "ctrl+c"]

Generate an example configuration:

simtool --generate-config

See Configuration Guide for all options.

🎨 Themes

SimTool includes 60+ beautiful syntax highlighting themes. Popular choices:

Dark: dracula, monokai, github-dark, nord, tokyo-night
Light: github, solarized-light, tango, papercolor-light

List all themes:

simtool --list-themes

Contributing

Contributions are welcome! Please read the Contributing Guide for details on the development process.

Development Setup

git clone https://github.com/azizuysal/simtool.git
cd simtool
mise install
mise exec -- make build

See Development Guide for architecture details.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

🌟 Star History

Star History Chart


Made with ❤️ by Aziz Uysal

Contributors

azizuysal

110 commits

Languages

Go

99.3%