Skip to content
CAI
Software that uses CAICheck a score

blitzdotdev/blitz-mac

60.8

Adequate · 1 October 2026

37.7k

lines of production code

Swift

with TypeScript

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a macOS-native IDE and development environment for building iOS and macOS applications, with deep integration for App Store Connect automation. It provides a unified dashboard for managing projects, simulators, and App Store submissions, while offering built-in AI agent support and a Model Context Protocol (MCP) interface for external tooling. The platform handles the full lifecycle from project scaffolding and local development to automated builds, signing, and release management on the Apple App Store.

Features

Add React Native notes application template

Introduced a new \rn-notes-template\ scaffolding that provides a complete React Native application for managing notes. This template includes a local-first architecture using AsyncStorage for authentication and data persistence, a tabbed UI with Home, Notes, Profile, and Settings screens, and a theming system supporting light and dark modes. It also features a development environment setup with Metro, Babel, and a custom \index.html\ that injects console and network logging for debugging.

src/templates · high confidence

Added debug launch logging helpers

Introduced new utility functions (Log, LogClear) and a dedicated logging module (BlitzLaunchLog) to capture application launch events. In debug builds, these helpers write timestamped, file-and-line-stamped messages to a shared log file, while in release builds they act as no-ops to avoid performance overhead.

src/utils · high confidence

Introduce App Wall data models and sync state persistence

This change introduces the foundational data structures for the App Wall feature, including models for apps, versions, submission events, reviewer feedback, and summary statistics, along with a mechanism to persist synced bundle IDs in UserDefaults to optimize backend queries.

src/models/appwall · high confidence

Introduce App Wall sync service for live app status and metadata

Added a new App Wall sync infrastructure (AppWallService, AppWallSyncDataBuilder, AppWallSyncRunner) that aggregates local live apps, fetches their App Store Connect versions and submission history, retrieves batched icon/category metadata from iTunes, and pushes the resulting sync data to the App Wall backend. The sync respects a user-configurable opt-out for reviewer feedback (appWallShareReviewerFeedback) and uses a bundled BlitzAppWallToken for ingestion, with configurable base URL override via appWallBaseURLOverride.

src/services/appwall · high confidence

Introduce new app navigation, dashboard, and onboarding views

The application now features a redesigned main interface with a new \ContentView\ that manages a full-screen onboarding flow for first-time users and credential recovery, alongside an integrated terminal launcher. A new \DashboardView\ provides a centralized hub for managing App Store Connect apps, displaying live status, pending reviews, and rejected apps in a grid layout. Additionally, \AppTabView\ introduces a sub-tabbed navigation structure within the app context, allowing users to switch between Overview, Simulator, Tests, and Assets views seamlessly.

src/views · high confidence

Introduce the App Wall feature with sync, summary, and detail views

Users can now view a curated list of apps on the App Wall, including summary statistics and detailed information for each app. The feature includes a sync sheet that validates App Store Connect API credentials, allows users to consent to sharing public app data and optional reviewer feedback, and handles the synchronization process. The All Apps view displays a grid of synced apps with pagination, loading states, and error handling, while the Detail view provides version history, live events, and feedback for individual apps.

src/views/appwall · high confidence

New ASC API test suite for App Store Connect automation

Added a comprehensive set of Python and shell scripts in scripts/asc-api-tests to validate and automate interactions with the Apple App Store Connect API. The suite includes a shared JWT authentication client (asc\_client.py) and shell helpers (common.sh) for making authenticated requests. It provides specific test scripts for validating paid app pricing (test\_paid\_pricing.py), In-App Purchase creation and management (test\_iap.py), subscription pricing discovery and debugging (test\_sub\_pricing\debug\.py), and availability/territory configuration (test\_availability.py, test\_missing\_fields.py). A runner script (run\_all.py) allows executing these tests sequentially to verify API behavior for pricing, IAPs, and subscriptions.

scripts/asc-api-tests · high confidence

New ASC onboarding, credential management, and bundle ID selection flows

