CLAUDE.md · blitzdotdev/blitz-mac
CLAUDE.md from blitzdotdev/blitz-mac: 88 lines covering Build & Run Commands, Architecture, Key Patterns.
Template by blitzdotdev
Chalk Labs
Need help deploying CLAUDE.md · blitzdotdev/blitz-mac?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/blitzdotdev/blitz-mac/master/CLAUDE.md -o CLAUDE.md
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
A CLAUDE.md file: project memory Claude Code loads at the start of every session.
- For
- Claude Code
- Length
- 88 lines
- File
CLAUDE.md
Sections
- Build & Run Commands
- Architecture
- Key Patterns
First lines (shown under the repo's Apache-2.0 license)
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Build & Run Commands
```bash
# Debug build
swift build
# Release build
swift build -c release
# Fetch pinned helper dependency
git submodule update --init --recursive
# Bundle as macOS .app (signs with Developer ID)
bash scripts/bundle.sh release
# Full release: bump version, bundle app, build pkg, deploy
npm run release
# Run tests
swift test
# Run a single test
swift test --filter BlitzTests.SimctlClientTests/testParseDeviceList
# Build installer pkg
bash scripts/build-pkg.sh
```
## Architecture
**Blitz** is a native macOS SwiftUI app (requires macOS 14+) for iOS development. It provides simulator management, screen capture, App Store Connect integration, and an MCP server for Claude Code integration. Built with Swift Package Manager (no Xcode project). Source bundling also depends on the pinned ASC helper submodule in `deps/App-Store-Connect-CLI-helper` and a local Go toolchain.
### Single-target structure
All Swift source lives in `src/`. Core types (process execution, simulator control, device interaction, project metadata) live alongside UI, services, and the MCP server in one executable target.
### App State
Single `AppState` (`@Observable`) object at `AppState.swift` holds all app state. Child observable managers:
- `ProjectManager` — project list and loading
- `SimulatorManager` — simulator lifecycle (boot/shutdown via `SimctlClient`)
- `SimulatorStreamManager` — screen capture via `ScreenCaptureKit` + Metal rendering
- `ASCManager` — App Store Connect API integration
- `ProjectSetupManager` — project scaffolding for different project types
### Navigation
`AppTab` enum defines all tabs, grouped into Build (simulator, tests, assets), Release (ASC tabs), Insights, TestFlight, and Settings. `ContentView` uses `NavigationSplitView` with `SidebarView` + `DetailView` that switches on `appState.activeTab`.
### MCP Server (Claude Code Integration)
```
Claude Code ←stdio→ Bridge Script (~/.blitz/blitz-mcp-bridge.sh) ←HTTP→ MCPServerService (Swift actor)
```
- `MCPServerService` — Raw TCP HTTP server on a dynamic port. Writes port to `~/.blitz/mcp-port`. Handles JSON-RPC requests at `/mcp`.
- `MCPToolRegistry` — Static definitions of all MCP tools (~35 tools covering navigation, projects, simulator, settings, device interaction, ASC forms, build pipeline).
- `MCPToolExecutor` — Executes tool calls. Read-only tools execute immediately; mutating tools go through an approval flow (continuation-based) that shows a native macOS alert.
- `ApprovalRequest` — Model with `ToolCategory` enum that determines whether user approval is required.
### Device Interaction
Two paths depending on target device:
- **Simulator**: `SimctlClient` (xcrun simctl) for lifecycle + `IDBClient` for touch/swipe/describe (via `idb` CLI)
- **Physical device**: `WDAClient` (WebDriverAgent HTTP API on port 8100) for touch/swipe/screenshots
`DeviceInteractionService` is the unified actor that dispatches to either path.
### Screen Capture
`SimulatorCaptureService` uses `ScreenCaptureKit` (SCStream) to capture the Simulator.app window. Frames are rendered via `MetalRenderer` using a Metal pipeline. Stream pauses/resumes on tab switches to conserve resources.
### Project Storage
Projects are stored at `~/Library/Application Support/Blitz/projects/{projectId}/`. Each project has a `.blitz/project.json` metadata file (`BlitzProjectMetadata`). Supported project types: `blitz`, `react-native`, `swift`, `flutter`.
## Key Patterns
- All services that need isolation use Swift `actor` (e.g., `MCPServerService`, `DeviceInteractionService`)
- UI mutations go through `@MainActor` / `MainActor.run`
- External processes are managed via `ProcessRunner.run()` (async one-shot) or `ProcessRunner.stream()` (long-running with stdout/stderr callbacks, returns `ManagedProcess`)
- The app uses `@Observable` (Observation framework) rather than `ObservableObject`/`@Published`
- Linked system frameworks: ScreenCaptureKit, Metal, MetalKit, CoreMedia, AVFoundation, AppKitSignals
- Stars
- 1,760
- Forks
- 142
- Open issues
- 6
- Contributors
- 2
- Last commit (this folder)
- Apr 10, 2026 (6 months ago)
- Last release
- Apr 15, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/blitzdotdev/blitz-mac
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from blitzdotdev
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get CLAUDE.md · blitzdotdev/blitz-mac running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
CLAUDE.md · blitzdotdev/blitz-mac. Agent Mart. https://agentmart.dev/templates/blitzdotdev-blitz-mac-claude-md (last updated 2026-10-24)