container-superposition 0.1.1 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +569 -8
- package/dist/scripts/init.js +436 -254
- package/dist/scripts/init.js.map +1 -1
- package/dist/tool/commands/doctor.d.ts +15 -0
- package/dist/tool/commands/doctor.d.ts.map +1 -0
- package/dist/tool/commands/doctor.js +862 -0
- package/dist/tool/commands/doctor.js.map +1 -0
- package/dist/tool/commands/explain.d.ts +13 -0
- package/dist/tool/commands/explain.d.ts.map +1 -0
- package/dist/tool/commands/explain.js +299 -0
- package/dist/tool/commands/explain.js.map +1 -0
- package/dist/tool/commands/list.d.ts +16 -0
- package/dist/tool/commands/list.d.ts.map +1 -0
- package/dist/tool/commands/list.js +121 -0
- package/dist/tool/commands/list.js.map +1 -0
- package/dist/tool/commands/plan.d.ts +67 -0
- package/dist/tool/commands/plan.d.ts.map +1 -0
- package/dist/tool/commands/plan.js +851 -0
- package/dist/tool/commands/plan.js.map +1 -0
- package/dist/tool/questionnaire/composer.d.ts +16 -2
- package/dist/tool/questionnaire/composer.d.ts.map +1 -1
- package/dist/tool/questionnaire/composer.js +411 -200
- package/dist/tool/questionnaire/composer.js.map +1 -1
- package/dist/tool/readme/markdown-parser.d.ts.map +1 -1
- package/dist/tool/readme/markdown-parser.js.map +1 -1
- package/dist/tool/readme/readme-generator.d.ts.map +1 -1
- package/dist/tool/readme/readme-generator.js +11 -6
- package/dist/tool/readme/readme-generator.js.map +1 -1
- package/dist/tool/schema/deployment-targets.d.ts +77 -0
- package/dist/tool/schema/deployment-targets.d.ts.map +1 -0
- package/dist/tool/schema/deployment-targets.js +91 -0
- package/dist/tool/schema/deployment-targets.js.map +1 -0
- package/dist/tool/schema/manifest-migrations.d.ts +51 -0
- package/dist/tool/schema/manifest-migrations.d.ts.map +1 -0
- package/dist/tool/schema/manifest-migrations.js +159 -0
- package/dist/tool/schema/manifest-migrations.js.map +1 -0
- package/dist/tool/schema/overlay-loader.d.ts +1 -1
- package/dist/tool/schema/overlay-loader.d.ts.map +1 -1
- package/dist/tool/schema/overlay-loader.js +42 -14
- package/dist/tool/schema/overlay-loader.js.map +1 -1
- package/dist/tool/schema/types.d.ts +62 -2
- package/dist/tool/schema/types.d.ts.map +1 -1
- package/dist/tool/utils/gitignore.d.ts +15 -0
- package/dist/tool/utils/gitignore.d.ts.map +1 -0
- package/dist/tool/utils/gitignore.js +41 -0
- package/dist/tool/utils/gitignore.js.map +1 -0
- package/dist/tool/utils/merge.d.ts +134 -0
- package/dist/tool/utils/merge.d.ts.map +1 -0
- package/dist/tool/utils/merge.js +277 -0
- package/dist/tool/utils/merge.js.map +1 -0
- package/dist/tool/utils/port-utils.d.ts +29 -0
- package/dist/tool/utils/port-utils.d.ts.map +1 -0
- package/dist/tool/utils/port-utils.js +128 -0
- package/dist/tool/utils/port-utils.js.map +1 -0
- package/dist/tool/utils/services-export.d.ts +14 -0
- package/dist/tool/utils/services-export.d.ts.map +1 -0
- package/dist/tool/utils/services-export.js +478 -0
- package/dist/tool/utils/services-export.js.map +1 -0
- package/dist/tool/utils/summary.d.ts +69 -0
- package/dist/tool/utils/summary.d.ts.map +1 -0
- package/dist/tool/utils/summary.js +260 -0
- package/dist/tool/utils/summary.js.map +1 -0
- package/dist/tool/utils/version.d.ts +9 -0
- package/dist/tool/utils/version.d.ts.map +1 -0
- package/dist/tool/utils/version.js +32 -0
- package/dist/tool/utils/version.js.map +1 -0
- package/docs/architecture.md +25 -21
- package/docs/deployment-targets.md +150 -0
- package/docs/discovery-commands.md +442 -0
- package/docs/merge-strategy.md +700 -0
- package/docs/minimal-and-editor.md +265 -0
- package/docs/overlay-imports.md +209 -0
- package/docs/overlay-manifest-refactoring.md +2 -2
- package/docs/overlay-metadata-archive.md +1 -1
- package/docs/overlays.md +139 -28
- package/docs/presets-architecture.md +3 -3
- package/docs/presets.md +1 -1
- package/docs/publishing.md +36 -35
- package/docs/team-workflow.md +540 -0
- package/overlays/.presets/data-engineering.yml +392 -0
- package/overlays/.presets/event-sourced-service.yml +262 -0
- package/overlays/.presets/frontend.yml +287 -0
- package/overlays/.presets/k8s-operator-dev.yml +462 -0
- package/overlays/{presets → .presets}/microservice.yml +32 -6
- package/overlays/.presets/web-api.yml +129 -0
- package/overlays/.registry/README.md +1 -1
- package/overlays/.registry/deployment-targets.yml +54 -0
- package/overlays/.shared/README.md +43 -0
- package/overlays/.shared/compose/common-healthchecks.yml +38 -0
- package/overlays/.shared/otel/instrumentation.env +20 -0
- package/overlays/.shared/otel/otel-base-config.yaml +30 -0
- package/overlays/.shared/vscode/recommended-extensions.json +14 -0
- package/overlays/README.md +1 -1
- package/overlays/cloudflared/README.md +190 -0
- package/overlays/cloudflared/devcontainer.patch.json +3 -0
- package/overlays/cloudflared/overlay.yml +15 -0
- package/overlays/cloudflared/setup.sh +49 -0
- package/overlays/cloudflared/verify.sh +21 -0
- package/overlays/codex/overlay.yml +1 -0
- package/overlays/direnv/README.md +6 -4
- package/overlays/direnv/setup.sh +0 -12
- package/overlays/duckdb/README.md +274 -0
- package/overlays/duckdb/devcontainer.patch.json +10 -0
- package/overlays/duckdb/overlay.yml +17 -0
- package/overlays/duckdb/setup.sh +45 -0
- package/overlays/duckdb/verify.sh +32 -0
- package/overlays/git-helpers/overlay.yml +1 -0
- package/overlays/grafana/README.md +5 -5
- package/overlays/grafana/dashboard-provider.yml +1 -1
- package/overlays/grafana/docker-compose.yml +2 -2
- package/overlays/grafana/overlay.yml +6 -1
- package/overlays/grpc-tools/README.md +242 -0
- package/overlays/grpc-tools/devcontainer.patch.json +14 -0
- package/overlays/grpc-tools/overlay.yml +14 -0
- package/overlays/grpc-tools/setup.sh +57 -0
- package/overlays/grpc-tools/verify.sh +47 -0
- package/overlays/jaeger/overlay.yml +16 -3
- package/overlays/jupyter/.env.example +6 -0
- package/overlays/jupyter/README.md +210 -0
- package/overlays/jupyter/devcontainer.patch.json +14 -0
- package/overlays/jupyter/docker-compose.yml +23 -0
- package/overlays/jupyter/overlay.yml +18 -0
- package/overlays/jupyter/verify.sh +35 -0
- package/overlays/keycloak/.env.example +5 -0
- package/overlays/keycloak/README.md +238 -0
- package/overlays/keycloak/devcontainer.patch.json +17 -0
- package/overlays/keycloak/docker-compose.yml +32 -0
- package/overlays/keycloak/overlay.yml +23 -0
- package/overlays/keycloak/verify.sh +54 -0
- package/overlays/kind/README.md +221 -0
- package/overlays/kind/devcontainer.patch.json +10 -0
- package/overlays/kind/overlay.yml +18 -0
- package/overlays/kind/setup.sh +43 -0
- package/overlays/kind/verify.sh +40 -0
- package/overlays/localstack/.env.example +6 -0
- package/overlays/localstack/README.md +188 -0
- package/overlays/localstack/devcontainer.patch.json +21 -0
- package/overlays/localstack/docker-compose.yml +25 -0
- package/overlays/localstack/overlay.yml +18 -0
- package/overlays/localstack/verify.sh +47 -0
- package/overlays/loki/overlay.yml +6 -1
- package/overlays/mailpit/.env.example +4 -0
- package/overlays/mailpit/README.md +191 -0
- package/overlays/mailpit/devcontainer.patch.json +20 -0
- package/overlays/mailpit/docker-compose.yml +17 -0
- package/overlays/mailpit/overlay.yml +26 -0
- package/overlays/mailpit/verify.sh +52 -0
- package/overlays/modern-cli-tools/overlay.yml +1 -0
- package/overlays/mongodb/overlay.yml +12 -2
- package/overlays/mysql/overlay.yml +12 -2
- package/overlays/nats/overlay.yml +12 -2
- package/overlays/ngrok/overlay.yml +2 -1
- package/overlays/openapi-tools/README.md +243 -0
- package/overlays/openapi-tools/devcontainer.patch.json +10 -0
- package/overlays/openapi-tools/overlay.yml +16 -0
- package/overlays/openapi-tools/setup.sh +45 -0
- package/overlays/openapi-tools/verify.sh +51 -0
- package/overlays/otel-collector/overlay.yml.example +26 -0
- package/overlays/postgres/overlay.yml +6 -1
- package/overlays/prometheus/overlay.yml +6 -1
- package/overlays/python/README.md +51 -35
- package/overlays/python/devcontainer.patch.json +7 -4
- package/overlays/python/setup.sh +50 -23
- package/overlays/python/verify.sh +29 -1
- package/overlays/rabbitmq/overlay.yml +12 -2
- package/overlays/redis/overlay.yml +6 -1
- package/overlays/tilt/README.md +259 -0
- package/overlays/tilt/devcontainer.patch.json +17 -0
- package/overlays/tilt/overlay.yml +19 -0
- package/overlays/tilt/setup.sh +25 -0
- package/overlays/tilt/verify.sh +24 -0
- package/package.json +8 -6
- package/tool/README.md +12 -16
- package/tool/schema/overlay-manifest.schema.json +64 -4
- package/tool/schema/superposition-manifest.schema.json +104 -0
- package/overlays/presets/web-api.yml +0 -109
- /package/overlays/{presets → .presets}/docs-site.yml +0 -0
- /package/overlays/{presets → .presets}/fullstack.yml +0 -0
package/docs/overlays.md
CHANGED
|
@@ -53,6 +53,18 @@ Eclipse Temurin JDK 21 with Maven and Gradle
|
|
|
53
53
|
| **Tags** | `language`, `java`, `maven`, `gradle` |
|
|
54
54
|
| **Ports** | 8080, 8081 |
|
|
55
55
|
|
|
56
|
+
### Jupyter (`jupyter`)
|
|
57
|
+
|
|
58
|
+
Jupyter notebook server for interactive computing and data science
|
|
59
|
+
|
|
60
|
+
| Property | Value |
|
|
61
|
+
| ------------ | ----------------------------------------------------------- |
|
|
62
|
+
| **Category** | language |
|
|
63
|
+
| **Supports** | compose |
|
|
64
|
+
| **Requires** | `python` |
|
|
65
|
+
| **Tags** | `language`, `jupyter`, `python`, `notebook`, `data-science` |
|
|
66
|
+
| **Ports** | 8888 |
|
|
67
|
+
|
|
56
68
|
### MkDocs (`mkdocs`)
|
|
57
69
|
|
|
58
70
|
Material for MkDocs - professional documentation generator
|
|
@@ -103,6 +115,16 @@ Rust stable with cargo, rustfmt, and clippy
|
|
|
103
115
|
|
|
104
116
|
## Database Overlays
|
|
105
117
|
|
|
118
|
+
### DuckDB (`duckdb`)
|
|
119
|
+
|
|
120
|
+
In-process analytical database for OLAP workloads
|
|
121
|
+
|
|
122
|
+
| Property | Value |
|
|
123
|
+
| ------------ | ------------------------------------------------ |
|
|
124
|
+
| **Category** | database |
|
|
125
|
+
| **Suggests** | `python`, `jupyter` |
|
|
126
|
+
| **Tags** | `database`, `analytics`, `sql`, `duckdb`, `olap` |
|
|
127
|
+
|
|
106
128
|
### MinIO (`minio`)
|
|
107
129
|
|
|
108
130
|
S3-compatible object storage with web console
|
|
@@ -123,18 +145,18 @@ MongoDB 8 with Mongo Express web UI
|
|
|
123
145
|
| **Category** | database |
|
|
124
146
|
| **Supports** | compose |
|
|
125
147
|
| **Tags** | `database`, `nosql`, `mongodb`, `document` |
|
|
126
|
-
| **Ports** |
|
|
148
|
+
| **Ports** | [object Object], [object Object] |
|
|
127
149
|
|
|
128
150
|
### MySQL (`mysql`)
|
|
129
151
|
|
|
130
152
|
MySQL 8 with phpMyAdmin web UI
|
|
131
153
|
|
|
132
|
-
| Property | Value
|
|
133
|
-
| ------------ |
|
|
134
|
-
| **Category** | database
|
|
135
|
-
| **Supports** | compose
|
|
136
|
-
| **Tags** | `database`, `sql`, `mysql`
|
|
137
|
-
| **Ports** |
|
|
154
|
+
| Property | Value |
|
|
155
|
+
| ------------ | -------------------------------- |
|
|
156
|
+
| **Category** | database |
|
|
157
|
+
| **Supports** | compose |
|
|
158
|
+
| **Tags** | `database`, `sql`, `mysql` |
|
|
159
|
+
| **Ports** | [object Object], [object Object] |
|
|
138
160
|
|
|
139
161
|
### NATS (`nats`)
|
|
140
162
|
|
|
@@ -145,7 +167,7 @@ Lightweight pub/sub messaging with JetStream
|
|
|
145
167
|
| **Category** | database |
|
|
146
168
|
| **Supports** | compose |
|
|
147
169
|
| **Tags** | `database`, `messaging`, `pubsub`, `nats`, `jetstream` |
|
|
148
|
-
| **Ports** |
|
|
170
|
+
| **Ports** | [object Object], [object Object] |
|
|
149
171
|
|
|
150
172
|
### PostgreSQL (`postgres`)
|
|
151
173
|
|
|
@@ -156,7 +178,7 @@ PostgreSQL 16 database
|
|
|
156
178
|
| **Category** | database |
|
|
157
179
|
| **Supports** | compose |
|
|
158
180
|
| **Tags** | `database`, `sql`, `postgres` |
|
|
159
|
-
| **Ports** |
|
|
181
|
+
| **Ports** | [object Object] |
|
|
160
182
|
|
|
161
183
|
### RabbitMQ (`rabbitmq`)
|
|
162
184
|
|
|
@@ -167,7 +189,7 @@ Message broker with AMQP protocol and management UI
|
|
|
167
189
|
| **Category** | database |
|
|
168
190
|
| **Supports** | compose |
|
|
169
191
|
| **Tags** | `database`, `messaging`, `queue`, `rabbitmq`, `amqp` |
|
|
170
|
-
| **Ports** |
|
|
192
|
+
| **Ports** | [object Object], [object Object] |
|
|
171
193
|
|
|
172
194
|
### Redis (`redis`)
|
|
173
195
|
|
|
@@ -178,7 +200,7 @@ Redis 7 cache
|
|
|
178
200
|
| **Category** | database |
|
|
179
201
|
| **Supports** | compose |
|
|
180
202
|
| **Tags** | `database`, `cache`, `redis` |
|
|
181
|
-
| **Ports** |
|
|
203
|
+
| **Ports** | [object Object] |
|
|
182
204
|
|
|
183
205
|
### Redpanda (`redpanda`)
|
|
184
206
|
|
|
@@ -219,13 +241,13 @@ SQLite with litecli and VS Code extensions
|
|
|
219
241
|
|
|
220
242
|
Distributed tracing backend
|
|
221
243
|
|
|
222
|
-
| Property | Value
|
|
223
|
-
| ------------- |
|
|
224
|
-
| **Category** | observability
|
|
225
|
-
| **Supports** | compose
|
|
226
|
-
| **Conflicts** | `tempo`
|
|
227
|
-
| **Tags** | `observability`, `tracing`, `jaeger`
|
|
228
|
-
| **Ports** |
|
|
244
|
+
| Property | Value |
|
|
245
|
+
| ------------- | ------------------------------------------------- |
|
|
246
|
+
| **Category** | observability |
|
|
247
|
+
| **Supports** | compose |
|
|
248
|
+
| **Conflicts** | `tempo` |
|
|
249
|
+
| **Tags** | `observability`, `tracing`, `jaeger` |
|
|
250
|
+
| **Ports** | [object Object], [object Object], [object Object] |
|
|
229
251
|
|
|
230
252
|
### Loki (`loki`)
|
|
231
253
|
|
|
@@ -237,7 +259,7 @@ Log aggregation system
|
|
|
237
259
|
| **Supports** | compose |
|
|
238
260
|
| **Suggests** | `promtail` |
|
|
239
261
|
| **Tags** | `observability`, `logs`, `loki` |
|
|
240
|
-
| **Ports** |
|
|
262
|
+
| **Ports** | [object Object] |
|
|
241
263
|
|
|
242
264
|
### Prometheus (`prometheus`)
|
|
243
265
|
|
|
@@ -249,7 +271,7 @@ Metrics collection and monitoring
|
|
|
249
271
|
| **Supports** | compose |
|
|
250
272
|
| **Suggests** | `alertmanager` |
|
|
251
273
|
| **Tags** | `observability`, `metrics`, `prometheus` |
|
|
252
|
-
| **Ports** |
|
|
274
|
+
| **Ports** | [object Object] |
|
|
253
275
|
|
|
254
276
|
### Tempo (`tempo`)
|
|
255
277
|
|
|
@@ -310,7 +332,7 @@ Observability visualization dashboard with auto-provisioning
|
|
|
310
332
|
| **Requires** | `prometheus` |
|
|
311
333
|
| **Suggests** | `loki`, `jaeger`, `tempo`, `promtail` |
|
|
312
334
|
| **Tags** | `observability`, `ui`, `visualization` |
|
|
313
|
-
| **Ports** |
|
|
335
|
+
| **Ports** | [object Object] |
|
|
314
336
|
|
|
315
337
|
### OTel Demo (Node.js) (`otel-demo-nodejs`)
|
|
316
338
|
|
|
@@ -367,6 +389,18 @@ Google Cloud Platform command-line tools (gcloud, gsutil, bq)
|
|
|
367
389
|
| **Category** | cloud |
|
|
368
390
|
| **Tags** | `cloud`, `gcp`, `google`, `cli` |
|
|
369
391
|
|
|
392
|
+
### kind (Kubernetes in Docker) (`kind`)
|
|
393
|
+
|
|
394
|
+
Local Kubernetes cluster for development and testing
|
|
395
|
+
|
|
396
|
+
| Property | Value |
|
|
397
|
+
| ------------- | ----------------------------------------------- |
|
|
398
|
+
| **Category** | cloud |
|
|
399
|
+
| **Requires** | `docker-in-docker` |
|
|
400
|
+
| **Suggests** | `kubectl-helm` |
|
|
401
|
+
| **Conflicts** | `k3d` |
|
|
402
|
+
| **Tags** | `cloud`, `kubernetes`, `k8s`, `kind`, `testing` |
|
|
403
|
+
|
|
370
404
|
### kubectl + Helm (`kubectl-helm`)
|
|
371
405
|
|
|
372
406
|
Kubernetes CLI and Helm package manager
|
|
@@ -376,6 +410,18 @@ Kubernetes CLI and Helm package manager
|
|
|
376
410
|
| **Category** | cloud |
|
|
377
411
|
| **Tags** | `cloud`, `kubernetes`, `helm` |
|
|
378
412
|
|
|
413
|
+
### LocalStack (`localstack`)
|
|
414
|
+
|
|
415
|
+
Local AWS cloud stack for development and testing
|
|
416
|
+
|
|
417
|
+
| Property | Value |
|
|
418
|
+
| ------------ | --------------------------------------- |
|
|
419
|
+
| **Category** | cloud |
|
|
420
|
+
| **Supports** | compose |
|
|
421
|
+
| **Suggests** | `aws-cli` |
|
|
422
|
+
| **Tags** | `cloud`, `aws`, `testing`, `localstack` |
|
|
423
|
+
| **Ports** | 4566, 4571 |
|
|
424
|
+
|
|
379
425
|
### Pulumi (`pulumi`)
|
|
380
426
|
|
|
381
427
|
Modern Infrastructure as Code with TypeScript/Python/Go
|
|
@@ -396,6 +442,16 @@ Infrastructure as Code with HCL (includes tflint)
|
|
|
396
442
|
|
|
397
443
|
## Dev Tool Overlays
|
|
398
444
|
|
|
445
|
+
### Cloudflared (`cloudflared`)
|
|
446
|
+
|
|
447
|
+
Cloudflare Tunnel for securely exposing local services to the internet
|
|
448
|
+
|
|
449
|
+
| Property | Value |
|
|
450
|
+
| ------------- | ----------------------------------------- |
|
|
451
|
+
| **Category** | dev |
|
|
452
|
+
| **Conflicts** | `ngrok` |
|
|
453
|
+
| **Tags** | `dev`, `tunneling`, `proxy`, `cloudflare` |
|
|
454
|
+
|
|
399
455
|
### Codex (`codex`)
|
|
400
456
|
|
|
401
457
|
OpenAI Codex CLI for AI-powered code generation and assistance
|
|
@@ -413,6 +469,7 @@ Conventional commits validation for automated releases
|
|
|
413
469
|
| Property | Value |
|
|
414
470
|
| ------------ | ------------------------------------------- |
|
|
415
471
|
| **Category** | dev |
|
|
472
|
+
| **Requires** | `nodejs` |
|
|
416
473
|
| **Suggests** | `pre-commit` |
|
|
417
474
|
| **Tags** | `dev`, `git`, `commits`, `semantic-release` |
|
|
418
475
|
|
|
@@ -454,6 +511,15 @@ Git LFS, GitHub CLI, GPG/SSH support for secure Git operations
|
|
|
454
511
|
| **Category** | dev |
|
|
455
512
|
| **Tags** | `dev`, `git`, `security`, `ssh`, `gpg` |
|
|
456
513
|
|
|
514
|
+
### gRPC Tools (`grpc-tools`)
|
|
515
|
+
|
|
516
|
+
Protocol Buffers compiler, Buf, and grpcurl for gRPC development
|
|
517
|
+
|
|
518
|
+
| Property | Value |
|
|
519
|
+
| ------------ | -------------------------------- |
|
|
520
|
+
| **Category** | dev |
|
|
521
|
+
| **Tags** | `dev`, `grpc`, `protobuf`, `api` |
|
|
522
|
+
|
|
457
523
|
### Just Task Runner (`just`)
|
|
458
524
|
|
|
459
525
|
Fast, simple command runner (Rust-based alternative to Make)
|
|
@@ -463,6 +529,29 @@ Fast, simple command runner (Rust-based alternative to Make)
|
|
|
463
529
|
| **Category** | dev |
|
|
464
530
|
| **Tags** | `dev`, `automation`, `tasks` |
|
|
465
531
|
|
|
532
|
+
### Keycloak (`keycloak`)
|
|
533
|
+
|
|
534
|
+
Open-source identity and access management (OIDC/OAuth2)
|
|
535
|
+
|
|
536
|
+
| Property | Value |
|
|
537
|
+
| ------------ | ------------------------------------------- |
|
|
538
|
+
| **Category** | dev |
|
|
539
|
+
| **Supports** | compose |
|
|
540
|
+
| **Requires** | `postgres` |
|
|
541
|
+
| **Tags** | `dev`, `auth`, `oidc`, `oauth2`, `identity` |
|
|
542
|
+
| **Ports** | [object Object] |
|
|
543
|
+
|
|
544
|
+
### Mailpit (`mailpit`)
|
|
545
|
+
|
|
546
|
+
Email testing tool with web UI and SMTP server
|
|
547
|
+
|
|
548
|
+
| Property | Value |
|
|
549
|
+
| ------------ | --------------------------------- |
|
|
550
|
+
| **Category** | dev |
|
|
551
|
+
| **Supports** | compose |
|
|
552
|
+
| **Tags** | `dev`, `email`, `smtp`, `testing` |
|
|
553
|
+
| **Ports** | [object Object], [object Object] |
|
|
554
|
+
|
|
466
555
|
### Modern CLI Tools (`modern-cli-tools`)
|
|
467
556
|
|
|
468
557
|
jq, yq, ripgrep, fd, bat - Essential modern command-line tools
|
|
@@ -476,11 +565,22 @@ jq, yq, ripgrep, fd, bat - Essential modern command-line tools
|
|
|
476
565
|
|
|
477
566
|
Secure tunneling for webhook testing and external access
|
|
478
567
|
|
|
479
|
-
| Property
|
|
480
|
-
|
|
|
481
|
-
| **Category**
|
|
482
|
-
| **
|
|
483
|
-
| **
|
|
568
|
+
| Property | Value |
|
|
569
|
+
| ------------- | ------------------------------ |
|
|
570
|
+
| **Category** | dev |
|
|
571
|
+
| **Conflicts** | `cloudflared` |
|
|
572
|
+
| **Tags** | `dev`, `tunneling`, `webhooks` |
|
|
573
|
+
| **Ports** | 4040 |
|
|
574
|
+
|
|
575
|
+
### OpenAPI Tools (`openapi-tools`)
|
|
576
|
+
|
|
577
|
+
OpenAPI/Swagger tooling for API development and documentation
|
|
578
|
+
|
|
579
|
+
| Property | Value |
|
|
580
|
+
| ------------ | --------------------------------------------------- |
|
|
581
|
+
| **Category** | dev |
|
|
582
|
+
| **Suggests** | `nodejs` |
|
|
583
|
+
| **Tags** | `dev`, `openapi`, `swagger`, `api`, `documentation` |
|
|
484
584
|
|
|
485
585
|
### Playwright (`playwright`)
|
|
486
586
|
|
|
@@ -498,9 +598,22 @@ Automated code quality gates with pre-commit hooks
|
|
|
498
598
|
| Property | Value |
|
|
499
599
|
| ------------ | -------------------------------- |
|
|
500
600
|
| **Category** | dev |
|
|
601
|
+
| **Requires** | `python` |
|
|
501
602
|
| **Suggests** | `commitlint` |
|
|
502
603
|
| **Tags** | `dev`, `git`, `quality`, `hooks` |
|
|
503
604
|
|
|
605
|
+
### Tilt (`tilt`)
|
|
606
|
+
|
|
607
|
+
Live update and orchestration for Kubernetes development
|
|
608
|
+
|
|
609
|
+
| Property | Value |
|
|
610
|
+
| ------------- | -------------------------------------------------------- |
|
|
611
|
+
| **Category** | dev |
|
|
612
|
+
| **Suggests** | `kind`, `kubectl-helm` |
|
|
613
|
+
| **Conflicts** | `skaffold` |
|
|
614
|
+
| **Tags** | `dev`, `kubernetes`, `k8s`, `development`, `live-reload` |
|
|
615
|
+
| **Ports** | 10350 |
|
|
616
|
+
|
|
504
617
|
## Dependency Model
|
|
505
618
|
|
|
506
619
|
### Dependency Types
|
|
@@ -519,5 +632,3 @@ For example, selecting `grafana` will automatically include `prometheus`.
|
|
|
519
632
|
Each overlay declares its ports explicitly. When using port offset, all declared ports are shifted by the same offset.
|
|
520
633
|
|
|
521
634
|
---
|
|
522
|
-
|
|
523
|
-
_Documentation generated on 2026-02-08T18:01:55.685Z_
|
|
@@ -65,10 +65,10 @@ interface PresetGlueConfig {
|
|
|
65
65
|
|
|
66
66
|
### Preset File Structure
|
|
67
67
|
|
|
68
|
-
Presets are defined in `overlays
|
|
68
|
+
Presets are defined in `overlays/.presets/` with YAML files:
|
|
69
69
|
|
|
70
70
|
```yaml
|
|
71
|
-
# overlays
|
|
71
|
+
# overlays/.presets/web-api.yml
|
|
72
72
|
id: web-api
|
|
73
73
|
name: Web API Stack
|
|
74
74
|
description: Full-stack web API with database, cache, and observability
|
|
@@ -407,7 +407,7 @@ selects:
|
|
|
407
407
|
|
|
408
408
|
### Adding New Presets
|
|
409
409
|
|
|
410
|
-
1. **Create YAML file** in `overlays
|
|
410
|
+
1. **Create YAML file** in `overlays/.presets/`
|
|
411
411
|
2. **Register in** `overlays/index.yml`
|
|
412
412
|
3. **No code changes needed** (declarative system)
|
|
413
413
|
|
package/docs/presets.md
CHANGED
package/docs/publishing.md
CHANGED
|
@@ -299,8 +299,6 @@ npm install -g container-superposition
|
|
|
299
299
|
container-superposition init
|
|
300
300
|
```
|
|
301
301
|
|
|
302
|
-
````
|
|
303
|
-
|
|
304
302
|
## Continuous Publishing
|
|
305
303
|
|
|
306
304
|
### Automated Releases (Future Enhancement)
|
|
@@ -312,23 +310,23 @@ Consider GitHub Actions for automated publishing:
|
|
|
312
310
|
name: Publish to npm
|
|
313
311
|
|
|
314
312
|
on:
|
|
315
|
-
|
|
316
|
-
|
|
313
|
+
release:
|
|
314
|
+
types: [created]
|
|
317
315
|
|
|
318
316
|
jobs:
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
317
|
+
publish:
|
|
318
|
+
runs-on: ubuntu-latest
|
|
319
|
+
steps:
|
|
320
|
+
- uses: actions/checkout@v4
|
|
321
|
+
- uses: actions/setup-node@v4
|
|
322
|
+
with:
|
|
323
|
+
node-version: '20'
|
|
324
|
+
registry-url: 'https://registry.npmjs.org'
|
|
325
|
+
- run: npm ci
|
|
326
|
+
- run: npm test
|
|
327
|
+
- run: npm publish
|
|
328
|
+
env:
|
|
329
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
332
330
|
```
|
|
333
331
|
|
|
334
332
|
## Troubleshooting
|
|
@@ -336,6 +334,7 @@ jobs:
|
|
|
336
334
|
### ".npmignore not found" Warning
|
|
337
335
|
|
|
338
336
|
If you see:
|
|
337
|
+
|
|
339
338
|
```
|
|
340
339
|
npm warn gitignore-fallback No .npmignore file found, using .gitignore for file exclusion.
|
|
341
340
|
```
|
|
@@ -343,17 +342,18 @@ npm warn gitignore-fallback No .npmignore file found, using .gitignore for file
|
|
|
343
342
|
**This warning can be safely ignored.** The package uses the `"files"` field in `package.json` as the primary inclusion mechanism (allowlist approach), which is more explicit and maintainable than `.npmignore` (denylist approach).
|
|
344
343
|
|
|
345
344
|
The `"files"` field specifies exactly what to include:
|
|
345
|
+
|
|
346
346
|
```json
|
|
347
347
|
{
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
348
|
+
"files": [
|
|
349
|
+
"dist/",
|
|
350
|
+
"templates/",
|
|
351
|
+
"features/",
|
|
352
|
+
"overlays/",
|
|
353
|
+
"tool/**/*.json",
|
|
354
|
+
"tool/**/*.yml",
|
|
355
|
+
"docs/**/*.md"
|
|
356
|
+
]
|
|
357
357
|
}
|
|
358
358
|
```
|
|
359
359
|
|
|
@@ -381,14 +381,14 @@ To exclude unnecessary files, modify the `"files"` array in `package.json`:
|
|
|
381
381
|
|
|
382
382
|
```json
|
|
383
383
|
{
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
384
|
+
"files": [
|
|
385
|
+
"dist/", // Keep compiled code
|
|
386
|
+
"templates/", // Keep base templates
|
|
387
|
+
"features/", // Keep custom features
|
|
388
|
+
"overlays/", // Keep all overlays
|
|
389
|
+
// Exclude specific patterns with "!" prefix if needed
|
|
390
|
+
"!overlays/**/node_modules"
|
|
391
|
+
]
|
|
392
392
|
}
|
|
393
393
|
```
|
|
394
394
|
|
|
@@ -407,6 +407,7 @@ npm login
|
|
|
407
407
|
### Name Already Taken
|
|
408
408
|
|
|
409
409
|
Options:
|
|
410
|
+
|
|
410
411
|
1. Use scoped package: `@veggerby/container-superposition`
|
|
411
412
|
2. Choose different name: `devcontainer-superposition`, `superposition-dev`, etc.
|
|
412
413
|
3. Contact current owner if package is abandoned
|
|
@@ -425,6 +426,7 @@ npm publish
|
|
|
425
426
|
### Versioning Strategy
|
|
426
427
|
|
|
427
428
|
Follow [Semantic Versioning](https://semver.org/):
|
|
429
|
+
|
|
428
430
|
- **MAJOR**: Breaking changes (e.g., removing overlays, changing CLI args)
|
|
429
431
|
- **MINOR**: New features (e.g., adding overlays, new CLI options)
|
|
430
432
|
- **PATCH**: Bug fixes (e.g., fixing composition logic, updating deps)
|
|
@@ -473,4 +475,3 @@ npm unpublish container-superposition --force
|
|
|
473
475
|
- [npm Version Management](https://docs.npmjs.com/cli/v10/commands/npm-version)
|
|
474
476
|
- [Semantic Versioning](https://semver.org/)
|
|
475
477
|
- [npm Package Lifecycle Scripts](https://docs.npmjs.com/cli/v10/using-npm/scripts#life-cycle-scripts)
|
|
476
|
-
````
|