When working in VibeTunnel sessions, actively use the vt title
command to communicate your current actions and progress:
vt title "Current action - project context"
When analyzing large codebases or multiple files that might exceed context limits, use the Gemini CLI with its massive context window. Use gemini -p
to leverage Google Gemini's large context capacity.
Use the @
syntax to include files and directories in your Gemini prompts. The paths should be relative to WHERE you run the gemini command:
This document is the complete guide for interacting with Xcode projects, simulators, and devices using a powerful, native command-line toolchain. This manual supersedes any MCP-based approach by providing direct access to a more robust and efficient set of tools.
The primary tools are xcsentinel
for build orchestration and log management, and axe
for UI automation.
These tools must be installed on the system. Use Homebrew for installation.
# Xcode and Swift Command-Line Manual for Agents
This document provides a concise guide to performing common Xcode and Swift development tasks using terminal commands. It is intended to be a direct, actionable reference for AI agents, replacing the need for an MCP.
## 1. Project and Workspace Operations
### Listing Schemes, Configurations, and Targets
Excellent. This is a fantastic comparison task. Let's break down the technical differences between Gemini CLI and Codex CLI based on their file structures and documentation, and then determine which one might be "better" for different use cases.
Feature | Gemini CLI | Codex CLI |
---|---|---|
Core Language | TypeScript (Node.js) | Hybrid: Rust & TypeScript |
Architecture | Client/Server (both in TypeScript) | Hybrid: Rust core/TUI with a parallel JS/React TUI |
Sandboxing | Docker/Podman or macOS Seatbelt | Rust-based execpolicy engine, macOS Seatbelt, Linux Landlock |
UI Framework | React & Ink (TypeScript) | React & Ink (JS) AND Ratatui (Rust) |
Whether you're developing a web application with native-ish UI, or just a simple modal popup overlay that covers the viewport, when it comes to making things work on iDevices in Mobile Safari, you're in for a decent amount of pain and suffering. Making something "100% height" is not as easy as it seems.
This post is a collection of Mobile Safari's gotchas and quirks on that topic, some with solutions and fixes, some without, in good parts pulled from various sources across the internets, to have it all in one place. Things discussed here apply to iOS8, iOS9 and iOS10.
Screen real estate on smartphones is limited, so Mobile Safari collapses the browser chrome (address bar and optional tab bar at the top, and tool bar at the bottom) when the user scrolls down. When you want to make something span exactly the height of the viewport, or pin something to the bottom of the screen, this can get tricky because the viewport changes size (or
Showing All Messages | |
Ld /Users/steipete/Library/Developer/Xcode/DerivedData/VibeTunnel-hgwgrcrdkatvenhlfblnnckmdjdj/Build/Products/Debug/VibeTunnel.app/Contents/MacOS/VibeTunnel normal (in target 'VibeTunnel' from project 'VibeTunnel-Mac') | |
cd /Users/steipete/Projects/vibetunnel/mac | |
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Xlinker -reproducible -target arm64-apple-macos14.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -O0 -L/Users/steipete/Library/Developer/Xcode/DerivedData/VibeTunnel-hgwgrcrdkatvenhlfblnnckmdjdj/Build/Products/Debug -F/Users/steipete/Library/Developer/Xcode/DerivedData/VibeTunnel-hgwgrcrdkatvenhlfblnnckmdjdj/Build/Products/Debug/PackageFrameworks -F/Users/steipete/Library/Developer/Xcode/DerivedData/VibeTunnel-hgwgrcrdkatvenhlfblnnckmdjdj/Build/Products/Debug -Xlinker -rpath -Xlinker @executable_path -Xlinker -rpath -Xlinker /Users/steipete/Library/Developer |
Updated with info from https://developer.apple.com/documentation/testing fetched via Firecrawl on June 7, 2025.
See also my blog: See also my blog post: https://steipete.me/posts/2025/migrating-700-tests-to-swift-testing
A hands-on, comprehensive guide for migrating from XCTest to Swift Testing and mastering the new framework. This playbook integrates the latest patterns and best practices from WWDC 2024 and official Apple documentation to make your tests more powerful, expressive, and maintainable.
Moved to https://github.com/steipete/Terminator |
#!/usr/bin/env bash | |
# | |
# concat.sh [root-dir] [output-file] | |
# | |
# Squashes a whole codebase into one text file, skipping build artefacts: | |
# • ignores node_modules, dist, .git, .turbo, .next, out | |
# • omits lockfiles and *.min.* noise | |
# • copies the result straight to the macOS clipboard (pbcopy) | |
# | |
# Example: |