К основному содержанию
промпт GP ChatGPT

SwiftUI iOS App taste — промпт для ChatGPT и Claude.ai: правила

Набор правил для SwiftUI-проекта: как строить экраны, где хранить состояние и что делать с устаревшими API. Пригодится, когда агент пишет новый код для iOS.

Открыть на GitHub

Что делает SwiftUI iOS App taste

Промпт задаёт агенту позицию senior iOS-разработчика. Новые экраны — на SwiftUI, а к UIKit он советует спускаться только через UIViewRepresentable, если в SwiftUI не хватает готового компонента. Вьюхи держите мелкими: как только body переваливает за 50 строк, часть выносится в отдельную вьюху.

Состояние живёт в @State у самой нижней вьюхи, которой оно нужно, дальше вниз идут биндинги — глобальные синглтоны не приветствуются. Для вью-моделей на iOS 17+ предписан @Observable из Observation, а не ObservableObject с @Published. Асинхронный код — только Swift Concurrency: async/await, акторы, структурные задачи; новые API на completion-handler и Combine не берём. Запускать работу советует через модификатор .task, чтобы она отменялась при исчезновении вьюхи.

Навигация строится на NavigationStack с типизированным путём через небольшой координатор. Нагрузка состояния описана enum-ом (idle, loading, loaded, failed) вместо набора булевых флагов. Есть и жёсткие требования: главный поток нельзя блокировать сетью, декодированием или диском, а токены и секреты хранятся в Keychain, не в UserDefaults и не в бандле. Из-за строгой проверки конкурентности (режим языка Swift 6) предупреждения о Sendable придётся разбирать сразу, иначе проект быстро зарастёт ошибками.

Какие задачи решает

  • спроектировать новый экран на SwiftUI без расползания вьюхи
  • перевести вью-модель с ObservableObject на @Observable
  • запустить асинхронную загрузку с автоотменой при уходе с экрана
  • описать состояния загрузки одним enum вместо флагов
  • разложить фичу на локальные Swift-пакеты вместо CocoaPods

Примеры запросов агенту

  • Собери экран профиля на SwiftUI: состояние в @State у нижней вьюхи, загрузку запусти через .task
  • Перепиши эту вью-модель на @Observable для iOS 17+ и убери @Published
  • Разбей этот body на подвьюхи и добавь #Preview с пустым, загруженным и ошибочным состоянием

Как установить SwiftUI iOS App taste

Как использовать

Вставьте текст в начало диалога или в инструкции проекта

Из того же набора73

Весь набор →
Universal LLM Operating Guidelines Набор правил для ИИ-кодинга: сначала разобраться в задаче, потом менять код. Снижает выдуманные API и лишние правки. GP ChatGPT ★ 174 597звёзд репо Redis Caching taste Промпт задаёт ИИ-ассистенту набор правил работы с Redis: cache-aside, TTL с джиттером, инвалидация после записи. Пригодится, когда проектируешь кэш и не хочешь забыть про stampede и утечки памяти. GP ChatGPT ★ 174 597звёзд репо Error Handling taste Промпт задаёт ИИ-ассистенту вкус бэкенд-инженера на TypeScript: как валидировать вход, разделять ожидаемые ошибки и баги, логировать и отдавать клиенту. GP ChatGPT ★ 174 597звёзд репо Kubernetes taste Промпт задаёт ИИ-ассистенту набор правил платформенной команды: GitOps, пробы, ресурсы, безопасность подов. Пригодится, когда просите модель писать или проверять манифесты. GP ChatGPT ★ 174 597звёзд репо Git Workflow taste Промпт задаёт ИИ-ассистенту привычки trunk-based команды: короткие ветки, Conventional Commits, squash-merge и защита main. GP ChatGPT ★ 174 597звёзд репо Monorepo taste Промпт задаёт агенту свод правил для монорепозитория: pnpm workspaces, Turborepo, границы пакетов и общие конфиги. Пригодится, когда нужно привести структуру репо к одному стилю. GP ChatGPT ★ 174 597звёзд репо Rust CLI taste Промпт задаёт набор правил, по которым ИИ пишет консольные утилиты на Rust: разбор аргументов, ошибки, вывод, тесты. GP ChatGPT ★ 174 597звёзд репо React State Management taste Сводка правил по управлению состоянием в React: когда использовать useState, Zustand, Context и TanStack Query. Помогает избежать типичных ошибок вроде лишних глобальных сторов. GP ChatGPT ★ 174 597звёзд репо

Похожие

