container-superposition 0.1.8 → 0.1.9

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.
Files changed (162) hide show
  1. package/dist/tool/commands/adopt.js +1 -1
  2. package/dist/tool/commands/adopt.js.map +1 -1
  3. package/dist/tool/commands/doctor.d.ts +1 -0
  4. package/dist/tool/commands/doctor.d.ts.map +1 -1
  5. package/dist/tool/commands/doctor.js +1370 -73
  6. package/dist/tool/commands/doctor.js.map +1 -1
  7. package/dist/tool/questionnaire/composer.d.ts +3 -1
  8. package/dist/tool/questionnaire/composer.d.ts.map +1 -1
  9. package/dist/tool/questionnaire/composer.js +87 -18
  10. package/dist/tool/questionnaire/composer.js.map +1 -1
  11. package/dist/tool/questionnaire/presets.d.ts.map +1 -1
  12. package/dist/tool/questionnaire/presets.js +1 -0
  13. package/dist/tool/questionnaire/presets.js.map +1 -1
  14. package/dist/tool/questionnaire/questionnaire.d.ts.map +1 -1
  15. package/dist/tool/questionnaire/questionnaire.js +3 -1
  16. package/dist/tool/questionnaire/questionnaire.js.map +1 -1
  17. package/dist/tool/schema/project-config.d.ts.map +1 -1
  18. package/dist/tool/schema/project-config.js +5 -1
  19. package/dist/tool/schema/project-config.js.map +1 -1
  20. package/dist/tool/schema/types.d.ts +4 -2
  21. package/dist/tool/schema/types.d.ts.map +1 -1
  22. package/docs/overlays.md +158 -147
  23. package/docs/specs/001-verbose-plan-graph/spec.md +5 -12
  24. package/docs/specs/002-superposition-config-file/spec.md +5 -12
  25. package/docs/specs/003-mkdocs2-overlay/spec.md +2 -9
  26. package/docs/specs/004-doctor-fix/spec.md +1 -8
  27. package/docs/specs/005-cuda-overlay/spec.md +2 -9
  28. package/docs/specs/006-rocm-overlay/spec.md +3 -10
  29. package/docs/specs/007-target-aware-generation/spec.md +4 -11
  30. package/docs/specs/008-project-file-canonical/spec.md +7 -8
  31. package/docs/specs/009-project-env/spec.md +3 -10
  32. package/docs/specs/010-compose-env-materialization/spec.md +3 -10
  33. package/docs/specs/011-overlay-parameters/spec.md +2 -9
  34. package/docs/specs/012-ollama-cli-overlay/spec.md +47 -0
  35. package/docs/specs/013-doctor-dependency-check/spec.md +250 -0
  36. package/docs/specs/014-doctor-compose-port-cross-validation/spec.md +276 -0
  37. package/docs/specs/015-doctor-env-example-drift/spec.md +248 -0
  38. package/docs/specs/016-doctor-reproducibility-check/spec.md +276 -0
  39. package/docs/specs/017-doctor-dry-run/spec.md +276 -0
  40. package/docs/specs/{007-init-project-file → 018-init-project-file}/spec.md +2 -9
  41. package/docs/specs/taxonomy.md +186 -0
  42. package/overlays/.presets/full-observability.yml +113 -0
  43. package/overlays/.presets/k8s-dev.yml +174 -0
  44. package/overlays/.presets/local-llm.yml +105 -0
  45. package/overlays/.presets/vector-ai.yml +150 -0
  46. package/overlays/.shared/vscode/js-ts-settings.json +19 -0
  47. package/overlays/.shared/vscode/markdown-extensions.json +8 -0
  48. package/overlays/alertmanager/devcontainer.patch.json +0 -1
  49. package/overlays/alertmanager/docker-compose.yml +8 -0
  50. package/overlays/alertmanager/overlay.yml +1 -0
  51. package/overlays/amp/devcontainer.patch.json +4 -1
  52. package/overlays/bun/devcontainer.patch.json +1 -10
  53. package/overlays/bun/overlay.yml +8 -1
  54. package/overlays/claude-code/devcontainer.patch.json +6 -1
  55. package/overlays/codex/devcontainer.patch.json +5 -0
  56. package/overlays/comfyui/docker-compose.yml +1 -0
  57. package/overlays/comfyui/overlay.yml +4 -0
  58. package/overlays/commitlint/devcontainer.patch.json +1 -6
  59. package/overlays/docker-sock/overlay.yml +1 -0
  60. package/overlays/dotnet/overlay.yml +4 -1
  61. package/overlays/fuseki/.env.example +5 -0
  62. package/overlays/fuseki/README.md +173 -0
  63. package/overlays/fuseki/devcontainer.patch.json +18 -0
  64. package/overlays/fuseki/docker-compose.yml +29 -0
  65. package/overlays/fuseki/overlay.yml +42 -0
  66. package/overlays/fuseki/verify.sh +58 -0
  67. package/overlays/gemini-cli/devcontainer.patch.json +4 -1
  68. package/overlays/go/overlay.yml +6 -1
  69. package/overlays/grafana/devcontainer.patch.json +0 -1
  70. package/overlays/grafana/docker-compose.yml +8 -2
  71. package/overlays/grafana/overlay.yml +6 -1
  72. package/overlays/jaeger/.env.example +11 -0
  73. package/overlays/jaeger/README.md +33 -4
  74. package/overlays/jaeger/devcontainer.patch.json +9 -1
  75. package/overlays/jaeger/docker-compose.yml +17 -0
  76. package/overlays/jaeger/overlay.yml +1 -12
  77. package/overlays/java/overlay.yml +6 -1
  78. package/overlays/jupyter/docker-compose.yml +1 -0
  79. package/overlays/jupyter/overlay.yml +1 -0
  80. package/overlays/keycloak/devcontainer.patch.json +0 -1
  81. package/overlays/keycloak/docker-compose.yml +1 -0
  82. package/overlays/keycloak/overlay.yml +15 -0
  83. package/overlays/localstack/docker-compose.yml +1 -0
  84. package/overlays/localstack/overlay.yml +19 -1
  85. package/overlays/loki/devcontainer.patch.json +0 -1
  86. package/overlays/loki/docker-compose.yml +8 -0
  87. package/overlays/loki/overlay.yml +1 -0
  88. package/overlays/mailpit/docker-compose.yml +1 -0
  89. package/overlays/mailpit/overlay.yml +1 -0
  90. package/overlays/minio/devcontainer.patch.json +1 -1
  91. package/overlays/minio/docker-compose.yml +1 -0
  92. package/overlays/minio/overlay.yml +23 -2
  93. package/overlays/mkdocs/devcontainer.patch.json +1 -5
  94. package/overlays/mkdocs/overlay.yml +3 -1
  95. package/overlays/mkdocs2/devcontainer.patch.json +1 -5
  96. package/overlays/mkdocs2/overlay.yml +2 -0
  97. package/overlays/mongodb/docker-compose.yml +2 -0
  98. package/overlays/mongodb/overlay.yml +26 -2
  99. package/overlays/mysql/docker-compose.yml +2 -0
  100. package/overlays/mysql/overlay.yml +36 -2
  101. package/overlays/nats/docker-compose.yml +1 -0
  102. package/overlays/nats/overlay.yml +18 -2
  103. package/overlays/nodejs/devcontainer.patch.json +1 -12
  104. package/overlays/nodejs/overlay.yml +8 -1
  105. package/overlays/ollama/README.md +4 -3
  106. package/overlays/ollama/docker-compose.yml +1 -0
  107. package/overlays/ollama/overlay.yml +6 -1
  108. package/overlays/ollama/verify.sh +5 -28
  109. package/overlays/ollama-cli/README.md +90 -0
  110. package/overlays/ollama-cli/devcontainer.patch.json +3 -0
  111. package/overlays/ollama-cli/overlay.yml +19 -0
  112. package/overlays/{ollama → ollama-cli}/setup.sh +7 -10
  113. package/overlays/ollama-cli/verify.sh +49 -0
  114. package/overlays/open-webui/docker-compose.yml +1 -0
  115. package/overlays/open-webui/overlay.yml +8 -1
  116. package/overlays/opencode/devcontainer.patch.json +4 -1
  117. package/overlays/otel-collector/README.md +4 -0
  118. package/overlays/otel-collector/devcontainer.patch.json +4 -1
  119. package/overlays/otel-collector/docker-compose.yml +8 -4
  120. package/overlays/otel-collector/overlay.yml +1 -0
  121. package/overlays/otel-demo-nodejs/devcontainer.patch.json +0 -1
  122. package/overlays/otel-demo-nodejs/docker-compose.yml +1 -0
  123. package/overlays/otel-demo-nodejs/overlay.yml +9 -1
  124. package/overlays/otel-demo-python/devcontainer.patch.json +0 -1
  125. package/overlays/otel-demo-python/docker-compose.yml +1 -0
  126. package/overlays/otel-demo-python/overlay.yml +6 -1
  127. package/overlays/pandoc/README.md +10 -0
  128. package/overlays/pandoc/devcontainer.patch.json +0 -5
  129. package/overlays/pandoc/overlay.yml +2 -0
  130. package/overlays/pandoc/setup.sh +10 -0
  131. package/overlays/pgvector/devcontainer.patch.json +11 -5
  132. package/overlays/pgvector/docker-compose.yml +1 -0
  133. package/overlays/pgvector/overlay.yml +3 -0
  134. package/overlays/playwright/devcontainer.patch.json +0 -5
  135. package/overlays/playwright/overlay.yml +2 -1
  136. package/overlays/postgres/docker-compose.yml +1 -0
  137. package/overlays/postgres/overlay.yml +4 -1
  138. package/overlays/pre-commit/devcontainer.patch.json +1 -7
  139. package/overlays/prometheus/devcontainer.patch.json +0 -1
  140. package/overlays/prometheus/docker-compose.yml +8 -0
  141. package/overlays/prometheus/overlay.yml +1 -0
  142. package/overlays/promtail/devcontainer.patch.json +1 -2
  143. package/overlays/promtail/docker-compose.yml +8 -0
  144. package/overlays/promtail/overlay.yml +1 -0
  145. package/overlays/qdrant/docker-compose.yml +1 -0
  146. package/overlays/qdrant/overlay.yml +5 -1
  147. package/overlays/rabbitmq/docker-compose.yml +1 -0
  148. package/overlays/rabbitmq/overlay.yml +25 -2
  149. package/overlays/redis/docker-compose.yml +7 -0
  150. package/overlays/redis/overlay.yml +15 -1
  151. package/overlays/redpanda/docker-compose.yml +1 -0
  152. package/overlays/redpanda/overlay.yml +15 -3
  153. package/overlays/rocm/overlay.yml +2 -1
  154. package/overlays/rust/overlay.yml +3 -1
  155. package/overlays/sqlserver/docker-compose.yml +1 -0
  156. package/overlays/sqlserver/overlay.yml +17 -0
  157. package/overlays/tempo/devcontainer.patch.json +0 -1
  158. package/overlays/tempo/docker-compose.yml +8 -0
  159. package/overlays/tempo/overlay.yml +1 -0
  160. package/overlays/windsurf-cli/devcontainer.patch.json +4 -1
  161. package/package.json +1 -1
  162. package/overlays/.shared/otel/otel-base-config.yaml +0 -30
package/docs/overlays.md CHANGED
@@ -18,40 +18,44 @@ This document provides a comprehensive reference for all available overlays in c
18
18
 
19
19
  .NET 10 SDK with C# DevKit
20
20
 
21
- | Property | Value |
22
- | ------------ | ------------------------------ |
23
- | **Category** | language |
24
- | **Tags** | `language`, `dotnet`, `csharp` |
21
+ | Property | Value |
22
+ | ------------- | --------------------------------------- |
23
+ | **Category** | language |
24
+ | **Conflicts** | `mysql`, `redpanda`, `otel-demo-nodejs` |
25
+ | **Tags** | `language`, `dotnet`, `csharp` |
25
26
 
26
27
  ### Bun (`bun`)
27
28
 
28
29
  Bun runtime - faster JavaScript runtime and package manager
29
30
 
30
- | Property | Value |
31
- | ------------ | --------------------------------------------- |
32
- | **Category** | language |
33
- | **Tags** | `language`, `bun`, `javascript`, `typescript` |
34
- | **Ports** | 3000, 8080 |
31
+ | Property | Value |
32
+ | ------------- | ---------------------------------------------------------------- |
33
+ | **Category** | language |
34
+ | **Conflicts** | `grafana`, `open-webui`, `mysql`, `redpanda`, `otel-demo-nodejs` |
35
+ | **Tags** | `language`, `bun`, `javascript`, `typescript` |
36
+ | **Ports** | 3000, 8080 |
35
37
 
