robius-app-architecture
Ajuda seu agente a entender a estrutura de aplicativos Robius. Ele reconhece padrões específicos de arquitetura e código.
O que ela faz
Esta skill ajuda a organizar o código de aplicativos feitos com a ferramenta Makepad, especialmente aqueles que precisam lidar com tarefas que levam tempo para serem concluídas (assíncronas). Ela ensina como estruturar o aplicativo para que a interface do usuário continue responsiva.
Quando usar
- ✓Ao criar um aplicativo Makepad que se conecta a um servidor.
- ✓Ao planejar como partes diferentes do aplicativo se comunicarão.
- ✓Ao seguir exemplos de aplicativos como Robrix ou Moly.
Exemplo do que pedir para a IA
“Como posso estruturar meu aplicativo Makepad para lidar com requisições de rede de forma eficiente?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela define um padrão onde a interface do usuário envia pedidos para uma área de processamento em segundo plano (usando canais e o Tokio). Essa área executa as tarefas demoradas e envia os resultados de volta para a interface do usuário atualizar.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill robius-app-architectureOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/robius-app-architecture/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Disponibilidade de material de apoio
Esta cópia do catálogo contém as orientações inline abaixo, mas não inclui os seguintes caminhos de suporte. Eles são pré-requisitos externos, não arquivos agrupados:
<support-root>/references/tokio-integration.md<support-root>/references/channel-patterns.md<support-root>/references/moly-async-patterns.md
Solicite o material de apoio original ou uma instalação existente antes de usar uma etapa que dependa desses caminhos; este catálogo não identifica uma fonte de download verificada para eles. Resolva cada caminho em relação a essa instalação, inspecione seu conteúdo e verifique quaisquer licenças e pré-requisitos de execução aplicáveis. Não execute um comando nem afirme que um procedimento referenciado foi seguido até que seu arquivo necessário exista. Não fabrique os scripts ausentes nem trate um arquivo não relacionado com o mesmo nome como equivalente. Etapas independentes totalmente documentadas aqui podem prosseguir dentro do escopo autorizado do usuário; relate qualquer etapa dependente como indisponível.
Habilidade de Arquitetura de Aplicativos Robius
Melhores práticas para estruturar aplicativos Makepad com base nas bases de código Robrix e Moly - aplicativos de produção criados com o framework Makepad e Robius.
Bases de código fonte:
- Robrix: Cliente de chat Matrix - sincronização/assincronismo complexo com assinaturas em segundo plano
- Moly: Aplicação de chat de IA - multiplataforma (nativo + WASM) com APIs de streaming
Quando Usar
Use esta habilidade quando:
- Estiver construindo um aplicativo Makepad com integração de backend assíncrono
- Estiver projetando padrões de comunicação síncrona/assíncrona em Makepad
- Estiver estruturando um aplicativo no estilo Robius
- Palavras-chave: robrix, robius, estrutura de aplicativo makepad, makepad assíncrono, tokio makepad
Padrões de Produção
Para padrões assíncronos prontos para produção, consulte o diretório _base/:
| Padrão | Descrição |
|---|---|
| 08-async-loading | Carregamento de dados assíncrono com estados de carregamento |
| 09-streaming-results | Resultados incrementais com SignalToUI |
| 13-tokio-integration | Integração completa do runtime tokio |
Padrão de Arquitetura Central
┌─────────────────────────────────────────────────────────────┐
│ UI Thread (Makepad) │
│ ┌─────────┐ ┌──────────┐ ┌──────────────────────┐ │
│ │ App │────▶│ WidgetRef │────▶│ Widget Tree (View) │ │
│ │ State │ │ ui │ │ Scope::with_data() │ │
│ └────┬────┘ └──────────┘ └──────────────────────┘ │
│ │ │
│ │ submit_async_request() │
│ ▼ │
│ ┌─────────────────┐ ┌─────────────────────────┐ │
│ │ REQUEST_SENDER │─────────▶│ Crossbeam SegQueue │ │
│ │ (MPSC Channel) │ │ (Lock-free Updates) │ │
│ └─────────────────┘ └─────────────────────────┘ │
└───────────────────────────────────┬─────────────────────────┘
│
SignalToUI::set_ui_signal()
│
┌───────────────────────────────────┴─────────────────────────┐
│ Tokio Runtime (Async) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ worker_task (Request Handler) │ │
│ │ - Receives Request from UI │ │
│ │ - Spawns async tasks per request │ │
│ │ - Posts actions back via Cx::post_action() │ │
│ └──────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Per-Item Subscriber Tasks │ │
│ │ - Listens to external data stream │ │
│ │ - Sends Update via crossbeam channel │ │
│ │ - Calls SignalToUI::set_ui_signal() to wake UI │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Estrutura do Aplicativo
Definição do Aplicativo de Nível Superior
use makepad_widgets::*;
live_design! {
use link::theme::*;
use link::widgets::*;
App = {{App}} {
ui: <Root>{
main_window = <Window> {
window: {inner_size: vec2(1280, 800), title: "MyApp"},
body = {
// Conteúdo principal aqui
}
}
}
}
}
app_main!(App);
#[derive(Live)]
pub struct App {
#[live] ui: WidgetRef,
…
Perguntas frequentes
O que são tarefas assíncronas?
São tarefas que o programa pode iniciar e continuar fazendo outras coisas enquanto espera que elas terminem, em vez de ficar parado esperando.
O que é Makepad?
É uma ferramenta para criar interfaces de usuário para aplicativos, especialmente focada em desempenho e multiplataforma.
Por que a interface do usuário precisa ficar responsiva?
Para que o usuário possa continuar interagindo com o aplicativo (clicar em botões, rolar) enquanto outras tarefas mais longas estão sendo processadas em segundo plano.
Detalhes
Descrição original do autor
CRITICAL: Use for Robius app architecture patterns. Triggers on: Tokio, async, submit_async_request, 异步, 架构, SignalToUI, Cx::post_action, worker task, app structure, MatchEvent, handle_startup
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4027
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC