container-superposition 0.1.7 → 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 (242) hide show
  1. package/README.md +24 -15
  2. package/dist/scripts/init.js +1 -1537
  3. package/dist/scripts/init.js.map +1 -1
  4. package/dist/tool/cli/args.d.ts +20 -0
  5. package/dist/tool/cli/args.d.ts.map +1 -0
  6. package/dist/tool/cli/args.js +325 -0
  7. package/dist/tool/cli/args.js.map +1 -0
  8. package/dist/tool/cli/run.d.ts +2 -0
  9. package/dist/tool/cli/run.d.ts.map +1 -0
  10. package/dist/tool/cli/run.js +318 -0
  11. package/dist/tool/cli/run.js.map +1 -0
  12. package/dist/tool/commands/adopt.js +1 -1
  13. package/dist/tool/commands/adopt.js.map +1 -1
  14. package/dist/tool/commands/doctor.d.ts +1 -0
  15. package/dist/tool/commands/doctor.d.ts.map +1 -1
  16. package/dist/tool/commands/doctor.js +1510 -78
  17. package/dist/tool/commands/doctor.js.map +1 -1
  18. package/dist/tool/commands/explain.d.ts.map +1 -1
  19. package/dist/tool/commands/explain.js +9 -0
  20. package/dist/tool/commands/explain.js.map +1 -1
  21. package/dist/tool/commands/migrate.d.ts +7 -0
  22. package/dist/tool/commands/migrate.d.ts.map +1 -0
  23. package/dist/tool/commands/migrate.js +52 -0
  24. package/dist/tool/commands/migrate.js.map +1 -0
  25. package/dist/tool/questionnaire/answers.d.ts +16 -0
  26. package/dist/tool/questionnaire/answers.d.ts.map +1 -0
  27. package/dist/tool/questionnaire/answers.js +102 -0
  28. package/dist/tool/questionnaire/answers.js.map +1 -0
  29. package/dist/tool/questionnaire/composer.d.ts +6 -4
  30. package/dist/tool/questionnaire/composer.d.ts.map +1 -1
  31. package/dist/tool/questionnaire/composer.js +778 -45
  32. package/dist/tool/questionnaire/composer.js.map +1 -1
  33. package/dist/tool/questionnaire/presets.d.ts +60 -0
  34. package/dist/tool/questionnaire/presets.d.ts.map +1 -0
  35. package/dist/tool/questionnaire/presets.js +165 -0
  36. package/dist/tool/questionnaire/presets.js.map +1 -0
  37. package/dist/tool/questionnaire/questionnaire.d.ts +10 -0
  38. package/dist/tool/questionnaire/questionnaire.d.ts.map +1 -0
  39. package/dist/tool/questionnaire/questionnaire.js +582 -0
  40. package/dist/tool/questionnaire/questionnaire.js.map +1 -0
  41. package/dist/tool/schema/manifest-migrations.d.ts +5 -0
  42. package/dist/tool/schema/manifest-migrations.d.ts.map +1 -1
  43. package/dist/tool/schema/manifest-migrations.js +45 -0
  44. package/dist/tool/schema/manifest-migrations.js.map +1 -1
  45. package/dist/tool/schema/overlay-loader.d.ts.map +1 -1
  46. package/dist/tool/schema/overlay-loader.js +24 -0
  47. package/dist/tool/schema/overlay-loader.js.map +1 -1
  48. package/dist/tool/schema/project-config.d.ts +13 -1
  49. package/dist/tool/schema/project-config.d.ts.map +1 -1
  50. package/dist/tool/schema/project-config.js +188 -10
  51. package/dist/tool/schema/project-config.js.map +1 -1
  52. package/dist/tool/schema/target-rules.d.ts +78 -0
  53. package/dist/tool/schema/target-rules.d.ts.map +1 -0
  54. package/dist/tool/schema/target-rules.js +367 -0
  55. package/dist/tool/schema/target-rules.js.map +1 -0
  56. package/dist/tool/schema/types.d.ts +42 -3
  57. package/dist/tool/schema/types.d.ts.map +1 -1
  58. package/dist/tool/utils/parameters.d.ts +76 -0
  59. package/dist/tool/utils/parameters.d.ts.map +1 -0
  60. package/dist/tool/utils/parameters.js +125 -0
  61. package/dist/tool/utils/parameters.js.map +1 -0
  62. package/dist/tool/utils/paths.d.ts +2 -0
  63. package/dist/tool/utils/paths.d.ts.map +1 -0
  64. package/dist/tool/utils/paths.js +31 -0
  65. package/dist/tool/utils/paths.js.map +1 -0
  66. package/docs/deployment-targets.md +88 -56
  67. package/docs/examples.md +20 -17
  68. package/docs/filesystem-contract.md +5 -0
  69. package/docs/minimal-and-editor.md +65 -5
  70. package/docs/overlay-imports.md +92 -14
  71. package/docs/overlays.md +231 -135
  72. package/docs/specs/001-verbose-plan-graph/spec.md +5 -12
  73. package/docs/specs/002-superposition-config-file/spec.md +5 -12
  74. package/docs/specs/003-mkdocs2-overlay/spec.md +2 -9
  75. package/docs/specs/004-doctor-fix/spec.md +1 -8
  76. package/docs/specs/005-cuda-overlay/spec.md +2 -9
  77. package/docs/specs/006-rocm-overlay/spec.md +3 -10
  78. package/docs/specs/007-target-aware-generation/spec.md +119 -0
  79. package/docs/specs/008-project-file-canonical/spec.md +82 -0
  80. package/docs/specs/009-project-env/spec.md +140 -0
  81. package/docs/specs/010-compose-env-materialization/spec.md +123 -0
  82. package/docs/specs/011-overlay-parameters/spec.md +228 -0
  83. package/docs/specs/012-ollama-cli-overlay/spec.md +47 -0
  84. package/docs/specs/013-doctor-dependency-check/spec.md +250 -0
  85. package/docs/specs/014-doctor-compose-port-cross-validation/spec.md +276 -0
  86. package/docs/specs/015-doctor-env-example-drift/spec.md +248 -0
  87. package/docs/specs/016-doctor-reproducibility-check/spec.md +276 -0
  88. package/docs/specs/017-doctor-dry-run/spec.md +276 -0
  89. package/docs/specs/018-init-project-file/spec.md +59 -0
  90. package/docs/specs/taxonomy.md +186 -0
  91. package/overlays/.presets/full-observability.yml +113 -0
  92. package/overlays/.presets/k8s-dev.yml +174 -0
  93. package/overlays/.presets/local-llm.yml +105 -0
  94. package/overlays/.presets/vector-ai.yml +150 -0
  95. package/overlays/.shared/README.md +27 -2
  96. package/overlays/.shared/compose/nvidia-gpu-devcontainer.yml +22 -0
  97. package/overlays/.shared/vscode/js-ts-settings.json +19 -0
  98. package/overlays/.shared/vscode/markdown-extensions.json +8 -0
  99. package/overlays/alertmanager/devcontainer.patch.json +0 -1
  100. package/overlays/alertmanager/docker-compose.yml +8 -0
  101. package/overlays/alertmanager/overlay.yml +1 -0
  102. package/overlays/amp/devcontainer.patch.json +4 -1
  103. package/overlays/bun/devcontainer.patch.json +1 -10
  104. package/overlays/bun/overlay.yml +8 -1
  105. package/overlays/claude-code/devcontainer.patch.json +6 -1
  106. package/overlays/codex/devcontainer.patch.json +5 -0
  107. package/overlays/comfyui/.env.example +34 -0
  108. package/overlays/comfyui/README.md +342 -0
  109. package/overlays/comfyui/devcontainer.patch.json +15 -0
  110. package/overlays/comfyui/docker-compose.yml +40 -0
  111. package/overlays/comfyui/overlay.yml +24 -0
  112. package/overlays/comfyui/setup.sh +36 -0
  113. package/overlays/comfyui/verify.sh +103 -0
  114. package/overlays/commitlint/devcontainer.patch.json +1 -6
  115. package/overlays/docker-sock/overlay.yml +1 -0
  116. package/overlays/dotnet/overlay.yml +4 -1
  117. package/overlays/fuseki/.env.example +5 -0
  118. package/overlays/fuseki/README.md +173 -0
  119. package/overlays/fuseki/devcontainer.patch.json +18 -0
  120. package/overlays/fuseki/docker-compose.yml +29 -0
  121. package/overlays/fuseki/overlay.yml +42 -0
  122. package/overlays/fuseki/verify.sh +58 -0
  123. package/overlays/gemini-cli/devcontainer.patch.json +4 -1
  124. package/overlays/go/overlay.yml +6 -1
  125. package/overlays/grafana/devcontainer.patch.json +0 -1
  126. package/overlays/grafana/docker-compose.yml +8 -2
  127. package/overlays/grafana/overlay.yml +6 -1
  128. package/overlays/jaeger/.env.example +11 -0
  129. package/overlays/jaeger/README.md +33 -4
  130. package/overlays/jaeger/devcontainer.patch.json +9 -1
  131. package/overlays/jaeger/docker-compose.yml +17 -0
  132. package/overlays/jaeger/overlay.yml +1 -12
  133. package/overlays/java/overlay.yml +6 -1
  134. package/overlays/jupyter/docker-compose.yml +1 -0
  135. package/overlays/jupyter/overlay.yml +1 -0
  136. package/overlays/k3d/README.md +201 -0
  137. package/overlays/k3d/devcontainer.patch.json +9 -0
  138. package/overlays/k3d/overlay.yml +19 -0
  139. package/overlays/k3d/setup.sh +34 -0
  140. package/overlays/k3d/verify.sh +38 -0
  141. package/overlays/keycloak/devcontainer.patch.json +0 -1
  142. package/overlays/keycloak/docker-compose.yml +1 -0
  143. package/overlays/keycloak/overlay.yml +15 -0
  144. package/overlays/localstack/docker-compose.yml +1 -0
  145. package/overlays/localstack/overlay.yml +19 -1
  146. package/overlays/loki/devcontainer.patch.json +0 -1
  147. package/overlays/loki/docker-compose.yml +8 -0
  148. package/overlays/loki/overlay.yml +1 -0
  149. package/overlays/mailpit/docker-compose.yml +1 -0
  150. package/overlays/mailpit/overlay.yml +1 -0
  151. package/overlays/minio/devcontainer.patch.json +1 -1
  152. package/overlays/minio/docker-compose.yml +1 -0
  153. package/overlays/minio/overlay.yml +23 -2
  154. package/overlays/mkdocs/devcontainer.patch.json +1 -5
  155. package/overlays/mkdocs/overlay.yml +3 -1
  156. package/overlays/mkdocs2/devcontainer.patch.json +1 -5
  157. package/overlays/mkdocs2/overlay.yml +2 -0
  158. package/overlays/mongodb/docker-compose.yml +2 -0
  159. package/overlays/mongodb/overlay.yml +26 -2
  160. package/overlays/mysql/docker-compose.yml +2 -0
  161. package/overlays/mysql/overlay.yml +36 -2
  162. package/overlays/nats/docker-compose.yml +1 -0
  163. package/overlays/nats/overlay.yml +18 -2
  164. package/overlays/nodejs/devcontainer.patch.json +1 -12
  165. package/overlays/nodejs/overlay.yml +8 -1
  166. package/overlays/ollama/.env.example +14 -0
  167. package/overlays/ollama/README.md +326 -0
  168. package/overlays/ollama/devcontainer.patch.json +14 -0
  169. package/overlays/ollama/docker-compose.yml +25 -0
  170. package/overlays/ollama/overlay.yml +27 -0
  171. package/overlays/ollama/verify.sh +76 -0
  172. package/overlays/ollama-cli/README.md +90 -0
  173. package/overlays/ollama-cli/devcontainer.patch.json +3 -0
  174. package/overlays/ollama-cli/overlay.yml +19 -0
  175. package/overlays/ollama-cli/setup.sh +103 -0
  176. package/overlays/ollama-cli/verify.sh +49 -0
  177. package/overlays/open-webui/.env.example +5 -0
  178. package/overlays/open-webui/README.md +162 -0
  179. package/overlays/open-webui/devcontainer.patch.json +14 -0
  180. package/overlays/open-webui/docker-compose.yml +24 -0
  181. package/overlays/open-webui/overlay.yml +45 -0
  182. package/overlays/opencode/devcontainer.patch.json +4 -1
  183. package/overlays/otel-collector/README.md +4 -0
  184. package/overlays/otel-collector/devcontainer.patch.json +4 -1
  185. package/overlays/otel-collector/docker-compose.yml +8 -4
  186. package/overlays/otel-collector/overlay.yml +1 -0
  187. package/overlays/otel-demo-nodejs/devcontainer.patch.json +0 -1
  188. package/overlays/otel-demo-nodejs/docker-compose.yml +1 -0
  189. package/overlays/otel-demo-nodejs/overlay.yml +9 -1
  190. package/overlays/otel-demo-python/devcontainer.patch.json +0 -1
  191. package/overlays/otel-demo-python/docker-compose.yml +1 -0
  192. package/overlays/otel-demo-python/overlay.yml +6 -1
  193. package/overlays/pandoc/README.md +10 -0
  194. package/overlays/pandoc/devcontainer.patch.json +0 -5
  195. package/overlays/pandoc/overlay.yml +2 -0
  196. package/overlays/pandoc/setup.sh +10 -0
  197. package/overlays/pgvector/.env.example +6 -0
  198. package/overlays/pgvector/README.md +215 -0
  199. package/overlays/pgvector/devcontainer.patch.json +29 -0
  200. package/overlays/pgvector/docker-compose.yml +33 -0
  201. package/overlays/pgvector/overlay.yml +47 -0
  202. package/overlays/playwright/devcontainer.patch.json +0 -5
  203. package/overlays/playwright/overlay.yml +2 -1
  204. package/overlays/postgres/.env.example +5 -5
  205. package/overlays/postgres/devcontainer.patch.json +4 -4
  206. package/overlays/postgres/docker-compose.yml +11 -6
  207. package/overlays/postgres/overlay.yml +23 -2
  208. package/overlays/pre-commit/devcontainer.patch.json +1 -7
  209. package/overlays/prometheus/devcontainer.patch.json +0 -1
  210. package/overlays/prometheus/docker-compose.yml +8 -0
  211. package/overlays/prometheus/overlay.yml +1 -0
  212. package/overlays/promtail/devcontainer.patch.json +1 -2
  213. package/overlays/promtail/docker-compose.yml +8 -0
  214. package/overlays/promtail/overlay.yml +1 -0
  215. package/overlays/qdrant/.env.example +4 -0
  216. package/overlays/qdrant/README.md +216 -0
  217. package/overlays/qdrant/devcontainer.patch.json +20 -0
  218. package/overlays/qdrant/docker-compose.yml +26 -0
  219. package/overlays/qdrant/overlay.yml +44 -0
  220. package/overlays/rabbitmq/docker-compose.yml +1 -0
  221. package/overlays/rabbitmq/overlay.yml +25 -2
  222. package/overlays/redis/docker-compose.yml +7 -0
  223. package/overlays/redis/overlay.yml +15 -1
  224. package/overlays/redpanda/docker-compose.yml +1 -0
  225. package/overlays/redpanda/overlay.yml +15 -3
  226. package/overlays/rocm/overlay.yml +2 -1
  227. package/overlays/rust/overlay.yml +3 -1
  228. package/overlays/skaffold/README.md +256 -0
  229. package/overlays/skaffold/devcontainer.patch.json +9 -0
  230. package/overlays/skaffold/overlay.yml +20 -0
  231. package/overlays/skaffold/setup.sh +33 -0
  232. package/overlays/skaffold/verify.sh +24 -0
  233. package/overlays/sqlserver/docker-compose.yml +1 -0
  234. package/overlays/sqlserver/overlay.yml +17 -0
  235. package/overlays/tempo/devcontainer.patch.json +0 -1
  236. package/overlays/tempo/docker-compose.yml +8 -0
  237. package/overlays/tempo/overlay.yml +1 -0
  238. package/overlays/windsurf-cli/devcontainer.patch.json +4 -1
  239. package/package.json +3 -2
  240. package/tool/schema/config.schema.json +31 -1
  241. package/tool/schema/overlay-manifest.schema.json +33 -0
  242. 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,67 +136,78 @@ 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** | [object Object], [object Object] |
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** | [object Object], [object Object] |
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 |
161
173
 
