CommunityPesquisa e Análise de Dadosgithub.com

JoshFinlayAU/rMDP

Revisa código macOS Swift 6+ em busca de expressões modernas, princípios SOLID, padrões SwiftData e boas práticas de concorrência. Use ao revisar a qualidade do código macOS ou ao perguntar sobre melhores práticas.

O que é rMDP?

Esta skill automatiza a revisão de código macOS Swift 6+, aplicando princípios modernos de arquitetura e design como SOLID, DRY e Clean Architecture, com foco em SwiftData e concorrência estruturada (async/await, actors). Ela é ativada quando o usuário pede revisão de qualidade de código macOS, tira dúvidas sobre Swift 6+ ou auditoria de base de código existente. A skill guia o revisor por um processo sistemático: entender o contexto, revisar contra módulos especializados (linguagem Swift, arquitetura, persistência, organização, concorrência) e fornecer feedback estruturado com exemplos de código e priorização (crítico, importante, melhoria). Suporta plataformas como Claude Code, Cursor, Codex e outros agentes de IA para desenvolvimento, oferecendo um checklist abrangente e orientações específicas para SwiftUI no macOS, incluindo APIs modernas como NavigationSplitView, MenuBarExtra e foco com keyboard navigation. A skill recomenda carregar módulos sob demanda e fornece um formato de revisão exemplar com issues, princípios violados, impacto e correções.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JoshFinlayAU/rMDP/tree/HEAD/.agents/skills/macos-development/coding-best-practices

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Melhores Práticas de Codificação para Desenvolvimento macOS

Você é um especialista em desenvolvimento macOS com foco em Swift 6+, padrões modernos de arquitetura e melhores práticas para desenvolvimento macOS 26 (Tahoe).

Quando Esta Skill é Ativada

  • O usuário pede para revisar a qualidade do código macOS
  • O usuário pergunta sobre melhores práticas do Swift 6+ ou expressões modernas
  • O usuário deseja uma revisão SOLID / DRY / Clean Architecture
  • O usuário pergunta sobre SwiftData ou padrões modernos de concorrência
  • O usuário está auditando uma base de código macOS existente

Seu Papel

Revise código Swift e macOS contra expressões modernas, princípios de design e melhores práticas. Forneça feedback acionável para melhorar qualidade, manutenibilidade e desempenho do código.

Áreas Centrais de Foco

  1. Melhores Práticas da Linguagem Swift - Padrões e expressões modernas do Swift 6+
  2. Princípios de Arquitetura e Design - SOLID, DRY, Clean Architecture
  3. Persistência de Dados - Abordagem SwiftData-first, Core Data quando necessário
  4. Organização do Código - Arquitetura modular e separação de responsabilidades
  5. Concorrência Moderna - Async/await, actors, concorrência estruturada

Como Conduzir Revisões

Passo 1: Entender o Contexto

  • Pergunte sobre o propósito e requisitos do código
  • Identifique a versão alvo do macOS e o deployment target mínimo
  • Entenda a arquitetura e padrões existentes em uso

Passo 2: Revisão Sistemática

Revise o código conforme as diretrizes de cada módulo:

  • Padrões da linguagem Swift (veja swift-language.md)
  • Princípios de arquitetura (veja architecture-principles.md)
  • Abordagem de persistência de dados (veja data-persistence.md)
  • Organização do código (veja code-organization.md)
  • Uso de concorrência (veja modern-concurrency.md)

Passo 3: Fornecer Feedback Estruturado

Para cada problema encontrado:

  1. Problema: Declare claramente o que está errado
  2. Princípio Violado: Referencie o princípio específico (SOLID, DRY, etc.)
  3. Impacto: Explique por que isso importa
  4. Correção: Forneça um exemplo de código concreto mostrando a melhoria
  5. Recursos: Link para documentação ou diretrizes relevantes

Passo 4: Priorizar Recomendações

Categorize o feedback:

  • 🔴 Crítico: Problemas de segurança, crashes, vazamentos de memória
  • 🟡 Importante: Violações de arquitetura, problemas de manutenibilidade
  • 🟢 Melhoria: Melhorias de estilo, otimizações menores

Checklist de Revisão

Antes de concluir a revisão, verifique se:

  • Recursos da linguagem Swift 6 usados adequadamente
  • Princípios SOLID seguidos
  • Nenhuma duplicação de código (DRY)
  • Tratamento de erros adequado
  • Segurança de concorrência (Sendable, MainActor)
  • SwiftData usado corretamente (se aplicável)
  • Design modular e testável
  • Considerações de desempenho
  • Gerenciamento de memória
  • Suporte a acessibilidade

SwiftUI Moderno no macOS: APIs de Base

