
TL;DR
A workflow for archiving, signing, notarizing, and distributing Apple apps entirely from the command line - with AI coding assistants doing the heavy lifting.
Xcode has to be installed, but you never have to open it. That's the core premise of a workflow that's gaining traction among developers who want to build and ship Mac and iOS apps without touching the GUI.
The approach uses XcodeGen for project configuration and command-line tools like xcodebuild, notarytool, stapler, and codesign for the actual build and distribution pipeline. The result: a fully headless workflow that AI coding assistants can execute autonomously.
Here's what you need installed:
xcodebuild, notarytool, stapler, devicectl, codesignThe one-time setup requires:
notarytool store-credentialsLocal.xcconfig file with your team ID and bundle prefixThe credential storage step is the only interactive part - it requires password input. Everything else can run headless.
The release workflow follows a single chain: archive, Developer ID export, notarize, staple, install.
A bash script (often called release.sh) orchestrates these steps. Here's the conceptual flow:
# Archive the app
xcodebuild archive -scheme MyApp -archivePath build/MyApp.xcarchive
# Export with Developer ID signing
xcodebuild -exportArchive -archivePath build/MyApp.xcarchive \
-exportPath build/release -exportOptionsPlist ExportOptions.plist
# Submit for notarization
xcrun notarytool submit build/release/MyApp.app.zip \
--keychain-profile "MyProfile" --wait
# Staple the ticket
xcrun stapler staple build/release/MyApp.app
# Install to /Applications
cp -R build/release/MyApp.app /Applications/
The distinction between certificate types matters here: Apple Development certificates handle local device testing, while Developer ID Application certificates sign released apps for distribution outside the App Store.
Newsletter
Get the weekly deep dive
Tutorials on Claude Code, AI agents, and dev tools, delivered free every week.
From the archive
Jul 13, 2026 • 7 min read
Jul 13, 2026 • 6 min read
Jul 13, 2026 • 9 min read
Jul 13, 2026 • 7 min read
The Hacker News discussion reveals this workflow is already common among power users.
From a former Xcode team dev: "I spent seven years as a dev on the Xcode team and this is pretty much my exact workflow these days." That's a strong endorsement of the approach.
On AI assistant integration: Multiple commenters noted that Claude Code (and other LLM coding tools) can now reason through this workflow autonomously. One developer reported that "since about Opus 4.6, Claude has been able to reason its way into this process on its own. It was clunky until 4.7, and in 4.8 it's managed to find its way around every reason I had to open Xcode myself."
On community tools: Some pushback came from developers pointing to Fastlane, which solves similar problems for mobile builds. The concern: "LLMs encourage all of us to make bespoke solutions rather than building a better community tool."
On Xcode's size: "Having to have Xcode installed is more than half the problem. It makes Visual Studio look lightweight." Fair point - Xcode is a substantial download even if you never launch it.
On app quality: One commenter worried that making app submission easier would flood the App Store with "slop." Others countered that the build tooling isn't the quality bottleneck - it's the developer's investment in the product itself.
The original blog post emphasizes documenting the workflow in a CLAUDE.md file so the AI assistant knows the expected commands and conventions. Once documented, the assistant can handle deployments without repeated explanation.
The workflow looks like this in practice:
/ApplicationsThe author's recommendation: "Point Claude Code or your LLM coding tool of choice to this blog post, and let it figure it out."
What you gain:
What you lose:
What stays annoying:
The HN thread surfaced a few related projects worth knowing:
Axiom (charleswiltgen.github.io/Axiom) includes several LLM-friendly CLI tools (xclog, xcprof, xcsym, xcui) designed to expose Xcode capabilities in a token-efficient way.
Ruby Native (rubynative.com) takes a different approach: "From bundle install to your phone in minutes. To the App Store and Google Play without a line of native code."
Fastlane remains the established option for mobile CI/CD, though the bespoke-vs-community-tool debate continues.
If you want to try this workflow:
xcode-select --installbrew install xcodegenxcrun notarytool store-credentialsproject.yml for XcodeGen with your app configurationrelease.sh script that chains the archive/export/notarize/staple stepsOr, as the author suggests: paste the blog post into your AI coding assistant and ask it to set everything up for your specific project.
The future of Apple development may look less like clicking through Xcode's preferences and more like describing what you want to a tool that handles the ceremony for you.
Read next
The HashiCorp co-founder explains why he chose Zig over Rust for Ghostty, the technical challenges of terminal emulator development, and what systems programming looks like in 2026.
7 min readThe Godot Foundation has established a policy banning autonomous AI agent code and substantial AI-generated contributions, citing reviewer burnout and concerns about maintainer mentorship.
6 min readNew research shows Claude Code's system prompt and tool scaffolding consume 4.7x more tokens than OpenCode before processing user input. The HN thread debates whether that overhead buys better outcomes.
7 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
StackBlitz's in-browser AI app builder. Full-stack apps from a prompt - runs Node.js, installs packages, and deploys....
View ToolThe TypeScript toolkit for building AI apps. Unified API across OpenAI, Anthropic, Google. Streaming, tool calling, stru...
View ToolKeyboard-first Mac launcher with built-in AI. 32+ models, 1,500+ extensions, clipboard history, window management, snipp...
View ToolMac app for running parallel Claude Code, Codex, and Cursor agents in isolated workspaces. Watch every agent work at onc...
View ToolChange your lights without leaving the terminal. `hue dim` just works.
View AppRun any MCP server without running infra. Private endpoints, no DevOps.
View AppCompare AI coding agents on reproducible tasks with scored, shareable runs.
View AppInstall Claude Code, configure your first project, and start shipping code with AI in under 5 minutes.
Getting StartedStep-by-step guide to building an MCP server in TypeScript - from project setup to tool definitions, resource handling, testing, and deployment.
AI AgentsHold-to-record voice input on macOS, Linux, and Windows.
Claude Code
New research shows Claude Code's system prompt and tool scaffolding consume 4.7x more tokens than OpenCode before proces...

The Godot Foundation has established a policy banning autonomous AI agent code and substantial AI-generated contribution...

Open-source tool gives Claude Code, Codex, and other agents their own isolated Linux VM on your machine - network firewa...

A security researcher intercepted Grok Build's network traffic and found it uploads entire repositories - including .env...

Andrew Kelley's blunt response to Anthropic's AI-assisted Bun rewrite sparked debate about AI marketing, language choice...

A new essay argues that letting AI generate sloppy code creates a downward spiral where future AI absorbs those bad patt...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.