К основному содержанию
правило

uikit-guidelines-cursorrules-prompt-file — правило для Cursor

Набор инструкций по вёрстке интерфейсов UIKit на Swift без Storyboard. Задаёт вёрстку через SnapKit, разделение UI и моделей, а также передачу событий замыканиями.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/uikit-guidelines-cursorrules-prompt-file.mdc
Открыть на GitHub

Что делает uikit-guidelines-cursorrules-prompt-file

Правило направляет генерацию кода под iOS на чистый UIKit без XIB и Storyboard. Любой интерфейс собирается кодом через UIView, UIButton и UITableViewCell. Для сборки автолейаута Cursor обязуется применять исключительно библиотеку SnapKit, избегая NSLayoutConstraint, и сохранять поддержку Dynamic Type вместе с Safe Area.

Компоненты интерфейса изолируются от прямых обращений к DTO и моделям данных. Вся привязка идёт через фабрики, паттерны Builder или контроллеры. События нажатий и жестов настраиваются через замыкания, куда передаётся self вызвавшего компонента. Без подключённого пакета SnapKit генерируемый код сборку не пройдёт. Комментарии в коде модель не удаляет.

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

  • отказаться от Storyboard и верстать экраны кодом
  • заменить громоздкий NSLayoutConstraint на синтаксис SnapKit
  • изолировать модели данных от компонентов представления
  • передавать события от кнопок через замыкания со ссылкой на компонент

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

  • Создай экран профиля на UIKit с кнопкой редактирования и аватаром
  • Собери ячейку таблицы для ленты новостей со связкой через фабрику
  • Напиши кастомную кнопку с замыканием для обработки нажатия

Как установить uikit-guidelines-cursorrules-prompt-file

Вручную: положить файлы

.cursor/rules/uikit-guidelines-cursorrules-prompt-file.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о uikit-guidelines-cursorrules-prompt-file

Как установить uikit-guidelines-cursorrules-prompt-file в Cursor?

Создайте файл правила по пути .cursor/rules/uikit-guidelines-cursorrules-prompt-file.mdc в корне проекта и сохраните в него инструкции.

Что делает uikit-guidelines-cursorrules-prompt-file?

Инструктирует модель генерировать UI на Swift под UIKit исключительно программно, используя SnapKit для вёрстки и изолируя модели от представлений.

Обязательно ли использовать SnapKit с этим правилом?

Да, правило прямо запрещает NSLayoutConstraint и требует формировать все констрейнты только через библиотеку SnapKit.

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

uikit-guidelines-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for UIKit development guidelines."
globs: **/*
alwaysApply: false
---
you are an expert in coding with swift, iOS, UIKit. you always write maintainable code and clean code.
focus on latest documentation and features.
your descriptions should be short and concise.
don't remove any comments.


UIKit UI Design Principles:
1. Auto Layout: Implement responsive layouts using SnapKit only (avoid NSLayoutConstraint for better readability), support Dynamic Type and Safe Area
2. Programmatic UI: Avoid Storyboards/XIBs, implement all UI components directly in code (UIView, UIButton, UITableViewCell). Use view composition and custom view subclasses for reusability
3. UI Components must not directly access models or DTOs. Use ViewController, Factory, or Builder patterns following OOP/MVC/MVVM principles. Below are good and bad practice examples:

good practice:
```swift
let user = User(name: "Alice", email: "[email protected]")
let factory = UserFactory()
/// This way UserView doesn't access User model directly, following Apple's MVC principles
let userView = factory.createUserView(user: user)
```

bad practice:
```swift
let user = User(name: "Alice", email: "[email protected]")
/// This exposes UserView to User model, violating MVC principles
let userView = UserView(user: user)
```

4. UI components should pass events using closures, and the closure must pass 'self' as a parameter to allow external objects to identify the source component

```swift
class SampleView: UIView {
    var didTapButton: ((SampleView) -> Void)?
    private let button = UIButton()
    override init(frame: CGRect) {
        super.init(frame: frame)
        setupUI()
        button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
    }

    private func setupUI() {
        // setup UI
    }

    @objc private func buttonTapped() {
        didTapButton?(self)
    }
}
```

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Похожие правила IDE

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

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

Весь набор →
vitest-unit-testing-cursorrules-prompt-file Правило задаёт Cursor поведение эксперта по Vitest и TypeScript: пишет юнит-тесты на бизнес-логику и утилиты, мокает зависимости через vi.mock. ★ 41 024звёзд репо vercel-deployment Задаёт стандарты Vercel для Edge Runtime, бессерверных функций и vercel.json. Пригодится при настройке маршрутизации и деплоя. ★ 41 024звёзд репо vercel-deployment-cursorrules-prompt-file Правило задаёт рекомендации для деплоя приложений на Vercel: от переменных окружения и serverless-функций до кэширования и CI/CD. Пригодится, когда агент помогает готовить проект к публикации. ★ 41 024звёзд репо unity-cursor-ai-c-cursorrules-prompt-file Правило для Cursor, которое настраивает ассистента на разработку игры на Unity с C#: модульный код, отзывчивые механики, производительность в реальном времени. ★ 41 024звёзд репо typo3cms-extension-cursorrules-prompt-file Правило задаёт Cursor структуру и стандарты для разработки расширений TYPO3 CMS. Пригодится, когда агент создаёт PHP-код, конфигурацию и тесты. ★ 41 024звёзд репо typescript Правило задаёт агенту Cursor единый стиль TypeScript: типы, имена, обработку ошибок. Пригодится, когда в проекте несколько разработчиков и код пишется вперемешку. ★ 41 024звёзд репо typescript-zod-tailwind-nextjs-cursorrules-prompt- Задаёт стандарты TypeScript, Next.js и Zod в Cursor: требует функциональный стиль, десктопный Tailwind CSS, Shadcn UI и серверные компоненты. ★ 41 024звёзд репо typescript-vuejs-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стиль кода на TypeScript в проектах с Vue.js. Пригодится, когда нужно, чтобы правки в компонентах выглядели единообразно. ★ 41 024звёзд репо

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

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