container-superposition 0.1.4 → 0.1.5

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 (90) hide show
  1. package/README.md +72 -1370
  2. package/dist/scripts/init.js +333 -185
  3. package/dist/scripts/init.js.map +1 -1
  4. package/dist/tool/commands/adopt.d.ts +62 -0
  5. package/dist/tool/commands/adopt.d.ts.map +1 -0
  6. package/dist/tool/commands/adopt.js +767 -0
  7. package/dist/tool/commands/adopt.js.map +1 -0
  8. package/dist/tool/commands/hash.d.ts +36 -0
  9. package/dist/tool/commands/hash.d.ts.map +1 -0
  10. package/dist/tool/commands/hash.js +242 -0
  11. package/dist/tool/commands/hash.js.map +1 -0
  12. package/dist/tool/commands/plan.d.ts +2 -0
  13. package/dist/tool/commands/plan.d.ts.map +1 -1
  14. package/dist/tool/commands/plan.js +262 -42
  15. package/dist/tool/commands/plan.js.map +1 -1
  16. package/dist/tool/schema/project-config.d.ts +15 -0
  17. package/dist/tool/schema/project-config.d.ts.map +1 -0
  18. package/dist/tool/schema/project-config.js +359 -0
  19. package/dist/tool/schema/project-config.js.map +1 -0
  20. package/dist/tool/schema/types.d.ts +39 -1
  21. package/dist/tool/schema/types.d.ts.map +1 -1
  22. package/dist/tool/utils/backup.d.ts +23 -0
  23. package/dist/tool/utils/backup.d.ts.map +1 -0
  24. package/dist/tool/utils/backup.js +123 -0
  25. package/dist/tool/utils/backup.js.map +1 -0
  26. package/docs/README.md +12 -2
  27. package/docs/adopt.md +196 -0
  28. package/docs/custom-patches.md +1 -1
  29. package/docs/discovery-commands.md +55 -3
  30. package/docs/examples.md +40 -6
  31. package/docs/filesystem-contract.md +58 -0
  32. package/docs/hash.md +183 -0
  33. package/docs/minimal-and-editor.md +1 -1
  34. package/docs/overlays.md +60 -0
  35. package/docs/presets-architecture.md +1 -1
  36. package/docs/presets.md +1 -1
  37. package/docs/publishing.md +36 -23
  38. package/docs/security.md +43 -0
  39. package/docs/specs/001-verbose-plan-graph/checklists/requirements.md +36 -0
  40. package/docs/specs/001-verbose-plan-graph/contracts/plan-verbose-output.md +96 -0
  41. package/docs/specs/001-verbose-plan-graph/data-model.md +111 -0
  42. package/docs/specs/001-verbose-plan-graph/plan.md +127 -0
  43. package/docs/specs/001-verbose-plan-graph/quickstart.md +106 -0
  44. package/docs/specs/001-verbose-plan-graph/research.md +100 -0
  45. package/docs/specs/001-verbose-plan-graph/spec.md +128 -0
  46. package/docs/specs/001-verbose-plan-graph/tasks.md +223 -0
  47. package/docs/specs/002-superposition-config-file/checklists/requirements.md +36 -0
  48. package/docs/specs/002-superposition-config-file/contracts/init-project-config.md +98 -0
  49. package/docs/specs/002-superposition-config-file/data-model.md +126 -0
  50. package/docs/specs/002-superposition-config-file/plan.md +208 -0
  51. package/docs/specs/002-superposition-config-file/quickstart.md +140 -0
  52. package/docs/specs/002-superposition-config-file/research.md +144 -0
  53. package/docs/specs/002-superposition-config-file/spec.md +130 -0
  54. package/docs/specs/002-superposition-config-file/tasks.md +213 -0
  55. package/docs/team-workflow.md +27 -1
  56. package/docs/workflows.md +136 -0
  57. package/overlays/.presets/sdd.yml +84 -0
  58. package/overlays/README.md +7 -1
  59. package/overlays/amp/README.md +70 -0
  60. package/overlays/amp/devcontainer.patch.json +3 -0
  61. package/overlays/amp/overlay.yml +15 -0
  62. package/overlays/amp/setup.sh +21 -0
  63. package/overlays/amp/verify.sh +21 -0
  64. package/overlays/claude-code/README.md +83 -0
  65. package/overlays/claude-code/devcontainer.patch.json +3 -0
  66. package/overlays/claude-code/overlay.yml +15 -0
  67. package/overlays/claude-code/setup.sh +21 -0
  68. package/overlays/claude-code/verify.sh +21 -0
  69. package/overlays/gemini-cli/README.md +77 -0
  70. package/overlays/gemini-cli/devcontainer.patch.json +3 -0
  71. package/overlays/gemini-cli/overlay.yml +15 -0
  72. package/overlays/gemini-cli/setup.sh +21 -0
  73. package/overlays/gemini-cli/verify.sh +21 -0
  74. package/overlays/opencode/README.md +76 -0
  75. package/overlays/opencode/devcontainer.patch.json +3 -0
  76. package/overlays/opencode/overlay.yml +14 -0
  77. package/overlays/opencode/setup.sh +21 -0
  78. package/overlays/opencode/verify.sh +21 -0
  79. package/overlays/spec-kit/README.md +181 -0
  80. package/overlays/spec-kit/devcontainer.patch.json +6 -0
  81. package/overlays/spec-kit/overlay.yml +19 -0
  82. package/overlays/spec-kit/setup.sh +45 -0
  83. package/overlays/spec-kit/verify.sh +33 -0
  84. package/overlays/windsurf-cli/README.md +69 -0
  85. package/overlays/windsurf-cli/devcontainer.patch.json +3 -0
  86. package/overlays/windsurf-cli/overlay.yml +15 -0
  87. package/overlays/windsurf-cli/setup.sh +21 -0
  88. package/overlays/windsurf-cli/verify.sh +21 -0
  89. package/package.json +1 -1
  90. package/tool/schema/config.schema.json +138 -9
@@ -11,28 +11,67 @@
11
11
  },
12
12
  "baseImage": {
13
13
  "type": "string",
14
- "enum": ["bookworm", "trixie", "custom"],
14
+ "enum": ["bookworm", "trixie", "alpine", "ubuntu", "custom"],
15
15
  "default": "bookworm",
16
- "description": "Base Debian image version"
16
+ "description": "Base image / Linux distro variant (or 'custom' for a user-defined image)"
17
17
  },
18
18
  "customImage": {
19
19
  "type": "string",
20
20
  "description": "Custom base image (only when baseImage is 'custom')"
21
21
  },
22
+ "containerName": {
23
+ "type": "string",
24
+ "description": "Container/project name to write into devcontainer.json"
25
+ },
26
+ "preset": {
27
+ "type": "string",
28
+ "description": "Preset ID to expand during generation"
29
+ },
30
+ "presetChoices": {
31
+ "type": "object",
32
+ "additionalProperties": {
33
+ "type": "string"
34
+ },
35
+ "description": "Preset parameter choices keyed by parameter name"
36
+ },
22
37
  "language": {
23
38
  "type": "array",
24
39
  "items": {
25
40
  "type": "string",
26
- "enum": ["dotnet", "nodejs", "python", "mkdocs"]
41
+ "enum": [
42
+ "dotnet",
43
+ "nodejs",
44
+ "python",
45
+ "mkdocs",
46
+ "java",
47
+ "go",
48
+ "rust",
49
+ "bun",
50
+ "powershell"
51
+ ]
27
52
  },
28
53
  "default": [],
29
54
  "description": "Language/framework overlays"
30
55
  },
31
56
  "database": {
32
- "type": "string",
33
- "enum": ["none", "postgres", "redis", "postgres+redis"],
34
- "default": "none",
35
- "description": "Database requirements"
57
+ "type": "array",
58
+ "items": {
59
+ "type": "string",
60
+ "enum": [
61
+ "postgres",
62
+ "redis",
63
+ "mongodb",
64
+ "mysql",
65
+ "sqlserver",
66
+ "sqlite",
67
+ "minio",
68
+ "rabbitmq",
69
+ "redpanda",
70
+ "nats"
71
+ ]
72
+ },
73
+ "default": [],
74
+ "description": "Database overlays"
36
75
  },
37
76
  "playwright": {
38
77
  "type": "boolean",
@@ -43,11 +82,38 @@
43
82
  "type": "array",
44
83
  "items": {
45
84
  "type": "string",
46
- "enum": ["azure-cli", "aws-cli", "kubectl-helm", "docker-in-docker", "docker-sock"]
85
+ "enum": ["azure-cli", "aws-cli", "gcloud", "kubectl-helm", "terraform", "pulumi"]
47
86
  },
48
87
  "default": [],
49
88
  "description": "Cloud/orchestration tools to include"
50
89
  },
90
+ "devTools": {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string",
94
+ "enum": [
95
+ "docker-in-docker",
96
+ "docker-sock",
97
+ "codex",
98
+ "playwright",
99
+ "git-helpers",
100
+ "pre-commit",
101
+ "commitlint",
102
+ "just",
103
+ "direnv",
104
+ "modern-cli-tools",
105
+ "ngrok",
106
+ "spec-kit",
107
+ "claude-code",
108
+ "gemini-cli",
109
+ "amp",
110
+ "windsurf-cli",
111
+ "opencode"
112
+ ]
113
+ },
114
+ "default": [],
115
+ "description": "Developer tooling overlays"
116
+ },
51
117
  "observability": {
52
118
  "type": "array",
53
119
  "items": {
@@ -59,13 +125,76 @@
59
125
  },
60
126
  "portOffset": {
61
127
  "type": "number",
128
+ "minimum": 0,
62
129
  "description": "Port offset for running multiple instances"
63
130
  },
64
131
  "outputPath": {
65
132
  "type": "string",
66
133
  "default": "./.devcontainer",
67
134
  "description": "Where to write the devcontainer configuration"
135
+ },
136
+ "target": {
137
+ "type": "string",
138
+ "enum": ["local", "codespaces", "gitpod", "devpod"],
139
+ "description": "Target environment for compatibility checks"
140
+ },
141
+ "minimal": {
142
+ "type": "boolean",
143
+ "description": "Exclude optional overlays marked as minimal"
144
+ },
145
+ "editor": {
146
+ "type": "string",
147
+ "enum": ["vscode", "jetbrains", "none"],
148
+ "description": "Editor customization profile"
149
+ },
150
+ "customizations": {
151
+ "type": "object",
152
+ "properties": {
153
+ "devcontainerPatch": {
154
+ "type": "object",
155
+ "description": "Additional devcontainer.json content merged during generation"
156
+ },
157
+ "dockerComposePatch": {
158
+ "type": "object",
159
+ "description": "Additional docker-compose content merged during generation"
160
+ },
161
+ "environment": {
162
+ "type": "object",
163
+ "additionalProperties": {
164
+ "type": "string"
165
+ },
166
+ "description": "Environment variables written to custom/environment.env"
167
+ },
168
+ "scripts": {
169
+ "type": "object",
170
+ "properties": {
171
+ "postCreate": {
172
+ "type": "array",
173
+ "items": { "type": "string" }
174
+ },
175
+ "postStart": {
176
+ "type": "array",
177
+ "items": { "type": "string" }
178
+ }
179
+ },
180
+ "additionalProperties": false
181
+ },
182
+ "files": {
183
+ "type": "array",
184
+ "items": {
185
+ "type": "object",
186
+ "properties": {
187
+ "path": { "type": "string" },
188
+ "content": { "type": "string" }
189
+ },
190
+ "required": ["path", "content"],
191
+ "additionalProperties": false
192
+ }
193
+ }
194
+ },
195
+ "additionalProperties": false
68
196
  }
69
197
  },
70
- "required": ["stack"]
198
+ "required": [],
199
+ "additionalProperties": false
71
200
  }