Apple CLAUDE.md Patterns
Apple Internal • Leaked Jan 2026

Apple CLAUDE.md
Patterns

В январе 2026 Apple случайно выложили свой CLAUDE.md в App Store. Это внутренние правила работы AI-агентов в Apple. Мы вытащили паттерны и сделали бесплатный навык.

Смотреть паттерны Скачать навык
7
Архитектурных паттернов
5
UI-паттернов
2.3M
Views в Twitter
$0
Стоимость

Что произошло?

5 января 2026 разработчик Aaron из Twitter нашёл файл Claude.md в обновлении Apple Support app (v5.13).

Это были внутренние инструкции для AI-агентов Apple: как писать код, структурировать проекты, работать с UI-компонентами.

Файл быстро удалили, но скриншоты уже разлетелись на 2.3 миллиона просмотров.

Мы собрали все паттерны в один бесплатный навык для Hermes, OpenClaw, Claude Code и других AI-агентов.

Apple CLAUDE.md leak
Aaron
@aaronp613
Apple accidentally left a file named "Claude.md" in the latest update of their Apple Support app (v5.13). This contains their internal AI development rules and patterns.
12:57 AM • Jan 5, 2026 • 2.3M Views
Apple Architecture Patterns

Архитектурные паттерны

Как Apple структурируют работу AI-агентов. Каждый паттерн решает конкретную проблему.

01

AsyncStream over Combine

Для роботов: "Пиши код с async/await, не через callback-ад"

Apple используют AsyncStream вместо Combine для real-time обновлений. Почему? Combine создаёт циклы зависимостей, AsyncStream — проще и надёжнее.

Swift Concurrency
// Плохо: callback hell
api.fetch { result in ... }

// Хорошо: async stream
for await msg in api.stream() { ... }
02

Actors для Thread Safety

Для роботов: "Не блокируй главный поток, используй actors"

Service providers — actors, не @MainActor классы. Роботы могут обрабатывать несколько задач параллельно, не мешая интерфейсу.

Concurrency
// Плохо: всё на главном потоке
@MainActor class Service

// Хорошо: изолированный actor
actor Service
03

Multi-Backend через Protocol

Для роботов: "Один интерфейс — много реализаций"

ChatViewModelServiceProvider абстрагирует AI, live agents и mocks. View model не знает какой бэкенд активен. Можно поменять AI-модель без переписывания кода.

Architecture
// Протокол
protocol ChatService {
func send(msg: String) async
}

// Реализации:
// - AI (Juno)
// - Live agents
// - Mock (тесты)
04

Conditional Compilation

Для роботов: "Тяжёлые фичи — только в нужных билдах"

#if JUNO_ENABLED, #if canImport(CCChatKit), #if DEV_BUILD. AI-фичи не раздувают каждый билд. Включи только когда нужно.

Build System
#if JUNO_ENABLED
// AI-код только здесь
#endif

#if DEV_BUILD
// Моки и тестовые данные
#endif
05

Callback → Async Bridge

Для роботов: "Оберни старый callback в async/await"

Legacy callback-based системы оборачиваются в Task с continuation. Мост между старым и новым кодом. Не переписывай — оберни.

Migration
func oldMethod() async throws -> Result {
try await withCheckedContinuation { cont in
legacyCallback { result in
cont.resume(returning: result)
}
}
}
06

Session Persistence

Для роботов: "Секреты в Keychain, данные в файлы"

Двухуровневое хранение: Keychain для чувствительных данных (токены, сессии), file cache для транскриптов и истории.

Storage
// Токены и сессии → Keychain
Keychain.save(chatInfo)

// Транскрипты → файлы
FileManager.save(transcripts)
07

Message Grouping

Для роботов: "Группируй сообщения, не ломай SwiftUI"

Сообщения оборачиваются в MessageGroup (UUID container) чтобы избежать SwiftUI ID collisions. Не схлопывай — группируй.

SwiftUI
// Плохо: ID коллизии
ForEach(messages) { msg in ... }

// Хорошо: группировка
ForEach(groups) { group in
ForEach(group.messages) { ... }
}

UI-компоненты (SAComponents)

Как Apple строят переиспользуемые UI-библиотеки для AI-агентов

01

Pure UI Components

Для роботов: "Компоненты — только UI, без бизнес-логики"

Компоненты — чистый UI без зависимостей от сервисов. Можно использовать в любом месте приложения без переписывания.

Architecture
02

Configuration Protocol

Для роботов: "Настройки через протокол, не через наследование"

UIKit: UIContentConfiguration с factory methods. SwiftUI: convenience modifiers на View. Конфигурация, а не наследование.

UIKit • SwiftUI
03

Preset Factory Methods

Для роботов: "Готовые стили через factory methods"

Пресеты как static factory methods на enums. Один вызов — готовая конфигурация. Cell.standard(), Cell.compact(), Cell.featured().

Design System
04

Platform Variants

Для роботов: "Разный код для разных платформ"

#if(os(visionOS), iOS). Platform-specific код через conditional compilation. #available для версий iOS.

Multi-platform
05

DocC + Preview

Для роботов: "Документируй и показывай все состояния"

DocC каталог с contributor guide. #Preview {} для каждого нового компонента с множеством состояний.

Documentation
AI Agents

Для чего это вам?

Практическое применение паттернов Apple

🤖

AI-агенты

Пишите CLAUDE.md/AGENTS.md по шаблону Apple. Агенты будут точно понимать что делать и как.

💬

Telegram-боты

AsyncStream для real-time. Message grouping для чатов. Callback bridge для legacy API.

🌐

Сайты и приложения

Pure UI components. Preset factory methods. Platform variants для адаптивности.

📝

Контент-агенты

Structured prompts для написания статей, постов, описаний. Content pipeline с quality gates.

🏗️

Архитектура проектов

Protocol abstraction. Conditional compilation. Thread safety через actors. Build system patterns.

📱

Мобильная разработка

UIKit + SwiftUI patterns. Configuration protocol. DocC документация. Preview для всех состояний.

Шаблон CLAUDE.md

Как Apple структурируют инструкции для AI-агентов

📋

Module — Feature Name

Ключевые решения в bullet points. Технические ограничения. Паттерны интеграции.

⚠️

Gotchas First

Предупреждения ДО объяснений. AI лучше парсит когда сначала "чего НЕ делать".

🔧

Build Flags

#if FLAG_NAME — когда и почему. Conditional compilation документирована.

💾

Session State

Что сохраняется и где. Паттерны восстановления. Keychain vs file cache.

📝

Bullet Points > Paragraphs

AI лучше парсит bullet points. Конкретные примеры кода вместо описаний.

🧪

#Preview {}

Для каждого компонента — preview с множеством состояний. DocC каталог.

Скачать навык

Apple CLAUDE.md Patterns как навык для AI-агентов

📦
apple-claude-md-patterns
SKILL.md + references • Hermes, OpenClaw, Claude Code
Скачать навык (.zip) ← На главную ИИ-Контур

Как установить

1
Hermes Agent: skill_manage(action="create", name="apple-claude-md-patterns")
Навык уже установлен на вашем агенте
2
OpenClaw: скопируйте SKILL.md в ~/.openclaw/workspace/skills/
Или используйте /skill add
3
Claude Code: npx skills add apple-claude-md-patterns
Или клонируйте репозиторий вручную
4
Используйте: "apple patterns", "структура claude.md", "apple claude"
Агент автоматически загрузит навык