The App Store Connect (ASC) integration now includes a dedicated credential form (ASCCredentialForm) that guides users through API key setup with step-by-step instructions and an AI-assisted "Setup with AI" option, alongside an Apple ID login sheet (AppleIDLoginSheet) that captures session cookies via a WKWebView. A new Bundle ID setup view (BundleIDSetupView) allows users to register new bundle IDs and enable capabilities directly, while the ProjectBundleIDSelectorView handles discovery and selection of existing bundle IDs. The ASC tab content (ASCTabContent) has been refactored to support these flows, including a gate that requires project selection or ASC app linkage, and a shared RejectionCardView standardizes the display of App Store review rejection feedback across overview and review tabs.

src/views/shared/asc · high confidence

New App Store Connect (ASC) service layer with daemon-based authentication and Iris API support

This change introduces a new ASC service implementation in src/services/asc, replacing or augmenting previous mechanisms with a structured client architecture. It adds ASCAuthBridge to manage local credential storage (private keys, config, web sessions) and install CLI shims, ASCDaemonClient to communicate with a background 'ascd' helper process for secure API requests, and ASCService as the primary interface for App Store Connect REST operations. Additionally, it includes IrisService to interact with Apple's internal Iris API for resolution center threads and messages, supported by dedicated logging (ASCDaemonLogger, ASCUpdateLogger, IrisLogging) and error handling (ASCError, IrisError) components.

src/services/asc · high confidence

New CLI entry point for MCP-NPM package

The packages/mcp-npm directory now includes a CLI executable (bin/cli.js) that serves as the entry point for the MCP-NPM functionality. This script validates the presence of the Blitz.app installation and a required bridge script at \~/.blitz/blitz-mcp-bridge.sh before spawning the bridge process. If either dependency is missing, it exits with an error message guiding the user to install Blitz.app or launch it first to generate the bridge script.

packages/mcp-npm · high confidence

New app relaunch, auto-update, and dashboard summary services with shell integration and terminal launching

This change introduces several new services in src/services to enhance the user experience. AppRelaunchService handles permission-driven restarts (e.g., screen recording) by persisting pending relaunch requests and executing them via a shell script. AutoUpdateManager replaces the previous update mechanism, now fetching releases from GitHub and installing updates via .app.zip or .pkg, with a full state machine for checking, downloading, and installing. DashboardSummaryStore provides a unified view of App Store Connect apps and local projects, with persistent caching to speed up dashboard loads. ShellIntegrationService manages the installation and removal of shell environment blocks in .zshrc/.bashrc to ensure Blitz CLI tools are available. TerminalLauncher enables launching AI agent commands in various terminal apps (Terminal.app, Ghostty, iTerm, custom). BuildPipelineService has been refactored to support macOS App Store signing alongside iOS, and SettingsService now persists onboarding and terminal configuration options.

src/services · high confidence

New build workspace views: integrated terminal, asset management, and AI agent integration

The build view now includes a fully integrated terminal with multi-tab support, horizontal scrolling, and resizable split panes that maintain rendering stability when switching positions. Users can manage app assets by dropping source icons or generating them from colors, with automatic generation of all required icon sizes. Additionally, a new AI connection interface allows users to select agents (Claude Code, Codex, OpenCode) and copy tailored terminal commands and context-specific prompts for each build tab, streamlining the setup of AI-assisted development workflows.

src/views/build · high confidence

New project scaffolding and metadata hydration services

The project management layer has been refactored into focused services under src/services/project. ProjectStorage now acts as a facade delegating to ProjectRepository for metadata storage (including symlink handling and last-opened tracking) and ProjectAgentConfigService for managing global and per-project MCP configurations. New setup services (SwiftProjectSetupService, MacSwiftProjectSetupService, ProjectSetupService) leverage a shared ProjectTemplateScaffolder to create new Swift, macOS Swift, and React Native projects from bundled templates. Additionally, ProjectMetadataHydrator automatically detects and populates missing bundle identifiers by scanning Xcode project files and Info.plist files when importing or opening projects.

src/services/project · high confidence

New shared UI components and refactored approval overlay

This change introduces two new shared views: DottedCanvasBackground, which renders a subtle, radially-faded dotted grid pattern for canvas-like aesthetics, and ProjectAppIconView, which asynchronously loads and caches project-specific application icons (supporting both generated PNGs and iOS/macOS app icon sets) with a configurable placeholder. Additionally, the ApprovalOverlay has been moved to the shared views directory and simplified; the inline SwiftUI alert logic has been removed in favor of a no-op modifier, as approval handling is now delegated to NSAlert in the MCPExecutor.

src/views/shared · high confidence

