archi-cli 0.1.0__tar.gz → 0.1.1__tar.gz
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.
- archi_cli-0.1.1/PKG-INFO +132 -0
- archi_cli-0.1.1/README.md +110 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/pyproject.toml +8 -5
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/discovery.py +9 -14
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/render.py +1 -1
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/views.py +1 -2
- archi_cli-0.1.0/PKG-INFO +0 -214
- archi_cli-0.1.0/README.md +0 -192
- archi_cli-0.1.0/views/README.md +0 -10
- {archi_cli-0.1.0 → archi_cli-0.1.1}/.gitignore +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/LICENSE +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/NOTICE +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/__init__.py +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/cli.py +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/engine.py +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/model.py +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/normalize.py +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/render_html.py +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/render_slides.py +0 -0
- {archi_cli-0.1.0 → archi_cli-0.1.1}/tools/archi_tool/validate.py +0 -0
archi_cli-0.1.1/PKG-INFO
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: archi-cli
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: ar·cli·mate — de CLI in je ArchiMate: deterministisch native .archimate-modellen inspecteren, muteren, valideren en renderen
|
|
5
|
+
Project-URL: Homepage, https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting
|
|
6
|
+
Project-URL: Repository, https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting
|
|
7
|
+
Project-URL: Issues, https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/issues
|
|
8
|
+
Author: Bureau Architectuur Digitale Overheid
|
|
9
|
+
License-Expression: EUPL-1.2
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: archi,archimate,cli,enterprise-architecture,modeling
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
18
|
+
Requires-Python: >=3.12
|
|
19
|
+
Requires-Dist: lxml>=5.0
|
|
20
|
+
Requires-Dist: typer>=0.26
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
|
|
23
|
+
# archi-cli
|
|
24
|
+
|
|
25
|
+
[](https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/actions/workflows/ci.yml)
|
|
26
|
+
[](https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/blob/main/LICENSE)
|
|
27
|
+
[](https://pypi.org/project/archi-cli/)
|
|
28
|
+
|
|
29
|
+
*ar·cli·mate*: de CLI in je ArchiMate. Een deterministische command line tool
|
|
30
|
+
voor native `.archimate`-modellen, plus de Claude Code skills die de werkwijze
|
|
31
|
+
beschrijven. Je inspecteert, muteert, valideert en rendert een model zonder de
|
|
32
|
+
Archi-GUI te openen, en de tool weigert een kapot model op te slaan.
|
|
33
|
+
|
|
34
|
+
De tool is generiek: hij werkt op elk `.archimate`-bestand. Het ADO-model
|
|
35
|
+
waarvoor hij ontstond woont in een eigen repo en gebruikt `archi-cli` als
|
|
36
|
+
dependency.
|
|
37
|
+
|
|
38
|
+
## Installeren
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
uv tool install archi-cli
|
|
42
|
+
archi --help
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Dat zet het commando `archi` op je `$PATH`. Voor `normalize` is de Archi-engine
|
|
46
|
+
nodig; die haalt `archi` bij het eerste gebruik zelf op (of expliciet met
|
|
47
|
+
`archi setup`), dus je hoeft Archi niet apart te installeren.
|
|
48
|
+
|
|
49
|
+
## Gebruiken
|
|
50
|
+
|
|
51
|
+
Het model wordt gevonden via `--model <pad>` (vóór het subcommando), via een
|
|
52
|
+
`archi.toml` in de map (`[tool.archi] model = "..."`), of als het enige
|
|
53
|
+
`.archimate`-bestand in de werkmap.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
archi stats # tellingen per type
|
|
57
|
+
archi list --type Capability # elementen, gefilterd
|
|
58
|
+
archi show "<elementnaam of id>" # één element met relaties
|
|
59
|
+
archi tree # folderstructuur
|
|
60
|
+
|
|
61
|
+
archi add-element --type Capability --name "..." --property "Omschrijving=..."
|
|
62
|
+
archi add-relation --type Aggregation --source "..." --target "..." --name "bevat"
|
|
63
|
+
archi set-property <ref> "Omschrijving=..."
|
|
64
|
+
archi rename <ref> "Nieuwe naam"
|
|
65
|
+
archi remove <ref> --cascade
|
|
66
|
+
|
|
67
|
+
archi add-view --name "..." --layout cluster --type Capability --relation Aggregation
|
|
68
|
+
archi slides --deck decks/<naam>.toml
|
|
69
|
+
|
|
70
|
+
archi validate # integriteitschecks
|
|
71
|
+
archi normalize # canonieke serialisatie via Archi
|
|
72
|
+
archi render # views naar Mermaid en HTML
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
`archi <commando> --help` toont de volledige set vlaggen. Shell-completion
|
|
76
|
+
installeer je met `archi --install-completion`.
|
|
77
|
+
|
|
78
|
+
## Wat het doet
|
|
79
|
+
|
|
80
|
+
- **Muteren met een vangnet.** Elke wijziging valideert het model in het
|
|
81
|
+
geheugen; bij een integriteitsfout weigert de CLI op te slaan. Ids zijn
|
|
82
|
+
onveranderlijk en worden door de tooling gegenereerd.
|
|
83
|
+
- **Canonieke serialisatie.** `normalize` laat de headless Archi-engine het
|
|
84
|
+
bestand herschrijven, zodat git-diffs klein blijven, ongeacht of de laatste
|
|
85
|
+
wijziging van deze tool of van de Archi-GUI kwam.
|
|
86
|
+
- **Renderen.** `render` maakt van elke view een Mermaid-diagram (rendert op
|
|
87
|
+
GitHub) en een HTML-pagina die de layout uit het model volgt, plus een
|
|
88
|
+
presentatie per deckdefinitie in `decks/`.
|
|
89
|
+
|
|
90
|
+
## Als Claude Code plugin
|
|
91
|
+
|
|
92
|
+
De skills zijn los te installeren, zodat je ze in een ander project met je
|
|
93
|
+
eigen `.archimate`-model gebruikt. Deze repo is tegelijk de plugin
|
|
94
|
+
(`archi-tools`) en de marketplace die hem aanbiedt (`archi-marketplace`):
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
/plugin marketplace add BureauArchitectuurDigitaleOverheid/ai-assisted-architecting
|
|
98
|
+
/plugin install archi-tools@archi-marketplace
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
De plugin brengt de skills `archi-model`, `archi-view` en `archi-slides` mee;
|
|
102
|
+
het `archi`-commando zelf komt van `uv tool install archi-cli`. Zie
|
|
103
|
+
`adr/0007-claude-code-plugin.md`.
|
|
104
|
+
|
|
105
|
+
## Ontwikkelen
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
just setup # venv, dependencies en de pre-commit hook
|
|
109
|
+
just test # de testsuite (draait op een fixture-model)
|
|
110
|
+
just demo # de CLI op het fixture-model
|
|
111
|
+
just build # distributies bouwen en de metadata controleren
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
De testsuite draait op `tests/fixtures/klein-model.archimate`, niet op een echt
|
|
115
|
+
model. Wijzigingen lopen via een branch en een PR; CI draait de suite op Ubuntu
|
|
116
|
+
en Windows. Publiceren naar PyPI gebeurt op een versie-tag, zie `CLAUDE.md` en
|
|
117
|
+
`adr/0006-publiceren-op-pypi.md`.
|
|
118
|
+
|
|
119
|
+
## Structuur
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
tools/archi_tool/ De archi-CLI (Python, lxml, Typer; beheerd met uv)
|
|
123
|
+
tests/ pytest-suite met een klein fixture-model
|
|
124
|
+
.claude/skills/ Claude Code skills (archi-model, archi-view, archi-slides)
|
|
125
|
+
.claude-plugin/ Plugin- en marketplace-manifest
|
|
126
|
+
adr/ Architectuurbeslissingen
|
|
127
|
+
justfile Vaste taken
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Licentie
|
|
131
|
+
|
|
132
|
+
[EUPL-1.2](https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/blob/main/LICENSE).
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# archi-cli
|
|
2
|
+
|
|
3
|
+
[](https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/actions/workflows/ci.yml)
|
|
4
|
+
[](https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/blob/main/LICENSE)
|
|
5
|
+
[](https://pypi.org/project/archi-cli/)
|
|
6
|
+
|
|
7
|
+
*ar·cli·mate*: de CLI in je ArchiMate. Een deterministische command line tool
|
|
8
|
+
voor native `.archimate`-modellen, plus de Claude Code skills die de werkwijze
|
|
9
|
+
beschrijven. Je inspecteert, muteert, valideert en rendert een model zonder de
|
|
10
|
+
Archi-GUI te openen, en de tool weigert een kapot model op te slaan.
|
|
11
|
+
|
|
12
|
+
De tool is generiek: hij werkt op elk `.archimate`-bestand. Het ADO-model
|
|
13
|
+
waarvoor hij ontstond woont in een eigen repo en gebruikt `archi-cli` als
|
|
14
|
+
dependency.
|
|
15
|
+
|
|
16
|
+
## Installeren
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
uv tool install archi-cli
|
|
20
|
+
archi --help
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Dat zet het commando `archi` op je `$PATH`. Voor `normalize` is de Archi-engine
|
|
24
|
+
nodig; die haalt `archi` bij het eerste gebruik zelf op (of expliciet met
|
|
25
|
+
`archi setup`), dus je hoeft Archi niet apart te installeren.
|
|
26
|
+
|
|
27
|
+
## Gebruiken
|
|
28
|
+
|
|
29
|
+
Het model wordt gevonden via `--model <pad>` (vóór het subcommando), via een
|
|
30
|
+
`archi.toml` in de map (`[tool.archi] model = "..."`), of als het enige
|
|
31
|
+
`.archimate`-bestand in de werkmap.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
archi stats # tellingen per type
|
|
35
|
+
archi list --type Capability # elementen, gefilterd
|
|
36
|
+
archi show "<elementnaam of id>" # één element met relaties
|
|
37
|
+
archi tree # folderstructuur
|
|
38
|
+
|
|
39
|
+
archi add-element --type Capability --name "..." --property "Omschrijving=..."
|
|
40
|
+
archi add-relation --type Aggregation --source "..." --target "..." --name "bevat"
|
|
41
|
+
archi set-property <ref> "Omschrijving=..."
|
|
42
|
+
archi rename <ref> "Nieuwe naam"
|
|
43
|
+
archi remove <ref> --cascade
|
|
44
|
+
|
|
45
|
+
archi add-view --name "..." --layout cluster --type Capability --relation Aggregation
|
|
46
|
+
archi slides --deck decks/<naam>.toml
|
|
47
|
+
|
|
48
|
+
archi validate # integriteitschecks
|
|
49
|
+
archi normalize # canonieke serialisatie via Archi
|
|
50
|
+
archi render # views naar Mermaid en HTML
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
`archi <commando> --help` toont de volledige set vlaggen. Shell-completion
|
|
54
|
+
installeer je met `archi --install-completion`.
|
|
55
|
+
|
|
56
|
+
## Wat het doet
|
|
57
|
+
|
|
58
|
+
- **Muteren met een vangnet.** Elke wijziging valideert het model in het
|
|
59
|
+
geheugen; bij een integriteitsfout weigert de CLI op te slaan. Ids zijn
|
|
60
|
+
onveranderlijk en worden door de tooling gegenereerd.
|
|
61
|
+
- **Canonieke serialisatie.** `normalize` laat de headless Archi-engine het
|
|
62
|
+
bestand herschrijven, zodat git-diffs klein blijven, ongeacht of de laatste
|
|
63
|
+
wijziging van deze tool of van de Archi-GUI kwam.
|
|
64
|
+
- **Renderen.** `render` maakt van elke view een Mermaid-diagram (rendert op
|
|
65
|
+
GitHub) en een HTML-pagina die de layout uit het model volgt, plus een
|
|
66
|
+
presentatie per deckdefinitie in `decks/`.
|
|
67
|
+
|
|
68
|
+
## Als Claude Code plugin
|
|
69
|
+
|
|
70
|
+
De skills zijn los te installeren, zodat je ze in een ander project met je
|
|
71
|
+
eigen `.archimate`-model gebruikt. Deze repo is tegelijk de plugin
|
|
72
|
+
(`archi-tools`) en de marketplace die hem aanbiedt (`archi-marketplace`):
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
/plugin marketplace add BureauArchitectuurDigitaleOverheid/ai-assisted-architecting
|
|
76
|
+
/plugin install archi-tools@archi-marketplace
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
De plugin brengt de skills `archi-model`, `archi-view` en `archi-slides` mee;
|
|
80
|
+
het `archi`-commando zelf komt van `uv tool install archi-cli`. Zie
|
|
81
|
+
`adr/0007-claude-code-plugin.md`.
|
|
82
|
+
|
|
83
|
+
## Ontwikkelen
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
just setup # venv, dependencies en de pre-commit hook
|
|
87
|
+
just test # de testsuite (draait op een fixture-model)
|
|
88
|
+
just demo # de CLI op het fixture-model
|
|
89
|
+
just build # distributies bouwen en de metadata controleren
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
De testsuite draait op `tests/fixtures/klein-model.archimate`, niet op een echt
|
|
93
|
+
model. Wijzigingen lopen via een branch en een PR; CI draait de suite op Ubuntu
|
|
94
|
+
en Windows. Publiceren naar PyPI gebeurt op een versie-tag, zie `CLAUDE.md` en
|
|
95
|
+
`adr/0006-publiceren-op-pypi.md`.
|
|
96
|
+
|
|
97
|
+
## Structuur
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
tools/archi_tool/ De archi-CLI (Python, lxml, Typer; beheerd met uv)
|
|
101
|
+
tests/ pytest-suite met een klein fixture-model
|
|
102
|
+
.claude/skills/ Claude Code skills (archi-model, archi-view, archi-slides)
|
|
103
|
+
.claude-plugin/ Plugin- en marketplace-manifest
|
|
104
|
+
adr/ Architectuurbeslissingen
|
|
105
|
+
justfile Vaste taken
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Licentie
|
|
109
|
+
|
|
110
|
+
[EUPL-1.2](https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/blob/main/LICENSE).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "archi-cli"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.1"
|
|
4
4
|
description = "ar·cli·mate — de CLI in je ArchiMate: deterministisch native .archimate-modellen inspecteren, muteren, valideren en renderen"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "EUPL-1.2"
|
|
@@ -38,11 +38,14 @@ build-backend = "hatchling.build"
|
|
|
38
38
|
packages = ["tools/archi_tool"]
|
|
39
39
|
|
|
40
40
|
[tool.hatch.build.targets.sdist]
|
|
41
|
+
# only these paths; the leading ./ anchors README.md so views/README.md and
|
|
42
|
+
# other nested READMEs don't get pulled in by a bare glob
|
|
41
43
|
include = [
|
|
42
|
-
"tools/archi_tool",
|
|
43
|
-
"README.md",
|
|
44
|
-
"LICENSE",
|
|
45
|
-
"NOTICE",
|
|
44
|
+
"/tools/archi_tool",
|
|
45
|
+
"/README.md",
|
|
46
|
+
"/LICENSE",
|
|
47
|
+
"/NOTICE",
|
|
48
|
+
"/pyproject.toml",
|
|
46
49
|
]
|
|
47
50
|
|
|
48
51
|
[dependency-groups]
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"""Locate the model file and the conventions list without assuming
|
|
1
|
+
"""Locate the model file and the conventions list without assuming a layout.
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
An earlier version hardcoded a fixed model path and found the conventions doc
|
|
4
|
+
at a fixed location. Discovery makes ``archi`` work on any model, in any
|
|
5
|
+
layout: a project points at its model and conventions through an ``archi.toml``
|
|
6
|
+
(or ``pyproject.toml``), or the tool falls back to sensible defaults.
|
|
7
7
|
|
|
8
8
|
Resolution order for the model:
|
|
9
9
|
1. an explicit ``--model`` path (handled by the caller)
|
|
@@ -27,19 +27,14 @@ from .model import ModelError
|
|
|
27
27
|
CONFIG_NAMES = ("archi.toml", "pyproject.toml")
|
|
28
28
|
CONVENTION_NEIGHBOURS = ("conventies.md", "conventions.md")
|
|
29
29
|
|
|
30
|
-
#
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
30
|
+
# Generic keys that ship with the tool as a fallback allowlist. A project
|
|
31
|
+
# overrides this by pointing at its own conventions doc (with a Property-keys
|
|
32
|
+
# section); without one, these keep the property-key check useful instead of
|
|
33
|
+
# silently disabling it.
|
|
34
34
|
DEFAULT_PROPERTY_KEYS = {
|
|
35
35
|
"Omschrijving",
|
|
36
36
|
"Toelichting",
|
|
37
37
|
"Bron",
|
|
38
|
-
"Capability-niveau",
|
|
39
|
-
"Niveau (herkomst)",
|
|
40
|
-
"Driver-categorie",
|
|
41
|
-
"constraint-type",
|
|
42
|
-
"Artefact-type",
|
|
43
38
|
}
|
|
44
39
|
|
|
45
40
|
|
|
@@ -30,7 +30,7 @@ def display_model_path(model) -> str:
|
|
|
30
30
|
# outside the working directory: the bare name keeps it deterministic
|
|
31
31
|
return path.name
|
|
32
32
|
|
|
33
|
-
# (fill, stroke, text) per ArchiMate layer
|
|
33
|
+
# (fill, stroke, text) per ArchiMate layer, matching Archi's own layer
|
|
34
34
|
# diagram conventions (Strategy amber, Motivation purple, Business lemon)
|
|
35
35
|
LAYER_PALETTE = {
|
|
36
36
|
"strategy": ("#FAC75A", "#D4882A", "#633806"),
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Deterministic view generation for native .archimate models.
|
|
2
2
|
|
|
3
|
-
Two layout strategies
|
|
4
|
-
(build_archimate_export.py):
|
|
3
|
+
Two layout strategies:
|
|
5
4
|
|
|
6
5
|
- "grid": all selected elements in a simple grid.
|
|
7
6
|
- "cluster": group by a structural relation (default Aggregation/Composition):
|
archi_cli-0.1.0/PKG-INFO
DELETED
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: archi-cli
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: ar·cli·mate — de CLI in je ArchiMate: deterministisch native .archimate-modellen inspecteren, muteren, valideren en renderen
|
|
5
|
-
Project-URL: Homepage, https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting
|
|
6
|
-
Project-URL: Repository, https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting
|
|
7
|
-
Project-URL: Issues, https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/issues
|
|
8
|
-
Author: Bureau Architectuur Digitale Overheid
|
|
9
|
-
License-Expression: EUPL-1.2
|
|
10
|
-
License-File: LICENSE
|
|
11
|
-
Keywords: archi,archimate,cli,enterprise-architecture,modeling
|
|
12
|
-
Classifier: Development Status :: 4 - Beta
|
|
13
|
-
Classifier: Environment :: Console
|
|
14
|
-
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
-
Classifier: Topic :: Software Development :: Documentation
|
|
18
|
-
Requires-Python: >=3.12
|
|
19
|
-
Requires-Dist: lxml>=5.0
|
|
20
|
-
Requires-Dist: typer>=0.26
|
|
21
|
-
Description-Content-Type: text/markdown
|
|
22
|
-
|
|
23
|
-
# AI-assisted architecting
|
|
24
|
-
|
|
25
|
-
[](https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/actions/workflows/ci.yml)
|
|
26
|
-
[](LICENSE)
|
|
27
|
-
|
|
28
|
-
Experiment van Bureau Architectuur Digitale Overheid: een ArchiMate-model in
|
|
29
|
-
het native Archi-formaat als bron van waarheid, bijgehouden met AI-assistentie
|
|
30
|
-
en deterministische tooling. Het modelbestand opent direct in Archi, zonder
|
|
31
|
-
import-stap, en de views zijn op GitHub zelf te bekijken.
|
|
32
|
-
|
|
33
|
-
## De `archi`-CLI los gebruiken
|
|
34
|
-
|
|
35
|
-
De tooling is ook een zelfstandig pakket, `archi-cli` (*ar·cli·mate*: de CLI in
|
|
36
|
-
je ArchiMate). Je installeert het commando `archi` los van deze repo:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
uv tool install archi-cli
|
|
40
|
-
archi --help
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
`archi` werkt op elk `.archimate`-model: geef `--model <pad>` op, of leg het
|
|
44
|
-
model vast in een `archi.toml` (`[tool.archi] model = "..."`), of draai in een
|
|
45
|
-
map met precies één `.archimate`-bestand. Voor `normalize` heb je de Archi-
|
|
46
|
-
engine nodig; die haalt `archi` bij het eerste gebruik zelf op (of expliciet
|
|
47
|
-
met `archi setup`). De rest van dit document beschrijft het werken in deze repo.
|
|
48
|
-
|
|
49
|
-
## Het idee
|
|
50
|
-
|
|
51
|
-
`models/ado.archimate` is de bron. Er zijn twee gelijkwaardige manieren om
|
|
52
|
-
eraan te werken: via de `archi`-CLI (meestal aangestuurd door een AI-sessie
|
|
53
|
-
zoals Claude Code) of gewoon in de Archi-GUI. Beide routes komen samen in
|
|
54
|
-
dezelfde controles:
|
|
55
|
-
|
|
56
|
-
- `just validate` controleert de integriteit: unieke ids, kloppende
|
|
57
|
-
verwijzingen van relaties en view-objecten, juiste folder-plaatsing, en
|
|
58
|
-
property-keys tegen de conventielijst.
|
|
59
|
-
- `just normalize` laat headless Archi het bestand opnieuw serialiseren.
|
|
60
|
-
Archi is daarmee de canonieke serializer, dus diffs blijven klein en
|
|
61
|
-
reviewbaar, wie of wat er ook geschreven heeft.
|
|
62
|
-
- `just render` genereert uit elke view in het model een Mermaid-diagram
|
|
63
|
-
(rendert op GitHub, in `views/`) en een NLDD-gestileerde HTML-pagina die de
|
|
64
|
-
layout uit het model pixelgetrouw volgt (`views/html/`), inclusief de
|
|
65
|
-
ArchiMate-notatie-iconen per elementtype, notes, groups en bendpoints.
|
|
66
|
-
Daarnaast rendert het uit elke deckdefinitie in `decks/` een presentatie
|
|
67
|
-
(`views/html/slides/`): een lineair verhaal als zelfstandige HTML-slides
|
|
68
|
-
in Rijkshuisstijl, met views uit het model als diagrammen, afgewisseld
|
|
69
|
-
met tekst- en bulletslides.
|
|
70
|
-
|
|
71
|
-
Pre-commit hooks dwingen validatie en verse renders af bij elke commit die
|
|
72
|
-
het model raakt. De afweging achter deze opzet, inclusief wat we inleveren
|
|
73
|
-
ten opzichte van de JSON-aanpak in het zusterexperiment, staat in
|
|
74
|
-
`adr/0001-archimate-als-bron.md`; het besluit om gegenereerde renders wel te
|
|
75
|
-
committen staat in `adr/0002-views-als-mermaid-in-git.md`, dat voor de
|
|
76
|
-
slidedecks in `adr/0003-slidedecks-als-toml-in-git.md`.
|
|
77
|
-
|
|
78
|
-
## Structuur
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
models/ado.archimate Het model, de bron van waarheid
|
|
82
|
-
decks/ Deckdefinities voor presentaties (TOML)
|
|
83
|
-
views/ Gerenderde views als Mermaid (.md, rendert op GitHub)
|
|
84
|
-
views/html/ Dezelfde views als NLDD-HTML, lokaal te bekijken
|
|
85
|
-
views/html/slides/ Gerenderde slidedecks (één HTML per deck)
|
|
86
|
-
docs/conventies.md Types, property-keys en naamgeving
|
|
87
|
-
docs/spelregels.md Rollen, workflow en de een-schrijver-afspraak
|
|
88
|
-
adr/ Architectuurbeslissingen
|
|
89
|
-
tools/archi_tool/ De archi-CLI (Python, lxml; beheerd met uv)
|
|
90
|
-
tests/ pytest-suite met een klein fixture-model
|
|
91
|
-
.claude/skills/ Procedures voor AI-sessies (archi-model, archi-view, archi-slides)
|
|
92
|
-
justfile Vaste taken
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Aan de slag
|
|
96
|
-
|
|
97
|
-
Nodig: [uv](https://docs.astral.sh/uv/), [just](https://just.systems/) en
|
|
98
|
-
[Archi](https://www.archimatetool.com/) voor normalisatie.
|
|
99
|
-
|
|
100
|
-
macOS:
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
brew install uv just
|
|
104
|
-
brew install --cask archi
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Windows (PowerShell):
|
|
108
|
-
|
|
109
|
-
```powershell
|
|
110
|
-
winget install --id astral-sh.uv -e
|
|
111
|
-
winget install --id Casey.Just -e
|
|
112
|
-
winget install --id Archi.Archi -e
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Linux: uv via `curl -LsSf https://astral.sh/uv/install.sh | sh`, just via je
|
|
116
|
-
packagemanager, Archi als tgz van
|
|
117
|
-
[archimatetool.com/download](https://www.archimatetool.com/download/).
|
|
118
|
-
|
|
119
|
-
Archi wordt automatisch gevonden op `/Applications/Archi.app` (macOS),
|
|
120
|
-
`C:\Program Files\Archi\Archi.exe` (Windows) en `/opt/Archi/Archi` (Linux);
|
|
121
|
-
een ander pad geef je op via de env var `ARCHI_APP`. Python en pre-commit
|
|
122
|
-
hoef je niet zelf te installeren: uv regelt de Python-versie en pre-commit
|
|
123
|
-
is een dev-dependency.
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
just setup # eenmalig per clone: venv, dependencies en pre-commit hooks
|
|
127
|
-
just stats # wat zit erin
|
|
128
|
-
just open # model openen in Archi
|
|
129
|
-
just serve # gerenderde HTML-views op http://localhost:8766
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Sla `just setup` niet over: zonder de pre-commit hooks kun je committen
|
|
133
|
-
zonder validatie en met verouderde renders.
|
|
134
|
-
|
|
135
|
-
Alle vaste taken:
|
|
136
|
-
|
|
137
|
-
| Commando | Wat het doet |
|
|
138
|
-
|---|---|
|
|
139
|
-
| `just setup` | venv, dependencies en pre-commit hooks installeren |
|
|
140
|
-
| `just validate` | integriteitschecks (draait ook als pre-commit hook) |
|
|
141
|
-
| `just render` | views en decks renderen naar `views/` en `views/html/` (ook hook) |
|
|
142
|
-
| `just normalize` | canonieke serialisatie via headless Archi, duurt zo'n 15 s |
|
|
143
|
-
| `just stats` | telling per elementtype, relaties en views |
|
|
144
|
-
| `just tree` | folderstructuur van het model met inhoud |
|
|
145
|
-
| `just list *args` | elementen tonen, bv. `just list --type Capability` |
|
|
146
|
-
| `just show *args` | één element met properties en relaties, bv. `just show "Gegevensuitwisseling"` |
|
|
147
|
-
| `just test` | pytest-suite |
|
|
148
|
-
| `just open` | model openen in Archi |
|
|
149
|
-
| `just serve` | HTML-views serveren op http://localhost:8766 |
|
|
150
|
-
|
|
151
|
-
Wijzigen doe je met de CLI. Die valideert het model na elke mutatie en
|
|
152
|
-
weigert op te slaan zolang er fouten zijn. Elementen zijn aanspreekbaar op id
|
|
153
|
-
of op naam, zolang die uniek is:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
uv run archi list --type Capability --property "Capability-niveau=gebied"
|
|
157
|
-
uv run archi show "Gegevensuitwisseling"
|
|
158
|
-
uv run archi tree
|
|
159
|
-
uv run archi add-element --type Capability --name "..." \
|
|
160
|
-
--property "Capability-niveau=bouwblok" --property "Omschrijving=..."
|
|
161
|
-
uv run archi add-relation --type Aggregation \
|
|
162
|
-
--source "Gegevensuitwisseling" --target "..." --name "bevat"
|
|
163
|
-
uv run archi set-property "Gegevensuitwisseling" "Omschrijving=..."
|
|
164
|
-
uv run archi rename "Oude naam" "Nieuwe naam"
|
|
165
|
-
uv run archi set-documentation "Gegevensuitwisseling" "..."
|
|
166
|
-
uv run archi remove "Gegevensuitwisseling" --cascade
|
|
167
|
-
uv run archi add-view --name "..." --layout cluster \
|
|
168
|
-
--type Capability --relation Aggregation
|
|
169
|
-
uv run archi add-view --name "... in detail" --layout cluster \
|
|
170
|
-
--root "Gegevensuitwisseling" --related
|
|
171
|
-
uv run archi add-view --name "Losse selectie" --layout grid \
|
|
172
|
-
--element "Gegevensuitwisseling" --element "Kunstmatige Intelligentie"
|
|
173
|
-
uv run archi slides --deck decks/ado.toml
|
|
174
|
-
uv run archi set-model-name "..."
|
|
175
|
-
uv run archi --help
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
Elk commando heeft nog wat minder gebruikte vlaggen: `add-element --folder`
|
|
179
|
-
overschrijft de folder-plaatsing (default volgt uit het type), `add-view
|
|
180
|
-
--element` voegt losse elementen aan een selectie toe (zie hierboven), en
|
|
181
|
-
`slides` accepteert `--deck`, `--decks` en `--out` om gericht te renderen. De
|
|
182
|
-
volledige set toont `uv run archi <commando> --help`.
|
|
183
|
-
|
|
184
|
-
## Werkwijze
|
|
185
|
-
|
|
186
|
-
Branch afsplitsen, wijzigen, `just validate`, `just normalize`, committen en
|
|
187
|
-
een PR openen. De pre-commit hook rendert de views mee; verandert er iets in
|
|
188
|
-
`views/`, dan faalt de commit een keer en stage je de verse renders erbij.
|
|
189
|
-
CI draait dezelfde checks (validatie, actuele renders, tests) op Ubuntu en
|
|
190
|
-
Windows, dus een omzeilde hook strandt alsnog op de PR. De
|
|
191
|
-
architect-eigenaar reviewt en merget.
|
|
192
|
-
|
|
193
|
-
De belangrijkste afspraak: een schrijver tegelijk op het modelbestand. Een
|
|
194
|
-
enkel XML-bestand merget slecht, dus parallelle branches met modelwijzigingen
|
|
195
|
-
zijn er niet. Tooling- en documentatie-PR's kunnen wel naast elkaar lopen.
|
|
196
|
-
Details en rollen staan in `docs/spelregels.md`; de modelconventies (welke
|
|
197
|
-
types, welke property-keys, Nederlandse naamgeving) in `docs/conventies.md`.
|
|
198
|
-
|
|
199
|
-
Werk je met Claude Code, dan wordt `CLAUDE.md` automatisch geladen en
|
|
200
|
-
triggeren de skills `archi-model` (modelwijzigingen doorvoeren), `archi-view`
|
|
201
|
-
(views genereren) en `archi-slides` (presentaties maken) zodra je erom
|
|
202
|
-
vraagt.
|
|
203
|
-
|
|
204
|
-
## Herkomst
|
|
205
|
-
|
|
206
|
-
Het seedmodel is de export van het ADO-niveau-1-model uit
|
|
207
|
-
[`ADO-architectuurmodel-experiment`](https://github.com/BureauArchitectuurDigitaleOverheid/ADO-architectuurmodel-experiment),
|
|
208
|
-
waar JSON de bron is en ArchiMate een exportformaat. Dit repo draait die
|
|
209
|
-
verhouding om: het Archi-bestand is de bron, en al het andere wordt eruit
|
|
210
|
-
gegenereerd.
|
|
211
|
-
|
|
212
|
-
## Licentie
|
|
213
|
-
|
|
214
|
-
[EUPL-1.2](LICENSE).
|
archi_cli-0.1.0/README.md
DELETED
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
# AI-assisted architecting
|
|
2
|
-
|
|
3
|
-
[](https://github.com/BureauArchitectuurDigitaleOverheid/ai-assisted-architecting/actions/workflows/ci.yml)
|
|
4
|
-
[](LICENSE)
|
|
5
|
-
|
|
6
|
-
Experiment van Bureau Architectuur Digitale Overheid: een ArchiMate-model in
|
|
7
|
-
het native Archi-formaat als bron van waarheid, bijgehouden met AI-assistentie
|
|
8
|
-
en deterministische tooling. Het modelbestand opent direct in Archi, zonder
|
|
9
|
-
import-stap, en de views zijn op GitHub zelf te bekijken.
|
|
10
|
-
|
|
11
|
-
## De `archi`-CLI los gebruiken
|
|
12
|
-
|
|
13
|
-
De tooling is ook een zelfstandig pakket, `archi-cli` (*ar·cli·mate*: de CLI in
|
|
14
|
-
je ArchiMate). Je installeert het commando `archi` los van deze repo:
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
uv tool install archi-cli
|
|
18
|
-
archi --help
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
`archi` werkt op elk `.archimate`-model: geef `--model <pad>` op, of leg het
|
|
22
|
-
model vast in een `archi.toml` (`[tool.archi] model = "..."`), of draai in een
|
|
23
|
-
map met precies één `.archimate`-bestand. Voor `normalize` heb je de Archi-
|
|
24
|
-
engine nodig; die haalt `archi` bij het eerste gebruik zelf op (of expliciet
|
|
25
|
-
met `archi setup`). De rest van dit document beschrijft het werken in deze repo.
|
|
26
|
-
|
|
27
|
-
## Het idee
|
|
28
|
-
|
|
29
|
-
`models/ado.archimate` is de bron. Er zijn twee gelijkwaardige manieren om
|
|
30
|
-
eraan te werken: via de `archi`-CLI (meestal aangestuurd door een AI-sessie
|
|
31
|
-
zoals Claude Code) of gewoon in de Archi-GUI. Beide routes komen samen in
|
|
32
|
-
dezelfde controles:
|
|
33
|
-
|
|
34
|
-
- `just validate` controleert de integriteit: unieke ids, kloppende
|
|
35
|
-
verwijzingen van relaties en view-objecten, juiste folder-plaatsing, en
|
|
36
|
-
property-keys tegen de conventielijst.
|
|
37
|
-
- `just normalize` laat headless Archi het bestand opnieuw serialiseren.
|
|
38
|
-
Archi is daarmee de canonieke serializer, dus diffs blijven klein en
|
|
39
|
-
reviewbaar, wie of wat er ook geschreven heeft.
|
|
40
|
-
- `just render` genereert uit elke view in het model een Mermaid-diagram
|
|
41
|
-
(rendert op GitHub, in `views/`) en een NLDD-gestileerde HTML-pagina die de
|
|
42
|
-
layout uit het model pixelgetrouw volgt (`views/html/`), inclusief de
|
|
43
|
-
ArchiMate-notatie-iconen per elementtype, notes, groups en bendpoints.
|
|
44
|
-
Daarnaast rendert het uit elke deckdefinitie in `decks/` een presentatie
|
|
45
|
-
(`views/html/slides/`): een lineair verhaal als zelfstandige HTML-slides
|
|
46
|
-
in Rijkshuisstijl, met views uit het model als diagrammen, afgewisseld
|
|
47
|
-
met tekst- en bulletslides.
|
|
48
|
-
|
|
49
|
-
Pre-commit hooks dwingen validatie en verse renders af bij elke commit die
|
|
50
|
-
het model raakt. De afweging achter deze opzet, inclusief wat we inleveren
|
|
51
|
-
ten opzichte van de JSON-aanpak in het zusterexperiment, staat in
|
|
52
|
-
`adr/0001-archimate-als-bron.md`; het besluit om gegenereerde renders wel te
|
|
53
|
-
committen staat in `adr/0002-views-als-mermaid-in-git.md`, dat voor de
|
|
54
|
-
slidedecks in `adr/0003-slidedecks-als-toml-in-git.md`.
|
|
55
|
-
|
|
56
|
-
## Structuur
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
models/ado.archimate Het model, de bron van waarheid
|
|
60
|
-
decks/ Deckdefinities voor presentaties (TOML)
|
|
61
|
-
views/ Gerenderde views als Mermaid (.md, rendert op GitHub)
|
|
62
|
-
views/html/ Dezelfde views als NLDD-HTML, lokaal te bekijken
|
|
63
|
-
views/html/slides/ Gerenderde slidedecks (één HTML per deck)
|
|
64
|
-
docs/conventies.md Types, property-keys en naamgeving
|
|
65
|
-
docs/spelregels.md Rollen, workflow en de een-schrijver-afspraak
|
|
66
|
-
adr/ Architectuurbeslissingen
|
|
67
|
-
tools/archi_tool/ De archi-CLI (Python, lxml; beheerd met uv)
|
|
68
|
-
tests/ pytest-suite met een klein fixture-model
|
|
69
|
-
.claude/skills/ Procedures voor AI-sessies (archi-model, archi-view, archi-slides)
|
|
70
|
-
justfile Vaste taken
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Aan de slag
|
|
74
|
-
|
|
75
|
-
Nodig: [uv](https://docs.astral.sh/uv/), [just](https://just.systems/) en
|
|
76
|
-
[Archi](https://www.archimatetool.com/) voor normalisatie.
|
|
77
|
-
|
|
78
|
-
macOS:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
brew install uv just
|
|
82
|
-
brew install --cask archi
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Windows (PowerShell):
|
|
86
|
-
|
|
87
|
-
```powershell
|
|
88
|
-
winget install --id astral-sh.uv -e
|
|
89
|
-
winget install --id Casey.Just -e
|
|
90
|
-
winget install --id Archi.Archi -e
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Linux: uv via `curl -LsSf https://astral.sh/uv/install.sh | sh`, just via je
|
|
94
|
-
packagemanager, Archi als tgz van
|
|
95
|
-
[archimatetool.com/download](https://www.archimatetool.com/download/).
|
|
96
|
-
|
|
97
|
-
Archi wordt automatisch gevonden op `/Applications/Archi.app` (macOS),
|
|
98
|
-
`C:\Program Files\Archi\Archi.exe` (Windows) en `/opt/Archi/Archi` (Linux);
|
|
99
|
-
een ander pad geef je op via de env var `ARCHI_APP`. Python en pre-commit
|
|
100
|
-
hoef je niet zelf te installeren: uv regelt de Python-versie en pre-commit
|
|
101
|
-
is een dev-dependency.
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
just setup # eenmalig per clone: venv, dependencies en pre-commit hooks
|
|
105
|
-
just stats # wat zit erin
|
|
106
|
-
just open # model openen in Archi
|
|
107
|
-
just serve # gerenderde HTML-views op http://localhost:8766
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Sla `just setup` niet over: zonder de pre-commit hooks kun je committen
|
|
111
|
-
zonder validatie en met verouderde renders.
|
|
112
|
-
|
|
113
|
-
Alle vaste taken:
|
|
114
|
-
|
|
115
|
-
| Commando | Wat het doet |
|
|
116
|
-
|---|---|
|
|
117
|
-
| `just setup` | venv, dependencies en pre-commit hooks installeren |
|
|
118
|
-
| `just validate` | integriteitschecks (draait ook als pre-commit hook) |
|
|
119
|
-
| `just render` | views en decks renderen naar `views/` en `views/html/` (ook hook) |
|
|
120
|
-
| `just normalize` | canonieke serialisatie via headless Archi, duurt zo'n 15 s |
|
|
121
|
-
| `just stats` | telling per elementtype, relaties en views |
|
|
122
|
-
| `just tree` | folderstructuur van het model met inhoud |
|
|
123
|
-
| `just list *args` | elementen tonen, bv. `just list --type Capability` |
|
|
124
|
-
| `just show *args` | één element met properties en relaties, bv. `just show "Gegevensuitwisseling"` |
|
|
125
|
-
| `just test` | pytest-suite |
|
|
126
|
-
| `just open` | model openen in Archi |
|
|
127
|
-
| `just serve` | HTML-views serveren op http://localhost:8766 |
|
|
128
|
-
|
|
129
|
-
Wijzigen doe je met de CLI. Die valideert het model na elke mutatie en
|
|
130
|
-
weigert op te slaan zolang er fouten zijn. Elementen zijn aanspreekbaar op id
|
|
131
|
-
of op naam, zolang die uniek is:
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
uv run archi list --type Capability --property "Capability-niveau=gebied"
|
|
135
|
-
uv run archi show "Gegevensuitwisseling"
|
|
136
|
-
uv run archi tree
|
|
137
|
-
uv run archi add-element --type Capability --name "..." \
|
|
138
|
-
--property "Capability-niveau=bouwblok" --property "Omschrijving=..."
|
|
139
|
-
uv run archi add-relation --type Aggregation \
|
|
140
|
-
--source "Gegevensuitwisseling" --target "..." --name "bevat"
|
|
141
|
-
uv run archi set-property "Gegevensuitwisseling" "Omschrijving=..."
|
|
142
|
-
uv run archi rename "Oude naam" "Nieuwe naam"
|
|
143
|
-
uv run archi set-documentation "Gegevensuitwisseling" "..."
|
|
144
|
-
uv run archi remove "Gegevensuitwisseling" --cascade
|
|
145
|
-
uv run archi add-view --name "..." --layout cluster \
|
|
146
|
-
--type Capability --relation Aggregation
|
|
147
|
-
uv run archi add-view --name "... in detail" --layout cluster \
|
|
148
|
-
--root "Gegevensuitwisseling" --related
|
|
149
|
-
uv run archi add-view --name "Losse selectie" --layout grid \
|
|
150
|
-
--element "Gegevensuitwisseling" --element "Kunstmatige Intelligentie"
|
|
151
|
-
uv run archi slides --deck decks/ado.toml
|
|
152
|
-
uv run archi set-model-name "..."
|
|
153
|
-
uv run archi --help
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Elk commando heeft nog wat minder gebruikte vlaggen: `add-element --folder`
|
|
157
|
-
overschrijft de folder-plaatsing (default volgt uit het type), `add-view
|
|
158
|
-
--element` voegt losse elementen aan een selectie toe (zie hierboven), en
|
|
159
|
-
`slides` accepteert `--deck`, `--decks` en `--out` om gericht te renderen. De
|
|
160
|
-
volledige set toont `uv run archi <commando> --help`.
|
|
161
|
-
|
|
162
|
-
## Werkwijze
|
|
163
|
-
|
|
164
|
-
Branch afsplitsen, wijzigen, `just validate`, `just normalize`, committen en
|
|
165
|
-
een PR openen. De pre-commit hook rendert de views mee; verandert er iets in
|
|
166
|
-
`views/`, dan faalt de commit een keer en stage je de verse renders erbij.
|
|
167
|
-
CI draait dezelfde checks (validatie, actuele renders, tests) op Ubuntu en
|
|
168
|
-
Windows, dus een omzeilde hook strandt alsnog op de PR. De
|
|
169
|
-
architect-eigenaar reviewt en merget.
|
|
170
|
-
|
|
171
|
-
De belangrijkste afspraak: een schrijver tegelijk op het modelbestand. Een
|
|
172
|
-
enkel XML-bestand merget slecht, dus parallelle branches met modelwijzigingen
|
|
173
|
-
zijn er niet. Tooling- en documentatie-PR's kunnen wel naast elkaar lopen.
|
|
174
|
-
Details en rollen staan in `docs/spelregels.md`; de modelconventies (welke
|
|
175
|
-
types, welke property-keys, Nederlandse naamgeving) in `docs/conventies.md`.
|
|
176
|
-
|
|
177
|
-
Werk je met Claude Code, dan wordt `CLAUDE.md` automatisch geladen en
|
|
178
|
-
triggeren de skills `archi-model` (modelwijzigingen doorvoeren), `archi-view`
|
|
179
|
-
(views genereren) en `archi-slides` (presentaties maken) zodra je erom
|
|
180
|
-
vraagt.
|
|
181
|
-
|
|
182
|
-
## Herkomst
|
|
183
|
-
|
|
184
|
-
Het seedmodel is de export van het ADO-niveau-1-model uit
|
|
185
|
-
[`ADO-architectuurmodel-experiment`](https://github.com/BureauArchitectuurDigitaleOverheid/ADO-architectuurmodel-experiment),
|
|
186
|
-
waar JSON de bron is en ArchiMate een exportformaat. Dit repo draait die
|
|
187
|
-
verhouding om: het Archi-bestand is de bron, en al het andere wordt eruit
|
|
188
|
-
gegenereerd.
|
|
189
|
-
|
|
190
|
-
## Licentie
|
|
191
|
-
|
|
192
|
-
[EUPL-1.2](LICENSE).
|
archi_cli-0.1.0/views/README.md
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<!-- Gegenereerd door `archi render` — niet handmatig bewerken -->
|
|
2
|
-
|
|
3
|
-
# Views
|
|
4
|
-
|
|
5
|
-
Gerenderde views uit `models/ado.archimate`. Deze bestanden worden gegenereerd door `archi render`; bewerk ze niet handmatig.
|
|
6
|
-
|
|
7
|
-
- [Ontwikkelingsgebieden en functionele bouwblokken](ontwikkelingsgebieden-en-functionele-bouwblokken.md)
|
|
8
|
-
- [Gegevensuitwisseling in detail](gegevensuitwisseling-in-detail.md)
|
|
9
|
-
- [Kunstmatige Intelligentie in detail](kunstmatige-intelligentie-in-detail.md)
|
|
10
|
-
- [Van wet naar digitale werking](van-wet-naar-digitale-werking.md)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|