wing: api-bones
- name: domain-core
description: "Pure domain — entities, value objects, domain services, invariants, domain errors. No I/O, no frameworks."
keywords:
- domain
- entity
- value object
- aggregate
- invariant
- domain error
- policy
- lifecycle
- name: application
description: "Use-cases and orchestration. Defines port traits. Depends on domain-core, not on adapters."
keywords:
- use case
- use-case
- application
- orchestrat
- pub trait
- port
- command
- query
- handler
- name: adapters-inbound
description: "Driving adapters — HTTP/Axum handlers, gRPC servers, CLI entrypoints, queue consumers. Translate external input into use-case calls."
keywords:
- axum
- handler
- route
- router
- endpoint
- controller
- consumer
- grpc
- cli
- main.rs
- inbound
- name: adapters-outbound
description: "Driven adapters — Postgres (sqlx), HTTP clients, message publishers, external API clients. Implement port traits."
keywords:
- sqlx
- PgPool
- repository
- repo
- client
- publisher
- outbound
- impl
- adapter
- reqwest
- migration
- name: contracts
description: "Boundary contracts — OpenAPI specs, proto files, DTOs, request/response schemas, shared types crossing the hex boundary."
keywords:
- openapi
- proto
- schema
- dto
- request
- response
- serde
- Deserialize
- Serialize
- contract