Architecture

App Store Connect integration refactored into modular manager extensions

The ASC management logic has been reorganized from a single monolithic class into distinct, focused extensions within \src/managers/asc\. This change introduces specialized managers for App Information (\ASCAppInformationManager\), Builds and Beta Feedback (\ASCBuildsManager\), Bundle ID Setup (\ASCBundleIDSetupManager\), Diagnostics (\ASCDiagnosticsManager\), Iris/Rejection Feedback (\ASCIrisManager\), Monetization/IAP (\ASCMonetizationManager\), Project Lifecycle and Caching (\ASCProjectLifecycleManager\), and Release/Version Selection (\ASCReleaseManager\). The core \ASCManager\ now acts as the central state holder, while these new modules handle specific domain responsibilities such as locale-aware app information fetching, rejection feedback retrieval via the Iris API, and structured project state snapshots.

src/managers/asc · high confidence

Behavioural changes

Added Blitz IDE configuration templates and updated simulator device profiles

The \src/resources\ directory now includes a \CLAUDE.md.template\ that defines the MCP server tools and workflows for the Blitz IDE, alongside a \simulator-config.json\ that adds support for iPhone 17, iPhone 17 Pro, iPhone 17 Pro Max, and iPhone Air device profiles. These resources establish the default configuration and device mapping for the integrated simulator and App Store Connect workflows.

src/resources · high confidence

App Store Connect status tracking and credential security improvements

The app now provides detailed App Store Connect (ASC) release status tracking, including live, pending review, and rejected states, with INVALID\_BINARY submissions explicitly handled as submission errors in the history timeline. To enhance security, Apple ID credentials are now stored in the macOS Keychain instead of local files, and legacy private keys are automatically cleaned up upon deletion. Additionally, the approval system for tool categories has been refactored to use explicit permission toggles, and project metadata now exposes the resolved platform type.

src/models · high confidence

Build and release scripts updated for new helpers and stricter signing

The build and packaging scripts now bundle a standalone \blitz-macos-mcp\ helper and a Go-based \ascd\ (App Store Connect) helper directly into the app bundle, replacing the previous Node.js sidecar server and the \asc-create-profile.sh\ script. The \bundle.sh\ script handles building and embedding these helpers, while \build-pkg.sh\ enforces production signing requirements when \BLITZ\_REQUIRE\_SIGNED\_RELEASE\ is enabled and explicitly codesigns the new helper binaries. Additionally, new scripts \test-build-workflow.sh\ and \verify-build.sh\ have been added to locally validate the GitHub Actions workflow and compare local build checksums against official releases, and the \blitz-mcp-bridge.sh\ shim now delegates directly to the installed helper.

scripts · high confidence

Improved TestFlight tab loading states and UI consistency

The TestFlight views (Beta Info, Builds, Feedback, and Groups) now display explicit loading placeholders while fetching data from App Store Connect, replacing blank or immediate empty states with informative messages like 'Loading Beta Info' or 'Fetching TestFlight build metadata.' The layout has been standardized with a header toolbar containing a refresh button, and the Builds view now automatically selects the first available build when the list updates. These changes improve perceived performance and provide clearer feedback during data retrieval.

src/views/testflight · high confidence

MCP server communication switches from HTTP bridge to direct stdio over Unix socket

The settings interface for configuring the Model Context Protocol (MCP) server has been updated to reflect a change in how the server connects. The previous HTTP bridge approach, which involved a shell script bridge and displayed a specific port number, has been replaced by a direct stdio helper running over a local Unix socket. In the UI, the status indicator now reads "Ready via local socket" instead of showing a port, and the generated configuration file now points directly to the \blitz-macos-mcp\ executable rather than invoking a bash script with arguments.

Sources, src/views/settings · high confidence

MCP service restructured with new analytics, tab compatibility, and approval flow

The MCP service has been reorganized into a new directory structure and expanded with several capabilities. A new minimal analytics service (AnalyticsService) now tracks app launches, project inventory, and App Store Connect (ASC) usage events. Tab navigation and tool execution have been updated to support legacy aliases (e.g., 'storeListing' and 'appDetails' map to 'appInformation') and pre-navigate the UI to the relevant tab before requesting user approval for destructive ASC operations. The executor now handles project creation/import with automatic setup, simulator management, and settings updates, while the server communicates via a Unix domain socket.

