agentleFS
otavioserraotavioserra/conn2flow/.cursor/skills/c2f-interface-v2-architecture/SKILL.md

c2f-interface-v2-architecture

Skill5 starsChanged 2 months agoMITView on GitHub

LEIA ANTES de renderizar modais, listas de cards, breadcrumbs ou componentes visuais do painel administrativo. Se não ler: o layout quebra no mobile, perde reatividade e conflita com a esteira de estilos v2.

Files
SKILL.md

Arquitetura de Interface V2 (gestor/bibliotecas/interface.php)

Validação de componentes vivos com Chrome DevTools MCP

Prepare o sandbox local conforme c2f-agent-visual-inspection. Use take_snapshot para localizar controles e UIDs atualizados, abra dropdowns/abas/modais com click ou teclado e aguarde o estado dinâmico esperado. Valide seleção, foco, fechamento por Escape, loading e reabertura sem handlers ou nós duplicados.

Com resize_page e take_screenshot, confira desktop/mobile, overlay, scroll, dimensões e ordem dos controles. Use medições de DOM somente de leitura para detectar conteúdo cortado ou invisível. Teste Fomantic/Semantic e variantes Tailwind conforme o framework real da tela, incluindo ícones Lucide. Colete console/rede pelo roteiro de c2f-javascript-ajax quando a interação carrega dados; não dispare exclusões reais apenas para validar um modal.

⚡ Gatilho Obrigatório

  • TRIGGER: Desenvolver ou refatorar interfaces administrativas, formulários complexos, modais de confirmação ou listas dinâmicas do Gestor.
  • SKIP APENAS SE: Endpoints de API headless (JSON puro) sem renderização de interface visual.
  • CONSEQUÊNCIA DE IGNORAR: Inconsistência na experiência do usuário, falhas de acessibilidade/responsividade e conflitos entre frameworks CSS na administração.

Consulte e aplique as seguintes convenções ao utilizar o construtor de interfaces administrativas no Conn2Flow:

1. Padrões de Rotas CRUD V2

Telas gerenciadas por interface.php seguem os eventos padronizados:

  • adicionar: Renderiza formulário de inclusão (GET) / Valida e executa INSERT no banco (POST).
  • editar: Renderiza formulário de edição pré-preenchido com banco_select_campos_antes_iniciar (GET) / Valida e executa UPDATE no banco (POST).
  • listar: Exibe tabela de registros com paginação e busca Semantic UI.
  • clonar: Duplica um registro existente (GET/POST).
  • status: Alterna estado do registro (A=Ativo, I=Inativo, E=Excluído).

2. Emissão de Alertas e Notificações (interface_alerta)

interface_alerta([
    'redirect' => true,
    'msg' => gestor_variaveis(['modulo' => 'interface', 'id' => 'alert-success-saved'])
]);

3. Disparo Automático de Hooks Nativos

A biblioteca de interface dispara automaticamente os seguintes hooks por módulo:

  • {modulo-id}.adicionar.pre-banco / {modulo-id}.adicionar.banco
  • {modulo-id}.editar.pre-banco / {modulo-id}.editar.banco
  • {modulo-id}.excluir.banco
  • {modulo-id}.status.banco

4. Variantes Tailwind no Painel Administrativo

Com a ativação de layout-administrativo-tailwind e framework_css: tailwindcss, o mecanismo interface_componente_variante() fornece variantes -tailwind para:

ComponenteVariante TailwindStatus
Formulários de edição✅ DisponívelProdução
Formulários de inclusão (novo)✅ DisponívelProdução
Modais (carregando, confirmação, alertas)✅ DisponívelProdução
Botões de cabeçalho/rodapé (interface_botoes_html)✅ Disponível (ícones Lucide)Produção
Listagem de registros❌ Fomantic (layout-administrativo-do-gestor)Backlog BL-026

4.1 Armadilhas de Componente Tailwind

  1. Botão de Exclusão: O botão de exclusão em Tailwind exige a inclusão do script gestor/assets/interface/interface-tailwind.js, que escuta .excluir[data-href] e injeta o token CSRF na confirmação do modal.
  2. Chave tooltip: A chave tooltip ausente no array $botoes deve ser inicializada para evitar warnings de PHP (Undefined index: tooltip):
// ✅ Inicialização defensiva de tooltip
$botao['tooltip'] = $botao['tooltip'] ?? '';
  1. Ícones Lucide: Os botões Tailwind usam ícones Lucide em vez de Fomantic/Semantic icons. Ao adicionar botões customizados, use o formato SVG inline do Lucide.

[!IMPORTANT] A página de listagem de registros permanece no layout Fomantic (layout-administrativo-do-gestor) até a implementação do item de backlog BL-026. Não tente forçar classes Tailwind na listagem.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.