36
38
  ### Go (`go`)
37
39
 
38
40
  Go latest stable with gopls and delve debugger
39
41
 
40
- | Property | Value |
41
- | ------------ | -------------------------- |
42
- | **Category** | language |
43
- | **Tags** | `language`, `go`, `golang` |
44
- | **Ports** | 8080, 8081 |
42
+ | Property | Value |
43
+ | ------------- | ---------------------------------------------------------------------- |
44
+ | **Category** | language |
45
+ | **Conflicts** | `mysql`, `redpanda`, `mongodb`, `otel-demo-nodejs`, `otel-demo-python` |
46
+ | **Tags** | `language`, `go`, `golang` |
47
+ | **Ports** | 8080, 8081 |
45
48
 
46
49
  ### Java (`java`)
47
50
 
48
51
  Eclipse Temurin JDK 21 with Maven and Gradle
49
52
 
50
- | Property | Value |
51
- | ------------ | ------------------------------------- |
52
- | **Category** | language |
53
- | **Tags** | `language`, `java`, `maven`, `gradle` |
54
- | **Ports** | 8080, 8081 |
53
+ | Property | Value |
54
+ | ------------- | ---------------------------------------------------------------------- |
55
+ | **Category** | language |
56
+ | **Conflicts** | `mysql`, `redpanda`, `mongodb`, `otel-demo-nodejs`, `otel-demo-python` |
57
+ | **Tags** | `language`, `java`, `maven`, `gradle` |
58
+ | **Ports** | 8080, 8081 |
55
59
 
56
60
  ### Jupyter (`jupyter`)
57
61
 
@@ -65,26 +69,15 @@ Jupyter notebook server for interactive computing and data science
65
69
  | **Tags** | `language`, `jupyter`, `python`, `notebook`, `data-science` |
66
70
  | **Ports** | 8888 |
67
71
 
68
- ### MkDocs (`mkdocs`)
69
-
70
- Material for MkDocs - professional documentation generator
71
-
72
- | Property | Value |
73
- | ------------- | ----------------------------------- |
74
- | **Category** | language |
75
- | **Requires** | `python` |
76
- | **Conflicts** | `mkdocs2` |
77
- | **Tags** | `documentation`, `mkdocs`, `python` |
78
- | **Ports** | 8000 |
79
-
80
72
  ### Node.js (`nodejs`)
81
73
 
82
74
  Node.js LTS with TypeScript and tooling
83
75
 
84
- | Property | Value |
85
- | ------------ | ------------------------------------------------ |
86
- | **Category** | language |
87
- | **Tags** | `language`, `nodejs`, `javascript`, `typescript` |
76
+ | Property | Value |
77
+ | ------------- | ---------------------------------------------------------------- |
78
+ | **Category** | language |
79
+ | **Conflicts** | `grafana`, `open-webui`, `mysql`, `redpanda`, `otel-demo-nodejs` |
80
+ | **Tags** | `language`, `nodejs`, `javascript`, `typescript` |
88
81
 
89
82
  ### PowerShell (`powershell`)
90
83
 
@@ -108,14 +101,27 @@ Python 3.12 with linting and formatting
108
101
 
109
102
  Rust stable with cargo, rustfmt, and clippy
110
103
 