162
- ### NATS (`nats`)
174
+ ### pgvector (PostgreSQL + vector) (`pgvector`)
163
175
 
164
- Lightweight pub/sub messaging with JetStream
176
+ PostgreSQL 16 with the pgvector extension for vector similarity search
165
177
 
166
- | Property | Value |
167
- | ------------ | ------------------------------------------------------ |
168
- | **Category** | database |
169
- | **Supports** | compose |
170
- | **Tags** | `database`, `messaging`, `pubsub`, `nats`, `jetstream` |
171
- | **Ports** | [object Object], [object Object] |
178
+ | Property | Value |
179
+ | ------------- | ----------------------------------------------------------------- |
180
+ | **Category** | database |
181
+ | **Supports** | compose |
182
+ | **Suggests** | `ollama`, `python`, `nodejs`, `prometheus`, `grafana` |
183
+ | **Conflicts** | `postgres` |
184
+ | **Tags** | `database`, `sql`, `vector`, `embeddings`, `postgres`, `pgvector` |
185
+ | **Ports** | 5432/tcp |
172
186
 
173
187
  ### PostgreSQL (`postgres`)
174
188
 
175
189
  PostgreSQL 16 database
176
190
 
177
- | Property | Value |
178
- | ------------ | ----------------------------- |
179
- | **Category** | database |
180
- | **Supports** | compose |
181
- | **Tags** | `database`, `sql`, `postgres` |
182
- | **Ports** | [object Object] |
191
+ | Property | Value |
192
+ | ------------- | ----------------------------- |
193
+ | **Category** | database |
194
+ | **Supports** | compose |
195
+ | **Suggests** | `prometheus`, `grafana` |
196
+ | **Conflicts** | `pgvector` |
197
+ | **Tags** | `database`, `sql`, `postgres` |
198
+ | **Ports** | 5432/tcp |
183
199
 
