一键导入
model
Cria uma nova Model (struct) seguindo os padroes MVVM do projeto SwiftUI. Use quando o usuario pedir para criar um novo modelo, entidade ou struct de dados.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Cria uma nova Model (struct) seguindo os padroes MVVM do projeto SwiftUI. Use quando o usuario pedir para criar um novo modelo, entidade ou struct de dados.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Cria um novo ViewModel SwiftUI seguindo o padrao MVVM do projeto (iOS 15+). Use quando o usuario pedir para criar um novo ViewModel.
Cria uma nova View SwiftUI seguindo o padrao MVVM do projeto (iOS 15+). Use quando o usuario pedir para criar uma nova tela, view ou screen.
Implementa animacoes SwiftUI seguindo as melhores praticas de performance e corretude. Use quando o usuario pedir para animar views, criar transicoes, usar phaseAnimator, keyframeAnimator, ou matchedGeometryEffect.
Implementa efeitos Liquid Glass (iOS 26+) com fallbacks corretos para versoes anteriores. Use APENAS quando o usuario pedir explicitamente para adotar Liquid Glass, glass effects, glassEffect modifier, ou o novo visual design do iOS 26.
Implementa funcionalidades específicas de macOS em apps SwiftUI — Scenes (Settings, MenuBarExtra, WindowGroup, Window, UtilityWindow, DocumentGroup), estilos de janela e toolbar, NavigationSplitView, Inspector, Commands, HSplitView, Table, operações de arquivo, drag-drop entre apps, e interop AppKit. Use quando o usuário precisar de qualquer API exclusiva ou com comportamento diferenciado no macOS.
Configura a navegacao SwiftUI seguindo o padrao MVVM do projeto (iOS 15+). Use quando o usuario pedir para criar o AppRouter, adicionar rotas, configurar NavigationView, ou implementar navegacao programatica.
| name | model |
| description | Cria uma nova Model (struct) seguindo os padroes MVVM do projeto SwiftUI. Use quando o usuario pedir para criar um novo modelo, entidade ou struct de dados. |
Crie uma nova Model SwiftUI seguindo os padroes MVVM do projeto.
Nome da Model em PascalCase: $ARGUMENTS
Se $ARGUMENTS estiver vazio, pergunte: "Qual o nome da Model? (ex: Product, Order, Address)"
Pergunte ao usuario:
CodingKeysCrie os arquivos no diretorio Models/:
Models/<PascalCase>.swiftimport Foundation
struct <PascalCase>: Codable, Identifiable, Equatable {
let id: String
// Propriedades informadas pelo usuario
enum CodingKeys: String, CodingKey {
case id
// Mapeamentos snake_case -> camelCase conforme necessario
}
}
Regras da Model:
struct, nunca classlet (imutavel) — use var apenas se houver necessidade explicita de mutacaoCodable, Identifiable e Equatable no minimoHashable se a Model for usada em ForEach sem keypath, Set, ou como valor de NavigationLinkimport SwiftUI — apenas import FoundationCodingKeys quando qualquer propriedade da API usar nomenclatura diferente (ex: snake_case)?) para campos que podem vir null da APIURL para URLs, Date para datas, Decimal para valores monetariosid: UUID para objetos criados localmente; id: String ou id: Int para objetos vindos de APIPreview Content/PreviewData+<PascalCase>.swift (se solicitado)Extension com dados mockados para uso em Previews:
import Foundation
extension <PascalCase> {
static let mock = <PascalCase>(
id: "1",
// Dados mockados realistas
)
static let mockList: [<PascalCase>] = [
.mock,
<PascalCase>(
id: "2",
// Segundo item mockado
),
<PascalCase>(
id: "3",
// Terceiro item mockado
),
]
}
Informe o usuario sobre os proximos passos comuns:
Repositories/<PascalCase>Repository.swift com protocolo + implementacaoViewModels/Views/Date, garantir que o JSONDecoder usa .iso8601 como dateDecodingStrategyimport SwiftUI — apenas import Foundationlet — nunca class ou var sem necessidadeCodable, Identifiable, Equatable no minimoCodingKeys quando a API retorna nomes diferentes (snake_case -> camelCase)nullURL, Date, Decimal) ao inves de String genericoid: UUID para objetos criados localmente; id: String ou id: Int para objetos de APIstruct imutavel com let (nunca class)Codable, Identifiable, Equatable no minimoHashable adicionado se usada em Set, ForEach sem keypath, ou NavigationLink(value:)import SwiftUI — apenas import FoundationCodingKeys presente quando a API usa nomes diferentes das propriedades Swift?) para propriedades que podem ser nullURL, Date, Decimal ao inves de String genericoPreviewData criado com mock e mockList com dados realistas e variados