111
- | Property | Value |
112
- | ------------ | --------------------------- |
113
- | **Category** | language |
114
- | **Tags** | `language`, `rust`, `cargo` |
115
- | **Ports** | 8080, 3000 |
104
+ | Property | Value |
105
+ | ------------- | --------------------------- |
106
+ | **Category** | language |
107
+ | **Conflicts** | `grafana`, `open-webui` |
108
+ | **Tags** | `language`, `rust`, `cargo` |
109
+ | **Ports** | 8080, 3000 |
116
110
 
117
111
  ## Database Overlays
118
112
 
113
+ ### Apache Jena Fuseki (`fuseki`)
114
+
115
+ SPARQL 1.1 server and triplestore backed by Apache Jena TDB
116
+
117
+ | Property | Value |
118
+ | ------------ | --------------------------------------------------------------------------------- |
119
+ | **Category** | database |
120
+ | **Supports** | compose |
121
+ | **Suggests** | `java`, `python`, `nodejs` |
122
+ | **Tags** | `database`, `rdf`, `sparql`, `triplestore`, `semantic-web`, `linked-data`, `jena` |
123
+ | **Ports** | 3030/http |
124
+
119
125
  ### DuckDB (`duckdb`)
120
126
 
121
127
  In-process analytical database for OLAP workloads
@@ -130,45 +136,40 @@ In-process analytical database for OLAP workloads
130
136
 
131
137
  S3-compatible object storage with web console
132
138
 
133
- | Property | Value |
134
- | ------------ | ------------------------------------------------------ |
135
- | **Category** | database |
136
- | **Supports** | compose |
137
- | **Tags** | `database`, `storage`, `s3`, `object-storage`, `minio` |
138
- | **Ports** | 9000, 9001 |
139
+ | Property | Value |
140
+ | ------------- | ------------------------------------------------------ |
141
+ | **Category** | database |
142
+ | **Supports** | compose |
143
+ | **Suggests** | `prometheus`, `grafana` |
144
+ | **Conflicts** | `localstack` |
145
+ | **Tags** | `database`, `storage`, `s3`, `object-storage`, `minio` |
146
+ | **Ports** | 9000, 9001 |
139
147
 
140
148
  ### MongoDB (`mongodb`)
141
149
 
142
150
  MongoDB 8 with Mongo Express web UI
143
151
 
144
- | Property | Value |
145
- | ------------ | ------------------------------------------ |
146
- | **Category** | database |
147
- | **Supports** | compose |
148
- | **Tags** | `database`, `nosql`, `mongodb`, `document` |
149
- | **Ports** | 27017/tcp, 8081/http |
152
+ | Property | Value |
153
+ | ------------- | -------------------------------------------- |
154
+ | **Category** | database |
155
+ | **Supports** | compose |
156
+ | **Suggests** | `prometheus`, `grafana` |
157
+ | **Conflicts** | `redpanda`, `otel-demo-python`, `go`, `java` |
158
+ | **Tags** | `database`, `nosql`, `mongodb`, `document` |
159
+ | **Ports** | 27017/tcp, 8081/http |
150
160
 
151
161
  ### MySQL (`mysql`)
152
162
 
153
163
  MySQL 8 with phpMyAdmin web UI
154
164
 
155
- | Property | Value |
156
- | ------------ | -------------------------- |
157
- | **Category** | database |
158
- | **Supports** | compose |
159
- | **Tags** | `database`, `sql`, `mysql` |
160
- | **Ports** | 3306/tcp, 8080/http |
161
-
162
- ### NATS (`nats`)
163
-
164
- Lightweight pub/sub messaging with JetStream
165
-
166
- | Property | Value |
167
- | ------------ | ------------------------------------------------------ |
168
- | **Category** | database |
169
- | **Supports** | compose |
170
- | **Tags** | `database`, `messaging`, `pubsub`, `nats`, `jetstream` |
171
- | **Ports** | 4222/tcp, 8222/http |
165
+ | Property | Value |
166
+ | ------------- | ----------------------------------------------------------------------- |
167
+ | **Category** | database |
168
+ | **Supports** | compose |
169
+ | **Suggests** | `prometheus`, `grafana` |
170
+ | **Conflicts** | `redpanda`, `nodejs`, `bun`, `go`, `java`, `dotnet`, `otel-demo-nodejs` |
171
+ | **Tags** | `database`, `sql`, `mysql` |
172
+ | **Ports** | 3306/tcp, 8080/http |
172
173
 
173
174
  ### pgvector (PostgreSQL + vector) (`pgvector`)
174
175
 
@@ -178,7 +179,7 @@ PostgreSQL 16 with the pgvector extension for vector similarity search
178
179
  | ------------- | ----------------------------------------------------------------- |
179
180
  | **Category** | database |
180
181
  | **Supports** | compose |
181
- | **Suggests** | `ollama`, `python`, `nodejs` |
182
+ | **Suggests** | `ollama`, `python`, `nodejs`, `prometheus`, `grafana` |
182
183
  | **Conflicts** | `postgres` |
183
184
  | **Tags** | `database`, `sql`, `vector`, `embeddings`, `postgres`, `pgvector` |
184
185
  | **Ports** | 5432/tcp |
@@ -191,6 +192,7 @@ PostgreSQL 16 database
191
192
  | ------------- | ----------------------------- |
192
193
  | **Category** | database |
193
194
  | **Supports** | compose |
195
+ | **Suggests** | `prometheus`, `grafana` |
194
196
  | **Conflicts** | `pgvector` |
195
197
  | **Tags** | `database`, `sql`, `postgres` |
196
198
  | **Ports** | 5432/tcp |
@@ -199,24 +201,13 @@ PostgreSQL 16 database
199
201
 