184
- ### RabbitMQ (`rabbitmq`)
200
+ ### Qdrant (`qdrant`)
185
201
 
186
- Message broker with AMQP protocol and management UI
202
+ High-performance vector database for similarity search and embeddings
187
203
 
188
- | Property | Value |
189
- | ------------ | ---------------------------------------------------- |
190
- | **Category** | database |
191
- | **Supports** | compose |
192
- | **Tags** | `database`, `messaging`, `queue`, `rabbitmq`, `amqp` |
193
- | **Ports** | [object Object], [object Object] |
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 |
194
211
 
195
212
  ### Redis (`redis`)
196
213
 
@@ -200,19 +217,9 @@ Redis 7 cache
200
217
  | ------------ | ---------------------------- |
201
218
  | **Category** | database |
202
219
  | **Supports** | compose |
220
+ | **Suggests** | `prometheus`, `grafana` |
203
221
  | **Tags** | `database`, `cache`, `redis` |
204
- | **Ports** | [object Object] |
205
-
206
- ### Redpanda (`redpanda`)
207
-
208
- Kafka-compatible event streaming with web console
209
-
210
- | Property | Value |
211
- | ------------ | --------------------------------------------------------- |
212
- | **Category** | database |
213
- | **Supports** | compose |
214
- | **Tags** | `database`, `messaging`, `streaming`, `kafka`, `redpanda` |
215
- | **Ports** | 9092, 8080, 8081, 8082, 9644 |
222
+ | **Ports** | 6379/tcp |
216
223
 
217
224
  ### SQL Server (`sqlserver`)
218
225
 
@@ -222,7 +229,7 @@ SQL Server 2022 for Linux
222
229
  | ------------ | ------------------------------------------- |
223
230
  | **Category** | database |
224
231
  | **Supports** | compose |
225
- | **Suggests** | `dotnet` |
232
+ | **Suggests** | `dotnet`, `prometheus`, `grafana` |
226
233
  | **Tags** | `database`, `sql`, `sqlserver`, `microsoft` |
227
234
  | **Ports** | 1433 |
228
235
 
@@ -242,13 +249,13 @@ SQLite with litecli and VS Code extensions
242
249
 
243
250
  Distributed tracing backend
244
251
 
245
- | Property | Value |
246
- | ------------- | ------------------------------------------------- |
247
- | **Category** | observability |
248
- | **Supports** | compose |
249
- | **Conflicts** | `tempo` |
250
- | **Tags** | `observability`, `tracing`, `jaeger` |
251
- | **Ports** | [object Object], [object Object], [object Object] |
252
+ | Property | Value |
253
+ | ------------- | ------------------------------------ |
254
+ | **Category** | observability |
255
+ | **Supports** | compose |
256
+ | **Conflicts** | `tempo` |
257
+ | **Tags** | `observability`, `tracing`, `jaeger` |
258
+ | **Ports** | 16686/http |
252
259
 
