<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Serhii Didanov</title>
    <description>The latest articles on DEV Community by Serhii Didanov (@serhii_didanov_6cb6e77e62).</description>
    <link>https://dev.to/serhii_didanov_6cb6e77e62</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3924523%2Feba161d7-88dc-47ec-86ff-fbd5c83ad0ce.png</url>
      <title>DEV Community: Serhii Didanov</title>
      <link>https://dev.to/serhii_didanov_6cb6e77e62</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/serhii_didanov_6cb6e77e62"/>
    <language>en</language>
    <item>
      <title>Building CLI Apps on iPad using an AI Agent and a Remote VPS</title>
      <dc:creator>Serhii Didanov</dc:creator>
      <pubDate>Tue, 14 Jul 2026 06:56:49 +0000</pubDate>
      <link>https://dev.to/serhii_didanov_6cb6e77e62/building-cli-apps-on-ipad-using-an-ai-agent-and-a-remote-vps-3aj8</link>
      <guid>https://dev.to/serhii_didanov_6cb6e77e62/building-cli-apps-on-ipad-using-an-ai-agent-and-a-remote-vps-3aj8</guid>
      <description>&lt;p&gt;A command-line app isn't the most obvious thing to build on a tablet. No real terminal, no filesystem you're used to from a desktop, no proper multitasking - that's how it looked just a couple of years ago. But move the actual code execution to a remote Linux server and turn the iPad into a thin client for driving an AI agent and reviewing the result, and the picture changes completely. Below is the workflow I've settled on for building Python CLI tools: a VPS + an AI coding agent (Claude Code) in tmux + &lt;a href="https://remote-ide.com" rel="noopener noreferrer"&gt;Remote IDE&lt;/a&gt; as a single entry point, all on an iPad with Stage Manager.&lt;/p&gt;



&lt;h2&gt;
  
  
  Why command-line apps specifically
&lt;/h2&gt;

&lt;p&gt;CLI is a forgiving genre for this kind of workflow. A command-line app has no browser UI to poke at by hand, no visual design that's easier to assemble with a mouse on a big screen. There's code, tests, dependencies, and a command to run it - and the whole "write - run - check the output" loop fits inside a terminal. That's exactly what an AI agent handles best: it writes code, runs it itself, sees the output in the same terminal, and keeps iterating without a human in the loop at every step.&lt;/p&gt;

&lt;p&gt;All that loop needs is SSH access to the server running the agent, and a way to look at files and diffs in parallel without losing the agent's session when switching windows. Here's how it plays out, step by step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step one: the server and the project
&lt;/h2&gt;

&lt;p&gt;It all starts with describing a server - a plain form with an address, a port, and an authentication method (password or SSH key; keys and passwords go straight into the device Keychain and nowhere else). After that you create the project itself: a name, a path on the server, and a &lt;strong&gt;"Use remote filesystem"&lt;/strong&gt; toggle.&lt;/p&gt;

&lt;p&gt;That toggle decides how the project behaves from here on. If it's off, Remote IDE works the usual way - local files in iCloud Drive, manually synced to the server through SFTP buttons in the toolbar. But for a CLI that the agent is building directly on the server, it's far more convenient to turn it on: the project's file tree in the sidebar is then pulled straight from the server over SFTP, and opening or saving a file in the editor writes directly to the remote filesystem. No local copy, no manual syncing, and - importantly - no risk of drifting from what the agent sees and edits in the terminal: the editor and the agent look at the exact same filesystem in real time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5tzp7bcovzhbgpv9xm8a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5tzp7bcovzhbgpv9xm8a.png" alt="Use remote filesystem" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step two: tmux - separate windows for the console and the agent
&lt;/h2&gt;

&lt;p&gt;Next is the terminal. The connection settings have a &lt;strong&gt;"Use tmux"&lt;/strong&gt; toggle: when it's on, the SSH session gets wrapped in tmux right on the server. The practical upside isn't just that the session survives a dropped connection (close the iPad's cover, lose Wi-Fi - reconnect and everything's still there, including whatever the agent was typing). Inside tmux I keep separate windows for the same project: one is a plain bash shell for git commands, running tests, manual checks; the second runs the CLI agent itself (Claude Code, Codex CLI, and the like). Every project gets its own named tmux session, so the agent and the console for &lt;code&gt;my-pet-project&lt;/code&gt; never collide with a neighboring project on the same server, and switching between several simultaneous tasks is just switching a tmux window, not hunting for where a session went.&lt;/p&gt;