200
202
  High-performance vector database for similarity search and embeddings
201
203
 
202
- | Property | Value |
203
- | ------------ | ------------------------------------------------------ |
204
- | **Category** | database |
205
- | **Supports** | compose |
206
- | **Suggests** | `ollama`, `python`, `nodejs` |
207
- | **Tags** | `database`, `vector`, `embeddings`, `search`, `qdrant` |
208
- | **Ports** | 6333/http, 6334/grpc |
209
-
210
- ### RabbitMQ (`rabbitmq`)
211
-
212
- Message broker with AMQP protocol and management UI
213
-
214
- | Property | Value |
215
- | ------------ | ---------------------------------------------------- |
216
- | **Category** | database |
217
- | **Supports** | compose |
218
- | **Tags** | `database`, `messaging`, `queue`, `rabbitmq`, `amqp` |
219
- | **Ports** | 5672/tcp, 15672/http |
204
+ | Property | Value |
205
+ | ------------ | ----------------------------------------------------------------------- |
206
+ | **Category** | database |
207
+ | **Supports** | compose |
208
+ | **Suggests** | `ollama`, `python`, `nodejs`, `prometheus`, `grafana`, `otel-collector` |
209
+ | **Tags** | `database`, `vector`, `embeddings`, `search`, `qdrant` |
210
+ | **Ports** | 6333/http, 6334/grpc |
220
211
 
221
212
  ### Redis (`redis`)
222
213
 
@@ -226,20 +217,10 @@ Redis 7 cache
226
217
  | ------------ | ---------------------------- |
227
218
  | **Category** | database |
228
219
  | **Supports** | compose |
220
+ | **Suggests** | `prometheus`, `grafana` |
229
221
  | **Tags** | `database`, `cache`, `redis` |
230
222
  | **Ports** | 6379/tcp |
231
223
 
232
- ### Redpanda (`redpanda`)
233
-
234
- Kafka-compatible event streaming with web console
235
-
236
- | Property | Value |
237
- | ------------ | --------------------------------------------------------- |
238
- | **Category** | database |
239
- | **Supports** | compose |
240
- | **Tags** | `database`, `messaging`, `streaming`, `kafka`, `redpanda` |
241
- | **Ports** | 9092, 8080, 8081, 8082, 9644 |
242
-
243
224
  ### SQL Server (`sqlserver`)
244
225
 
245
226
  SQL Server 2022 for Linux
@@ -248,7 +229,7 @@ SQL Server 2022 for Linux
248
229
  | ------------ | ------------------------------------------- |
249
230
  | **Category** | database |
250
231
  | **Supports** | compose |
251
- | **Suggests** | `dotnet` |
232
+ | **Suggests** | `dotnet`, `prometheus`, `grafana` |
252
233
  | **Tags** | `database`, `sql`, `sqlserver`, `microsoft` |
253
234
  | **Ports** | 1433 |
254
235
 
@@ -274,7 +255,7 @@ Distributed tracing backend
274
255
  | **Supports** | compose |
275
256
  | **Conflicts** | `tempo` |
276
257
  | **Tags** | `observability`, `tracing`, `jaeger` |
277
- | **Ports** | 16686/http, 14250/grpc, 14268/http |
258
+ | **Ports** | 16686/http |
278
259
 
279
260
  ### Loki (`loki`)
280
261
 
@@ -352,40 +333,43 @@ Log shipping agent for Loki with Docker auto-discovery
352
333
 
353
334
  Observability visualization dashboard with auto-provisioning
354
335
 
355
- | Property | Value |
356
- | ------------ | -------------------------------------- |
357
- | **Category** | observability |
358
- | **Supports** | compose |
359
- | **Requires** | `prometheus` |
360
- | **Suggests** | `loki`, `jaeger`, `tempo`, `promtail` |
361
- | **Tags** | `observability`, `ui`, `visualization` |
362
- | **Ports** | 3000/http |
336
+ | Property | Value |
337
+ | ------------- | -------------------------------------- |
338
+ | **Category** | observability |
339
+ | **Supports** | compose |
340
+ | **Requires** | `prometheus` |
341
+ | **Suggests** | `loki`, `jaeger`, `tempo`, `promtail` |
342
+ | **Conflicts** | `open-webui`, `nodejs`, `bun`, `rust` |
343
+ | **Tags** | `observability`, `ui`, `visualization` |
344
+ | **Ports** | 3000/http |
363
345
 
364
346
  ### OTel Demo (Node.js) (`otel-demo-nodejs`)
365
347
 
366
348
  Sample Node.js app with OpenTelemetry instrumentation
367
349
 
368
- | Property | Value |
369
- | ------------ | -------------------------------------------------- |
370
- | **Category** | observability |
371
- | **Supports** | compose |
372
- | **Requires** | `otel-collector` |
373
- | **Suggests** | `jaeger`, `tempo`, `prometheus`, `loki`, `grafana` |
374
- | **Tags** | `observability`, `demo`, `nodejs`, `opentelemetry` |
375
- | **Ports** | 8080 |
350
+ | Property | Value |
351
+ | ------------- | ------------------------------------------------------------ |
352
+ | **Category** | observability |
353
+ | **Supports** | compose |
354
+ | **Requires** | `otel-collector` |
355
+ | **Suggests** | `jaeger`, `tempo`, `prometheus`, `loki`, `grafana` |
356
+ | **Conflicts** | `mysql`, `redpanda`, `nodejs`, `bun`, `go`, `java`, `dotnet` |
357
+ | **Tags** | `observability`, `demo`, `nodejs`, `opentelemetry` |
358
+ | **Ports** | 8080 |
376
359
 
