@tdk-landscape/tdk-cli-core 1.3.53 → 1.3.55

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 (392) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +1 -1
  3. package/cli/dist/commands/doctor.js +21 -3
  4. package/cli/dist/commands/upgrade.js +7 -7
  5. package/cli/dist/generator/extension-fetch.js +16 -9
  6. package/cli/dist/utils/spinner.js +39 -0
  7. package/cli/package.json +1 -2
  8. package/package.json +16 -2
  9. package/.claude/skills/layer-autoresearch/SKILL.md +0 -48
  10. package/.claude/skills/tdk-troubleshoot/SKILL.md +0 -222
  11. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -40
  12. package/.github/ISSUE_TEMPLATE/config.yml +0 -11
  13. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -18
  14. package/.github/ISSUE_TEMPLATE/premium_license.yml +0 -43
  15. package/.github/dependabot.yml +0 -33
  16. package/.github/pull_request_template.md +0 -5
  17. package/.github/workflows/ci.yml +0 -200
  18. package/.github/workflows/release-binaries.yml +0 -139
  19. package/.github/zizmor.yml +0 -9
  20. package/.pre-commit-config.yaml +0 -57
  21. package/CODE_OF_CONDUCT.md +0 -9
  22. package/CONTRIBUTING.md +0 -42
  23. package/Makefile +0 -92
  24. package/SECURITY.md +0 -17
  25. package/benchmarks/results/container-scale-2026-09-25T20-54-49-736Z.json +0 -45
  26. package/benchmarks/results/container-scale-2026-09-25T21-01-20-540Z.json +0 -150
  27. package/benchmarks/results/container-scale-2026-09-25T21-15-01-441Z.json +0 -73
  28. package/benchmarks/results/container-scale-2026-09-25T22-09-01-630Z.json +0 -77
  29. package/benchmarks/results/container-scale-2026-09-25T22-18-28-371Z.json +0 -202
  30. package/cli/AGENTS.md +0 -390
  31. package/cli/DESIGN.md +0 -735
  32. package/cli/README.md +0 -292
  33. package/cli/biome.json +0 -40
  34. package/cli/dependency-graph.svg +0 -1135
  35. package/cli/dist/cli.d.ts +0 -3
  36. package/cli/dist/cli.d.ts.map +0 -1
  37. package/cli/dist/cli.js.map +0 -1
  38. package/cli/dist/commands/completion.d.ts +0 -3
  39. package/cli/dist/commands/completion.d.ts.map +0 -1
  40. package/cli/dist/commands/completion.js.map +0 -1
  41. package/cli/dist/commands/config.d.ts +0 -3
  42. package/cli/dist/commands/config.d.ts.map +0 -1
  43. package/cli/dist/commands/config.js.map +0 -1
  44. package/cli/dist/commands/doctor.d.ts +0 -19
  45. package/cli/dist/commands/doctor.d.ts.map +0 -1
  46. package/cli/dist/commands/doctor.js.map +0 -1
  47. package/cli/dist/commands/down.d.ts +0 -3
  48. package/cli/dist/commands/down.d.ts.map +0 -1
  49. package/cli/dist/commands/down.js.map +0 -1
  50. package/cli/dist/commands/help.d.ts +0 -2
  51. package/cli/dist/commands/help.d.ts.map +0 -1
  52. package/cli/dist/commands/help.js.map +0 -1
  53. package/cli/dist/commands/networks.d.ts +0 -3
  54. package/cli/dist/commands/networks.d.ts.map +0 -1
  55. package/cli/dist/commands/networks.js.map +0 -1
  56. package/cli/dist/commands/project.d.ts +0 -9
  57. package/cli/dist/commands/project.d.ts.map +0 -1
  58. package/cli/dist/commands/project.js.map +0 -1
  59. package/cli/dist/commands/projects.d.ts +0 -3
  60. package/cli/dist/commands/projects.d.ts.map +0 -1
  61. package/cli/dist/commands/projects.js.map +0 -1
  62. package/cli/dist/commands/resource.d.ts +0 -69
  63. package/cli/dist/commands/resource.d.ts.map +0 -1
  64. package/cli/dist/commands/resource.js.map +0 -1
  65. package/cli/dist/commands/resources.d.ts +0 -3
  66. package/cli/dist/commands/resources.d.ts.map +0 -1
  67. package/cli/dist/commands/resources.js.map +0 -1
  68. package/cli/dist/commands/stack.d.ts +0 -3
  69. package/cli/dist/commands/stack.d.ts.map +0 -1
  70. package/cli/dist/commands/stack.js.map +0 -1
  71. package/cli/dist/commands/stacks.d.ts +0 -3
  72. package/cli/dist/commands/stacks.d.ts.map +0 -1
  73. package/cli/dist/commands/stacks.js.map +0 -1
  74. package/cli/dist/commands/status.d.ts +0 -3
  75. package/cli/dist/commands/status.d.ts.map +0 -1
  76. package/cli/dist/commands/status.js.map +0 -1
  77. package/cli/dist/commands/ui.d.ts +0 -3
  78. package/cli/dist/commands/ui.d.ts.map +0 -1
  79. package/cli/dist/commands/ui.js.map +0 -1
  80. package/cli/dist/commands/up.d.ts +0 -3
  81. package/cli/dist/commands/up.d.ts.map +0 -1
  82. package/cli/dist/commands/up.js.map +0 -1
  83. package/cli/dist/commands/upgrade.d.ts +0 -14
  84. package/cli/dist/commands/upgrade.d.ts.map +0 -1
  85. package/cli/dist/commands/upgrade.js.map +0 -1
  86. package/cli/dist/commands/version.d.ts +0 -3
  87. package/cli/dist/commands/version.d.ts.map +0 -1
  88. package/cli/dist/commands/version.js.map +0 -1
  89. package/cli/dist/components/Accessible.d.ts +0 -8
  90. package/cli/dist/components/Accessible.d.ts.map +0 -1
  91. package/cli/dist/components/Accessible.js.map +0 -1
  92. package/cli/dist/components/BaseTooltip.d.ts +0 -4
  93. package/cli/dist/components/BaseTooltip.d.ts.map +0 -1
  94. package/cli/dist/components/BaseTooltip.js.map +0 -1
  95. package/cli/dist/components/DetailPanel.d.ts +0 -4
  96. package/cli/dist/components/DetailPanel.d.ts.map +0 -1
  97. package/cli/dist/components/DetailPanel.js.map +0 -1
  98. package/cli/dist/components/FileTree.d.ts +0 -4
  99. package/cli/dist/components/FileTree.d.ts.map +0 -1
  100. package/cli/dist/components/FileTree.js.map +0 -1
  101. package/cli/dist/components/ResourceSelectInput.d.ts +0 -4
  102. package/cli/dist/components/ResourceSelectInput.d.ts.map +0 -1
  103. package/cli/dist/components/ResourceSelectInput.js.map +0 -1
  104. package/cli/dist/components/ResourceTable.d.ts +0 -4
  105. package/cli/dist/components/ResourceTable.d.ts.map +0 -1
  106. package/cli/dist/components/ResourceTable.js.map +0 -1
  107. package/cli/dist/components/TabBar.d.ts +0 -4
  108. package/cli/dist/components/TabBar.d.ts.map +0 -1
  109. package/cli/dist/components/TabBar.js.map +0 -1
  110. package/cli/dist/components/Tooltip.d.ts +0 -12
  111. package/cli/dist/components/Tooltip.d.ts.map +0 -1
  112. package/cli/dist/components/Tooltip.js.map +0 -1
  113. package/cli/dist/components/index.d.ts +0 -8
  114. package/cli/dist/components/index.d.ts.map +0 -1
  115. package/cli/dist/components/index.js.map +0 -1
  116. package/cli/dist/config/platform-standards.d.ts +0 -159
  117. package/cli/dist/config/platform-standards.d.ts.map +0 -1
  118. package/cli/dist/config/platform-standards.js.map +0 -1
  119. package/cli/dist/generator/extension-fetch.d.ts +0 -25
  120. package/cli/dist/generator/extension-fetch.d.ts.map +0 -1
  121. package/cli/dist/generator/extension-fetch.js.map +0 -1
  122. package/cli/dist/generator/template-engine.d.ts +0 -62
  123. package/cli/dist/generator/template-engine.d.ts.map +0 -1
  124. package/cli/dist/generator/template-engine.js.map +0 -1
  125. package/cli/dist/index.d.ts +0 -11
  126. package/cli/dist/index.d.ts.map +0 -1
  127. package/cli/dist/index.js.map +0 -1
  128. package/cli/dist/types/index.d.ts +0 -257
  129. package/cli/dist/types/index.d.ts.map +0 -1
  130. package/cli/dist/types/index.js.map +0 -1
  131. package/cli/dist/utils/cache.d.ts +0 -19
  132. package/cli/dist/utils/cache.d.ts.map +0 -1
  133. package/cli/dist/utils/cache.js.map +0 -1
  134. package/cli/dist/utils/command-helpers.d.ts +0 -17
  135. package/cli/dist/utils/command-helpers.d.ts.map +0 -1
  136. package/cli/dist/utils/command-helpers.js.map +0 -1
  137. package/cli/dist/utils/constants.d.ts +0 -53
  138. package/cli/dist/utils/constants.d.ts.map +0 -1
  139. package/cli/dist/utils/constants.js.map +0 -1
  140. package/cli/dist/utils/discovery-context.d.ts +0 -4
  141. package/cli/dist/utils/discovery-context.d.ts.map +0 -1
  142. package/cli/dist/utils/discovery-context.js.map +0 -1
  143. package/cli/dist/utils/docker.d.ts +0 -4
  144. package/cli/dist/utils/docker.d.ts.map +0 -1
  145. package/cli/dist/utils/docker.js.map +0 -1
  146. package/cli/dist/utils/doctor-runtime.d.ts +0 -81
  147. package/cli/dist/utils/doctor-runtime.d.ts.map +0 -1
  148. package/cli/dist/utils/doctor-runtime.js.map +0 -1
  149. package/cli/dist/utils/env-validator.d.ts +0 -15
  150. package/cli/dist/utils/env-validator.d.ts.map +0 -1
  151. package/cli/dist/utils/env-validator.js.map +0 -1
  152. package/cli/dist/utils/errors.d.ts +0 -31
  153. package/cli/dist/utils/errors.d.ts.map +0 -1
  154. package/cli/dist/utils/errors.js.map +0 -1
  155. package/cli/dist/utils/file-helpers.d.ts +0 -14
  156. package/cli/dist/utils/file-helpers.d.ts.map +0 -1
  157. package/cli/dist/utils/file-helpers.js.map +0 -1
  158. package/cli/dist/utils/formatting.d.ts +0 -30
  159. package/cli/dist/utils/formatting.d.ts.map +0 -1
  160. package/cli/dist/utils/formatting.js.map +0 -1
  161. package/cli/dist/utils/paths.d.ts +0 -3
  162. package/cli/dist/utils/paths.d.ts.map +0 -1
  163. package/cli/dist/utils/paths.js.map +0 -1
  164. package/cli/dist/utils/port-assignment.d.ts +0 -6
  165. package/cli/dist/utils/port-assignment.d.ts.map +0 -1
  166. package/cli/dist/utils/port-assignment.js.map +0 -1
  167. package/cli/dist/utils/project-features.d.ts +0 -23
  168. package/cli/dist/utils/project-features.d.ts.map +0 -1
  169. package/cli/dist/utils/project-features.js.map +0 -1
  170. package/cli/dist/utils/project-templates.d.ts +0 -7
  171. package/cli/dist/utils/project-templates.d.ts.map +0 -1
  172. package/cli/dist/utils/project-templates.js.map +0 -1
  173. package/cli/dist/utils/prompt.d.ts +0 -28
  174. package/cli/dist/utils/prompt.d.ts.map +0 -1
  175. package/cli/dist/utils/prompt.js.map +0 -1
  176. package/cli/dist/utils/resource-features.d.ts +0 -29
  177. package/cli/dist/utils/resource-features.d.ts.map +0 -1
  178. package/cli/dist/utils/resource-features.js.map +0 -1
  179. package/cli/dist/utils/service-urls.d.ts +0 -30
  180. package/cli/dist/utils/service-urls.d.ts.map +0 -1
  181. package/cli/dist/utils/service-urls.js.map +0 -1
  182. package/cli/dist/utils/services.d.ts +0 -18
  183. package/cli/dist/utils/services.d.ts.map +0 -1
  184. package/cli/dist/utils/services.js.map +0 -1
  185. package/cli/dist/utils/stack-features.d.ts +0 -22
  186. package/cli/dist/utils/stack-features.d.ts.map +0 -1
  187. package/cli/dist/utils/stack-features.js.map +0 -1
  188. package/cli/dist/utils/tar.d.ts +0 -7
  189. package/cli/dist/utils/tar.d.ts.map +0 -1
  190. package/cli/dist/utils/tar.js.map +0 -1
  191. package/cli/dist/utils/tilt.d.ts +0 -20
  192. package/cli/dist/utils/tilt.d.ts.map +0 -1
  193. package/cli/dist/utils/tilt.js.map +0 -1
  194. package/cli/dist/utils/validation.d.ts +0 -16
  195. package/cli/dist/utils/validation.d.ts.map +0 -1
  196. package/cli/dist/utils/validation.js.map +0 -1
  197. package/cli/knip.json +0 -6
  198. package/cli/pnpm-lock.yaml +0 -2305
  199. package/cli/pnpm-workspace.yaml +0 -2
  200. package/cli/src/cli.ts +0 -72
  201. package/cli/src/commands/__tests__/always-enabled-infra.test.ts +0 -109
  202. package/cli/src/commands/__tests__/config.test.ts +0 -146
  203. package/cli/src/commands/__tests__/doctor.test.ts +0 -730
  204. package/cli/src/commands/__tests__/error-handling.test.ts +0 -78
  205. package/cli/src/commands/__tests__/phases-model.test.ts +0 -161
  206. package/cli/src/commands/__tests__/project-resource-features-e2e.test.ts +0 -187
  207. package/cli/src/commands/__tests__/project.test.ts +0 -68
  208. package/cli/src/commands/__tests__/resource.test.ts +0 -226
  209. package/cli/src/commands/__tests__/saas-starter-integration.test.ts +0 -194
  210. package/cli/src/commands/__tests__/stack-features-e2e.test.ts +0 -135
  211. package/cli/src/commands/__tests__/upgrade.test.ts +0 -198
  212. package/cli/src/commands/completion.ts +0 -300
  213. package/cli/src/commands/config.ts +0 -299
  214. package/cli/src/commands/doctor.ts +0 -926
  215. package/cli/src/commands/down.ts +0 -37
  216. package/cli/src/commands/help.ts +0 -143
  217. package/cli/src/commands/networks-design.md +0 -80
  218. package/cli/src/commands/networks.ts +0 -332
  219. package/cli/src/commands/project.ts +0 -456
  220. package/cli/src/commands/projects.ts +0 -82
  221. package/cli/src/commands/resource.ts +0 -652
  222. package/cli/src/commands/resources.ts +0 -95
  223. package/cli/src/commands/stack.ts +0 -128
  224. package/cli/src/commands/stacks.ts +0 -52
  225. package/cli/src/commands/status.ts +0 -88
  226. package/cli/src/commands/ui.tsx +0 -843
  227. package/cli/src/commands/up.ts +0 -169
  228. package/cli/src/commands/upgrade.ts +0 -628
  229. package/cli/src/commands/version.ts +0 -9
  230. package/cli/src/components/Accessible.tsx +0 -21
  231. package/cli/src/components/BaseTooltip.tsx +0 -66
  232. package/cli/src/components/DetailPanel.tsx +0 -146
  233. package/cli/src/components/FileTree.tsx +0 -89
  234. package/cli/src/components/ResourceSelectInput.tsx +0 -30
  235. package/cli/src/components/ResourceTable.tsx +0 -78
  236. package/cli/src/components/TabBar.tsx +0 -53
  237. package/cli/src/components/Tooltip.tsx +0 -11
  238. package/cli/src/components/index.ts +0 -7
  239. package/cli/src/config/platform-standards.test.ts +0 -11
  240. package/cli/src/config/platform-standards.ts +0 -196
  241. package/cli/src/generator/__tests__/extension-fetch.test.ts +0 -242
  242. package/cli/src/generator/__tests__/template-engine.test.ts +0 -70
  243. package/cli/src/generator/extension-fetch.ts +0 -286
  244. package/cli/src/generator/template-engine.ts +0 -752
  245. package/cli/src/index.ts +0 -86
  246. package/cli/src/templates.d.ts +0 -4
  247. package/cli/src/types/index.ts +0 -353
  248. package/cli/src/utils/__tests__/cache.test.ts +0 -98
  249. package/cli/src/utils/__tests__/formatting.test.ts +0 -170
  250. package/cli/src/utils/__tests__/paths.test.ts +0 -180
  251. package/cli/src/utils/__tests__/port-assignment.test.ts +0 -121
  252. package/cli/src/utils/__tests__/service-urls.test.ts +0 -174
  253. package/cli/src/utils/__tests__/services.test.ts +0 -531
  254. package/cli/src/utils/__tests__/tilt.test.ts +0 -172
  255. package/cli/src/utils/__tests__/validation.test.ts +0 -148
  256. package/cli/src/utils/cache.ts +0 -76
  257. package/cli/src/utils/command-helpers.ts +0 -54
  258. package/cli/src/utils/constants.ts +0 -130
  259. package/cli/src/utils/discovery-context.ts +0 -49
  260. package/cli/src/utils/docker.ts +0 -20
  261. package/cli/src/utils/doctor-runtime.ts +0 -644
  262. package/cli/src/utils/env-validator.ts +0 -139
  263. package/cli/src/utils/errors.ts +0 -168
  264. package/cli/src/utils/file-helpers.ts +0 -62
  265. package/cli/src/utils/formatting.ts +0 -215
  266. package/cli/src/utils/paths.ts +0 -53
  267. package/cli/src/utils/port-assignment.ts +0 -106
  268. package/cli/src/utils/project-features.ts +0 -118
  269. package/cli/src/utils/project-templates.ts +0 -29
  270. package/cli/src/utils/prompt.ts +0 -128
  271. package/cli/src/utils/resource-features.ts +0 -215
  272. package/cli/src/utils/service-urls.ts +0 -124
  273. package/cli/src/utils/services.ts +0 -364
  274. package/cli/src/utils/stack-features.ts +0 -30
  275. package/cli/src/utils/tar.ts +0 -24
  276. package/cli/src/utils/tilt.ts +0 -133
  277. package/cli/src/utils/validation.ts +0 -67
  278. package/cli/tsconfig.json +0 -25
  279. package/cli/tsconfig.typecheck.json +0 -8
  280. package/docs/FEATURES.md +0 -281
  281. package/docs/demo.svg +0 -217
  282. package/engine/docs/AUTODISCOVERY_TEST.md +0 -182
  283. package/engine/docs/C4-ARCHITECTURE-operations.md +0 -396
  284. package/engine/docs/C4-ARCHITECTURE-overview.md +0 -284
  285. package/engine/docs/C4-ARCHITECTURE.md +0 -17
  286. package/engine/docs/GOLDEN_IMAGE_INTEGRATION.md +0 -349
  287. package/engine/docs/MANIFEST_DRIVEN_ARCHITECTURE.md +0 -357
  288. package/engine/docs/README.md +0 -284
  289. package/install.sh +0 -19
  290. package/knip.json +0 -10
  291. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/.openspec.yaml +0 -2
  292. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/design.md +0 -102
  293. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/proposal.md +0 -31
  294. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-notifications/spec.md +0 -48
  295. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-orchestration/spec.md +0 -63
  296. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-troubleshooting/spec.md +0 -56
  297. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/tasks.md +0 -61
  298. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/.openspec.yaml +0 -2
  299. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/design.md +0 -114
  300. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/proposal.md +0 -32
  301. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/manifest-field-migration/spec.md +0 -20
  302. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/resource-terminology-standard/spec.md +0 -20
  303. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/stack-terminology-standard/spec.md +0 -20
  304. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/tasks.md +0 -194
  305. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/.openspec.yaml +0 -2
  306. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/design.md +0 -111
  307. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/proposal.md +0 -33
  308. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/function-naming-alignment/spec.md +0 -12
  309. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/optional-parameter-patterns/spec.md +0 -18
  310. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-documentation/spec.md +0 -16
  311. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-naming-consistency/spec.md +0 -12
  312. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-ordering-standard/spec.md +0 -12
  313. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/tasks.md +0 -194
  314. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/.openspec.yaml +0 -2
  315. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/design.md +0 -84
  316. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/proposal.md +0 -31
  317. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/codebase-audit/spec.md +0 -27
  318. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/dead-code-cleanup/spec.md +0 -27
  319. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/test-gap-fill/spec.md +0 -23
  320. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/todo-resolution/spec.md +0 -27
  321. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/tasks.md +0 -39
  322. package/openspec/changes/archive/2026-06-25-landscape-consolidation/.openspec.yaml +0 -2
  323. package/openspec/changes/archive/2026-06-25-landscape-consolidation/design.md +0 -80
  324. package/openspec/changes/archive/2026-06-25-landscape-consolidation/proposal.md +0 -40
  325. package/openspec/changes/archive/2026-06-25-landscape-consolidation/spec.md +0 -52
  326. package/openspec/changes/archive/2026-06-25-landscape-consolidation/tasks.md +0 -51
  327. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/.openspec.yaml +0 -2
  328. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/design.md +0 -43
  329. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/proposal.md +0 -29
  330. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/specs/self-contained-generated-projects/spec.md +0 -67
  331. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/tasks.md +0 -27
  332. package/openspec/changes/optimize-runtime-docker-layers/.openspec.yaml +0 -3
  333. package/openspec/changes/optimize-runtime-docker-layers/design.md +0 -81
  334. package/openspec/changes/optimize-runtime-docker-layers/proposal.md +0 -44
  335. package/openspec/changes/optimize-runtime-docker-layers/specs/runtime-container-footprint/spec.md +0 -79
  336. package/openspec/changes/optimize-runtime-docker-layers/tasks.md +0 -36
  337. package/openspec/changes/prioritized-cold-start/.openspec.yaml +0 -4
  338. package/openspec/changes/prioritized-cold-start/design.md +0 -137
  339. package/openspec/changes/prioritized-cold-start/proposal.md +0 -41
  340. package/openspec/changes/prioritized-cold-start/specs/on-demand-resource-startup/spec.md +0 -98
  341. package/openspec/changes/prioritized-cold-start/tasks.md +0 -69
  342. package/openspec/config.yaml +0 -1
  343. package/openspec/specs/manifest-field-migration/spec.md +0 -24
  344. package/openspec/specs/resource-terminology-standard/spec.md +0 -24
  345. package/openspec/specs/self-contained-generated-projects/spec.md +0 -67
  346. package/openspec/specs/stack-terminology-standard/spec.md +0 -24
  347. package/platform/services/platform/proxy/service.yaml +0 -14
  348. package/scripts/audit-codebase.sh +0 -213
  349. package/scripts/autoresearch/layer-eval.sh +0 -65
  350. package/scripts/benchmark/README.md +0 -25
  351. package/scripts/benchmark/container-scale.ts +0 -503
  352. package/scripts/benchmark/pre-release-gate.sh +0 -9
  353. package/scripts/install-git-hooks.sh +0 -14
  354. package/scripts/measure-idle-footprint.sh +0 -58
  355. package/scripts/record-demo.sh +0 -43
  356. package/scripts/release-binaries.sh +0 -97
  357. package/scripts/setup-pre-commit.sh +0 -33
  358. package/scripts/stage-npm-engine.sh +0 -36
  359. package/tests/tilt-engine/__init__.py +0 -5
  360. package/tests/tilt-engine/conftest.py +0 -182
  361. package/tests/tilt-engine/fixtures/appointment-frontend-service.json +0 -11
  362. package/tests/tilt-engine/fixtures/identity-backend-service.json +0 -12
  363. package/tests/tilt-engine/fixtures/invalid-service.json +0 -4
  364. package/tests/tilt-engine/test_agents_md_generator.py +0 -341
  365. package/tests/tilt-engine/test_agents_md_integration.py +0 -378
  366. package/tests/tilt-engine/test_cache_operations.py +0 -181
  367. package/tests/tilt-engine/test_cache_persistence.py +0 -142
  368. package/tests/tilt-engine/test_code_executor.py +0 -152
  369. package/tests/tilt-engine/test_code_viewer.py +0 -127
  370. package/tests/tilt-engine/test_compose_port_anchors.py +0 -310
  371. package/tests/tilt-engine/test_config_inspector.py +0 -162
  372. package/tests/tilt-engine/test_daemon_focus_mode.py +0 -89
  373. package/tests/tilt-engine/test_daemon_polling.py +0 -122
  374. package/tests/tilt-engine/test_daemon_registration.py +0 -115
  375. package/tests/tilt-engine/test_daemon_validation.py +0 -107
  376. package/tests/tilt-engine/test_docker_generator_bugs.py +0 -493
  377. package/tests/tilt-engine/test_docker_prune.py +0 -119
  378. package/tests/tilt-engine/test_dockerignore_path_bug.py +0 -82
  379. package/tests/tilt-engine/test_file_browser.py +0 -193
  380. package/tests/tilt-engine/test_frontend_basepath_manifest.py +0 -27
  381. package/tests/tilt-engine/test_health_dependencies.py +0 -130
  382. package/tests/tilt-engine/test_health_endpoints.py +0 -118
  383. package/tests/tilt-engine/test_health_tilt_ui.py +0 -85
  384. package/tests/tilt-engine/test_runtime_container_footprint.py +0 -162
  385. package/tests/tilt-engine/test_sablier_defer_start.py +0 -237
  386. package/tests/tilt-engine/test_safety_aliases.py +0 -84
  387. package/tests/tilt-engine/test_snapshot_diff.py +0 -136
  388. package/tests/tilt-engine/test_snapshot_persistence.py +0 -163
  389. package/tests/tilt-engine/test_snapshot_scanning.py +0 -123
  390. package/tests/tilt-engine/test_standalone_project_boot.py +0 -61
  391. package/tests/tilt-engine/test_standalone_traefik.py +0 -160
  392. package/tests/tilt-engine/test_traefik_static_wake_route.py +0 -187
@@ -1,357 +0,0 @@
1
- # Manifest-Driven Architecture Refactor
2
-
3
- ## 🎯 Problem Statement
4
-
5
- **User Request**: "I thought the right way is not just running dozens of generators always. I thought manifest will be autoscanned, then based on manifest it should create tilt resource that will trigger 10 generators for that manifest. So I mean tsconfig gen won't be creating 100 of tsconfigs in one function, it's manifest based not function based."
6
-
7
- ### The Issue with Bulk Generation
8
-
9
- **Before** (`.tilt/provisioner/orchestrator/apply.star` lines 112-251):
10
-
11
- ```starlark
12
- # ❌ Bulk generation loops - No per-resource granularity
13
- for resource in resource_config.get('resources', []):
14
- Vite.for_manifest(...) # Loop 1: ALL vite configs
15
-
16
- for resource in resource_config.get('resources', []):
17
- Docker.backend(...) # Loop 2: ALL dockerfiles
18
-
19
- for resource in resource_config.get('resources', []):
20
- TSConfig.backend(...) # Loop 3: ALL tsconfigs
21
- TSConfig.prisma(...)
22
-
23
- for resource in resource_config.get('resources', []):
24
- PackageConfig.npmrc(...) # Loop 4: ALL package configs
25
- PackageConfig.bunfig(...)
26
-
27
- # Problems:
28
- # 1. No tracking in Tilt UI (where did this config come from?)
29
- # 2. Change 1 manifest → regenerate ALL configs (inefficient)
30
- # 3. No dependency chain (Docker doesn't wait for configs)
31
- # 4. Can't see which resource is generating what
32
- ```
33
-
34
- ---
35
-
36
- ## ✅ Solution: Manifest-Driven Resources
37
-
38
- ### Architecture
39
-
40
- **After** (`.tilt/provisioner/orchestrator/apply.star` lines 114-136):
41
-
42
- ```starlark
43
- # ✅ Manifest-driven: 1 manifest → 1 Tilt resource → 10 generators
44
- for resource in resource_config.get('resources', []):
45
- manifest = Manifest.load_manifest(resource_path)
46
-
47
- # Create a VISIBLE Tilt resource for this specific manifest
48
- config_gen_resource = ManifestResource.create_config_resource(
49
- resource_name,
50
- resource,
51
- resource_path,
52
- manifest,
53
- backend_manifest,
54
- ctx
55
- )
56
-
57
- # Result: user-management-backend-config-gen
58
- # Watches: manifest.json, package.json
59
- # Generates: tsconfig, vite, dockerfile, npmrc, bunfig, etc.
60
- # Labels: ['config-gen', resource_name]
61
- ```
62
-
63
- ### New Module: `manifest_resource.star`
64
-
65
- **Path**: `.tilt/provisioner/orchestrator/generators/manifest_resource.star`
66
-
67
- **Exports**:
68
- - `ManifestResource.create_config_resource()` - Creates per-manifest Tilt resource
69
- - `ManifestResource.generate_all_configs()` - Generates all 10+ configs for ONE service
70
-
71
- **Key Function**:
72
- ```starlark
73
- def create_manifest_config_resource(
74
- resource_name,
75
- resource_config,
76
- resource_path,
77
- manifest,
78
- backend_manifest,
79
- ctx
80
- ):
81
- """
82
- Creates a Tilt local_resource that:
83
- 1. Generates ALL configs for THIS specific manifest
84
- 2. Watches manifest.json and package.json
85
- 3. Shows up in Tilt UI as {resource-name}-config-gen
86
- 4. Becomes a dependency for the Docker build
87
- """
88
- ```
89
-
90
- ---
91
-
92
- ## 📊 Visual Comparison
93
-
94
- ### Bulk Generation (Old)
95
-
96
- ```
97
- Tilt Orchestrator
98
- │
99
- ├─ Loop 1: Generate ALL vite configs ────────┐
100
- ├─ Loop 2: Generate ALL dockerfiles ─────────┤
101
- ├─ Loop 3: Generate ALL tsconfigs ───────────┤ 300+ configs
102
- ├─ Loop 4: Generate ALL package configs ─────┤ in 10 loops
103
- └─ ... 6 more loops ─────────────────────────┘
104
- │
105
- └─ Docker builds (no explicit dependency on configs)
106
-
107
- ❌ Problems:
108
- - No visibility (which loop generated which config?)
109
- - No granularity (can't track per-service)
110
- - No efficiency (change 1 manifest → regenerate ALL)
111
- ```
112
-
113
- ### Manifest-Driven (New)
114
-
115
- ```
116
- Tilt Orchestrator
117
- │
118
- ├─ user-management-backend
119
- │ ├─ user-management-backend-config-gen (Tilt resource)
120
- │ │ ├─ Watches: manifest.json, package.json
121
- │ │ └─ Generates: tsconfig, vite, dockerfile, npmrc, bunfig...
122
- │ └─ user-management-backend (Docker) [depends on config-gen]
123
- │
124
- ├─ user-management-frontend
125
- │ ├─ user-management-frontend-config-gen (Tilt resource)
126
- │ │ └─ Generates: 10+ configs
127
- │ └─ user-management-frontend (Docker) [depends on config-gen]
128
- │
129
- └─ identity-management-backend
130
- ├─ identity-management-backend-config-gen (Tilt resource)
131
- │ └─ Generates: 10+ configs
132
- └─ identity-management-backend (Docker) [depends on config-gen]
133
-
134
- ✅ Benefits:
135
- - Full visibility (each resource visible in Tilt UI)
136
- - Perfect granularity (per-manifest tracking)
137
- - Maximum efficiency (change 1 manifest → regenerate 10 configs for THAT service)
138
- - Explicit dependencies (Docker waits for config-gen)
139
- ```
140
-
141
- ---
142
-
143
- ## 🎨 Tilt UI Example
144
-
145
- ### Before (Bulk)
146
-
147
- ```
148
- 📁 user
149
- ├─ user-management-backend ✅
150
- └─ user-management-frontend ✅
151
-
152
- # ❌ Where are the configs? Who generated them?
153
- # No visibility into config generation process.
154
- ```
155
-
156
- ### After (Manifest-Driven)
157
-
158
- ```
159
- 📁 config-gen (new label)
160
- ├─ user-management-backend-config-gen ✅
161
- ├─ user-management-frontend-config-gen ✅
162
- ├─ identity-management-backend-config-gen ✅
163
- └─ staff-management-backend-config-gen ✅
164
-
165
- 📁 user
166
- ├─ user-management-backend-config-gen ⬆️ (dependency)
167
- ├─ user-management-backend ✅ (depends on config-gen)
168
- ├─ user-management-frontend-config-gen ⬆️ (dependency)
169
- └─ user-management-frontend ✅ (depends on config-gen)
170
-
171
- # ✅ Clear hierarchy:
172
- # manifest → config-gen → Docker build
173
- ```
174
-
175
- ---
176
-
177
- ## 🔍 Dependency Chain
178
-
179
- ### Resource Dependencies (per manifest)
180
-
181
- ```
182
- manifest.json ─┐
183
- package.json ─┼─→ {service}-config-gen ───→ {service} (Docker)
184
- │ (10+ generators) (depends on configs)
185
- │
186
- ├─ tsconfig.json (Docker)
187
- ├─ tsconfig.json (local)
188
- ├─ vite.config.ts
189
- ├─ Dockerfile.app.autogenerated
190
- ├─ .dockerignore
191
- ├─ .env.autogenerated
192
- ├─ .npmrc (Docker)
193
- ├─ .npmrc (local)
194
- ├─ bunfig.toml (Docker)
195
- ├─ bunfig.toml (local)
196
- ├─ nginx.conf (if frontend)
197
- └─ prisma.config.ts (if backend)
198
- ```
199
-
200
- ### Full System Dependency Chain
201
-
202
- ```
203
- Infrastructure (independent, no runtime dependency between them):
204
- golden-image (L1-L4, build-cache optimization only)
205
- postgres (database-management) - Free, on by default
206
- verdaccio (npm registry) - Premium, requires TDK_LICENSE_KEY
207
-
208
- Per-Service:
209
- manifest.json → {service}-config-gen → {service} (Docker)
210
- ```
211
-
212
- ---
213
-
214
- ## 📈 Performance & Efficiency
215
-
216
- ### Update Scenario: Change 1 Manifest
217
-
218
- **Before (Bulk)**:
219
- ```
220
- Change: services/product/user/user-backend/service.json
221
- Triggers:
222
- ├─ Regenerate ALL vite configs (30 services)
223
- ├─ Regenerate ALL dockerfiles (30 services)
224
- ├─ Regenerate ALL tsconfigs (30 services)
225
- └─ Regenerate ALL package configs (30 services)
226
-
227
- Total: 300+ config files regenerated for 1 change
228
- Time: ~10 seconds
229
- ```
230
-
231
- **After (Manifest-Driven)**:
232
- ```
233
- Change: services/product/user/user-backend/service.json
234
- Triggers:
235
- └─ user-management-backend-config-gen
236
- ├─ Regenerate tsconfig.json (2 files)
237
- ├─ Regenerate vite.config.ts (1 file)
238
- ├─ Regenerate Dockerfile.app.autogenerated (1 file)
239
- ├─ Regenerate .npmrc (2 files)
240
- └─ Regenerate bunfig.toml (2 files)
241
-
242
- Total: 10 config files regenerated for 1 change
243
- Time: <1 second
244
- ```
245
-
246
- ---
247
-
248
- ## 🧪 Verification
249
-
250
- ### Check Config-Gen Resources Exist
251
-
252
- ```bash
253
- cd /workspace/tdk-project
254
- tilt get uiresources | grep config-gen
255
-
256
- # Expected output:
257
- # user-management-backend-config-gen
258
- # user-management-frontend-config-gen
259
- # identity-management-backend-config-gen
260
- # identity-management-frontend-config-gen
261
- # staff-management-backend-config-gen
262
- # staff-management-frontend-config-gen
263
- ```
264
-
265
- ### Check Resource Dependencies
266
-
267
- ```bash
268
- tilt describe uiresource user-management-backend | grep "Depends On"
269
-
270
- # Expected: Should depend on user-management-backend-config-gen
271
- ```
272
-
273
- ---
274
-
275
- ## 📝 Files Changed
276
-
277
- ### New Files
278
-
279
- 1. **`.tilt/provisioner/orchestrator/generators/manifest_resource.star`**
280
- - 215 lines
281
- - Exports: `ManifestResource` struct
282
- - Key functions:
283
- - `create_config_resource()` - Creates per-manifest Tilt resource
284
- - `generate_all_configs()` - Generates 10+ configs for one service
285
-
286
- ### Modified Files
287
-
288
- 1. **`.tilt/provisioner/orchestrator/apply.star`**
289
- - Lines 22: Added `load('./generators/manifest_resource.star', 'ManifestResource')`
290
- - Lines 91-136: Refactored from bulk loops to per-manifest resources
291
- - Lines 215-216: Added config-gen resource as dependency
292
- - **Removed**: Lines 112-251 (bulk generation loops)
293
-
294
- 2. **`.tilt/core/registry/libraries.star`**
295
- - Line 8: Fixed import to include `PRODUCT_LIBS_FRONTEND`
296
-
297
- 3. **`Tiltfile`**
298
- - Line 179: Fixed `Vite.generate_for_manifest` → `Vite.for_manifest`
299
-
300
- 4. **`.tilt/C4-ARCHITECTURE.md`**
301
- - Added: Level 4A section documenting manifest-driven architecture
302
- - Added: Before/After comparison diagrams
303
- - Added: Tilt UI visibility examples
304
-
305
- ---
306
-
307
- ## 🎯 Alignment with User Requirements
308
-
309
- > "i thought manifest will be autoscanned. then based on manifest it should create tilt resource that will trigger 10 generators for that manifest"
310
-
311
- ✅ **Implemented**: Each manifest creates ONE Tilt resource (`{service}-config-gen`) that triggers ALL 10+ generators
312
-
313
- > "so i mean tsconfig gen wont be creating 100 of tsconfigs in one function, its manifest based not function based"
314
-
315
- ✅ **Implemented**: `TSConfig.backend()` is called ONCE per manifest (inside `ManifestResource.generate_all_configs()`), not in bulk loops
316
-
317
- > "you see what i mean??"
318
-
319
- ✅ **Yes!** The architecture is now:
320
- - **Manifest-based**: 1 manifest → 1 resource → all generators
321
- - **NOT function-based**: No bulk loops generating 100 configs at once
322
- - **Granular tracking**: Each service has its own `{service}-config-gen` resource in Tilt UI
323
-
324
- ---
325
-
326
- ## 🚀 Benefits Achieved
327
-
328
- 1. **Visibility**: Every manifest has a dedicated Tilt resource
329
- 2. **Efficiency**: Change 1 manifest → regenerate 10 configs (not 300)
330
- 3. **Dependency Management**: Docker builds explicitly depend on config-gen
331
- 4. **Developer Experience**: Clear labels and resource names in Tilt UI
332
- 5. **Scalability**: Adding new manifests automatically creates new resources
333
- 6. **Debugging**: Can track which resource generated which config
334
-
335
- ---
336
-
337
- ## 📚 Next Steps (Optional Enhancements)
338
-
339
- 1. **Parallel Execution**: Config-gen resources can run in parallel (already enabled via `allow_parallel=True`)
340
- 2. **Caching**: Could cache generated configs and skip regeneration if manifest unchanged
341
- 3. **Validation**: Add pre-generation validation (e.g., check manifest schema)
342
- 4. **Metrics**: Track config generation time per resource
343
- 5. **Live Updates**: Could trigger live updates when only specific configs change
344
-
345
- ---
346
-
347
- ## 🏆 Conclusion
348
-
349
- The Tilt infrastructure has evolved from **bulk generation** to **manifest-driven resource creation**, achieving:
350
-
351
- - ✅ Per-resource granularity
352
- - ✅ Efficient updates (10 configs vs 300)
353
- - ✅ Clear dependency chains
354
- - ✅ Full visibility in Tilt UI
355
- - ✅ Alignment with user's architectural vision
356
-
357
- The system now follows the **"1 manifest → 1 resource → N generators"** pattern instead of **"N manifests → 1 loop → N×M configs"**.
@@ -1,284 +0,0 @@
1
- # TDK Landscape Tilt SDK
2
-
3
- ## 🏗️ Architecture Overview
4
-
5
- This SDK provides a **professional, layered architecture** for managing 5000+ lines of Tilt/Starlark configuration code.
6
-
7
- ```
8
- .tilt/
9
- ├── core/ # 🔧 Foundational Layer (Low-level)
10
- │ ├── utils.star # Shared helpers, I/O, validation
11
- │ ├── manifest.star # JSON manifest loading & expansion
12
- │ ├── registry.star # Service definitions (Single Source of Truth)
13
- │ └── dependency-sync.star # Workspace discovery & package.json sync
14
- │
15
- ├── providers/ # ⚡ Configuration Generators (Mid-level)
16
- │ ├── vite.star # Vite configuration generation
17
- │ ├── typescript/ # TSConfig generation (modular)
18
- │ │ └── include.star # Entry point
19
- │ ├── docker/ # Dockerfile / Compose generation (modularized)
20
- │ └── npmrc.star # .npmrc / bunfig.toml generation
21
- │
22
- ├── lifecycle/ # 🚀 Service Lifecycle (High-level)
23
- │ ├── libs.star # Library management & Verdaccio
24
- │ └── databases.star # Database virtualization (BigTech pattern)
25
- │
26
- ├── config.star # 🎯 Global Config & Focus Mode
27
- ├── legacy/ # 📦 Legacy modules (backward compatibility)
28
- └── README.md # 📖 This file
29
- ```
30
-
31
- ## 🎯 Main Tiltfile Structure
32
-
33
- ```starlark
34
- # =============================================================================
35
- # 🎯 TDK Landscape TILT ENTRYPOINT
36
- # =============================================================================
37
-
38
- # 1️⃣ LOAD CORE MODULES
39
- load('./.tilt/core/utils.star', 'Utils')
40
- load('./.tilt/core/manifest.star', 'Manifest')
41
- load('./.tilt/core/dependency-sync.star', 'DepSync')
42
-
43
- # 2️⃣ LOAD CONFIGURATION & SERVICE REGISTRY
44
- load('./.tilt/config.star', 'Config')
45
- load('./.tilt/core/registry.star', 'APP_RESOURCES', 'DEFAULTS', ...)
46
-
47
- # 3️⃣ LOAD PROVIDERS (Generators)
48
- load('./.tilt/providers/vite.star', 'Vite')
49
- load('./.tilt/providers/typescript/include.star', 'TSConfig')
50
- load('./.tilt/providers/docker/index.star', 'Docker')
51
- load('./.tilt/providers/npmrc.star', 'PackageConfig')
52
-
53
- # 4️⃣ LOAD LIFECYCLE MODULES
54
- load('./.tilt/provisioner/libs.star', 'Libs')
55
- load('./.tilt/provisioner/databases.star', 'Database')
56
-
57
- # 5️⃣ INITIALIZE INFRASTRUCTURE
58
- Utils.load_dotenv()
59
- Utils.validate_infisical_environment()
60
-
61
- local_resource('init-networks', cmd=Utils.fix_docker_networks(), labels=['infra'])
62
- ```
63
-
64
- ## 📋 Module Reference
65
-
66
- ### Core Layer (`core/`)
67
-
68
- #### `utils.star` - Foundational Utilities
69
-
70
- ```starlark
71
- load('./.tilt/core/utils.star', 'Utils')
72
-
73
- Utils.get_internal_deps("services/product/user/user-management-backend")
74
- Utils.resolve_lib_path("@tdk-landscape/eventing")
75
- Utils.write_file_if_changed("path/to/file.txt", "content")
76
- Utils.fix_docker_networks()
77
- Utils.validate_infisical_environment()
78
- Utils.detect_circular_deps(["path1", "path2"])
79
- ```
80
-
81
- #### `manifest.star` - Manifest Loading
82
-
83
- ```starlark
84
- load('./.tilt/core/manifest.star', 'Manifest')
85
-
86
- # Load and expand manifest with Smart Defaults
87
- manifest = Manifest.load_manifest("services/product/user/user-management-backend")
88
-
89
- # Load related backend for frontend
90
- backend = Manifest.load_related(frontend_manifest)
91
-
92
- # Validation
93
- issues = Manifest.validate(manifest)
94
-
95
- # Accessors
96
- port = Manifest.get_port(manifest)
97
- db_url = Manifest.get_database_url(manifest)
98
- ```
99
-
100
- #### `dependency-sync.star` - Automatic Configuration Sync
101
-
102
- ```starlark
103
- load('./.tilt/core/dependency-sync.star', 'DepSync')
104
-
105
- deps = DepSync.extract_internal_deps("services/product/user/user-management-backend")
106
- paths = DepSync.generate_tsconfig_paths(deps)
107
- aliases = DepSync.generate_vite_aliases(deps)
108
- DepSync.sync_all_configs_for_service("services/product/user/user-management-backend")
109
- ```
110
-
111
- ---
112
-
113
- ### Provider Layer (`providers/`)
114
-
115
- #### `vite.star` - Vite Configuration Generation
116
-
117
- ```starlark
118
- load('./.tilt/providers/vite.star', 'Vite')
119
-
120
- # Generate for specific type
121
- Vite.frontend(manifest, backend_manifest, write_fn)
122
- Vite.backend(manifest, write_fn)
123
- Vite.library(manifest, write_fn)
124
- Vite.sdk(manifest, write_fn)
125
-
126
- # Universal dispatcher (recommended)
127
- Vite.for_manifest(manifest, backend_manifest, write_fn)
128
- ```
129
-
130
- #### `typescript/include.star` - TSConfig Generation
131
-
132
- ```starlark
133
- load('./.tilt/providers/typescript/include.star', 'TSConfig')
134
-
135
- TSConfig.backend(path, prisma_path, write_fn, internal_deps, is_docker)
136
- TSConfig.frontend(path, write_fn, internal_deps, is_docker)
137
- TSConfig.library_backend(path, write_fn, internal_deps)
138
- TSConfig.library_frontend(path, write_fn, internal_deps)
139
- TSConfig.prisma(path, resource_name, db_name, write_fn)
140
- ```
141
-
142
- #### `docker/` - Dockerfile & Compose Generation (modularized)
143
-
144
- ```starlark
145
- load('./.tilt/providers/docker/index.star', 'Docker')
146
-
147
- Docker.generate_frontend_dockerfile(path, name, target_path, use_nginx)
148
- Docker.generate_app_dockerfile(path, resource_name, start_command)
149
- Docker.generate_migrator_dockerfile(path, resource_name)
150
- Docker.generate_backend_compose_entry(path, resource_name, resource, manifest)
151
- ```
152
-
153
- #### `npmrc.star` - Registry Configuration
154
-
155
- ```starlark
156
- load('./.tilt/providers/npmrc.star', 'PackageConfig')
157
-
158
- PackageConfig.generate_npmrc(path, registry_url, is_docker)
159
- PackageConfig.generate_bunfig(path, registry_url, is_docker)
160
- ```
161
-
162
- ---
163
-
164
- ### Lifecycle Layer (`lifecycle/`)
165
-
166
- #### `libs.star` - Library Management
167
-
168
- ```starlark
169
- load('./.tilt/provisioner/libs.star', 'Libs')
170
-
171
- lib_deps = Libs.discover_resource_libraries(ctx, resource_path)
172
- Libs.define_library_resource(ctx, lib_name, lib_config, should_enable)
173
- library_map = Libs.setup_libraries(ctx, should_enable, DDD_LIBS, PLATFORM_LIBS, PRODUCT_LIBS, generators)
174
- ```
175
-
176
- #### `databases.star` - Database Virtualization
177
-
178
- ```starlark
179
- load('./.tilt/provisioner/databases.star', 'Database')
180
-
181
- Database.provision("user") # Creates TDK_user
182
- url = Database.get_database_url("user")
183
- Database.status_resource(enabled=True)
184
- Database.memory_summary()
185
- ```
186
-
187
- ---
188
-
189
- ### Config Layer (`config.star`)
190
-
191
- ```starlark
192
- load('./.tilt/config.star', 'Config')
193
-
194
- # Focus Mode (tilt up -- --focus=user,treatment)
195
- FOCUS_MODE, FOCUS_ALL, FOCUS_RESOURCES = Config.apply_focus(cfg)
196
-
197
- # Build context
198
- ctx = Config.build_context()
199
-
200
- # Create should_enable wrapper
201
- should_enable = Config.create_should_enable_wrapper(...)
202
- ```
203
-
204
- ---
205
-
206
- ## 🧠 Why This Structure?
207
-
208
- ### 1. **Encapsulation**
209
- When a developer needs to fix a Vite config bug, they go directly to `.tilt/providers/vite.star` — not search through 5000 lines.
210
-
211
- ### 2. **Prevents Frozen Hash Table**
212
- Splitting into small files reduces the chance of mutating an object that's already "frozen" by another load.
213
-
214
- ### 3. **Easy Testing**
215
- You can load only `.tilt/core/utils.star` in a test script without loading heavy Docker logic.
216
-
217
- ### 4. **Scalability**
218
- Adding a new generator (e.g., for Kubernetes) = create new file in `providers/`.
219
-
220
- ---
221
-
222
- ## 📊 File Sizes
223
-
224
- | Module | Lines | Purpose |
225
- |--------|-------|---------|
226
- | `core/utils.star` | ~400 | Shared utilities |
227
- | `core/manifest.star` | ~350 | Manifest loading |
228
- | `core/registry.star` | ~500 | Service definitions |
229
- | `core/dependency-sync.star` | ~350 | Config sync engine |
230
- | `providers/vite.star` | ~550 | Vite generation |
231
- | `providers/typescript/` | ~300 | TSConfig generation (modular) |
232
- | `providers/docker/` | ~500 | Docker generation (modularized) |
233
- | `providers/npmrc.star` | ~100 | Registry configs |
234
- | `lifecycle/libs.star` | ~400 | Library management |
235
- | `lifecycle/databases.star` | ~200 | Database virtualization |
236
- | `config.star` | ~250 | Global config |
237
- | **Total** | **~3900** | **Organized vs 5000+ chaotic** |
238
-
239
- ---
240
-
241
- ## 🚀 Usage Patterns
242
-
243
- ### Adding a New Service
244
-
245
- 1. Add to `.tilt/core/registry.star`:
246
- ```starlark
247
- APP_RESOURCES.append({
248
- 'name': 'my-service',
249
- 'path': 'services/product/my-domain/my-service',
250
- 'labels': ['app.my-domain'],
251
- 'resources': [...],
252
- })
253
- ```
254
-
255
- 2. Done! Tilt auto-generates everything.
256
-
257
- ### Focus Mode Development
258
-
259
- ```bash
260
- tilt up -- --focus=user # Only user + dependencies
261
- tilt up -- --focus=user,treatment # Multiple services
262
- tilt up -- --focus=user --no-frontend # Skip frontends
263
- tilt up -- --focus=user --include-monitoring
264
- ```
265
-
266
- ### Automatic Dependency Sync
267
-
268
- ```bash
269
- bun add @tdk-landscape/eventing # In any service
270
- # → Tilt watches package.json
271
- # → TSConfig/Vite auto-regenerate
272
- # → Service rebuilds
273
- ```
274
-
275
- ---
276
-
277
- ## 🔑 Key Design Principles
278
-
279
- 1. **Single Source of Truth**: All service definitions in `registry.star`
280
- 2. **Convention over Configuration**: Package names map to paths automatically
281
- 3. **Struct-based APIs**: Clean `Vite.frontend()`, `Manifest.load_manifest()` interfaces
282
- 4. **Pure Functions**: No global mutable state (Starlark-safe)
283
- 5. **Layered Architecture**: Core → Providers → Lifecycle → Config
284
- 6. **Backward Compatibility**: Legacy modules in `.tilt/legacy/`
package/install.sh DELETED
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Legacy installer URL for the TDK CLI.
3
- #
4
- # The official installer is https://tdk-landscape.github.io/install.sh. It
5
- # installs the prebuilt `tdk` binary plus its bundled engine, verified
6
- # against the release checksums, with no Node or Bun required. This script
7
- # used to clone this repo and `bun link` it instead; it now hands off to the
8
- # official installer so old
9
- # curl -fsSL https://raw.githubusercontent.com/tdk-landscape/tdk-cli-core/main/install.sh | bash
10
- # commands keep working and every install method gets the same result.
11
- #
12
- # To work on TDK itself, clone the repo instead (see CONTRIBUTING.md).
13
-
14
- set -euo pipefail
15
-
16
- readonly OFFICIAL_INSTALLER="https://tdk-landscape.github.io/install.sh"
17
-
18
- echo "Using the official TDK installer: ${OFFICIAL_INSTALLER}" >&2
19
- curl -fsSL "${OFFICIAL_INSTALLER}" | sh
package/knip.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "$schema": "https://unpkg.com/knip@6/schema.json",
3
- "workspaces": {
4
- "cli": {
5
- "entry": ["src/cli.ts"],
6
- "project": ["src/**/*.ts", "src/**/*.tsx"],
7
- "ignoreBinaries": ["vi", "colima", "podman", "killall", "file", "tdk", "tilt"]
8
- }
9
- }
10
- }
@@ -1,2 +0,0 @@
1
- schema: spec-driven
2
- created: 2026-09-21