Config Shared Core (Rust)
Overview
Manter o crate shared-kernel com abstrações DDD reutilizáveis por todos os Bounded Contexts.
Localização
crates/shared-kernel/src/
Estrutura
shared-kernel/
├── Cargo.toml
└── src/
├── lib.rs
├── entity.rs # trait Entity { fn id(&self) -> &EntityId; }
├── value_object.rs # trait ValueObject
├── result.rs # Result<T, E = DomainError>
├── error.rs # DomainError, AppError
└── use_case.rs # trait UseCase<Input, Output>
Workflow
- Ler
references/rust-namespace-layout.md— namespaces dos módulos de BC não repetem nomes de tipos. - Implementar ou estender tipos no kernel sem dependências de Axum/sqlx.
- Publicar API estável via
lib.rs(pub use). - Rodar
cargo test -p shared-kernel.
References
references/rust-namespace-layout.md— layout modular obrigatórioreferences/shared-patterns-rs.md— Result, Entity, VO../config-project-rs/assets/project-template-rs/crates/shared-kernel/— template real do kernel copiado pelo bootstrap (config-project-rs)
Global Standards
- Consultar
../skills-standards.mdseção Rust Stack Standards.