377
360
  ### OTel Demo (Python) (`otel-demo-python`)
378
361
 
379
362
  Sample Python Flask app with OpenTelemetry instrumentation
380
363
 
381
- | Property | Value |
382
- | ------------ | -------------------------------------------------- |
383
- | **Category** | observability |
384
- | **Supports** | compose |
385
- | **Requires** | `otel-collector` |
386
- | **Suggests** | `jaeger`, `tempo`, `prometheus`, `loki`, `grafana` |
387
- | **Tags** | `observability`, `demo`, `python`, `opentelemetry` |
388
- | **Ports** | 8081 |
364
+ | Property | Value |
365
+ | ------------- | -------------------------------------------------- |
366
+ | **Category** | observability |
367
+ | **Supports** | compose |
368
+ | **Requires** | `otel-collector` |
369
+ | **Suggests** | `jaeger`, `tempo`, `prometheus`, `loki`, `grafana` |
370
+ | **Conflicts** | `mongodb`, `redpanda`, `go`, `java` |
371
+ | **Tags** | `observability`, `demo`, `python`, `opentelemetry` |
372
+ | **Ports** | 8081 |
389
373
 
390
374
  ## Cloud Tool Overlays
391
375
 
@@ -453,13 +437,14 @@ Kubernetes CLI and Helm package manager
453
437
 
454
438
  Local AWS cloud stack for development and testing
455
439
 
456
- | Property | Value |
457
- | ------------ | --------------------------------------- |
458
- | **Category** | cloud |
459
- | **Supports** | compose |
460
- | **Suggests** | `aws-cli` |
461
- | **Tags** | `cloud`, `aws`, `testing`, `localstack` |
462
- | **Ports** | 4566, 4571 |
440
+ | Property | Value |
441
+ | ------------- | --------------------------------------- |
442
+ | **Category** | cloud |
443
+ | **Supports** | compose |
444
+ | **Suggests** | `aws-cli` |
445
+ | **Conflicts** | `minio` |
446
+ | **Tags** | `cloud`, `aws`, `testing`, `localstack` |
447
+ | **Ports** | 4566, 4571 |
463
448
 
464
449
  ### Pulumi (`pulumi`)
465
450
 
@@ -549,7 +534,7 @@ Node-based image/video generation UI for Stable Diffusion and generative AI work
549
534
  | ------------ | -------------------------------------------------------------- |
550
535
  | **Category** | dev |
551
536
  | **Supports** | compose |
552
- | **Suggests** | `cuda`, `python`, `ollama` |
537
+ | **Suggests** | `cuda`, `rocm`, `python`, `ollama` |
553
538
  | **Tags** | `dev`, `ai`, `image-generation`, `stable-diffusion`, `comfyui` |
554
539
  | **Ports** | 8188 |
555
540
 
@@ -673,6 +658,18 @@ Email testing tool with web UI and SMTP server
673
658
  | **Tags** | `dev`, `email`, `smtp`, `testing` |
674
659
  | **Ports** | 8025/http, 1025/tcp |
675
660
 
661
+ ### MkDocs (`mkdocs`)
662
+
663
+ Material for MkDocs - professional documentation generator
664
+
665
+ | Property | Value |
666
+ | ------------- | ----------------------------------- |
667
+ | **Category** | dev |
668
+ | **Requires** | `python` |
669
+ | **Conflicts** | `mkdocs2` |
670
+ | **Tags** | `documentation`, `mkdocs`, `python` |
671
+ | **Ports** | 8000 |
672
+
676
673
  ### MkDocs 2 (`mkdocs2`)
677
674
 
678
675
  MkDocs 2.0 pre-release (encode/mkdocs) — smart, simple website design tool
@@ -709,25 +706,37 @@ Secure tunneling for webhook testing and external access
709
706
 
710
707
  Local LLM inference server with OpenAI-compatible API
711
708
 
712
- | Property | Value |
713
- | ------------ | ----------------------------------------- |
714
- | **Category** | dev |
715
- | **Supports** | compose |
716
- | **Suggests** | `codex`, `claude-code`, `amp` |
717
- | **Tags** | `dev`, `ai`, `llm`, `inference`, `ollama` |
718
- | **Ports** | 11434 |
709
+ | Property | Value |
710
+ | ------------ | ------------------------------------------------------------------------ |
711
+ | **Category** | dev |
712
+ | **Supports** | compose |
713
+ | **Requires** | `ollama-cli` |
714
+ | **Suggests** | `codex`, `claude-code`, `amp`, `prometheus`, `grafana`, `otel-collector` |
715
+ | **Tags** | `dev`, `ai`, `llm`, `inference`, `ollama` |
716
+ | **Ports** | 11434 |
717
+
718
+ ### Ollama CLI (`ollama-cli`)
719
+
720
+ Ollama command-line client for local or remote Ollama servers
721
+
722
+ | Property | Value |
723
+ | ------------ | --------------------------------------- |
724
+ | **Category** | dev |
725
+ | **Suggests** | `ollama`, `codex`, `claude-code`, `amp` |
726
+ | **Tags** | `dev`, `ai`, `llm`, `ollama`, `cli` |
719
727
 
720
728
  ### Open WebUI (`open-webui`)
721
729
 
722
730
  Browser-based chat UI for Ollama and OpenAI-compatible LLM backends