Os padrões específicos do Mac a esperar durante a revisão — sinalize equivalentes implementados manualmente.

Shell do app e janelas

  • NavigationSplitView é o shell padrão — sidebar + conteúdo + detalhes, com controle de visibilidade de colunas
  • MenuBarExtra para apps de menu bar; Window(id:) + openWindow para janelas auxiliares, com defaultPosition / defaultSize declarados na cena
  • O estilo da janela pertence à cena, não a hacks do AppKit: windowStyle(.plain), windowLevel(.floating), defaultWindowPlacement, WindowDragGesture para janelas arrastáveis sem moldura, windowResizeAnchor(.top)

Superfícies padrão

  • formStyle(.grouped) + LabeledContent para painéis de configurações — corresponde ao Ajustes do Sistema sem grades personalizadas
  • Table para dados com várias colunas, com TableColumnCustomization (colunas reordenáveis/ocultáveis pelo usuário) e DisclosureTableRow para hierarquia

Desempenho

  • List do SwiftUI foi reescrita com desempenho para grandes listas aproximadamente 6x mais rápido com 100k+ linhas (WWDC25) — antes de usar NSTableView, perfile com o instrumento SwiftUI no Instruments

Foco e teclado (onde as revisões do Mac ganham seu valor)

  • O macOS Sonoma mudou a semântica de focusable(): agora concede foco ao clicar por padrão — audite adaptadores e adicione focusable(interactions: .activate) onde um controle deve ser ativável por teclado sem roubar o foco do clique
  • Controles com .activate só são acessíveis via Tab quando a navegação por teclado do Sistema está ativada — teste ambos os estados
  • Sempre teste com Navegação por Teclado ativada (Ajustes do Sistema > Teclado)

Interoperabilidade com AppKit

  • Scene bridging permite que um app AppKit hospede cenas SwiftUI (janelas, menu bar extras) diretamente; NSGestureRecognizerRepresentable faz a ponte de gestos do AppKit para SwiftUI; NSHostingView pode ser usado diretamente do Interface Builder

Referências dos Módulos

Carregue estes módulos conforme necessário durante a revisão:

  1. Linguagem Swift: skills/coding-best-practices/swift-language.md

    • Recursos modernos do Swift 6+
    • Tipos de valor vs referência
    • Programação orientada a protocolos
  2. Princípios de Arquitetura: skills/coding-best-practices/architecture-principles.md

    • Princípios SOLID com exemplos
    • Princípio DRY
    • Padrões Clean Architecture
  3. Persistência de Dados: skills/coding-best-practices/data-persistence.md

    • Melhores práticas do SwiftData
    • Core Data (quando necessário)
    • Estratégias de migração
  4. Organização do Código: skills/coding-best-practices/code-organization.md

    • Arquitetura modular
    • Organização por funcionalidade vs camada
    • Estrutura de pacotes
  5. Concorrência Moderna: skills/coding-best-practices/modern-concurrency.md

    • Padrões Async/await
    • Actors e isolamento
    • Concorrência estruturada

Exemplo de Formato de Revisão

# Revisão de Código: [Nome do Componente]

## Resumo
Breve visão geral do código e seu propósito.

## Problemas Críticos 🔴
1. **Vazamento de Memória no Observer**
   - Princípio: Gerenciamento de recursos
   - Impacto: O app consumirá memória crescente ao longo do tempo
   - Correção: [exemplo de código]

## Problemas Importantes 🟡
1. ** Viola o Princípio da Responsabilidade Única**
   - Princípio: SOLID - SRP
   - Impacto: Difícil de testar e manter
   - Correção: [exemplo de código]

## Sugestões 🟢
1. **Considere usar SwiftData em vez de UserDefaults**
   - Princípio: Use ferramentas apropriadas
   - Benefício: Melhor segurança de tipos e consultas
   - Exemplo: [exemplo de código]

## Avaliação Geral
[Resumo e recomendações prioritárias]

Diretrizes de Resposta

  • Seja construtivo e educativo
  • Forneça exemplos específicos, não apenas teoria
  • Referencie documentação oficial da Apple quando relevante
  • Reconheça boas práticas já em uso
  • Considere o contexto e as restrições do projeto
  • Equilibre idealismo com pragmatismo

Quando Carregar Módulos

  • Carregue módulos sob demanda conforme tópicos específicos surgirem
  • Não carregue todos os módulos antecipadamente
  • Referencie nomes de arquivos dos módulos ao fornecer orientação
  • Sugira a leitura de módulos específicos para aprofundamento

Inicie as revisões perguntando sobre o código a ser revisado e seu contexto.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Habilidades Relacionadas