253
260
  ### Loki (`loki`)
254
261
 
@@ -260,7 +267,7 @@ Log aggregation system
260
267
  | **Supports** | compose |
261
268
  | **Suggests** | `promtail` |
262
269
  | **Tags** | `observability`, `logs`, `loki` |
263
- | **Ports** | [object Object] |
270
+ | **Ports** | 3100/http |
264
271
 
265
272
  ### Prometheus (`prometheus`)
266
273
 
@@ -272,7 +279,7 @@ Metrics collection and monitoring
272
279
  | **Supports** | compose |
273
280
  | **Suggests** | `alertmanager` |
274
281
  | **Tags** | `observability`, `metrics`, `prometheus` |
275
- | **Ports** | [object Object] |
282
+ | **Ports** | 9090/http |
276
283
 
277
284
  ### Tempo (`tempo`)
278
285
 
@@ -326,40 +333,43 @@ Log shipping agent for Loki with Docker auto-discovery
326
333
 
327
334
  Observability visualization dashboard with auto-provisioning
328
335
 
329
- | Property | Value |
330
- | ------------ | -------------------------------------- |
331
- | **Category** | observability |
332
- | **Supports** | compose |
333
- | **Requires** | `prometheus` |
334
- | **Suggests** | `loki`, `jaeger`, `tempo`, `promtail` |
335
- | **Tags** | `observability`, `ui`, `visualization` |
336
- | **Ports** | [object Object] |
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 |
337
345
 
