container-superposition 0.1.6 → 0.1.8

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 (238) hide show
  1. package/README.md +24 -15
  2. package/dist/scripts/init.js +1 -1534
  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.d.ts.map +1 -1
  13. package/dist/tool/commands/adopt.js +1 -27
  14. package/dist/tool/commands/adopt.js.map +1 -1
  15. package/dist/tool/commands/doctor.d.ts +3 -0
  16. package/dist/tool/commands/doctor.d.ts.map +1 -1
  17. package/dist/tool/commands/doctor.js +1068 -70
  18. package/dist/tool/commands/doctor.js.map +1 -1
  19. package/dist/tool/commands/explain.d.ts.map +1 -1
  20. package/dist/tool/commands/explain.js +18 -0
  21. package/dist/tool/commands/explain.js.map +1 -1
  22. package/dist/tool/commands/migrate.d.ts +7 -0
  23. package/dist/tool/commands/migrate.d.ts.map +1 -0
  24. package/dist/tool/commands/migrate.js +52 -0
  25. package/dist/tool/commands/migrate.js.map +1 -0
  26. package/dist/tool/questionnaire/answers.d.ts +16 -0
  27. package/dist/tool/questionnaire/answers.d.ts.map +1 -0
  28. package/dist/tool/questionnaire/answers.js +102 -0
  29. package/dist/tool/questionnaire/answers.js.map +1 -0
  30. package/dist/tool/questionnaire/composer.d.ts +3 -3
  31. package/dist/tool/questionnaire/composer.d.ts.map +1 -1
  32. package/dist/tool/questionnaire/composer.js +902 -37
  33. package/dist/tool/questionnaire/composer.js.map +1 -1
  34. package/dist/tool/questionnaire/presets.d.ts +60 -0
  35. package/dist/tool/questionnaire/presets.d.ts.map +1 -0
  36. package/dist/tool/questionnaire/presets.js +164 -0
  37. package/dist/tool/questionnaire/presets.js.map +1 -0
  38. package/dist/tool/questionnaire/questionnaire.d.ts +10 -0
  39. package/dist/tool/questionnaire/questionnaire.d.ts.map +1 -0
  40. package/dist/tool/questionnaire/questionnaire.js +580 -0
  41. package/dist/tool/questionnaire/questionnaire.js.map +1 -0
  42. package/dist/tool/schema/manifest-migrations.d.ts +5 -0
  43. package/dist/tool/schema/manifest-migrations.d.ts.map +1 -1
  44. package/dist/tool/schema/manifest-migrations.js +45 -0
  45. package/dist/tool/schema/manifest-migrations.js.map +1 -1
  46. package/dist/tool/schema/overlay-loader.d.ts.map +1 -1
  47. package/dist/tool/schema/overlay-loader.js +25 -0
  48. package/dist/tool/schema/overlay-loader.js.map +1 -1
  49. package/dist/tool/schema/project-config.d.ts +14 -2
  50. package/dist/tool/schema/project-config.d.ts.map +1 -1
  51. package/dist/tool/schema/project-config.js +277 -34
  52. package/dist/tool/schema/project-config.js.map +1 -1
  53. package/dist/tool/schema/target-rules.d.ts +78 -0
  54. package/dist/tool/schema/target-rules.d.ts.map +1 -0
  55. package/dist/tool/schema/target-rules.js +367 -0
  56. package/dist/tool/schema/target-rules.js.map +1 -0
  57. package/dist/tool/schema/types.d.ts +123 -12
  58. package/dist/tool/schema/types.d.ts.map +1 -1
  59. package/dist/tool/utils/merge.d.ts.map +1 -1
  60. package/dist/tool/utils/merge.js +9 -0
  61. package/dist/tool/utils/merge.js.map +1 -1
  62. package/dist/tool/utils/parameters.d.ts +76 -0
  63. package/dist/tool/utils/parameters.d.ts.map +1 -0
  64. package/dist/tool/utils/parameters.js +125 -0
  65. package/dist/tool/utils/parameters.js.map +1 -0
  66. package/dist/tool/utils/paths.d.ts +2 -0
  67. package/dist/tool/utils/paths.d.ts.map +1 -0
  68. package/dist/tool/utils/paths.js +31 -0
  69. package/dist/tool/utils/paths.js.map +1 -0
  70. package/docs/creating-overlays.md +151 -2
  71. package/docs/deployment-targets.md +88 -56
  72. package/docs/examples.md +20 -17
  73. package/docs/filesystem-contract.md +5 -0
  74. package/docs/minimal-and-editor.md +65 -5
  75. package/docs/overlay-imports.md +202 -101
  76. package/docs/overlays.md +162 -34
  77. package/docs/quick-reference.md +99 -0
  78. package/docs/specs/003-mkdocs2-overlay/spec.md +114 -0
  79. package/docs/specs/004-doctor-fix/spec.md +70 -0
  80. package/docs/specs/005-cuda-overlay/spec.md +101 -0
  81. package/docs/specs/006-rocm-overlay/spec.md +109 -0
  82. package/docs/specs/007-init-project-file/spec.md +66 -0
  83. package/docs/specs/007-target-aware-generation/spec.md +126 -0
  84. package/docs/specs/008-project-file-canonical/spec.md +83 -0
  85. package/docs/specs/009-project-env/spec.md +147 -0
  86. package/docs/specs/010-compose-env-materialization/spec.md +130 -0
  87. package/docs/specs/011-overlay-parameters/spec.md +235 -0
  88. package/overlays/.shared/README.md +105 -21
  89. package/overlays/.shared/compose/common-healthchecks.md +60 -0
  90. package/overlays/.shared/compose/nvidia-gpu-devcontainer.yml +22 -0
  91. package/overlays/.shared/vscode/recommended-extensions.json +15 -11
  92. package/overlays/alertmanager/setup.sh +4 -19
  93. package/overlays/alertmanager/verify.sh +8 -9
  94. package/overlays/all/README.md +43 -0
  95. package/overlays/all/devcontainer.patch.json +6 -0
  96. package/overlays/all/overlay.yml +14 -0
  97. package/overlays/amp/setup.sh +5 -0
  98. package/overlays/bun/setup.sh +10 -1
  99. package/overlays/bun/verify.sh +6 -1
  100. package/overlays/claude-code/setup.sh +5 -0
  101. package/overlays/cloudflared/setup.sh +9 -12
  102. package/overlays/codex/README.md +9 -6
  103. package/overlays/codex/devcontainer.patch.json +7 -1
  104. package/overlays/codex/setup.sh +5 -0
  105. package/overlays/codex/verify.sh +8 -0
  106. package/overlays/comfyui/.env.example +34 -0
  107. package/overlays/comfyui/README.md +342 -0
  108. package/overlays/comfyui/devcontainer.patch.json +15 -0
  109. package/overlays/comfyui/docker-compose.yml +39 -0
  110. package/overlays/comfyui/overlay.yml +20 -0
  111. package/overlays/comfyui/setup.sh +36 -0
  112. package/overlays/comfyui/verify.sh +103 -0
  113. package/overlays/commitlint/setup.sh +5 -0
  114. package/overlays/cuda/README.md +179 -0
  115. package/overlays/cuda/devcontainer.patch.json +7 -0
  116. package/overlays/cuda/overlay.yml +17 -0
  117. package/overlays/cuda/setup.sh +32 -0
  118. package/overlays/cuda/verify.sh +38 -0
  119. package/overlays/devcontainer-cli/README.md +50 -0
  120. package/overlays/devcontainer-cli/devcontainer.patch.json +13 -0
  121. package/overlays/devcontainer-cli/overlay.yml +16 -0
  122. package/overlays/devcontainer-cli/setup.sh +14 -0
  123. package/overlays/direnv/devcontainer.patch.json +6 -0
  124. package/overlays/direnv/setup.sh +7 -6
  125. package/overlays/dotnet/setup.sh +14 -7
  126. package/overlays/duckdb/devcontainer.patch.json +1 -2
  127. package/overlays/gcloud/devcontainer.patch.json +0 -6
  128. package/overlays/gcloud/setup.sh +51 -0
  129. package/overlays/gemini-cli/setup.sh +5 -0
  130. package/overlays/git-helpers/devcontainer.patch.json +2 -1
  131. package/overlays/go/setup.sh +15 -14
  132. package/overlays/jaeger/overlay.yml +2 -0
  133. package/overlays/just/setup.sh +5 -17
  134. package/overlays/k3d/README.md +201 -0
  135. package/overlays/k3d/devcontainer.patch.json +9 -0
  136. package/overlays/k3d/overlay.yml +19 -0
  137. package/overlays/k3d/setup.sh +34 -0
  138. package/overlays/k3d/verify.sh +38 -0
  139. package/overlays/keycloak/docker-compose.yml +6 -4
  140. package/overlays/keycloak/verify.sh +4 -3
  141. package/overlays/kind/devcontainer.patch.json +1 -2
  142. package/overlays/kind/setup.sh +8 -17
  143. package/overlays/minio/setup.sh +10 -18
  144. package/overlays/mkdocs/overlay.yml +2 -1
  145. package/overlays/mkdocs2/README.md +135 -0
  146. package/overlays/mkdocs2/devcontainer.patch.json +19 -0
  147. package/overlays/mkdocs2/overlay.yml +17 -0
  148. package/overlays/mkdocs2/setup.sh +67 -0
  149. package/overlays/mkdocs2/verify.sh +35 -0
  150. package/overlays/modern-cli-tools/devcontainer.patch.json +7 -1
  151. package/overlays/modern-cli-tools/setup.sh +21 -71
  152. package/overlays/mongodb/devcontainer.patch.json +0 -6
  153. package/overlays/mongodb/setup.sh +59 -0
  154. package/overlays/mysql/verify.sh +4 -3
  155. package/overlays/nats/.env.example +1 -1
  156. package/overlays/nats/README.md +1 -1
  157. package/overlays/nats/docker-compose.yml +1 -1
  158. package/overlays/ngrok/setup.sh +9 -6
  159. package/overlays/nodejs/setup.sh +5 -0
  160. package/overlays/ollama/.env.example +14 -0
  161. package/overlays/ollama/README.md +325 -0
  162. package/overlays/ollama/devcontainer.patch.json +14 -0
  163. package/overlays/ollama/docker-compose.yml +24 -0
  164. package/overlays/ollama/overlay.yml +22 -0
  165. package/overlays/ollama/setup.sh +106 -0
  166. package/overlays/ollama/verify.sh +99 -0
  167. package/overlays/open-webui/.env.example +5 -0
  168. package/overlays/open-webui/README.md +162 -0
  169. package/overlays/open-webui/devcontainer.patch.json +14 -0
  170. package/overlays/open-webui/docker-compose.yml +23 -0
  171. package/overlays/open-webui/overlay.yml +38 -0
  172. package/overlays/openapi-tools/devcontainer.patch.json +1 -2
  173. package/overlays/openapi-tools/setup.sh +9 -8
  174. package/overlays/opencode/setup.sh +5 -0
  175. package/overlays/otel-collector/overlay.yml +2 -0
  176. package/overlays/otel-collector/setup.sh +3 -16
  177. package/overlays/otel-demo-nodejs/verify.sh +8 -9
  178. package/overlays/otel-demo-python/verify.sh +16 -10
  179. package/overlays/pandoc/README.md +22 -15
  180. package/overlays/pandoc/devcontainer.patch.json +6 -2
  181. package/overlays/pandoc/setup.sh +217 -18
  182. package/overlays/pandoc/verify.sh +16 -4
  183. package/overlays/pgvector/.env.example +6 -0
  184. package/overlays/pgvector/README.md +215 -0
  185. package/overlays/pgvector/devcontainer.patch.json +23 -0
  186. package/overlays/pgvector/docker-compose.yml +32 -0
  187. package/overlays/pgvector/overlay.yml +44 -0
  188. package/overlays/playwright/devcontainer.patch.json +3 -1
  189. package/overlays/playwright/setup.sh +37 -0
  190. package/overlays/postgres/.env.example +5 -5
  191. package/overlays/postgres/devcontainer.patch.json +4 -4
  192. package/overlays/postgres/docker-compose.yml +15 -5
  193. package/overlays/postgres/overlay.yml +19 -1
  194. package/overlays/powershell/setup.sh +49 -13
  195. package/overlays/pre-commit/setup.sh +12 -3
  196. package/overlays/prometheus/overlay.yml +2 -0
  197. package/overlays/promtail/verify.sh +16 -10
  198. package/overlays/pulumi/devcontainer.patch.json +1 -1
  199. package/overlays/python/setup.sh +28 -9
  200. package/overlays/python/verify.sh +4 -2
  201. package/overlays/qdrant/.env.example +4 -0
  202. package/overlays/qdrant/README.md +216 -0
  203. package/overlays/qdrant/devcontainer.patch.json +20 -0
  204. package/overlays/qdrant/docker-compose.yml +25 -0
  205. package/overlays/qdrant/overlay.yml +40 -0
  206. package/overlays/redpanda/docker-compose.yml +3 -5
  207. package/overlays/rocm/README.md +227 -0
  208. package/overlays/rocm/devcontainer.patch.json +4 -0
  209. package/overlays/rocm/overlay.yml +17 -0
  210. package/overlays/rocm/setup.sh +45 -0
  211. package/overlays/rocm/verify.sh +47 -0
  212. package/overlays/rust/setup.sh +11 -18
  213. package/overlays/skaffold/README.md +256 -0
  214. package/overlays/skaffold/devcontainer.patch.json +9 -0
  215. package/overlays/skaffold/overlay.yml +20 -0
  216. package/overlays/skaffold/setup.sh +33 -0
  217. package/overlays/skaffold/verify.sh +24 -0
  218. package/overlays/spec-kit/setup.sh +7 -3
  219. package/overlays/sqlite/setup.sh +14 -14
  220. package/overlays/sqlserver/docker-compose.yml +3 -3
  221. package/overlays/sqlserver/verify.sh +22 -5
  222. package/overlays/tempo/verify.sh +16 -10
  223. package/overlays/tilt/devcontainer.patch.json +1 -2
  224. package/overlays/tilt/setup.sh +14 -4
  225. package/overlays/windsurf-cli/setup.sh +27 -4
  226. package/overlays/windsurf-cli/verify.sh +13 -3
  227. package/package.json +4 -2
  228. package/templates/scripts/setup-utils.sh +228 -0
  229. package/tool/schema/config.schema.json +141 -9
  230. package/tool/schema/overlay-manifest.schema.json +38 -0
  231. package/overlays/.shared/compose/common-healthchecks.yml +0 -38
  232. /package/overlays/otel-demo-nodejs/{Dockerfile-otel-demo-nodejs → Dockerfile} +0 -0
  233. /package/overlays/otel-demo-nodejs/{package-otel-demo-nodejs.json → package.json} +0 -0
  234. /package/overlays/otel-demo-nodejs/{server-otel-demo-nodejs.js → server.js} +0 -0
  235. /package/overlays/otel-demo-nodejs/{tracing-otel-demo-nodejs.js → tracing.js} +0 -0
  236. /package/overlays/otel-demo-python/{Dockerfile-otel-demo-python → Dockerfile} +0 -0
  237. /package/overlays/otel-demo-python/{app-otel-demo-python.py → app.py} +0 -0
  238. /package/overlays/otel-demo-python/{requirements-otel-demo-python.txt → requirements.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../scripts/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../scripts/init.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,IAAI,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { QuestionnaireAnswers } from '../schema/types.js';
2
+ export interface CliArgs {
3
+ commandName?: 'init' | 'regen';
4
+ config: Partial<QuestionnaireAnswers>;
5
+ manifestPath?: string;
6
+ fromProject?: boolean;
7
+ projectRoot?: string;
8
+ backupOverride?: boolean;
9
+ backupDir?: string;
10
+ yes?: boolean;
11
+ noInteractive?: boolean;
12
+ writeManifestOnly?: boolean;
13
+ noScaffold?: boolean;
14
+ }
15
+ /**
16
+ * Parse CLI arguments and dispatch sub-commands that exit immediately.
17
+ * Returns CliArgs for init/regen, or null if another command handled the request.
18
+ */
19
+ export declare function parseCliArgs(): Promise<CliArgs | null>;
20
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../tool/cli/args.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,oBAAoB,EAQvB,MAAM,oBAAoB,CAAC;AAW5B,MAAM,WAAW,OAAO;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA+c5D"}
@@ -0,0 +1,325 @@
1
+ import chalk from 'chalk';
2
+ import { Command } from 'commander';
3
+ import { getToolVersion } from '../utils/version.js';
4
+ import { listCommand } from '../commands/list.js';
5
+ import { explainCommand } from '../commands/explain.js';
6
+ import { planCommand } from '../commands/plan.js';
7
+ import { doctorCommand } from '../commands/doctor.js';
8
+ import { adoptCommand } from '../commands/adopt.js';
9
+ import { hashCommand } from '../commands/hash.js';
10
+ import { migrateCommand } from '../commands/migrate.js';
11
+ import { loadOverlaysConfigWrapper, OVERLAYS_DIR } from '../questionnaire/questionnaire.js';
12
+ /**
13
+ * Parse CLI arguments and dispatch sub-commands that exit immediately.
14
+ * Returns CliArgs for init/regen, or null if another command handled the request.
15
+ */
16
+ export async function parseCliArgs() {
17
+ const program = new Command();
18
+ let initOptions = null;
19
+ program
20
+ .name('container-superposition')
21
+ .description('Composable devcontainer scaffolds')
22
+ .version(getToolVersion());
23
+ // Init command (default)
24
+ program
25
+ .command('init', { isDefault: true })
26
+ .description('Initialize a new devcontainer configuration')
27
+ .option('--from-project', 'Load configuration from the repository project file')
28
+ .option('--project-root <path>', 'Run project-file and manifest discovery relative to a different repository root')
29
+ .option('--from-manifest <path>', 'Load configuration from existing superposition.json manifest')
30
+ .option('--no-interactive', 'Use persisted input values directly without questionnaire')
31
+ .option('--backup', 'Force or suppress backup; default is --no-backup inside a git repo, --backup outside')
32
+ .option('--backup-dir <path>', 'Custom backup directory location')
33
+ .option('--stack <type>', 'Base template: plain, compose')
34
+ .option('--language <list>', 'Comma-separated language overlays: dotnet, nodejs, python, mkdocs, java, go, rust, bun, powershell')
35
+ .option('--database <list>', 'Comma-separated database overlays: postgres, redis, mongodb, mysql, sqlserver, sqlite, minio, rabbitmq, redpanda, nats')
36
+ .option('--observability <list>', 'Comma-separated: otel-collector, jaeger, prometheus, grafana, loki')
37
+ .option('--playwright', 'Include Playwright browser automation')
38
+ .option('--cloud-tools <list>', 'Comma-separated: aws-cli, azure-cli, gcloud, kubectl-helm, terraform, pulumi')
39
+ .option('--dev-tools <list>', 'Comma-separated: docker-in-docker, docker-sock, playwright, codex, git-helpers, pre-commit, commitlint, just, direnv, modern-cli-tools, ngrok')
40
+ .option('--port-offset <number>', 'Add offset to all exposed ports (e.g., 100 makes Grafana 3100 instead of 3000)')
41
+ .option('--target <environment>', 'Deployment target: local (default), codespaces (adds hostRequirements + CODESPACES.md), gitpod (adds .gitpod.yml + GITPOD.md), devpod (adds devpod.yaml + DEVPOD.md)', 'local')
42
+ .option('--minimal', 'Minimal mode - exclude optional/nice-to-have features and extensions')
43
+ .option('--editor <profile>', 'Editor profile: vscode (default), jetbrains, none', 'vscode')
44
+ .option('-o, --output <path>', 'Output path (default: ./.devcontainer)')
45
+ .option('--write-manifest-only', 'Generate only superposition.json manifest without creating .devcontainer/ files')
46
+ .option('--no-scaffold', 'Write only superposition.yml; skip .devcontainer/ generation')
47
+ .option('--preset <id>', 'Start from a preset (e.g., web-api, microservice)')
48
+ .option('--preset-param <value>', 'Set a preset parameter value (format: key=value, can be repeated)', (value, previous) => previous.concat([value]), [])
49
+ .option('--param <value>', 'Set an overlay parameter value (format: KEY=value, can be repeated)', (value, previous) => previous.concat([value]), [])
50
+ .action((options, command) => {
51
+ initOptions = {
52
+ ...options,
53
+ commandName: 'init',
54
+ _targetSource: command.getOptionValueSource('target'),
55
+ _editorSource: command.getOptionValueSource('editor'),
56
+ };
57
+ });
58
+ // Regen command
59
+ program
60
+ .command('regen')
61
+ .description('Regenerate devcontainer from a project file or existing superposition.json manifest')
62
+ .option('--from-project', 'Load configuration from the repository project file')
63
+ .option('--project-root <path>', 'Run project-file and manifest discovery relative to a different repository root')
64
+ .option('--from-manifest <path>', '(Deprecated) Load from superposition.json; use `cs migrate` to create a project file first')
65
+ .option('-o, --output <path>', 'Output path (default: ./.devcontainer)')
66
+ .option('--backup', 'Force or suppress backup; default is --no-backup inside a git repo, --backup outside')
67
+ .option('--backup-dir <path>', 'Custom backup directory location')
68
+ .option('--minimal', 'Minimal mode - exclude optional/nice-to-have features and extensions')
69
+ .option('--editor <profile>', 'Editor profile: vscode (default), jetbrains, none', 'vscode')
70
+ .option('--param <value>', 'Override an overlay parameter value (format: KEY=value, can be repeated)', (value, previous) => previous.concat([value]), [])
71
+ .action((options, command) => {
72
+ initOptions = {
73
+ ...options,
74
+ commandName: 'regen',
75
+ interactive: false,
76
+ _editorSource: command.getOptionValueSource('editor'),
77
+ };
78
+ });
79
+ program
80
+ .command('list')
81
+ .description('List available overlays and presets')
82
+ .option('--category <type>', 'Filter by category: language, database, observability, cloud, dev, preset')
83
+ .option('--tags <list>', 'Filter by tags (comma-separated)')
84
+ .option('--supports <stack>', 'Filter by stack support: plain, compose')
85
+ .option('--json', 'Output as JSON for scripting')
86
+ .action(async (options) => {
87
+ const overlaysConfig = loadOverlaysConfigWrapper();
88
+ await listCommand(overlaysConfig, options);
89
+ process.exit(0);
90
+ });
91
+ // Explain command
92
+ program
93
+ .command('explain <overlay>')
94
+ .description('Show detailed information about an overlay')
95
+ .option('--json', 'Output as JSON for scripting')
96
+ .action(async (overlayId, options) => {
97
+ const overlaysConfig = loadOverlaysConfigWrapper();
98
+ await explainCommand(overlaysConfig, OVERLAYS_DIR, overlayId, options);
99
+ process.exit(0);
100
+ });
101
+ // Plan command
102
+ program
103
+ .command('plan')
104
+ .description('Preview what will be generated before creating devcontainer')
105
+ .option('--stack <type>', 'Base template: plain, compose')
106
+ .option('--overlays <list>', 'Comma-separated list of overlay IDs')
107
+ .option('--from-manifest <path>', 'Load stack and overlays from an existing superposition.json manifest')
108
+ .option('--port-offset <number>', 'Add offset to all exposed ports', (val) => parseInt(val, 10), 0)
109
+ .option('-o, --output <path>', 'Compare against existing config at this path (default: ./.devcontainer)')
110
+ .option('--diff', 'Compare planned output vs existing configuration')
111
+ .option('--diff-format <format>', 'Diff output format: color (default), json', 'color')
112
+ .option('--diff-context <lines>', 'Context lines in diff output', (val) => parseInt(val, 10), 3)
113
+ .option('--verbose', 'Explain why each overlay was included in the resolved plan')
114
+ .option('--json', 'Output as JSON for scripting')
115
+ .action(async (options) => {
116
+ const overlaysConfig = loadOverlaysConfigWrapper();
117
+ await planCommand(overlaysConfig, OVERLAYS_DIR, options);
118
+ process.exit(0);
119
+ });
120
+ // Doctor command
121
+ program
122
+ .command('doctor')
123
+ .description('Check environment and validate configuration')
124
+ .option('-o, --output <path>', 'Devcontainer path to validate (default: ./.devcontainer)')
125
+ .option('--from-manifest <path>', 'Load configuration from an existing superposition.json manifest')
126
+ .option('--from-project', 'Load configuration from the repository project file')
127
+ .option('--project-root <path>', 'Run project-file and manifest discovery relative to a different repository root')
128
+ .option('--fix', 'Apply automatic fixes where possible')
129
+ .option('--json', 'Output as JSON for scripting')
130
+ .action(async (options) => {
131
+ const overlaysConfig = loadOverlaysConfigWrapper();
132
+ await doctorCommand(overlaysConfig, OVERLAYS_DIR, options);
133
+ });
134
+ // Adopt command
135
+ program
136
+ .command('adopt')
137
+ .description('Analyse an existing .devcontainer/ and suggest an equivalent overlay-based configuration')
138
+ .option('-d, --dir <path>', 'Path to the existing .devcontainer directory (default: ./.devcontainer)')
139
+ .option('--dry-run', 'Print analysis and suggested command only; no files written')
140
+ .option('--force', 'Overwrite existing superposition.json if present')
141
+ .option('--backup', 'Force backup creation even when inside a git repo (default: backup only outside git repos)')
142
+ .option('--no-backup', 'Disable backup creation even when it would normally be performed')
143
+ .option('--backup-dir <path>', 'Custom backup directory location')
144
+ .option('--project-file', '(deprecated) Write a repository-root project config. Project file output is now standard; this flag is a no-op.')
145
+ .option('--json', 'Output as JSON for scripting')
146
+ .action(async (options) => {
147
+ if (options.projectFile) {
148
+ console.warn(chalk.yellow('⚠ --project-file is deprecated on `adopt`: project file output is now the standard output model. The flag has no additional effect and will be removed in a future version.'));
149
+ }
150
+ const overlaysConfig = loadOverlaysConfigWrapper();
151
+ await adoptCommand(overlaysConfig, OVERLAYS_DIR, options);
152
+ process.exit(0);
153
+ });
154
+ // Hash command
155
+ program
156
+ .command('hash')
157
+ .description('Compute a deterministic fingerprint for a given configuration')
158
+ .option('--stack <type>', 'Base template: plain, compose')
159
+ .option('--overlays <list>', 'Comma-separated list of overlay IDs')
160
+ .option('--preset <id>', 'Preset ID (optional)')
161
+ .option('--base <image>', 'Base image / distro variant (e.g. bookworm, alpine)')
162
+ .option('--manifest <path>', 'Path to superposition.json manifest')
163
+ .option('-o, --output <path>', 'Directory to write hash file (used with --write)')
164
+ .option('--write', 'Write hash to .devcontainer/superposition.hash')
165
+ .option('--json', 'Output as JSON for scripting')
166
+ .action(async (options) => {
167
+ const overlaysConfig = loadOverlaysConfigWrapper();
168
+ await hashCommand(overlaysConfig, OVERLAYS_DIR, options);
169
+ process.exit(0);
170
+ });
171
+ // Migrate command
172
+ program
173
+ .command('migrate')
174
+ .description('Create a superposition.yml project file from an existing superposition.json manifest')
175
+ .option('--from-manifest <path>', 'Path to superposition.json (default: auto-discover in .devcontainer/ or repository root)')
176
+ .option('--output <path>', 'Output path for project file (default: .superposition.yml or existing file path)')
177
+ .option('--force', 'Overwrite existing project file if present')
178
+ .action(async (options) => {
179
+ await migrateCommand(options);
180
+ });
181
+ await program.parseAsync(process.argv);
182
+ if (!initOptions) {
183
+ return null;
184
+ }
185
+ if (Object.keys(initOptions).length === 0) {
186
+ return null;
187
+ }
188
+ const hasSourceFlags = Number(Boolean(initOptions.fromProject)) + Number(Boolean(initOptions.fromManifest));
189
+ if (hasSourceFlags > 1) {
190
+ console.error(chalk.red('✗ Error: --from-project and --from-manifest cannot be used together'));
191
+ process.exit(1);
192
+ }
193
+ const sourceSelectionConflicts = [
194
+ 'stack',
195
+ 'language',
196
+ 'database',
197
+ 'observability',
198
+ 'playwright',
199
+ 'cloudTools',
200
+ 'devTools',
201
+ 'portOffset',
202
+ 'preset',
203
+ ];
204
+ const hasPresetParams = Array.isArray(initOptions.presetParam) && initOptions.presetParam.length > 0;
205
+ const conflictingSelectionFlags = sourceSelectionConflicts.filter((key) => initOptions[key] !== undefined && initOptions[key] !== false);
206
+ if ((initOptions.fromProject || initOptions.fromManifest) &&
207
+ (conflictingSelectionFlags.length > 0 || hasPresetParams)) {
208
+ const conflicts = [...conflictingSelectionFlags.map((key) => `--${key}`)];
209
+ if (hasPresetParams) {
210
+ conflicts.push('--preset-param');
211
+ }
212
+ console.error(chalk.red(`✗ Error: Persisted input sources cannot be combined with clean-generation selection flags: ${conflicts.join(', ')}`));
213
+ console.error(chalk.dim(' Choose either a persisted input source (--from-project or --from-manifest) or direct selection flags for that run.'));
214
+ process.exit(1);
215
+ }
216
+ const config = {};
217
+ if (initOptions.stack)
218
+ config.stack = initOptions.stack;
219
+ if (initOptions.language) {
220
+ config.language = initOptions.language
221
+ .split(',')
222
+ .map((l) => l.trim());
223
+ }
224
+ if (initOptions.database) {
225
+ config.database = initOptions.database
226
+ .split(',')
227
+ .map((d) => d.trim());
228
+ }
229
+ if (initOptions.observability) {
230
+ config.observability = initOptions.observability
231
+ .split(',')
232
+ .map((t) => t.trim());
233
+ }
234
+ if (initOptions.playwright)
235
+ config.playwright = true;
236
+ if (initOptions.cloudTools) {
237
+ config.cloudTools = initOptions.cloudTools
238
+ .split(',')
239
+ .map((t) => t.trim());
240
+ }
241
+ if (initOptions.devTools) {
242
+ config.devTools = initOptions.devTools.split(',').map((t) => t.trim());
243
+ }
244
+ if (initOptions.portOffset) {
245
+ config.portOffset = parseInt(initOptions.portOffset, 10);
246
+ }
247
+ if (initOptions.target && initOptions._targetSource !== 'default') {
248
+ config.target = initOptions.target;
249
+ }
250
+ if (initOptions.minimal) {
251
+ config.minimal = true;
252
+ }
253
+ if (initOptions.editor && initOptions._editorSource !== 'default') {
254
+ const editorLower = initOptions.editor.toLowerCase();
255
+ if (['vscode', 'jetbrains', 'none'].includes(editorLower)) {
256
+ config.editor = editorLower;
257
+ }
258
+ else {
259
+ console.warn(chalk.yellow(`⚠️ Invalid editor profile: ${initOptions.editor}, using default (vscode)`));
260
+ config.editor = 'vscode';
261
+ }
262
+ }
263
+ if (initOptions.output)
264
+ config.outputPath = initOptions.output;
265
+ if (initOptions.preset) {
266
+ config.preset = initOptions.preset;
267
+ }
268
+ if (initOptions.presetParam && initOptions.presetParam.length > 0) {
269
+ if (!initOptions.preset) {
270
+ console.warn(chalk.yellow('⚠️ Ignoring --preset-param because no --preset was provided. ' +
271
+ 'Preset parameters only apply when a preset is selected (e.g., --preset web-api --preset-param broker=nats).'));
272
+ }
273
+ else {
274
+ const presetChoices = {};
275
+ for (const param of initOptions.presetParam) {
276
+ const eqIdx = param.indexOf('=');
277
+ if (eqIdx > 0) {
278
+ const key = param.slice(0, eqIdx).trim();
279
+ const value = param.slice(eqIdx + 1).trim();
280
+ if (key) {
281
+ presetChoices[key] = value;
282
+ }
283
+ }
284
+ else {
285
+ console.warn(chalk.yellow(`⚠️ Invalid --preset-param format: "${param}". Expected "key=value" (e.g., --preset-param broker=nats).`));
286
+ }
287
+ }
288
+ if (Object.keys(presetChoices).length > 0) {
289
+ config.presetChoices = presetChoices;
290
+ }
291
+ }
292
+ }
293
+ if (initOptions.param && initOptions.param.length > 0) {
294
+ const overlayParameters = {};
295
+ for (const param of initOptions.param) {
296
+ const eqIdx = param.indexOf('=');
297
+ if (eqIdx > 0) {
298
+ const key = param.slice(0, eqIdx).trim();
299
+ const value = param.slice(eqIdx + 1).trim();
300
+ if (key) {
301
+ overlayParameters[key] = value;
302
+ }
303
+ }
304
+ else {
305
+ console.warn(chalk.yellow(`⚠️ Invalid --param format: "${param}". Expected "KEY=value" (e.g., --param POSTGRES_DB=myapp).`));
306
+ }
307
+ }
308
+ if (Object.keys(overlayParameters).length > 0) {
309
+ config.overlayParameters = overlayParameters;
310
+ }
311
+ }
312
+ return {
313
+ commandName: initOptions.commandName,
314
+ config,
315
+ manifestPath: initOptions.fromManifest,
316
+ fromProject: initOptions.fromProject === true,
317
+ projectRoot: initOptions.projectRoot,
318
+ backupOverride: initOptions.backup,
319
+ backupDir: initOptions.backupDir,
320
+ noInteractive: initOptions.interactive === false,
321
+ writeManifestOnly: initOptions.writeManifestOnly === true,
322
+ noScaffold: initOptions.scaffold === false,
323
+ };
324
+ }
325
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../tool/cli/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function main(): Promise<void>;
2
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../tool/cli/run.ts"],"names":[],"mappings":"AA8BA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAqc1C"}