&lt;p&gt;In practice it looks like this: the status bar at the bottom shows the active tmux window for the current project's session - you can keep both bash and the agent open, switching between them without losing context in either.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftxp5ekn0lchznoxpxid4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftxp5ekn0lchznoxpxid4.png" alt="Use tmux" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step three: Stage Manager instead of tab-switching
&lt;/h2&gt;

&lt;p&gt;Next comes iPadOS 26's multi-window support. The SSH console with the agent is just one stream of information; in parallel you want to see the code the agent just wrote, and what changed relative to the previous commit. Keeping all of that in one window with constant scrolling is awkward - spreading it across Stage Manager or Split View is exactly what it was built for.&lt;/p&gt;

&lt;p&gt;The usual working set looks like this: on the left, a window with the agent's console (Remote IDE in SSH mode); on the right, a second window with the editor and the project's file tree; and, when needed, a third floating window for Git status. These are all independent native app windows that Stage Manager manages the same way it manages windows from different apps: dragging, resizing, remembering the layout between sessions. The agent writes code in the terminal on the left while you flip through files and diffs on the right - without a single context switch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ecfe0zzqa5zk2vieqjh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ecfe0zzqa5zk2vieqjh.png" alt="Stage Manager" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Working with files as if they were local
&lt;/h2&gt;

&lt;p&gt;It's the remote filesystem toggle that makes this genuinely seamless. Open the &lt;code&gt;README.md&lt;/code&gt; the agent just created on the server, and it opens in the editor exactly like a regular local file, with the project's directory tree in the sidebar: &lt;code&gt;.claude&lt;/code&gt;, &lt;code&gt;.git&lt;/code&gt;, &lt;code&gt;.venv&lt;/code&gt;, &lt;code&gt;src&lt;/code&gt;, &lt;code&gt;tests&lt;/code&gt;, &lt;code&gt;pyproject.toml&lt;/code&gt;, &lt;code&gt;uv.lock&lt;/code&gt;. Edit by hand whatever you feel like fixing yourself, without waiting for the agent - the save goes straight to the server automatically, on every change. No "download, fix, upload back": the editor and the terminal work against the same copy of the files on the server at the same time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax highlighting that doesn't feel like a compromise
&lt;/h2&gt;

&lt;p&gt;The editor itself deserves a mention on its own. It's built on &lt;a href="https://github.com/simonbs/Runestone" rel="noopener noreferrer"&gt;Runestone&lt;/a&gt; with &lt;a href="https://tree-sitter.github.io/tree-sitter/" rel="noopener noreferrer"&gt;Tree-sitter&lt;/a&gt; grammars - so the highlighting isn't regex-based coloring, it's an actual syntax parse for the specific language. Python, TOML, Markdown, YAML, JSON, Shell, and a few dozen other languages are detected automatically from the file extension. Open a &lt;code&gt;pyproject.toml&lt;/code&gt; the agent just edited, and you see properly highlighted sections and values instead of a wall of grey text - that "this is a real code editor" feeling, not a text field in a monospace font.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft1bbgz2tj5strirs7d2p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft1bbgz2tj5strirs7d2p.png" alt="Syntax highlighting" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Git diffs without dropping into the console
&lt;/h2&gt;

&lt;p&gt;One of the things that makes a dedicated Git window pay for itself the most, specifically paired with an agent, is a fast visual check of what it actually touched, without typing &lt;code&gt;git diff&lt;/code&gt; by hand. The list of changed files - marked &lt;code&gt;A&lt;/code&gt; (added) and similar - opens next to the editor; picking a file immediately shows a line-by-line diff, additions highlighted in green and deletions in red. The agent edited &lt;code&gt;pyproject.toml&lt;/code&gt;, changing the &lt;code&gt;description&lt;/code&gt; in the manifest - you see it line by line, without having to ask the agent to summarize what it changed, and without the risk of that summary drifting from the actual diff.&lt;/p&gt;

&lt;p&gt;That's especially valuable when the agent finished a task in a few minutes "in the background": you come back not to a wall of chat text, but straight to a list of files and line-by-line changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4t0xf8fl7jhelrkcer8c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4t0xf8fl7jhelrkcer8c.png" alt="Git diffs" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The keyboard toolbar: a small thing that saves time every single minute
&lt;/h2&gt;

&lt;p&gt;The iPadOS on-screen keyboard isn't built for code - brackets, the period, &lt;code&gt;=&lt;/code&gt;, &lt;code&gt;#&lt;/code&gt; are tucked away on secondary layouts, and there's no Tab key at all. Above the keyboard, Remote IDE's editor shows an extra quick-input bar with exactly these symbols: &lt;code&gt;Tab&lt;/code&gt;, a pair of brackets with the cursor placed between them, a period, an equals sign, and a hash. It's always within reach whenever a text field is active - no need to dive into a third layer of the system keyboard for a single bracket. With a physical keyboard attached, the bar simply isn't needed and stays out of the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it looks like end to end
&lt;/h2&gt;

&lt;p&gt;Here's a scenario from actual use: I create a new remote project, &lt;code&gt;my-pet-project&lt;/code&gt;, with the remote filesystem enabled, pointing at a path on the server. In the agent's tmux window I ask it to scaffold a Python CLI with &lt;code&gt;typer&lt;/code&gt; and &lt;code&gt;uv&lt;/code&gt; - the agent creates the structure, &lt;code&gt;pyproject.toml&lt;/code&gt;, &lt;code&gt;README.md&lt;/code&gt;, tests, runs &lt;code&gt;uv run&lt;/code&gt;, and shows that the &lt;code&gt;hello&lt;/code&gt; and &lt;code&gt;version&lt;/code&gt; commands work. Then it edits &lt;code&gt;pyproject.toml&lt;/code&gt;, tightening up the &lt;code&gt;description&lt;/code&gt; - and I see it line by line in the Git window before the agent even reports it back. I ask the agent, "how do I run the app?" - I get the exact commands, &lt;code&gt;cd&lt;/code&gt;, &lt;code&gt;uv run my-pet-project hello --name World&lt;/code&gt;, &lt;code&gt;uv run my-pet-project version&lt;/code&gt; - and try them right there, without leaving the console, in the neighboring tmux window with plain bash. I open &lt;code&gt;README.md&lt;/code&gt; in the editor - it's already highlighted as Markdown and reads cleanly. All of this is three or four windows on screen at once, with not a single blind tab switch.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;Building command-line apps is about as close to an ideal fit for this setup as it gets: an agent that doesn't need a graphical interface, a server it can actually run on, and an iPad that stops being an "almost workstation" and becomes a full-fledged remote control for the whole process - with syntax highlighting, line-by-line diffs, per-project tmux windows, and multi-window support that finally helps instead of getting in the way.&lt;/p&gt;

&lt;p&gt;Remote IDE - to discuss a feature, suggest an idea, or report a problem, head to &lt;a href="https://github.com/sergeydi/Remote-IDE_Support/" rel="noopener noreferrer"&gt;GitHub Issues&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://apps.apple.com/app/remote-ide/id6762590018" rel="noopener noreferrer"&gt;Download Remote IDE on the App Store →&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Canonical source: &lt;a href="https://remote-ide.com/blog/remote-ide-cli-agent-en/" rel="noopener noreferrer"&gt;https://remote-ide.com/blog/remote-ide-cli-agent-en/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>ipad</category>
      <category>productivity</category>
    </item>
    <item>
      <title>iPad as a Developer Tool in the Age of Agentic Programming</title>
      <dc:creator>Serhii Didanov</dc:creator>
      <pubDate>Mon, 11 May 2026 08:44:12 +0000</pubDate>
      <link>https://dev.to/serhii_didanov_6cb6e77e62/ipad-as-a-developer-tool-in-the-age-of-agentic-programming-2n0l</link>
      <guid>https://dev.to/serhii_didanov_6cb6e77e62/ipad-as-a-developer-tool-in-the-age-of-agentic-programming-2n0l</guid>
      <description>&lt;p&gt;Not long ago, talking about the iPad as a serious developer tool was met with scepticism. A Netflix machine, a sketching pad, a presentation device — but not a real environment for writing and deploying code. That scepticism had merit: iPadOS lacked proper multitasking for years, tools for working with remote servers barely existed, and the constant need to switch between apps made any serious workflow frustrating.&lt;/p&gt;

&lt;p&gt;Today the picture has changed dramatically, and for two reasons that reinforce each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agentic Programming Is Changing the Nature of Developer Work
&lt;/h2&gt;

&lt;p&gt;The rise of AI agents — Claude Code, GitHub Copilot Agent, Cursor and similar tools — has fundamentally changed what a developer's workflow looks like. A significant portion of actual code writing is now handled by the agent: you describe the task, the agent executes it, you review the result, steer the next step, check the diff again. It is more dialogue, direction, and navigation than intensive keyboard input.&lt;/p&gt;

&lt;p&gt;This shift changes what you need from a device. Previously, a "powerful developer tool" meant above all a fast machine with a comfortable physical keyboard — because you spent most of your time typing code directly. Now other things matter more: a comfortable way to review changes, quick navigation between files, the ability to keep several contexts in view at once — code, terminal, documentation, agent chat. That is a job for a good display, a thoughtful interface, and flexible multitasking — not raw CPU speed.&lt;/p&gt;

