When working in VibeTunnel sessions, actively use the vt title command to communicate your current actions and progress:
vt title "Current action - project context"| #!/usr/bin/env bash | |
| # setup-agent-guides.sh | |
| # --------------------- | |
| # Bootstraps agent guide files for a repository. | |
| # | |
| # This script is intended for "new repo setup" and repeat-safe updates: | |
| # 1) Reads a source guide file (`.md` by default, or a provided path) | |
| # 2) Copies it to `AGENTS.md` (canonical guide file) | |
| # 3) Creates `CLAUDE.md` and `GEMINI.md` aliases to `AGENTS.md` | |
| # 4) Falls back to plain file copies if symlinks are unavailable |
| #!/usr/bin/env bash | |
| set -euo pipefail | |
| # update_agents.sh | |
| # Regenerates agents.md by sending (existing agents.md + new info) to Claude using a fixed system prompt. | |
| # | |
| # Requirements: | |
| # - bash, curl, jq | |
| # - ANTHROPIC_API_KEY environment variable set | |
| # |
| #!/usr/bin/env bash | |
| # Atomic commit helper to prevent AI's from accidentally deleting | |
| # changes from dangerous commands. I only allow AI agents to commit with this flow. | |
| # I disallow AI agents from git reset, git checkout, and git revert because | |
| # they are dangerous operations when multiple agents (or I) are editing | |
| # files in the same work tree. | |
| set -euo pipefail | |
| usage() { | |
| cat >&2 <<'EOF' |
| #!/usr/bin/env bun | |
| "use strict"; | |
| const fs = require("fs"); | |
| const { execSync } = require("child_process"); | |
| const path = require("path"); | |
| // ANSI color constants | |
| const c = { | |
| cy: '\033[36m', // cyan |
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.
| import Foundation | |
| protocol NetworkLoader { | |
| func loadData(using request: URLRequest, with completion: @escaping (Data?, HTTPURLResponse?, Error?) -> Void) | |
| } | |
| extension URLSession: NetworkLoader { | |
| /// Asyncronously load data using a URL Request | |
| /// - Parameters: | |
| /// - request: an unwrapped URLRequest |
| import Foundation | |
| import Combine | |
| enum APIError: Error, LocalizedError { | |
| case unknown, apiError(reason: String) | |
| var errorDescription: String? { | |
| switch self { | |
| case .unknown: | |
| return "Unknown error" |
| extension String { | |
| func getRawVersionString() -> String? { | |
| return self.removePrefix("v") | |
| .split(separator: "-") | |
| .first?.toString() | |
| } | |
| // Modified from the DragonCherry extension - https://github.com/DragonCherry/VersionCompare | |
| private func compare(toVersion targetVersion: String) -> ComparisonResult { | |
| let versionDelimiter = "." |
The base URL for this API is https://lambdaanimalspotter.herokuapp.com/api
Endpoint: /users/signup