723
731
 
724
- | Property | Value |
725
- | ------------ | --------------------------------------------- |
726
- | **Category** | dev |
727
- | **Supports** | compose |
728
- | **Suggests** | `ollama` |
729
- | **Tags** | `dev`, `ai`, `llm`, `ui`, `chat`, `openwebui` |
730
- | **Ports** | 3000/http |
732
+ | Property | Value |
733
+ | ------------- | --------------------------------------------- |
734
+ | **Category** | dev |
735
+ | **Supports** | compose |
736
+ | **Suggests** | `ollama`, `prometheus`, `otel-collector` |
737
+ | **Conflicts** | `grafana`, `nodejs`, `bun`, `rust` |
738
+ | **Tags** | `dev`, `ai`, `llm`, `ui`, `chat`, `openwebui` |
739
+ | **Ports** | 3000/http |
731
740
 
732
741
  ### OpenAPI Tools (`openapi-tools`)
733
742
 
@@ -756,6 +765,7 @@ Browser automation and testing framework
756
765
  | Property | Value |
757
766
  | ------------ | --------------------------- |
758
767
  | **Category** | dev |
768
+ | **Requires** | `nodejs` |
759
769
  | **Tags** | `dev`, `testing`, `browser` |
760
770
 
761
771
  ### Pre-commit Framework (`pre-commit`)
@@ -776,6 +786,7 @@ AMD ROCm libraries and GPU passthrough for containerized ML/inference workloads
776
786
  | Property | Value |
777
787
  | ------------- | ---------------------------------------------- |
778
788
  | **Category** | dev |
789
+ | **Suggests** | `comfyui` |
779
790
  | **Conflicts** | `cuda` |
780
791
  | **Tags** | `dev`, `gpu`, `rocm`, `amd`, `ml`, `inference` |
781
792
 
@@ -1,18 +1,11 @@
1
1
  # Feature Specification: Verbose Plan Graph
2
2
 
3
- **Feature Branch**: `001-verbose-plan-graph`
3
+ **Spec ID**: `001-verbose-plan-graph`
4
4
  **Created**: 2026-03-10
5
5
  **Status**: Final
6
6
  **Input**: User description: "Extend the plan command with a --verbose flag that narrates the dependency resolution graph — explaining why each overlay was included, not just what was included. The principle: nothing here is magic. Scope update: it should also be possible to run plan including --verbose on an existing manifest."
7
7
 
8
- ## Review & Approval _(mandatory before implementation)_
9
-
10
- - **Spec Path**: `docs/specs/001-verbose-plan-graph/spec.md`
11
- - **Commit Status**: Committed
12
- - **Review Status**: APPROVED
13
- - **Implementation Gate**: No implementation code may begin until this spec is committed and reviewed.
14
-
15
- ## User Scenarios & Testing _(mandatory)_
8
+ ## User Scenarios & Testing
16
9
 
17
10
  ### User Story 1 - Explain auto-included overlays (Priority: P1)
18
11
 
@@ -80,7 +73,7 @@ A user who only wants a quick summary should still be able to run the plan comma
80
73
  - The user requests an invalid or unknown overlay and the plan must fail with a clear message instead of producing partial explanation data.
81
74
  - A user attempts to plan from a missing or invalid manifest and the command must fail with a clear message instead of producing incomplete verbose explanation output.
82
75
 
83
- ## Requirements _(mandatory)_
76
+ ## Requirements
84
77
 
85
78
  ### Functional Requirements
86
79
 
@@ -110,14 +103,14 @@ A user who only wants a quick summary should still be able to run the plan comma
110
103
  - Existing conflict and validation behavior remains in scope; this feature only expands how the reasoning is presented.
111
104
  - Existing manifest-driven workflows should use the same explanation model as direct overlay selection rather than introducing a separate reasoning format.
112
105
 
113
- ## Dependencies & Impact _(mandatory)_
106
+ ## Dependencies & Impact
114
107
 
115
108
  - **Affected Areas**: CLI command behavior, manifest-driven planning workflows, plan output, discovery documentation, CHANGELOG.md, automated tests
116
109
  - **Compatibility Impact**: Backward compatible
117
110
  - **Required Documentation Updates**: README.md, discovery command documentation, CHANGELOG.md
118
111
  - **Verification Plan**: Unit tests for inclusion-reason reporting, command-level tests for verbose and non-verbose output, manifest-driven planning validation, and manual validation with direct, transitive, duplicate-path, manifest, and failure scenarios
119
112
 
120
- ## Success Criteria _(mandatory)_
113
+ ## Success Criteria
121
114
 
122
115
  ### Measurable Outcomes
123
116
 
@@ -1,6 +1,6 @@
1
1
  # Feature Specification: Project Configuration File
2
2
 
3
- **Feature Branch**: `002-superposition-config-file`
3
+ **Spec ID**: `002-superposition-config-file`
4
4
  **Created**: 2026-03-11
5
5
  **Status**: Final
6
6
  **Input**: Add a repository-root project config file so teams and automation can generate the same environment from committed declarative setup instead of reconstructing long CLI commands.
@@ -8,14 +8,7 @@
8
8
  > Use repo-relative Markdown links for repository files. The root `README.md`
9
9
  > is the only exception and may use package-friendly hosted URLs.
10
10
 
