explaingit

holzschu/a-shell

Analysis updated 2026-07-03

3,731PerlAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A full Unix-style terminal app for iPhone and iPad that lets you run Python, JavaScript, C, and shell commands directly on iOS, with multi-window support and Apple Shortcuts integration.

Mindmap

mindmap
  root((a-shell))
    What it does
      Unix terminal on iOS
      Run scripts on device
      Compile C and C++ locally
    Built-in Languages
      Python
      Lua
      JavaScript
      C and C++
    Key Features
      Multi-window on iPad
      Apple Shortcuts support
      pkg package manager
      TeX typesetting
    Customization
      Font and colors per window
      .profile startup script
      Named folder bookmarks
    Audience
      Developers on mobile
      Students
      Power users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Write and run a Python data-processing script on your iPad during a commute without needing a laptop.

USE CASE 2

Use Apple Shortcuts to automate a workflow that downloads a file, runs a shell command to transform it, and saves the output to Files.

USE CASE 3

Compile a small C utility directly on your iPhone using the built-in compiler, with no desktop machine required.

USE CASE 4

Set up a .profile startup script so each new terminal window opens with your preferred environment variables and aliases ready.

What is it built with?

PerlPythonWebAssemblyLuaJavaScriptC

How does it compare?

holzschu/a-shelljimsalterjrs/sanoidexiftool/exiftool
Stars3,7313,7584,680
LanguagePerlPerlPerl
Setup difficultyeasymoderateeasy
Complexity2/53/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Install from the App Store, no local build needed. Compiling from source takes several hours.

Open-source project, use and compile freely. Available as a free download on the iOS App Store.

In plain English

a-Shell is a terminal app for iPhone and iPad that brings a Unix-style command line to iOS. A terminal is the text-based interface that software developers and system administrators use to run commands, manage files, and execute scripts. iOS does not include one by default, so a-Shell fills that gap and is available on the App Store. The app includes a wide set of built-in commands for working with files and networks, as well as several programming languages: Python, Lua, JavaScript, C, and C++. For C and C++ code, you compile programs directly on your device and they run as WebAssembly, which is a format that can run safely inside a controlled environment. You can also install additional precompiled commands using a package manager called pkg. TeX is available for typesetting documents but is not installed by default and downloads on demand. One of the app's notable features is support for multiple windows on iPad. Each window maintains its own command history, current directory, and visual appearance. You can change the font, font size, colors, and cursor style independently for each window through a configuration command. A .profile file runs automatically when a new window opens, so you can set up environment variables or run startup tasks the way you would on a desktop machine. a-Shell integrates with Apple Shortcuts, which lets you automate tasks by stringing together commands. You can write a Shortcut that downloads a file, processes it with Python or a shell script, and saves the result, all without manually opening the app. File access works through iOS's bookmarking system, which lets you pick folders from other apps and then return to them later using named bookmarks. The project is open source and can be compiled from source, though the full build including all Python libraries takes several hours. VoiceOver support is built in for accessibility.

Copy-paste prompts

Prompt 1
I'm using a-Shell on my iPad and want to run a Python script that fetches JSON from an API and saves it to a file. Write the script and the a-Shell commands to install any needed packages with pkg.
Prompt 2
Show me how to create an Apple Shortcut that opens a-Shell, runs a shell script I have saved in iCloud Drive, and shows me the output as a notification.
Prompt 3
I want to write a .profile for a-Shell that sets my PATH, defines a few aliases, and prints a welcome message every time I open a new window. Write the .profile contents.
Prompt 4
In a-Shell, how do I compile and run a simple C program that reads a text file line by line and counts words? Show me the compile command and the C source.

Frequently asked questions

What is a-shell?

A full Unix-style terminal app for iPhone and iPad that lets you run Python, JavaScript, C, and shell commands directly on iOS, with multi-window support and Apple Shortcuts integration.

What language is a-shell written in?

Mainly Perl. The stack also includes Perl, Python, WebAssembly.

What license does a-shell use?

Open-source project, use and compile freely. Available as a free download on the iOS App Store.

How hard is a-shell to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is a-shell for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub holzschu on gitmyhub

Verify against the repo before relying on details.