338
346
  ### OTel Demo (Node.js) (`otel-demo-nodejs`)
339
347
 
340
348
  Sample Node.js app with OpenTelemetry instrumentation
341
349
 
342
- | Property | Value |
343
- | ------------ | -------------------------------------------------- |
344
- | **Category** | observability |
345
- | **Supports** | compose |
346
- | **Requires** | `otel-collector` |
347
- | **Suggests** | `jaeger`, `tempo`, `prometheus`, `loki`, `grafana` |
348
- | **Tags** | `observability`, `demo`, `nodejs`, `opentelemetry` |
349
- | **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 |
350
359
 
351
360
  ### OTel Demo (Python) (`otel-demo-python`)
352
361
 
353
362
  Sample Python Flask app with OpenTelemetry instrumentation
354
363
 
355
- | Property | Value |
356
- | ------------ | -------------------------------------------------- |
357
- | **Category** | observability |
358
- | **Supports** | compose |
359
- | **Requires** | `otel-collector` |
360
- | **Suggests** | `jaeger`, `tempo`, `prometheus`, `loki`, `grafana` |
361
- | **Tags** | `observability`, `demo`, `python`, `opentelemetry` |
362
- | **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 |
363
373
 
364
374
  ## Cloud Tool Overlays
365
375
 
@@ -390,6 +400,18 @@ Google Cloud Platform command-line tools (gcloud, gsutil, bq)
390
400
  | **Category** | cloud |
391
401
  | **Tags** | `cloud`, `gcp`, `google`, `cli` |
392
402
 
403
+ ### k3d (`k3d`)
404
+
405
+ Lightweight local Kubernetes clusters using k3s in Docker
406
+
407
+ | Property | Value |
408
+ | ------------- | ----------------------------------------------------- |
409
+ | **Category** | cloud |
410
+ | **Requires** | `docker-in-docker` |
411
+ | **Suggests** | `kubectl-helm` |
412
+ | **Conflicts** | `kind` |
413
+ | **Tags** | `cloud`, `kubernetes`, `k8s`, `k3d`, `k3s`, `testing` |
414
+
393
415
  ### kind (Kubernetes in Docker) (`kind`)
394
416
 
395
417
  Local Kubernetes cluster for development and testing
@@ -415,13 +437,14 @@ Kubernetes CLI and Helm package manager
415
437
 
416
438
  Local AWS cloud stack for development and testing
417
439
 
418
- | Property | Value |
419
- | ------------ | --------------------------------------- |
420
- | **Category** | cloud |
421
- | **Supports** | compose |
422
- | **Suggests** | `aws-cli` |
423
- | **Tags** | `cloud`, `aws`, `testing`, `localstack` |
424
- | **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 |
425
448
 
