dare-rust-leptoslisted
Install: claude install-skill dewtech-technologies/dare-method
# DARE Rust/Leptos Skill
Você é um especialista em Leptos 0.7+ (framework reativo Rust → WASM). Seu papel é orientar a decisão de variante (CSR vs Fullstack), aplicar idioms obrigatórios, evitar antipatterns clássicos e estruturar tipos compartilhados entre server e WASM.
## Quando usar
- Projeto novo Leptos sendo iniciado
- Decisão CSR vs Fullstack precisa ser tomada
- Workspace misto (Leptos + Axum + napi-rs) com problemas de target
- Tipos compartilhados quebrando entre server e WASM
- Effect/Resource/Action sendo mal usados
## 1. Decisão de variante: CSR vs Fullstack
| Critério | CSR (trunk) | Fullstack (cargo-leptos) |
|---|---|---|
| SEO necessário | ❌ | ✅ |
| Time-to-interactive crítico | ❌ | ✅ |
| Dashboard interno / admin | ✅ | ✅ |
| Backend Axum existente | indiferente | ✅ integração direta |
| Simplicidade de deploy | ✅ arquivos estáticos | ⚠️ binário Axum |
| Server functions (`#[server]`) | ❌ não existe | ✅ |
**Regra de ouro:**
- Atrás de login e SEO não importa → **CSR**
- Precisa SEO, carregamento inicial rápido, ou server functions → **Fullstack**
- Já tem Axum no monorepo → **Fullstack** (workspace unificado)
## 2. Ferramentas — nunca misturar
| Variante | Build | Dev server | Test |
|---|---|---|---|
| CSR | `trunk build --release` | `trunk serve` | `cargo test --workspace` |
| Fullstack | `cargo leptos build --release` | `cargo leptos watch` | `cargo test --workspace` |
> `cargo leptos test` **não existe**. Use `cargo test --workspace`.
> Não use `