src/services/mcp · high confidence

Redesign App Store Connect release workflow with unified version picker and new dashboard

The App Store Connect release experience has been restructured into a new, version-aware workflow. A new \ASCOverview\ dashboard provides a single-app summary with sections for listing health, version state, screenshots, activity, and local source. A shared \ASCVersionPickerBar\ now appears across the Overview, App Information, Pricing, Review, and Screenshots tabs, allowing users to switch between app versions and see status badges (e.g., Live, Editable, Rejected) without leaving the context. The Review tab now displays rejection feedback and a 'Previously Rejected' badge, while the Screenshots tab supports local drag-and-drop reordering. Additionally, a new \CreateUpdateSheet\ enables creating version updates with options to copy metadata and attach builds, and the Submission Preview sheet has been updated to guide users through the create-then-submit flow.

src/views/release · high confidence

Redesigned project creation and import workflows with platform detection

The project creation and import interfaces have been updated to explicitly select a target platform (iOS or macOS) before choosing a project type. The new project sheet now defaults to Swift for macOS and React Native or Swift for iOS, and automatically navigates to the App Overview tab upon creation. The new Import Project sheet allows users to browse for a project directory, automatically detecting the platform and type (Swift, React Native, or Flutter) by analyzing directory contents, and handles cases where multiple bundle IDs are discovered by prompting the user to select one.

src/views/projects · high confidence

Redesigned simulator interface with Metal rendering and gesture skin selection

The simulator view in the Build tab has been rebuilt to use Metal for frame rendering, providing a more performant display of the device screen. A new device selector menu allows users to switch between supported simulators, handling booting and streaming transitions automatically. Touch interactions are now handled via a configurable overlay that supports five visual skins (Laser, Ripple, Aurora, Spark, Ghost), selectable from the toolbar, which provide distinct visual feedback for taps and swipes.

src/views/build/simulator · high confidence

Restructured app navigation and unified terminal access