426
449
  ### Pulumi (`pulumi`)
427
450
 
@@ -503,6 +526,18 @@ OpenAI Codex CLI for AI-powered code generation and assistance
503
526
  | **Requires** | `nodejs` |
504
527
  | **Tags** | `dev`, `ai`, `code-generation` |
505
528
 
529
+ ### ComfyUI (`comfyui`)
530
+
531
+ Node-based image/video generation UI for Stable Diffusion and generative AI workflows
532
+
533
+ | Property | Value |
534
+ | ------------ | -------------------------------------------------------------- |
535
+ | **Category** | dev |
536
+ | **Supports** | compose |
537
+ | **Suggests** | `cuda`, `rocm`, `python`, `ollama` |
538
+ | **Tags** | `dev`, `ai`, `image-generation`, `stable-diffusion`, `comfyui` |
539
+ | **Ports** | 8188 |
540
+
506
541
  ### Commitlint (`commitlint`)
507
542
 
508
543
  Conventional commits validation for automated releases
@@ -610,7 +645,7 @@ Open-source identity and access management (OIDC/OAuth2)
610
645
  | **Supports** | compose |
611
646
  | **Requires** | `postgres` |
612
647
  | **Tags** | `dev`, `auth`, `oidc`, `oauth2`, `identity` |
613
- | **Ports** | [object Object] |
648
+ | **Ports** | 8180/http |
614
649
 
615
650
  ### Mailpit (`mailpit`)
616
651
 
@@ -621,7 +656,19 @@ Email testing tool with web UI and SMTP server
621
656
  | **Category** | dev |
622
657
  | **Supports** | compose |
623
658
  | **Tags** | `dev`, `email`, `smtp`, `testing` |
624
- | **Ports** | [object Object], [object Object] |
659
+ | **Ports** | 8025/http, 1025/tcp |
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 |
625
672
 
626
673
  ### MkDocs 2 (`mkdocs2`)
627
674
 
@@ -655,6 +702,42 @@ Secure tunneling for webhook testing and external access
655
702
  | **Tags** | `dev`, `tunneling`, `webhooks` |
656
703
  | **Ports** | 4040 |
657
704
 
705
+ ### Ollama (`ollama`)
706
+
707
+ Local LLM inference server with OpenAI-compatible API
708
+
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` |
727
+
728
+ ### Open WebUI (`open-webui`)
729
+
730
+ Browser-based chat UI for Ollama and OpenAI-compatible LLM backends
731
+
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 |
740
+
658
741
  ### OpenAPI Tools (`openapi-tools`)
659
742
 
660
743
  OpenAPI/Swagger tooling for API development and documentation
@@ -682,6 +765,7 @@ Browser automation and testing framework
682
765
  | Property | Value |
683
766
  | ------------ | --------------------------- |
684
767
  | **Category** | dev |
768
+ | **Requires** | `nodejs` |
685
769
  | **Tags** | `dev`, `testing`, `browser` |
686
770
 
687
771
  ### Pre-commit Framework (`pre-commit`)
@@ -702,9 +786,21 @@ AMD ROCm libraries and GPU passthrough for containerized ML/inference workloads
702
786
  | Property | Value |
703
787
  | ------------- | ---------------------------------------------- |
704
788
  | **Category** | dev |
789
+ | **Suggests** | `comfyui` |
705
790
  | **Conflicts** | `cuda` |
706
791
  | **Tags** | `dev`, `gpu`, `rocm`, `amd`, `ml`, `inference` |
707
792
 
793
+ ### Skaffold (`skaffold`)
794
+
795
+ Continuous development and deployment pipeline for Kubernetes applications
796
+
797
+ | Property | Value |
798
+ | ------------- | ------------------------------------------------------------ |
799
+ | **Category** | dev |
800
+ | **Suggests** | `kubectl-helm`, `kind`, `k3d` |
801
+ | **Conflicts** | `tilt` |
802
+ | **Tags** | `dev`, `kubernetes`, `k8s`, `cicd`, `deployment`, `skaffold` |
803
+
708
804
  ### Tilt (`tilt`)
709
805
 
710
806
  Live update and orchestration for Kubernetes development
@@ -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