You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v2 adds **nested containers**, explicit **container kinds**, and the `interactions:` alias for relations. v1 files remain fully valid — no migration is required.
143
+
144
+
### What's New in v2
145
+
146
+
| Feature | Description |
147
+
|---------|-------------|
148
+
| `kind` | Required on every container: `service`, `module`, or `library` |
149
+
| `contains` | Nest child containers inside a parent |
150
+
| `interactions` | Alias for `relations` (both accepted) |
151
+
| Dot-qualified IDs | Nested containers get IDs like `billing-service.invoice-module` |
152
+
| Context inheritance | Children inherit parent's `context` unless they override it |
153
+
154
+
### File Format (v2)
155
+
156
+
```yaml
157
+
version: 2
158
+
159
+
system:
160
+
id: my-platform
161
+
name: My Platform
162
+
163
+
contexts:
164
+
billing:
165
+
name: Billing Context
166
+
167
+
containers:
168
+
billing-service:
169
+
kind: service
170
+
name: Billing Service
171
+
context: billing
172
+
code:
173
+
roots: [services/billing]
174
+
layers:
175
+
api: [services/billing/api/**]
176
+
domain: [services/billing/domain/**]
177
+
contains:
178
+
invoice-module:
179
+
kind: module
180
+
name: Invoice Module
181
+
code:
182
+
roots: [services/billing/domain/invoice]
183
+
layers:
184
+
model: [services/billing/domain/invoice/model/**]
185
+
repo: [services/billing/domain/invoice/repo/**]
186
+
187
+
shared-utils:
188
+
kind: library
189
+
name: Shared Utilities
190
+
code:
191
+
roots: [libs/shared]
192
+
193
+
interactions:
194
+
- from: billing-service
195
+
to: shared-utils
196
+
protocol: import
197
+
```
198
+
199
+
### Schema Reference (v2)
200
+
201
+
v2 containers extend the v1 schema with these additional fields:
0 commit comments