The app's main navigation has been reorganized into two primary tabs: Dashboard (for managing apps) and App (for project-specific tools like Simulator, Tests, and Icon). The previous standalone Database and Tests tabs have been removed, with their functionality integrated into the App tab's sub-navigation. Additionally, the integrated terminal is now accessible via a dedicated toolbar button or the Command+\` shortcut, allowing users to toggle a split-view terminal panel without leaving their current workflow.

src · high confidence

The sidebar now features a dedicated 'Dashboard' tab and a dynamic 'App' tab that displays the active project's name and icon. Project icons and labels have been updated to distinguish macOS projects (showing 'macOS' prefix and desktop icon) from other platforms, and the sidebar scroll is now disabled for a fixed layout.

src/views/sidebar · high confidence

Simulator now boots in the background and hides behind the main app

The simulator service now supports background booting, allowing the iOS Simulator to start without stealing focus from the Blitz window. Additionally, the simulator window is automatically positioned and sized to sit directly behind the Blitz interface using the macOS Accessibility API, creating a seamless, integrated experience. This change also refactors the simulator services into a dedicated module, removes physical device interaction support (WDA) to focus on simulator-only workflows, and updates the capture service to use a fixed 50 FPS and dynamic screen scaling.

src/services/simulator · high confidence

Streamlined post-install setup and Tauri migration cleanup

The macOS installer post-install script now installs the iPhone MCP tool directly into the bundled Node runtime instead of relying on a separate Node.js sidecar or external Ruby/CocoaPods toolchains, reducing installation overhead and dependencies. Additionally, the pre-install script now detects and removes old Tauri-based Blitz installations (bundle IDs dev.blitz.mac/dev1.blitz.mac) to prevent conflicts, while the post-install script fixes potential app relocation issues by moving the app from .localized directories if necessary.

scripts/pkg-scripts · high confidence

Fixes

Fix terminal regressions and improve session reliability

The terminal subsystem has been refactored to use a custom \forkpty\-based PTY runner (\BlitzPTYProcess\) that correctly sets up the controlling terminal and foreground process group, preventing interactive child processes from being suspended by \SIGTTIN\. Signal dispositions are explicitly reset before execution to ensure child processes behave as expected. Additionally, the \ProjectManager\ now correctly tracks project inventory analytics for first-session imports, and the \SimulatorManager\ has been updated to prefer supported devices (iPhone 16/17) when auto-booting simulators.

src/managers/app · high confidence

Test coverage

Added comprehensive test coverage for ASC integration and terminal subsystems; Removed CI/CD migration test suite; Removed obsolete test files in BlitzCoreTests.

Dependencies

Dependency updates and Swift Package Manager restructuring

The project updates its dependency management by introducing a \Package.resolved\ file pinning \swift-argument-parser\ to 1.7.1 and \SwiftTerm\ to 1.12.0, while the root \Package.swift\ now declares \SwiftTerm\ as a dependency and restructures targets to include \BlitzMCPCommon\ and \BlitzMCPHelper\. On the JavaScript side, \package.json\ is bumped to version 1.0.35, and a new \package-lock.json\ introduces \@repalash/rclone.js\ (v0.6.6) as a dev dependency. Additionally, the React Native template in \src/templates/rn-notes-template/package.json\ is updated to use React 19.0.0 and React Native 0.79.0.

(dependencies) · high confidence

Pin App Store Connect CLI helper submodule

The repository now includes a pinned submodule for the App Store Connect CLI helper (commit c17dc08), ensuring a consistent and reachable version of the tooling used for App Store submissions and related backend interactions.

deps · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 65 → 61 (-4.6)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 82 → 81 (-0.5)
  • Architecture 98 → 99 (+1.3)
  • Maturity 64 → 64 (-0.1)
  • Readiness 55 → 46 (-9.2)
  • Security 79 → 82 (+3.5)
  • Domain Modelling 100 → 100 (+0.0)
  • Performance 78 (new)

Resolved (10)

  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
  • Documentation: no contributor guidance (docs/mcp-tools-approval-flow.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (package-lock.json)
  • Hotspot: src/services/simulator/DeviceInteractionService.swift (src/services/simulator/DeviceInteractionService.swift)
  • Hotspot: src/views/release/ASCOverview.swift (src/views/release/ASCOverview.swift)
  • Hotspot: src/views/release/AppInformationView.swift (src/views/release/AppInformationView.swift)
  • MethodTooLong: ASCManager.rebuildSubmissionHistory (src/managers/asc/ASCManager.swift)
  • Repeated repair: src/views/shared/ProjectAppIconView.swift (src/views/shared/ProjectAppIconView.swift)

New (83)

  • ASCCredentialForm.body (cognitive 16) (src/views/shared/asc/ASCCredentialForm.swift)
  • ASCManager.submissionReadiness (cognitive 19) (src/managers/asc/ASCManager.swift)
  • AppInformationView.appInformationContent (cognitive 32) (src/views/release/AppInformationView.swift)
  • AppInformationView.appInformationContent (cyclomatic 19) (src/views/release/AppInformationView.swift)
  • AppPricingSection.body (cognitive 30) (src/views/release/PricingView.swift)
  • BetaInfoView.betaInfoContent (cognitive 21) (src/views/testflight/BetaInfoView.swift)
  • ContentView.body (cognitive 50) (src/views/ContentView.swift)
  • ContentView.body (cyclomatic 41) (src/views/ContentView.swift)
  • Coverage not measured — Swift suite
  • CreateUpdateSheet.body (cognitive 18) (src/views/release/CreateUpdateSheet.swift)
  • CreateUpdateSheet.body (cyclomatic 19) (src/views/release/CreateUpdateSheet.swift)
  • Duplicated block (10 lines × 2) (src/views/release/PricingView.swift)
  • Duplicated block (10 lines × 2) (src/views/shared/asc/ASCCredentialForm.swift)
  • Duplicated block (10 lines × 2) (src/views/shared/asc/RejectionCardView.swift)
  • Duplicated block (10 lines × 3) (src/views/release/ASCOverview.swift)
  • Duplicated block (10–11 lines × 2) (src/views/build/simulator/TouchOverlayView.swift)
  • Duplicated block (11–12 lines × 2) (src/views/ContentView.swift)
  • Duplicated block (11–12 lines × 2) (src/views/release/PricingView.swift)
  • Duplicated block (12 lines × 2) (src/views/AppTabView.swift)
  • Duplicated block (12 lines × 2) (src/views/appwall/AppWallDetailView.swift)
  • …and 63 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

blitzdotdev/blitz-mac was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit f039dd6900db45812835f562d43603bd411426f0 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.