&lt;p&gt;In this model, an iPad with an external keyboard and Apple Pencil stops being a compromise. It becomes a deliberate choice: lightweight, with an excellent display and long battery life. Monitoring an agent's progress, reading code, reviewing diffs, making commits, deploying — all of this maps naturally onto a touch interface. The only missing piece was the right app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stage Manager: iPad Finally Has Real Windowing
&lt;/h2&gt;

&lt;p&gt;The second key factor is &lt;a href="https://support.apple.com/de-de/105075" rel="noopener noreferrer"&gt;Stage Manager&lt;/a&gt;, introduced in iPadOS and significantly expanded in iPadOS 26. This is genuine multi-window mode: multiple apps running simultaneously, overlapping windows of any size that can be freely moved and resized, and quick switching between sets of working windows.&lt;/p&gt;

&lt;p&gt;For developers, this matters a great deal. Previously, working on an iPad looked something like this: open the editor and you can't see the terminal; switch to the terminal and you lose sight of the code; want to check the docs — another switch. Every context switch breaks the flow. Stage Manager removes that barrier: you can keep a code editor, an SSH console, a documentation browser, and an agent window side by side — exactly as you would on a Mac or PC.&lt;/p&gt;

&lt;p&gt;iPadOS 26 takes Stage Manager even further: apps built against the new API get native support for multiple independent windows within a single application. This is not a hack or emulation — it is a full windowing system on a tablet.&lt;/p&gt;

&lt;p&gt;There was, however, a gap: when these capabilities arrived, no app existed that took full advantage of them &lt;em&gt;and&lt;/em&gt; brought all the essential developer tools together in one place. Existing SSH clients had no real code editor. Code editors had no terminal. And native multi-window support was barely mentioned in most of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remote IDE: A Development Environment Built for iPadOS 26
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://remote-ide.com" rel="noopener noreferrer"&gt;Remote IDE&lt;/a&gt; was born from exactly that gap. It was built from scratch for iPadOS 26, written in Swift 6 with SwiftUI, with full Stage Manager and multi-window support from day one. No legacy code, no compromises for backwards compatibility — just what a modern developer or DevOps engineer actually needs when working from an iPad.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ukwrehgtumhjobg7517.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ukwrehgtumhjobg7517.JPG" alt=" " width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The app brings four core tools together in a single interface.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code Editor with Syntax Highlighting
&lt;/h3&gt;

&lt;p&gt;Remote IDE includes a full-featured code editor built on the Runestone library — the same foundation used in a number of professional iOS editors. It supports Swift, Python, JavaScript, TypeScript, Go, Rust, C, C++, Ruby, PHP, Shell, JSON, YAML, Markdown, HTML, CSS and dozens of other languages via Tree-sitter. The language is detected automatically from the file extension.&lt;/p&gt;

&lt;p&gt;Practically important details: find and replace, undo/redo, configurable indentation (spaces or tabs), line numbers, word wrap. Above the on-screen keyboard an extra input bar appears with Tab, brackets, dot, equals sign, and hash — characters that are buried several screens deep on the standard iOS keyboard. Files are saved automatically on every change, so losing edits is impossible.&lt;/p&gt;

&lt;h3&gt;
  
  
  SSH Console and Server Management
&lt;/h3&gt;

&lt;p&gt;The built-in terminal, powered by SwiftTerm, provides a full interactive session with a remote Linux server directly from the iPad. Both password and SSH key authentication are supported. All credentials — passwords and private keys — are stored exclusively in the device's Keychain and never leave it. The terminal handles ANSI/VT100 escape sequences correctly, meaning colour output, interactive programs like vim or htop, progress bars, and similar displays all work as expected.&lt;/p&gt;

&lt;p&gt;A feature that anyone who spends time in the terminal will appreciate: a saved SSH commands library. Long commands like &lt;code&gt;cd /Users/username/Projects/MyProject &amp;amp;&amp;amp; npm run build:production&lt;/code&gt; can be saved with a descriptive name and triggered with a single tap. The most recently executed command is also available in the console toolbar — repeat it with one touch.&lt;/p&gt;

&lt;h3&gt;
  
  
  File Manager and SFTP Sync
&lt;/h3&gt;

&lt;p&gt;Local project files are stored in iCloud Drive, which means they are available across all your devices and backed up automatically. The file manager in the sidebar shows the project hierarchy and supports creating, renaming, and deleting files and folders, as well as opening any file in the editor with a single tap.&lt;/p&gt;

