Domain-Driven Design
Model your business domains, bounded contexts, and their interactions using clear, declarative syntax
Model business use cases and domain interactions with powerful visualization capabilities
// Define your services
services {
OrderService {
contexts: Order, Payment
language: nodejs
data-stores: order_db
deployment: canary(50% -> staging, 100% -> production)
}
}
// Model business use cases
use_case "Order Placement" {
when Customer places order
Order validates product availability
Order asks Inventory to reserve items
Order creates payment request
Order notifies "Order Created"
when Payment listens "Order Created"
Payment processes transaction
Payment notifies "Payment Processed"
}Traditional architecture documentation is often disconnected from code, quickly becomes outdated, and requires specialized tools.
Craft provides a simple DSL that lives with your code, generates diagrams automatically, and makes architecture visible and maintainable.
.craft file and start modeling your domainsCtrl+Shift+C to preview your architecture diagram