Skip to content

Instantly share code, notes, and snippets.

View steipete's full-sized avatar
🌴
On vacation

Peter Steinberger steipete

🌴
On vacation
View GitHub Profile
@steipete
steipete / claude.md
Created July 3, 2025 12:27
VibeTunnel Terminal Title Management

VibeTunnel Terminal Title Management

When working in VibeTunnel sessions, actively use the vt title command to communicate your current actions and progress:

Usage

vt title "Current action - project context"

Guidelines

@steipete
steipete / gemini.md
Created June 29, 2025 09:38
gemini.md to teach Claude to use google's gemini cli as his tool

Using Gemini CLI for Large Codebase Analysis

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.

File and Directory Inclusion Syntax

Use the @ syntax to include files and directories in your Gemini prompts. The paths should be relative to WHERE you run the gemini command:

Examples:

@steipete
steipete / xcode-agent-manual.md
Created June 26, 2025 11:56
Xcode instructions as alternative to XcodeBuildMCP, using built-in cli commands, axe and the new xcsentinel

Xcode Agent Command-Line Manual

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.

1. Installation

These tools must be installed on the system. Use Homebrew for installation.

@steipete
steipete / XcodeBuild.md
Created June 26, 2025 11:18
XcodeBuildMCP but converted to a markdown.

xcode-manual.md

# 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
@steipete
steipete / compare-gemini-cli-openai-codex.md
Created June 25, 2025 22:19
compare gemini and codex. What are the key technical differences between the two? Which is better?

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.

At a Glance: Gemini CLI vs. Codex CLI

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)

Mobile Safari's 100% Height Dilemma

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.

The Disappearing Browser Chrome

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
@steipete
steipete / swift-testing-playbook.md
Last active July 8, 2025 04:55
The Ultimate Swift Testing Playbook (feed it your agents for better tests!)

The Ultimate Swift Testing Playbook (2024 WWDC Edition, expanded with Apple docs from June 2025)

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.


1. Migration & Tooling Baseline

@steipete
steipete / terminator.scpt
Last active May 22, 2025 08:21
Hasta la *vista, shell — the T-800 that babysits (and occasionally obliterates) your Terminal tabs. Built to kill hung jobs, not humans. Helps Cursor to keep the loop! Copy this into .cursor/scripts/terminator.scpt (or similar) and point Cursor/Windsurf to that file and prompt it with the comment below.
Moved to https://github.com/steipete/Terminator
@steipete
steipete / concat.sh
Created May 17, 2025 23:32
Squashes a whole codebase into one text file, skipping build artefacts, copies it right into the clipboard.
#!/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: