yarramate 0.3.3 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/adapters/graphify-cli.js +4 -1
- package/dist/adapters/likec4-cli.js +39 -4
- package/dist/adapters/mcp-cli.d.ts +9 -0
- package/dist/adapters/mcp-cli.js +172 -0
- package/dist/cli-support.d.ts +3 -1
- package/dist/cli-support.js +10 -1
- package/dist/cli.js +179 -10
- package/dist/compiler.js +17 -5
- package/dist/index.d.ts +1 -1
- package/dist/new-command.d.ts +2 -0
- package/dist/new-command.js +111 -0
- package/dist/profile.d.ts +5 -0
- package/dist/profile.js +4 -0
- package/dist/projection.d.ts +1 -0
- package/dist/projection.js +106 -0
- package/dist/reconciliation.d.ts +9 -1
- package/dist/reconciliation.js +35 -4
- package/dist/source-document.d.ts +3 -1
- package/dist/source-document.js +43 -1
- package/dist/status-command.d.ts +2 -0
- package/dist/status-command.js +171 -0
- package/docs/CONSUMING-YARRAMATE.md +48 -0
- package/package.json +8 -6
- package/schema/yarramate-core-contract.schema.json +11 -2
- package/schema/yarramate-likec4-project.schema.json +1 -1
- package/schema/yarramate-reconciliation-report.schema.json +16 -0
- package/schema/yarramate-status-result.schema.json +273 -0
- package/skills/yarramate-architecture/SKILL.md +18 -9
- package/skills/yarramate-architecture/references/native-authoring.md +74 -6
|
@@ -22,6 +22,15 @@ automatically.
|
|
|
22
22
|
|
|
23
23
|
## Choose the journey
|
|
24
24
|
|
|
25
|
+
When a workspace already exists, orient first with one call before choosing:
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
yarramate status <workspace.yaml> --json
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
It reports the check verdict, the reconciliation summary, and a titled
|
|
32
|
+
inventory of documents, states, projections, evidence, and contracts.
|
|
33
|
+
|
|
25
34
|
- Existing implementation is the starting point: follow **Discover an
|
|
26
35
|
existing project**.
|
|
27
36
|
- Intent and a not-yet-built solution are the starting point: follow **Design
|
|
@@ -58,7 +67,7 @@ document, projection, evidence, or architecture-state syntax is needed.
|
|
|
58
67
|
7. Add the focused projections needed to answer the
|
|
59
68
|
repository-orientation question. Add a separate projection for every
|
|
60
69
|
ordered flow that needs a dynamic view, then include each intended view in
|
|
61
|
-
`.yarramate/
|
|
70
|
+
`.yarramate/likec4-project.yaml`.
|
|
62
71
|
8. Unless the user requested semantic-only output, create the optional LikeC4
|
|
63
72
|
mapping and project described in the authoring reference. Synchronize the
|
|
64
73
|
project mapping before every export, then run:
|
|
@@ -70,9 +79,9 @@ yarramate evidence .yarramate/evidence/<evidence>.yaml .yarramate/workspace.yaml
|
|
|
70
79
|
yarramate reconcile .yarramate/workspace.yaml
|
|
71
80
|
yarramate context .yarramate/projections/<projection>.yaml .yarramate/workspace.yaml
|
|
72
81
|
yarramate view .yarramate/projections/<projection>.yaml .yarramate/workspace.yaml
|
|
73
|
-
yarramate-likec4 check .yarramate/
|
|
82
|
+
yarramate-likec4 check .yarramate/likec4-project.yaml --json .yarramate/workspace.yaml
|
|
74
83
|
yarramate-likec4 map --sync .yarramate/integrations/likec4/subject-mapping.yaml .yarramate/workspace.yaml
|
|
75
|
-
yarramate-likec4 export-project .yarramate/
|
|
84
|
+
yarramate-likec4 export-project .yarramate/likec4-project.yaml .yarramate-out/likec4 .yarramate/workspace.yaml
|
|
76
85
|
```
|
|
77
86
|
|
|
78
87
|
9. Audit rendering coverage before handoff. Answer these as reporting
|
|
@@ -105,7 +114,7 @@ yarramate-likec4 export-project .yarramate/integrations/likec4/project.yaml .yar
|
|
|
105
114
|
- a bounded target projection for implementation agents.
|
|
106
115
|
- one focused projection per ordered flow that needs a dynamic view.
|
|
107
116
|
Include every intended view in
|
|
108
|
-
`.yarramate/
|
|
117
|
+
`.yarramate/likec4-project.yaml`.
|
|
109
118
|
6. Synchronize the project mapping before every export, then run:
|
|
110
119
|
|
|
111
120
|
```sh
|
|
@@ -116,9 +125,9 @@ yarramate context .yarramate/projections/<target>.yaml .yarramate/workspace.yaml
|
|
|
116
125
|
yarramate view .yarramate/projections/<target>.yaml .yarramate/workspace.yaml
|
|
117
126
|
yarramate view .yarramate/projections/<flow>.yaml .yarramate/workspace.yaml
|
|
118
127
|
yarramate compare <document-id>#<baseline-state> <document-id>#<target-state> .yarramate/workspace.yaml
|
|
119
|
-
yarramate-likec4 check .yarramate/
|
|
128
|
+
yarramate-likec4 check .yarramate/likec4-project.yaml --json .yarramate/workspace.yaml
|
|
120
129
|
yarramate-likec4 map --sync .yarramate/integrations/likec4/subject-mapping.yaml .yarramate/workspace.yaml
|
|
121
|
-
yarramate-likec4 export-project .yarramate/
|
|
130
|
+
yarramate-likec4 export-project .yarramate/likec4-project.yaml .yarramate-out/likec4 .yarramate/workspace.yaml
|
|
122
131
|
```
|
|
123
132
|
|
|
124
133
|
Skip the two adapter commands only when the user requested semantic-only
|
|
@@ -160,7 +169,7 @@ retired concept.
|
|
|
160
169
|
|
|
161
170
|
```sh
|
|
162
171
|
yarramate check .yarramate/workspace.yaml --json
|
|
163
|
-
yarramate-likec4 check .yarramate/
|
|
172
|
+
yarramate-likec4 check .yarramate/likec4-project.yaml --json .yarramate/workspace.yaml
|
|
164
173
|
```
|
|
165
174
|
|
|
166
175
|
6. If the adapter check reports intended mapping drift, repair it locally,
|
|
@@ -172,8 +181,8 @@ yarramate-likec4 check .yarramate/integrations/likec4/project.yaml --json .yarra
|
|
|
172
181
|
yarramate-likec4 map --sync --prune .yarramate/integrations/likec4/subject-mapping.yaml .yarramate/workspace.yaml
|
|
173
182
|
git diff -- .yarramate
|
|
174
183
|
yarramate check .yarramate/workspace.yaml --json
|
|
175
|
-
yarramate-likec4 check .yarramate/
|
|
176
|
-
yarramate-likec4 export-project .yarramate/
|
|
184
|
+
yarramate-likec4 check .yarramate/likec4-project.yaml --json .yarramate/workspace.yaml
|
|
185
|
+
yarramate-likec4 export-project .yarramate/likec4-project.yaml .yarramate-out/likec4 .yarramate/workspace.yaml
|
|
177
186
|
```
|
|
178
187
|
|
|
179
188
|
7. Require both configured read-only checks to exit successfully after the
|
|
@@ -67,6 +67,71 @@ Use `mode: read|write|read-write|unspecified` only with `access`. Use
|
|
|
67
67
|
`content` only with `flow`. Prefer a precise relationship over `association`;
|
|
68
68
|
use association when no stronger semantic meaning is justified.
|
|
69
69
|
|
|
70
|
+
Every concept kind carries an aspect: `motivation`, `active-structure`
|
|
71
|
+
(actors, roles, components, nodes, interfaces), `behavior` (processes,
|
|
72
|
+
functions, interactions, services, events), `passive-structure` (objects,
|
|
73
|
+
data, artifacts, material), or `composite`. Four relationship kinds constrain
|
|
74
|
+
endpoint aspects, and the compiler rejects violations as `YM404`:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
assignment source must be active-structure
|
|
78
|
+
access target must be passive-structure
|
|
79
|
+
influence target must be motivation
|
|
80
|
+
triggering source and target must be behavior
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The other kinds accept endpoints of any aspect.
|
|
84
|
+
|
|
85
|
+
## Invocation chains
|
|
86
|
+
|
|
87
|
+
"User invokes command" and "component invokes component" fail `YM404` when
|
|
88
|
+
written as `triggering` between active-structure elements. Name the invoked
|
|
89
|
+
behavior, assign the performers, and trigger between behaviors:
|
|
90
|
+
|
|
91
|
+
```yaml
|
|
92
|
+
concepts:
|
|
93
|
+
- id: user
|
|
94
|
+
kind: businessActor
|
|
95
|
+
name: User
|
|
96
|
+
- id: cli
|
|
97
|
+
kind: applicationComponent
|
|
98
|
+
name: CLI
|
|
99
|
+
- id: run-check
|
|
100
|
+
kind: applicationProcess
|
|
101
|
+
name: Run check
|
|
102
|
+
relationships:
|
|
103
|
+
- id: user-starts-run-check
|
|
104
|
+
kind: assignment
|
|
105
|
+
from: user
|
|
106
|
+
to: run-check
|
|
107
|
+
name: User invokes the check command
|
|
108
|
+
- id: cli-performs-run-check
|
|
109
|
+
kind: assignment
|
|
110
|
+
from: cli
|
|
111
|
+
to: run-check
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Chain steps with `triggering` only between behavior concepts, for example
|
|
115
|
+
`run-check` triggering a downstream process owned by another component.
|
|
116
|
+
|
|
117
|
+
## Degrading a blocked kind
|
|
118
|
+
|
|
119
|
+
When aspect policy blocks the kind you want—`triggering` between two
|
|
120
|
+
components is the common case—keep the edge legal with `kind: flow` and carry
|
|
121
|
+
the invocation semantics on the edge's `name` and `description`:
|
|
122
|
+
|
|
123
|
+
```sh
|
|
124
|
+
yarramate connect .yarramate/architecture/main.yaml \
|
|
125
|
+
--id cli-invokes-engine --kind flow \
|
|
126
|
+
--from cli --to engine \
|
|
127
|
+
--name "invokes" \
|
|
128
|
+
--description "The CLI invokes the engine once per check run"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Both fields compile to claims, so evidence can later confirm or contradict
|
|
132
|
+
the recorded invocation semantics; the degradation loses no reviewable
|
|
133
|
+
information.
|
|
134
|
+
|
|
70
135
|
## Ownership and constraints
|
|
71
136
|
|
|
72
137
|
```yaml
|
|
@@ -176,18 +241,21 @@ evidence result.
|
|
|
176
241
|
|
|
177
242
|
## LikeC4 project
|
|
178
243
|
|
|
179
|
-
Keep visualization configuration outside native documents
|
|
244
|
+
Keep visualization configuration outside native documents. Project `mapping`,
|
|
245
|
+
`kindMapping`, and `views[].projection` paths resolve from the
|
|
246
|
+
project-definition document's directory, so place the definition at or above
|
|
247
|
+
everything it references — `.yarramate/likec4-project.yaml` in this layout:
|
|
180
248
|
|
|
181
249
|
```yaml
|
|
182
250
|
format: yarramate/likec4-project/v1
|
|
183
251
|
id: delivery
|
|
184
252
|
version: "1.0"
|
|
185
253
|
title: Delivery architecture
|
|
186
|
-
mapping:
|
|
254
|
+
mapping: integrations/likec4/subject-mapping.yaml
|
|
187
255
|
views:
|
|
188
|
-
- projection:
|
|
256
|
+
- projection: projections/delivery-target.yaml
|
|
189
257
|
- id: submit-order
|
|
190
|
-
projection:
|
|
258
|
+
projection: projections/submit-order.yaml
|
|
191
259
|
dynamic:
|
|
192
260
|
steps:
|
|
193
261
|
- relationship: delivery#customer-triggers-submit
|
|
@@ -237,14 +305,14 @@ yarramate compare <from-state> <to-state> .yarramate/workspace.yaml
|
|
|
237
305
|
yarramate evidence <evidence.yaml> .yarramate/workspace.yaml
|
|
238
306
|
yarramate reconcile .yarramate/workspace.yaml
|
|
239
307
|
yarramate-likec4 check \
|
|
240
|
-
.yarramate/
|
|
308
|
+
.yarramate/likec4-project.yaml \
|
|
241
309
|
--json \
|
|
242
310
|
.yarramate/workspace.yaml
|
|
243
311
|
yarramate-likec4 map --sync \
|
|
244
312
|
.yarramate/integrations/likec4/subject-mapping.yaml \
|
|
245
313
|
.yarramate/workspace.yaml
|
|
246
314
|
yarramate-likec4 export-project \
|
|
247
|
-
.yarramate/
|
|
315
|
+
.yarramate/likec4-project.yaml \
|
|
248
316
|
.yarramate-out/likec4 \
|
|
249
317
|
.yarramate/workspace.yaml
|
|
250
318
|
```
|