11
- ## Review & Approval _(mandatory before implementation)_
12
-
13
- - **Spec Path**: `docs/specs/002-superposition-config-file/spec.md`
14
- - **Commit Status**: Committed
15
- - **Review Status**: Approved
16
- - **Implementation Gate**: No implementation code may begin until this spec is committed and reviewed.
17
-
18
- ## User Scenarios & Testing _(mandatory)_
11
+ ## User Scenarios & Testing
19
12
 
20
13
  ### User Story 1 - Generate from committed project config (Priority: P1)
21
14
 
@@ -77,7 +70,7 @@ A contributor receives clear guidance when the project config file is invalid, i
77
70
  - How does the system handle `adopt --project-file` when a repository already contains a supported project config file? It reuses that file path, and it must still stop on dual-file ambiguity so the source of truth stays deterministic.
78
71
  - How does the system handle project-file or manifest discovery from outside the target repository? An explicit project-root option may redirect persisted-input discovery and relative output resolution to that repository root.
79
72
 
80
- ## Requirements _(mandatory)_
73
+ ## Requirements
81
74
 
82
75
  ### Functional Requirements
83
76
 
@@ -110,7 +103,7 @@ A contributor receives clear guidance when the project config file is invalid, i
110
103
  - **Customization Input**: A supported user-configurable generation setting beyond basic stack and overlay selection, such as custom container definitions, environment-related settings, or additional generated features that alter the final output.
111
104
  - **Validation Result**: The user-facing outcome of checking the project config file, including syntax problems, unsupported entries, conflict findings, ambiguity conditions, and corrective guidance.
112
105
 
113
- ## Dependencies & Impact _(mandatory)_
106
+ ## Dependencies & Impact
114
107
 
115
108
  - **Affected Areas**: Standard initialization workflow, clean-generation parity, supported customization handling, manifest-based regeneration boundaries, project-file based regeneration boundaries, CLI usage patterns, onboarding workflow, CI/CD workflow, user documentation
116
109
  - **Compatibility Impact**: Backward compatible
@@ -124,7 +117,7 @@ A contributor receives clear guidance when the project config file is invalid, i
124
117
  - `--from-project` and `--from-manifest` are mutually exclusive persisted-input modes rather than additive sources for one run.
125
118
  - A single repository should contain at most one supported project config file so the source of truth stays deterministic and easy to explain.
126
119
 
127
- ## Success Criteria _(mandatory)_
120
+ ## Success Criteria
128
121
 
129
122
  ### Measurable Outcomes
130
123
 
@@ -1,18 +1,11 @@
1
1
  # Feature Specification: MkDocs 2.x Overlay
2
2
 
3
- **Feature Branch**: `copilot/add-mkdocs2-overlay`
3
+ **Spec ID**: `003-mkdocs2-overlay`
4
4
  **Created**: 2026-03-16
5
5
  **Status**: Final
6
6
  **Input**: Add a new `mkdocs2` overlay that installs MkDocs 2.x with the Material theme via direct `pip` install, keeping the existing `mkdocs` (MkDocs 1.x) overlay untouched for backward compatibility.
7
7
 
8
- ## Review & Approval _(mandatory before implementation)_
9
-
10
- - **Spec Path**: `docs/specs/003-mkdocs2-overlay/spec.md`
11
- - **Commit Status**: Committed
12
- - **Review Status**: Approved
13
- - **Implementation Gate**: No implementation code may begin until this spec is committed and reviewed.
14
-
15
- ## User Scenarios & Testing _(mandatory)_
8
+ ## User Scenarios & Testing
16
9
 
17
10
  ### User Story 1 - Use MkDocs 2.x in a devcontainer (Priority: P1)
18
11
 
@@ -1,17 +1,10 @@
1
1
  # Feature Specification: `doctor --fix` — Interactive Auto-Repair
2
2
 
3
- **Feature Branch**: `004-doctor-fix`
3
+ **Spec ID**: `004-doctor-fix`
4
4
  **Created**: 2026-03-19
5
5
  **Status**: Final
6
6
  **Input**: GitHub issue: Implement `doctor --fix` — interactive auto-repair for environment issues
7
7
 
8
- ## Review & Approval _(mandatory before implementation)_
9
-
10
- - **Spec Path**: `docs/specs/004-doctor-fix/spec.md`
11
- - **Commit Status**: Committed
12
- - **Review Status**: APPROVED
13
- - **Implementation Gate**: No implementation code may begin until this spec is committed and reviewed.
14
-
15
8
  ## Summary
16
9
 
17
10
  The `doctor` command validates the environment. The `--fix` path was a placeholder. This spec
@@ -1,18 +1,11 @@
1
1
  # Feature Specification: CUDA (NVIDIA GPU) Overlay
2
2
 
3
- **Feature Branch**: `copilot/add-cuda-overlay-for-gpu`
3
+ **Spec ID**: `005-cuda-overlay`
4
4
  **Created**: 2026-03-22
5
5
  **Status**: Final
6
6
  **Input**: Add a `cuda` overlay to enable NVIDIA GPU-accelerated workloads inside a dev container.
7
7
 
8
- ## Review & Approval _(mandatory before implementation)_
9
-
10
- - **Spec Path**: `docs/specs/005-cuda-overlay/spec.md`
11
- - **Commit Status**: Committed
12
- - **Review Status**: Approved
13
- - **Implementation Gate**: No implementation code may begin until this spec is committed and reviewed.
14
-
15
- ## User Scenarios & Testing _(mandatory)_
8
+ ## User Scenarios & Testing
16
9
 
17
10
  ### User Story 1 - GPU passthrough for ML/inference workloads (Priority: P1)
18
11