&lt;p&gt;Synchronisation with the remote server uses SFTP. Dedicated buttons in the console toolbar let you copy the entire project to the server — or pull files back from the server — recursively, preserving the directory structure. A progress indicator is shown during the transfer, and you can cancel at any time. Everything happens without leaving the app or switching to a separate SFTP client.&lt;/p&gt;

&lt;h3&gt;
  
  
  Git Integration
&lt;/h3&gt;

&lt;p&gt;Change tracking is available in a dedicated Git window — and this is where Stage Manager really shines. You can open the list of modified files alongside the editor, select a file, and immediately see the diff with added lines highlighted in green and removed lines in red. No switching between screens — everything is visible at the same time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Native Multi-Window Support
&lt;/h3&gt;

&lt;p&gt;Remote IDE uses the iPadOS 26 multi-window API directly. The Git status window, the AI agent window, and the main working window each launch as separate native app windows that Stage Manager manages independently. You decide how to arrange them on screen, how large to make each one, and whether you need them open simultaneously or one at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Looks Like in Practice
&lt;/h2&gt;

&lt;p&gt;To move beyond abstractions, here is a concrete scenario.&lt;/p&gt;

&lt;p&gt;You are working on a Python backend service. The iPad is on the desk with a Magic Keyboard attached. Stage Manager holds two windows: Remote IDE takes up the larger part of the screen; Safari with the FastAPI docs sits to the right, narrower.&lt;/p&gt;

&lt;p&gt;Inside Remote IDE you see three areas at once: the file manager on the left, the code editor at the top, the SSH console at the bottom. In the console, Claude Code is running on the remote server. You type to the agent: "Add an endpoint for exporting data to CSV, use the existing User model." The agent gets to work — creates a file, edits the router, updates dependencies.&lt;/p&gt;

&lt;p&gt;While the agent is running, you switch to the Git window (floating separately in Stage Manager) and check what has changed since the last commit. You return to the main window — the agent is done. You open the new file in the editor, review the code, notice that the date format needs adjusting. You edit it directly in the editor — the file saves automatically. You press "copy to server" — the SFTP operation runs in the background, the toolbar indicator shows progress. A few seconds later, a checkmark confirms success. You type the command to restart the service — it is already saved in your command library, so you trigger it with one tap.&lt;/p&gt;

&lt;p&gt;This is not "almost like a computer." This is real development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security and Credential Handling
&lt;/h2&gt;

&lt;p&gt;The way Remote IDE handles sensitive data deserves specific attention. SSH passwords and private keys are never stored in plain text, never written to the file system, and never placed in UserDefaults. Storage uses exclusively the device's Keychain — Apple's system-level secure store. Private keys are not exposed through the ShareSheet, are not included in any logs, and are never transmitted beyond the app. SSH connections are not established or re-established automatically without an explicit user action.&lt;/p&gt;

&lt;p&gt;For a developer working with production servers, this is not a minor detail — it is the basic standard any tool in that context should meet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who This App Is For
&lt;/h2&gt;

&lt;p&gt;Remote IDE is aimed at several types of users. Developers who already use the iPad as their primary or secondary device and are tired of the compromises in existing tools. DevOps engineers who need quick server access with as few steps as possible. Technical professionals who value mobility and want a capable tool at hand — on the road, in a café, between meetings.&lt;/p&gt;

&lt;p&gt;The app supports both portrait and landscape orientation, adapts to Slide Over and Split View, and works with external keyboards. The interface is localised into English, Russian, Ukrainian, and German. Light and dark themes follow the system setting automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open Development
&lt;/h2&gt;

&lt;p&gt;Remote IDE is a living project that evolves with feedback from its users. You can discuss the current feature set, propose new capabilities, or report issues directly in &lt;a href="https://github.com/sergeydi/Remote_IDE/issues" rel="noopener noreferrer"&gt;GitHub Issues&lt;/a&gt;. That is where the app's roadmap is shaped — every user's input directly influences development priorities.&lt;/p&gt;

&lt;p&gt;It is also worth noting that the app handles failures gracefully: if the connection drops during a file transfer, the operation is cleanly interrupted without leaving partial data behind; all network operations run asynchronously with a visible loading indicator; and when something goes wrong, the user sees a clear description of the problem and the available actions.&lt;/p&gt;

&lt;p&gt;The iPad has long deserved a tool that treats it as a serious working platform rather than a port of a cut-down desktop experience. With Stage Manager in iPadOS 26 and the spread of agentic programming, the moment for that tool has arrived. Remote IDE is built for exactly this moment.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Try Remote IDE on your iPad:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apps.apple.com/app/remote-ide/id6762590018" rel="noopener noreferrer"&gt;Download on the App Store →&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Requires iPadOS 26 or later.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>mobile</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
