dare-rust-workspacelisted
Install: claude install-skill dewtech-technologies/dare-method
# DARE — Rust Workspace Skill (single-crate vs multi-crate)
Use esta skill em dois momentos:
- **Design / Blueprint:** projeto Rust novo na stack `rust-axum`. Decida
desde o início se ele nasce single-crate ou em workspace multi-crate.
- **Migração:** projeto Rust single-crate **já existente** que cresceu
demais e está doendo. Proponha o plano de migração.
Regra geral: **comece simples, migre quando os critérios objetivos
abaixo aparecerem.** Workspace é a estrutura idiomática Rust para projetos
maduros, mas é overengineering para o "hello world".
---
## Cenário A — Decisão na fase Design/Blueprint
### Comece **single-crate** quando TODOS forem verdadeiros
- Apenas **1 binário** (HTTP server).
- Estimativa de **< 30 arquivos `.rs`** no `src/`.
- **1–2 sistemas externos** (apenas DB; ou DB + cache).
- **Equipe ≤ 2 devs**.
- Nenhum requisito de deploy independente para subcomponentes.
### Comece **workspace multi-crate** quando QUALQUER um for verdadeiro
- **≥ 2 binários** previstos (API + worker; API + admin; API + CLI).
- **Múltiplos sistemas externos** (3+: PG + Redis + Rabbit + Qdrant + Neo4j…).
- **Deploy independente** desejado (workers em pods separados no k8s).
- **Fronteiras arquiteturais** críticas (domain puro sem HTTP/DB; SDK
publicável; cliente compartilhado com outros projetos).
- **Equipe ≥ 3 devs** trabalhando em paralelo.
### Layout convencional para workspace
Use o prefixo do projeto (`<p>`) — ex: `wa-` para `wa-business-api`,
`agent-` para `a