swiftui-patterns affaan-m Задаёт правила современной разработки на SwiftUI: переход на @Observable, типобезопасная навигация и оптимизация рендеринга. Пригодится при верстке экранов под iOS и macOS. CX Codex +1 4 600установок ios-developer Seth Hobson Проектирует нативные iOS-приложения на Swift 6 и SwiftUI под iOS 18, настраивает работу с Core Data и готовит сборки к App Store. CX Codex 2 684установок swiftui-specialist superagents-lab Скилл для ИИ-агентов, который подсказывает идиоматичные приёмы SwiftUI при написании, ревью и правке кода. CX Codex +1 864установок swiftui-development Mindrally Набор правил для ИИ-агента: как строить SwiftUI-приложения на MVVM, управлять состоянием и работать с конкурентностью Swift 6. CX Codex +1 676установок ios-swift-development aj-geddes Скилл для разработки нативных iOS-приложений на Swift: MVVM, SwiftUI, сеть через URLSession, Combine и Core Data. CX Codex +1 1 500установок swiftui-view-refactor официальный OpenAI Скилл наводит порядок в коде SwiftUI: делит разросшиеся экраны на отдельные структуры View и выносит побочные эффекты из body. CX Codex GP ChatGPT 113установок

Рядом в каталоге

Всё по теме «Мобильная разработка» →

Вопросы о SwiftUI iOS App taste

Как установить SwiftUI iOS App taste в Claude?

Готовой команды установки нет: промпт вставляют в чат как обычный текст или кладут в системную инструкцию. Для Claude в репозитории лежит файл .claude/commands/prompts.csv.md.

Что делает SwiftUI iOS App taste?

Задаёт агенту правила senior iOS-разработчика: SwiftUI для новых экранов, Observation для вью-моделей, Swift Concurrency вместо completion-handler, Keychain для секретов.

Нужен ли этот промпт, если проект на UIKit?

Правила рассчитаны на SwiftUI-код и iOS 17+ для @Observable. В проекте без SwiftUI применимой остаётся только часть про конкурентность, Keychain и логирование.

Исходный текст

prompts.csv · CC0-1.0
# SwiftUI iOS App taste of a senior iOS developer
- Build new screens in SwiftUI and drop to UIKit only through UIViewRepresentable for gaps. Confidence: 0.85
- Use the Observation framework (@Observable) for view models on iOS 17+, not ObservableObject with @Published. Confidence: 0.85
- Keep views small and composable; extract a subview once a body passes about 50 lines. Confidence: 0.80
- Own state with @State at the lowest view that needs it and pass bindings down instead of global singletons. Confidence: 0.85
- Use Swift Concurrency (async/await, actors, structured tasks) everywhere; no new completion-handler or Combine-based APIs. Confidence: 0.85
- Start async work with the .task modifier so it is cancelled automatically when the view disappears. Confidence: 0.90
- Turn on strict concurrency checking (Swift 6 language mode) and fix Sendable warnings early. Confidence: 0.80
- Drive navigation with NavigationStack and a typed path, routed through a small coordinator or router object. Confidence: 0.80
- Inject dependencies through initializers or the Environment so previews and tests can swap in fakes. Confidence: 0.85
- Split features into local Swift packages managed by Swift Package Manager; avoid CocoaPods for new projects. Confidence: 0.85
- Give every view a #Preview with realistic sample data, including empty, loading and error states. Confidence: 0.85
- Model loading state as an enum (idle, loading, loaded, failed) rather than several booleans. Confidence: 0.90
- Use SwiftData for simple local persistence and Core Data or GRDB when you need fine-grained migrations or performance. Confidence: 0.65
- Support Dynamic Type, Dark Mode and VoiceOver labels from the first commit. Confidence: 0.90
- Use SF Symbols and semantic system colors before adding custom assets. Confidence: 0.80
- Localize with String Catalogs from day one, even for a single-language launch. Confidence: 0.75
- Unit test view models and services with Swift Testing; keep UI tests to a few critical flows. Confidence: 0.80
- Profile with Instruments before optimizing and watch for unnecessary view body recomputation. Confidence: 0.75
- Never block the main thread with networking, decoding or disk I/O. Confidence: 0.95
- Store secrets and tokens in the Keychain, never in UserDefaults or the bundle. Confidence: 0.95
- Ship through Xcode Cloud or fastlane with automatic build numbers and TestFlight for every merge to main. Confidence: 0.75
- Use a structured Logger (os.Logger) with categories instead of print statements. Confidence: 0.85

© f · CC0-1.0 · f/prompts.chat

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой