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

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 (388) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/cli/dist/generator/extension-fetch.js +16 -9
  3. package/cli/package.json +1 -1
  4. package/package.json +16 -1
  5. package/.claude/skills/layer-autoresearch/SKILL.md +0 -48
  6. package/.claude/skills/tdk-troubleshoot/SKILL.md +0 -222
  7. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -40
  8. package/.github/ISSUE_TEMPLATE/config.yml +0 -11
  9. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -18
  10. package/.github/ISSUE_TEMPLATE/premium_license.yml +0 -43
  11. package/.github/dependabot.yml +0 -33
  12. package/.github/pull_request_template.md +0 -5
  13. package/.github/workflows/ci.yml +0 -200
  14. package/.github/workflows/release-binaries.yml +0 -139
  15. package/.github/zizmor.yml +0 -9
  16. package/.pre-commit-config.yaml +0 -57
  17. package/CODE_OF_CONDUCT.md +0 -9
  18. package/CONTRIBUTING.md +0 -42
  19. package/Makefile +0 -92
  20. package/SECURITY.md +0 -17
  21. package/benchmarks/results/container-scale-2026-09-25T20-54-49-736Z.json +0 -45
  22. package/benchmarks/results/container-scale-2026-09-25T21-01-20-540Z.json +0 -150
  23. package/benchmarks/results/container-scale-2026-09-25T21-15-01-441Z.json +0 -73
  24. package/benchmarks/results/container-scale-2026-09-25T22-09-01-630Z.json +0 -77
  25. package/benchmarks/results/container-scale-2026-09-25T22-18-28-371Z.json +0 -202
  26. package/cli/AGENTS.md +0 -390
  27. package/cli/DESIGN.md +0 -735
  28. package/cli/README.md +0 -292
  29. package/cli/biome.json +0 -40
  30. package/cli/dependency-graph.svg +0 -1135
  31. package/cli/dist/cli.d.ts +0 -3
  32. package/cli/dist/cli.d.ts.map +0 -1
  33. package/cli/dist/cli.js.map +0 -1
  34. package/cli/dist/commands/completion.d.ts +0 -3
  35. package/cli/dist/commands/completion.d.ts.map +0 -1
  36. package/cli/dist/commands/completion.js.map +0 -1
  37. package/cli/dist/commands/config.d.ts +0 -3
  38. package/cli/dist/commands/config.d.ts.map +0 -1
  39. package/cli/dist/commands/config.js.map +0 -1
  40. package/cli/dist/commands/doctor.d.ts +0 -19
  41. package/cli/dist/commands/doctor.d.ts.map +0 -1
  42. package/cli/dist/commands/doctor.js.map +0 -1
  43. package/cli/dist/commands/down.d.ts +0 -3
  44. package/cli/dist/commands/down.d.ts.map +0 -1
  45. package/cli/dist/commands/down.js.map +0 -1
  46. package/cli/dist/commands/help.d.ts +0 -2
  47. package/cli/dist/commands/help.d.ts.map +0 -1
  48. package/cli/dist/commands/help.js.map +0 -1
  49. package/cli/dist/commands/networks.d.ts +0 -3
  50. package/cli/dist/commands/networks.d.ts.map +0 -1
  51. package/cli/dist/commands/networks.js.map +0 -1
  52. package/cli/dist/commands/project.d.ts +0 -9
  53. package/cli/dist/commands/project.d.ts.map +0 -1
  54. package/cli/dist/commands/project.js.map +0 -1
  55. package/cli/dist/commands/projects.d.ts +0 -3
  56. package/cli/dist/commands/projects.d.ts.map +0 -1
  57. package/cli/dist/commands/projects.js.map +0 -1
  58. package/cli/dist/commands/resource.d.ts +0 -69
  59. package/cli/dist/commands/resource.d.ts.map +0 -1
  60. package/cli/dist/commands/resource.js.map +0 -1
  61. package/cli/dist/commands/resources.d.ts +0 -3
  62. package/cli/dist/commands/resources.d.ts.map +0 -1
  63. package/cli/dist/commands/resources.js.map +0 -1
  64. package/cli/dist/commands/stack.d.ts +0 -3
  65. package/cli/dist/commands/stack.d.ts.map +0 -1
  66. package/cli/dist/commands/stack.js.map +0 -1
  67. package/cli/dist/commands/stacks.d.ts +0 -3
  68. package/cli/dist/commands/stacks.d.ts.map +0 -1
  69. package/cli/dist/commands/stacks.js.map +0 -1
  70. package/cli/dist/commands/status.d.ts +0 -3
  71. package/cli/dist/commands/status.d.ts.map +0 -1
  72. package/cli/dist/commands/status.js.map +0 -1
  73. package/cli/dist/commands/ui.d.ts +0 -3
  74. package/cli/dist/commands/ui.d.ts.map +0 -1
  75. package/cli/dist/commands/ui.js.map +0 -1
  76. package/cli/dist/commands/up.d.ts +0 -3
  77. package/cli/dist/commands/up.d.ts.map +0 -1
  78. package/cli/dist/commands/up.js.map +0 -1
  79. package/cli/dist/commands/upgrade.d.ts +0 -14
  80. package/cli/dist/commands/upgrade.d.ts.map +0 -1
  81. package/cli/dist/commands/upgrade.js.map +0 -1
  82. package/cli/dist/commands/version.d.ts +0 -3
  83. package/cli/dist/commands/version.d.ts.map +0 -1
  84. package/cli/dist/commands/version.js.map +0 -1
  85. package/cli/dist/components/Accessible.d.ts +0 -8
  86. package/cli/dist/components/Accessible.d.ts.map +0 -1
  87. package/cli/dist/components/Accessible.js.map +0 -1
  88. package/cli/dist/components/BaseTooltip.d.ts +0 -4
  89. package/cli/dist/components/BaseTooltip.d.ts.map +0 -1
  90. package/cli/dist/components/BaseTooltip.js.map +0 -1
  91. package/cli/dist/components/DetailPanel.d.ts +0 -4
  92. package/cli/dist/components/DetailPanel.d.ts.map +0 -1
  93. package/cli/dist/components/DetailPanel.js.map +0 -1
  94. package/cli/dist/components/FileTree.d.ts +0 -4
  95. package/cli/dist/components/FileTree.d.ts.map +0 -1
  96. package/cli/dist/components/FileTree.js.map +0 -1
  97. package/cli/dist/components/ResourceSelectInput.d.ts +0 -4
  98. package/cli/dist/components/ResourceSelectInput.d.ts.map +0 -1
  99. package/cli/dist/components/ResourceSelectInput.js.map +0 -1
  100. package/cli/dist/components/ResourceTable.d.ts +0 -4
  101. package/cli/dist/components/ResourceTable.d.ts.map +0 -1
  102. package/cli/dist/components/ResourceTable.js.map +0 -1
  103. package/cli/dist/components/TabBar.d.ts +0 -4
  104. package/cli/dist/components/TabBar.d.ts.map +0 -1
  105. package/cli/dist/components/TabBar.js.map +0 -1
  106. package/cli/dist/components/Tooltip.d.ts +0 -12
  107. package/cli/dist/components/Tooltip.d.ts.map +0 -1
  108. package/cli/dist/components/Tooltip.js.map +0 -1
  109. package/cli/dist/components/index.d.ts +0 -8
  110. package/cli/dist/components/index.d.ts.map +0 -1
  111. package/cli/dist/components/index.js.map +0 -1
  112. package/cli/dist/config/platform-standards.d.ts +0 -159
  113. package/cli/dist/config/platform-standards.d.ts.map +0 -1
  114. package/cli/dist/config/platform-standards.js.map +0 -1
  115. package/cli/dist/generator/extension-fetch.d.ts +0 -25
  116. package/cli/dist/generator/extension-fetch.d.ts.map +0 -1
  117. package/cli/dist/generator/extension-fetch.js.map +0 -1
  118. package/cli/dist/generator/template-engine.d.ts +0 -62
  119. package/cli/dist/generator/template-engine.d.ts.map +0 -1
  120. package/cli/dist/generator/template-engine.js.map +0 -1
  121. package/cli/dist/index.d.ts +0 -11
  122. package/cli/dist/index.d.ts.map +0 -1
  123. package/cli/dist/index.js.map +0 -1
  124. package/cli/dist/types/index.d.ts +0 -257
  125. package/cli/dist/types/index.d.ts.map +0 -1
  126. package/cli/dist/types/index.js.map +0 -1
  127. package/cli/dist/utils/cache.d.ts +0 -19
  128. package/cli/dist/utils/cache.d.ts.map +0 -1
  129. package/cli/dist/utils/cache.js.map +0 -1
  130. package/cli/dist/utils/command-helpers.d.ts +0 -17
  131. package/cli/dist/utils/command-helpers.d.ts.map +0 -1
  132. package/cli/dist/utils/command-helpers.js.map +0 -1
  133. package/cli/dist/utils/constants.d.ts +0 -53
  134. package/cli/dist/utils/constants.d.ts.map +0 -1
  135. package/cli/dist/utils/constants.js.map +0 -1
  136. package/cli/dist/utils/discovery-context.d.ts +0 -4
  137. package/cli/dist/utils/discovery-context.d.ts.map +0 -1
  138. package/cli/dist/utils/discovery-context.js.map +0 -1
  139. package/cli/dist/utils/docker.d.ts +0 -4
  140. package/cli/dist/utils/docker.d.ts.map +0 -1
  141. package/cli/dist/utils/docker.js.map +0 -1
  142. package/cli/dist/utils/doctor-runtime.d.ts +0 -81
  143. package/cli/dist/utils/doctor-runtime.d.ts.map +0 -1
  144. package/cli/dist/utils/doctor-runtime.js.map +0 -1
  145. package/cli/dist/utils/env-validator.d.ts +0 -15
  146. package/cli/dist/utils/env-validator.d.ts.map +0 -1
  147. package/cli/dist/utils/env-validator.js.map +0 -1
  148. package/cli/dist/utils/errors.d.ts +0 -31
  149. package/cli/dist/utils/errors.d.ts.map +0 -1
  150. package/cli/dist/utils/errors.js.map +0 -1
  151. package/cli/dist/utils/file-helpers.d.ts +0 -14
  152. package/cli/dist/utils/file-helpers.d.ts.map +0 -1
  153. package/cli/dist/utils/file-helpers.js.map +0 -1
  154. package/cli/dist/utils/formatting.d.ts +0 -30
  155. package/cli/dist/utils/formatting.d.ts.map +0 -1
  156. package/cli/dist/utils/formatting.js.map +0 -1
  157. package/cli/dist/utils/paths.d.ts +0 -3
  158. package/cli/dist/utils/paths.d.ts.map +0 -1
  159. package/cli/dist/utils/paths.js.map +0 -1
  160. package/cli/dist/utils/port-assignment.d.ts +0 -6
  161. package/cli/dist/utils/port-assignment.d.ts.map +0 -1
  162. package/cli/dist/utils/port-assignment.js.map +0 -1
  163. package/cli/dist/utils/project-features.d.ts +0 -23
  164. package/cli/dist/utils/project-features.d.ts.map +0 -1
  165. package/cli/dist/utils/project-features.js.map +0 -1
  166. package/cli/dist/utils/project-templates.d.ts +0 -7
  167. package/cli/dist/utils/project-templates.d.ts.map +0 -1
  168. package/cli/dist/utils/project-templates.js.map +0 -1
  169. package/cli/dist/utils/prompt.d.ts +0 -28
  170. package/cli/dist/utils/prompt.d.ts.map +0 -1
  171. package/cli/dist/utils/prompt.js.map +0 -1
  172. package/cli/dist/utils/resource-features.d.ts +0 -29
  173. package/cli/dist/utils/resource-features.d.ts.map +0 -1
  174. package/cli/dist/utils/resource-features.js.map +0 -1
  175. package/cli/dist/utils/service-urls.d.ts +0 -30
  176. package/cli/dist/utils/service-urls.d.ts.map +0 -1
  177. package/cli/dist/utils/service-urls.js.map +0 -1
  178. package/cli/dist/utils/services.d.ts +0 -18
  179. package/cli/dist/utils/services.d.ts.map +0 -1
  180. package/cli/dist/utils/services.js.map +0 -1
  181. package/cli/dist/utils/stack-features.d.ts +0 -22
  182. package/cli/dist/utils/stack-features.d.ts.map +0 -1
  183. package/cli/dist/utils/stack-features.js.map +0 -1
  184. package/cli/dist/utils/tar.d.ts +0 -7
  185. package/cli/dist/utils/tar.d.ts.map +0 -1
  186. package/cli/dist/utils/tar.js.map +0 -1
  187. package/cli/dist/utils/tilt.d.ts +0 -20
  188. package/cli/dist/utils/tilt.d.ts.map +0 -1
  189. package/cli/dist/utils/tilt.js.map +0 -1
  190. package/cli/dist/utils/validation.d.ts +0 -16
  191. package/cli/dist/utils/validation.d.ts.map +0 -1
  192. package/cli/dist/utils/validation.js.map +0 -1
  193. package/cli/knip.json +0 -6
  194. package/cli/pnpm-lock.yaml +0 -2305
  195. package/cli/pnpm-workspace.yaml +0 -2
  196. package/cli/src/cli.ts +0 -72
  197. package/cli/src/commands/__tests__/always-enabled-infra.test.ts +0 -109
  198. package/cli/src/commands/__tests__/config.test.ts +0 -146
  199. package/cli/src/commands/__tests__/doctor.test.ts +0 -730
  200. package/cli/src/commands/__tests__/error-handling.test.ts +0 -78
  201. package/cli/src/commands/__tests__/phases-model.test.ts +0 -161
  202. package/cli/src/commands/__tests__/project-resource-features-e2e.test.ts +0 -187
  203. package/cli/src/commands/__tests__/project.test.ts +0 -68
  204. package/cli/src/commands/__tests__/resource.test.ts +0 -226
  205. package/cli/src/commands/__tests__/saas-starter-integration.test.ts +0 -194
  206. package/cli/src/commands/__tests__/stack-features-e2e.test.ts +0 -135
  207. package/cli/src/commands/__tests__/upgrade.test.ts +0 -198
  208. package/cli/src/commands/completion.ts +0 -300
  209. package/cli/src/commands/config.ts +0 -299
  210. package/cli/src/commands/doctor.ts +0 -926
  211. package/cli/src/commands/down.ts +0 -37
  212. package/cli/src/commands/help.ts +0 -143
  213. package/cli/src/commands/networks-design.md +0 -80
  214. package/cli/src/commands/networks.ts +0 -332
  215. package/cli/src/commands/project.ts +0 -456
  216. package/cli/src/commands/projects.ts +0 -82
  217. package/cli/src/commands/resource.ts +0 -652
  218. package/cli/src/commands/resources.ts +0 -95
  219. package/cli/src/commands/stack.ts +0 -128
  220. package/cli/src/commands/stacks.ts +0 -52
  221. package/cli/src/commands/status.ts +0 -88
  222. package/cli/src/commands/ui.tsx +0 -843
  223. package/cli/src/commands/up.ts +0 -169
  224. package/cli/src/commands/upgrade.ts +0 -628
  225. package/cli/src/commands/version.ts +0 -9
  226. package/cli/src/components/Accessible.tsx +0 -21
  227. package/cli/src/components/BaseTooltip.tsx +0 -66
  228. package/cli/src/components/DetailPanel.tsx +0 -146
  229. package/cli/src/components/FileTree.tsx +0 -89
  230. package/cli/src/components/ResourceSelectInput.tsx +0 -30
  231. package/cli/src/components/ResourceTable.tsx +0 -78
  232. package/cli/src/components/TabBar.tsx +0 -53
  233. package/cli/src/components/Tooltip.tsx +0 -11
  234. package/cli/src/components/index.ts +0 -7
  235. package/cli/src/config/platform-standards.test.ts +0 -11
  236. package/cli/src/config/platform-standards.ts +0 -196
  237. package/cli/src/generator/__tests__/extension-fetch.test.ts +0 -242
  238. package/cli/src/generator/__tests__/template-engine.test.ts +0 -70
  239. package/cli/src/generator/extension-fetch.ts +0 -286
  240. package/cli/src/generator/template-engine.ts +0 -752
  241. package/cli/src/index.ts +0 -86
  242. package/cli/src/templates.d.ts +0 -4
  243. package/cli/src/types/index.ts +0 -353
  244. package/cli/src/utils/__tests__/cache.test.ts +0 -98
  245. package/cli/src/utils/__tests__/formatting.test.ts +0 -170
  246. package/cli/src/utils/__tests__/paths.test.ts +0 -180
  247. package/cli/src/utils/__tests__/port-assignment.test.ts +0 -121
  248. package/cli/src/utils/__tests__/service-urls.test.ts +0 -174
  249. package/cli/src/utils/__tests__/services.test.ts +0 -531
  250. package/cli/src/utils/__tests__/tilt.test.ts +0 -172
  251. package/cli/src/utils/__tests__/validation.test.ts +0 -148
  252. package/cli/src/utils/cache.ts +0 -76
  253. package/cli/src/utils/command-helpers.ts +0 -54
  254. package/cli/src/utils/constants.ts +0 -130
  255. package/cli/src/utils/discovery-context.ts +0 -49
  256. package/cli/src/utils/docker.ts +0 -20
  257. package/cli/src/utils/doctor-runtime.ts +0 -644
  258. package/cli/src/utils/env-validator.ts +0 -139
  259. package/cli/src/utils/errors.ts +0 -168
  260. package/cli/src/utils/file-helpers.ts +0 -62
  261. package/cli/src/utils/formatting.ts +0 -215
  262. package/cli/src/utils/paths.ts +0 -53
  263. package/cli/src/utils/port-assignment.ts +0 -106
  264. package/cli/src/utils/project-features.ts +0 -118
  265. package/cli/src/utils/project-templates.ts +0 -29
  266. package/cli/src/utils/prompt.ts +0 -128
  267. package/cli/src/utils/resource-features.ts +0 -215
  268. package/cli/src/utils/service-urls.ts +0 -124
  269. package/cli/src/utils/services.ts +0 -364
  270. package/cli/src/utils/stack-features.ts +0 -30
  271. package/cli/src/utils/tar.ts +0 -24
  272. package/cli/src/utils/tilt.ts +0 -133
  273. package/cli/src/utils/validation.ts +0 -67
  274. package/cli/tsconfig.json +0 -25
  275. package/cli/tsconfig.typecheck.json +0 -8
  276. package/docs/FEATURES.md +0 -281
  277. package/docs/demo.svg +0 -217
  278. package/engine/docs/AUTODISCOVERY_TEST.md +0 -182
  279. package/engine/docs/C4-ARCHITECTURE-operations.md +0 -396
  280. package/engine/docs/C4-ARCHITECTURE-overview.md +0 -284
  281. package/engine/docs/C4-ARCHITECTURE.md +0 -17
  282. package/engine/docs/GOLDEN_IMAGE_INTEGRATION.md +0 -349
  283. package/engine/docs/MANIFEST_DRIVEN_ARCHITECTURE.md +0 -357
  284. package/engine/docs/README.md +0 -284
  285. package/install.sh +0 -19
  286. package/knip.json +0 -10
  287. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/.openspec.yaml +0 -2
  288. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/design.md +0 -102
  289. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/proposal.md +0 -31
  290. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-notifications/spec.md +0 -48
  291. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-orchestration/spec.md +0 -63
  292. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-troubleshooting/spec.md +0 -56
  293. package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/tasks.md +0 -61
  294. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/.openspec.yaml +0 -2
  295. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/design.md +0 -114
  296. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/proposal.md +0 -32
  297. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/manifest-field-migration/spec.md +0 -20
  298. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/resource-terminology-standard/spec.md +0 -20
  299. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/stack-terminology-standard/spec.md +0 -20
  300. package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/tasks.md +0 -194
  301. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/.openspec.yaml +0 -2
  302. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/design.md +0 -111
  303. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/proposal.md +0 -33
  304. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/function-naming-alignment/spec.md +0 -12
  305. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/optional-parameter-patterns/spec.md +0 -18
  306. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-documentation/spec.md +0 -16
  307. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-naming-consistency/spec.md +0 -12
  308. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-ordering-standard/spec.md +0 -12
  309. package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/tasks.md +0 -194
  310. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/.openspec.yaml +0 -2
  311. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/design.md +0 -84
  312. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/proposal.md +0 -31
  313. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/codebase-audit/spec.md +0 -27
  314. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/dead-code-cleanup/spec.md +0 -27
  315. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/test-gap-fill/spec.md +0 -23
  316. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/todo-resolution/spec.md +0 -27
  317. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/tasks.md +0 -39
  318. package/openspec/changes/archive/2026-06-25-landscape-consolidation/.openspec.yaml +0 -2
  319. package/openspec/changes/archive/2026-06-25-landscape-consolidation/design.md +0 -80
  320. package/openspec/changes/archive/2026-06-25-landscape-consolidation/proposal.md +0 -40
  321. package/openspec/changes/archive/2026-06-25-landscape-consolidation/spec.md +0 -52
  322. package/openspec/changes/archive/2026-06-25-landscape-consolidation/tasks.md +0 -51
  323. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/.openspec.yaml +0 -2
  324. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/design.md +0 -43
  325. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/proposal.md +0 -29
  326. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/specs/self-contained-generated-projects/spec.md +0 -67
  327. package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/tasks.md +0 -27
  328. package/openspec/changes/optimize-runtime-docker-layers/.openspec.yaml +0 -3
  329. package/openspec/changes/optimize-runtime-docker-layers/design.md +0 -81
  330. package/openspec/changes/optimize-runtime-docker-layers/proposal.md +0 -44
  331. package/openspec/changes/optimize-runtime-docker-layers/specs/runtime-container-footprint/spec.md +0 -79
  332. package/openspec/changes/optimize-runtime-docker-layers/tasks.md +0 -36
  333. package/openspec/changes/prioritized-cold-start/.openspec.yaml +0 -4
  334. package/openspec/changes/prioritized-cold-start/design.md +0 -137
  335. package/openspec/changes/prioritized-cold-start/proposal.md +0 -41
  336. package/openspec/changes/prioritized-cold-start/specs/on-demand-resource-startup/spec.md +0 -98
  337. package/openspec/changes/prioritized-cold-start/tasks.md +0 -69
  338. package/openspec/config.yaml +0 -1
  339. package/openspec/specs/manifest-field-migration/spec.md +0 -24
  340. package/openspec/specs/resource-terminology-standard/spec.md +0 -24
  341. package/openspec/specs/self-contained-generated-projects/spec.md +0 -67
  342. package/openspec/specs/stack-terminology-standard/spec.md +0 -24
  343. package/platform/services/platform/proxy/service.yaml +0 -14
  344. package/scripts/audit-codebase.sh +0 -213
  345. package/scripts/autoresearch/layer-eval.sh +0 -65
  346. package/scripts/benchmark/README.md +0 -25
  347. package/scripts/benchmark/container-scale.ts +0 -503
  348. package/scripts/benchmark/pre-release-gate.sh +0 -9
  349. package/scripts/install-git-hooks.sh +0 -14
  350. package/scripts/measure-idle-footprint.sh +0 -58
  351. package/scripts/record-demo.sh +0 -43
  352. package/scripts/release-binaries.sh +0 -97
  353. package/scripts/setup-pre-commit.sh +0 -33
  354. package/scripts/stage-npm-engine.sh +0 -36
  355. package/tests/tilt-engine/__init__.py +0 -5
  356. package/tests/tilt-engine/conftest.py +0 -182
  357. package/tests/tilt-engine/fixtures/appointment-frontend-service.json +0 -11
  358. package/tests/tilt-engine/fixtures/identity-backend-service.json +0 -12
  359. package/tests/tilt-engine/fixtures/invalid-service.json +0 -4
  360. package/tests/tilt-engine/test_agents_md_generator.py +0 -341
  361. package/tests/tilt-engine/test_agents_md_integration.py +0 -378
  362. package/tests/tilt-engine/test_cache_operations.py +0 -181
  363. package/tests/tilt-engine/test_cache_persistence.py +0 -142
  364. package/tests/tilt-engine/test_code_executor.py +0 -152
  365. package/tests/tilt-engine/test_code_viewer.py +0 -127
  366. package/tests/tilt-engine/test_compose_port_anchors.py +0 -310
  367. package/tests/tilt-engine/test_config_inspector.py +0 -162
  368. package/tests/tilt-engine/test_daemon_focus_mode.py +0 -89
  369. package/tests/tilt-engine/test_daemon_polling.py +0 -122
  370. package/tests/tilt-engine/test_daemon_registration.py +0 -115
  371. package/tests/tilt-engine/test_daemon_validation.py +0 -107
  372. package/tests/tilt-engine/test_docker_generator_bugs.py +0 -493
  373. package/tests/tilt-engine/test_docker_prune.py +0 -119
  374. package/tests/tilt-engine/test_dockerignore_path_bug.py +0 -82
  375. package/tests/tilt-engine/test_file_browser.py +0 -193
  376. package/tests/tilt-engine/test_frontend_basepath_manifest.py +0 -27
  377. package/tests/tilt-engine/test_health_dependencies.py +0 -130
  378. package/tests/tilt-engine/test_health_endpoints.py +0 -118
  379. package/tests/tilt-engine/test_health_tilt_ui.py +0 -85
  380. package/tests/tilt-engine/test_runtime_container_footprint.py +0 -162
  381. package/tests/tilt-engine/test_sablier_defer_start.py +0 -237
  382. package/tests/tilt-engine/test_safety_aliases.py +0 -84
  383. package/tests/tilt-engine/test_snapshot_diff.py +0 -136
  384. package/tests/tilt-engine/test_snapshot_persistence.py +0 -163
  385. package/tests/tilt-engine/test_snapshot_scanning.py +0 -123
  386. package/tests/tilt-engine/test_standalone_project_boot.py +0 -61
  387. package/tests/tilt-engine/test_standalone_traefik.py +0 -160
  388. 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