@flisk-sh/flisk 0.0.0-stage → 1.3.190

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 (440) hide show
  1. package/CHANGELOG.md +492 -0
  2. package/LICENSE +21 -0
  3. package/README.md +479 -2
  4. package/Tiltfile +151 -0
  5. package/cli/bin/flisk.js +42 -0
  6. package/cli/dist/agent-runtimes/custom.js +335 -0
  7. package/cli/dist/agent-runtimes/registry.js +34 -0
  8. package/cli/dist/backend-frameworks/elysia.js +38 -0
  9. package/cli/dist/backend-frameworks/express.js +49 -0
  10. package/cli/dist/backend-frameworks/fastify.js +43 -0
  11. package/cli/dist/backend-frameworks/h3.js +37 -0
  12. package/cli/dist/backend-frameworks/koa.js +47 -0
  13. package/cli/dist/backend-frameworks/mcp.js +86 -0
  14. package/cli/dist/backend-frameworks/nestjs.js +55 -0
  15. package/cli/dist/backend-frameworks/registry.js +134 -0
  16. package/cli/dist/backend-frameworks/types.js +1 -0
  17. package/cli/dist/backend-languages/bun.js +76 -0
  18. package/cli/dist/backend-languages/go.js +125 -0
  19. package/cli/dist/backend-languages/node.js +122 -0
  20. package/cli/dist/backend-languages/python.js +94 -0
  21. package/cli/dist/backend-languages/registry.js +37 -0
  22. package/cli/dist/backend-languages/rust.js +82 -0
  23. package/cli/dist/backend-languages/types.js +1 -0
  24. package/cli/dist/cli.js +29 -0
  25. package/cli/dist/commands/__tests__/project-e2e-helpers.js +49 -0
  26. package/cli/dist/commands/__tests__/ui-loading-screen.test.js +16 -0
  27. package/cli/dist/commands/agent.js +182 -0
  28. package/cli/dist/commands/completion-candidates.js +116 -0
  29. package/cli/dist/commands/completion.js +843 -0
  30. package/cli/dist/commands/config.js +362 -0
  31. package/cli/dist/commands/doctor.js +1504 -0
  32. package/cli/dist/commands/down.js +114 -0
  33. package/cli/dist/commands/eject.js +108 -0
  34. package/cli/dist/commands/help.js +152 -0
  35. package/cli/dist/commands/import.js +164 -0
  36. package/cli/dist/commands/logs.js +119 -0
  37. package/cli/dist/commands/maintainers.js +102 -0
  38. package/cli/dist/commands/mcp.js +28 -0
  39. package/cli/dist/commands/networks.js +306 -0
  40. package/cli/dist/commands/project.js +447 -0
  41. package/cli/dist/commands/projects.js +103 -0
  42. package/cli/dist/commands/registry.js +53 -0
  43. package/cli/dist/commands/resource.js +992 -0
  44. package/cli/dist/commands/resources.js +127 -0
  45. package/cli/dist/commands/restart.js +89 -0
  46. package/cli/dist/commands/runtime.js +75 -0
  47. package/cli/dist/commands/stack.js +171 -0
  48. package/cli/dist/commands/stacks.js +71 -0
  49. package/cli/dist/commands/status.js +211 -0
  50. package/cli/dist/commands/ui.js +725 -0
  51. package/cli/dist/commands/up.js +609 -0
  52. package/cli/dist/commands/upgrade.js +840 -0
  53. package/cli/dist/commands/version.js +10 -0
  54. package/cli/dist/components/Accessible.js +11 -0
  55. package/cli/dist/components/BaseTooltip.js +30 -0
  56. package/cli/dist/components/DetailPanel.js +33 -0
  57. package/cli/dist/components/FileTree.js +51 -0
  58. package/cli/dist/components/ResourceSelectInput.js +42 -0
  59. package/cli/dist/components/ResourceTable.js +35 -0
  60. package/cli/dist/components/ServiceIssues.js +13 -0
  61. package/cli/dist/components/TUIHeader.js +27 -0
  62. package/cli/dist/components/TabBar.js +27 -0
  63. package/cli/dist/components/Tooltip.js +13 -0
  64. package/cli/dist/components/index.js +11 -0
  65. package/cli/dist/components/ui-theme.js +120 -0
  66. package/cli/dist/config/platform-standards.js +182 -0
  67. package/cli/dist/frontend-frameworks/lit.js +64 -0
  68. package/cli/dist/frontend-frameworks/preact.js +62 -0
  69. package/cli/dist/frontend-frameworks/qwik.js +61 -0
  70. package/cli/dist/frontend-frameworks/react.js +69 -0
  71. package/cli/dist/frontend-frameworks/registry.js +83 -0
  72. package/cli/dist/frontend-frameworks/solid.js +62 -0
  73. package/cli/dist/frontend-frameworks/svelte.js +67 -0
  74. package/cli/dist/frontend-frameworks/tanstack-router.js +101 -0
  75. package/cli/dist/frontend-frameworks/types.js +1 -0
  76. package/cli/dist/frontend-frameworks/vanilla.js +59 -0
  77. package/cli/dist/frontend-frameworks/vue.js +72 -0
  78. package/cli/dist/generator/__tests__/golden-helpers.js +43 -0
  79. package/cli/dist/generator/extension-fetch.js +291 -0
  80. package/cli/dist/generator/resource-templates.js +133 -0
  81. package/cli/dist/generator/template-engine.js +801 -0
  82. package/cli/dist/index.js +10 -0
  83. package/cli/dist/mcp/server.js +101 -0
  84. package/cli/dist/mcp/tools.js +351 -0
  85. package/cli/dist/program.js +37 -0
  86. package/cli/dist/types/index.js +38 -0
  87. package/cli/dist/utils/agent-host.js +36 -0
  88. package/cli/dist/utils/atomic-write.js +36 -0
  89. package/cli/dist/utils/bun-floor.js +9 -0
  90. package/cli/dist/utils/bun-requirement.js +10 -0
  91. package/cli/dist/utils/cache.js +63 -0
  92. package/cli/dist/utils/cold-preflight.js +257 -0
  93. package/cli/dist/utils/command-helpers.js +57 -0
  94. package/cli/dist/utils/constants.js +160 -0
  95. package/cli/dist/utils/discovery-context.js +71 -0
  96. package/cli/dist/utils/discovery-paths.js +93 -0
  97. package/cli/dist/utils/docker.js +34 -0
  98. package/cli/dist/utils/doctor-crashloop.js +161 -0
  99. package/cli/dist/utils/doctor-fix.js +391 -0
  100. package/cli/dist/utils/doctor-host.js +66 -0
  101. package/cli/dist/utils/doctor-report.js +78 -0
  102. package/cli/dist/utils/doctor-runtime.js +880 -0
  103. package/cli/dist/utils/doctor-starlark.js +132 -0
  104. package/cli/dist/utils/doctor-wiring.js +698 -0
  105. package/cli/dist/utils/down-cleanup.js +125 -0
  106. package/cli/dist/utils/env-validator.js +266 -0
  107. package/cli/dist/utils/errors.js +175 -0
  108. package/cli/dist/utils/exec-async.js +31 -0
  109. package/cli/dist/utils/file-helpers.js +104 -0
  110. package/cli/dist/utils/formatting.js +165 -0
  111. package/cli/dist/utils/generated-paths.js +51 -0
  112. package/cli/dist/utils/help-command.js +11 -0
  113. package/cli/dist/utils/host-port-config.js +140 -0
  114. package/cli/dist/utils/host-port-plan.js +100 -0
  115. package/cli/dist/utils/json-output.js +29 -0
  116. package/cli/dist/utils/machine-output.js +33 -0
  117. package/cli/dist/utils/paths.js +43 -0
  118. package/cli/dist/utils/platform.js +58 -0
  119. package/cli/dist/utils/port-assignment.js +75 -0
  120. package/cli/dist/utils/port-conflict-fix.js +25 -0
  121. package/cli/dist/utils/port-fallback-notice.js +17 -0
  122. package/cli/dist/utils/port-listener-probe.js +20 -0
  123. package/cli/dist/utils/project-config-defaults.js +17 -0
  124. package/cli/dist/utils/project-features.js +91 -0
  125. package/cli/dist/utils/project-templates.js +32 -0
  126. package/cli/dist/utils/prompt.js +97 -0
  127. package/cli/dist/utils/resource-features.js +184 -0
  128. package/cli/dist/utils/resource-kind.js +9 -0
  129. package/cli/dist/utils/schema-version-gate.js +45 -0
  130. package/cli/dist/utils/search-status.js +12 -0
  131. package/cli/dist/utils/secret-redaction.js +73 -0
  132. package/cli/dist/utils/service-config-checks.js +189 -0
  133. package/cli/dist/utils/service-manifest.js +254 -0
  134. package/cli/dist/utils/service-runtime-state.js +66 -0
  135. package/cli/dist/utils/service-urls.js +112 -0
  136. package/cli/dist/utils/services.js +360 -0
  137. package/cli/dist/utils/shared-infra.js +45 -0
  138. package/cli/dist/utils/shared-platform-postgres.js +232 -0
  139. package/cli/dist/utils/single-flight.js +21 -0
  140. package/cli/dist/utils/smoke.js +401 -0
  141. package/cli/dist/utils/spinner.js +40 -0
  142. package/cli/dist/utils/stack-features.js +15 -0
  143. package/cli/dist/utils/stack-status.js +14 -0
  144. package/cli/dist/utils/startup-report.js +78 -0
  145. package/cli/dist/utils/status-message.js +21 -0
  146. package/cli/dist/utils/status-ports.js +33 -0
  147. package/cli/dist/utils/suggestions.js +63 -0
  148. package/cli/dist/utils/tar.js +46 -0
  149. package/cli/dist/utils/tdk-version.js +51 -0
  150. package/cli/dist/utils/terminal-layout.js +19 -0
  151. package/cli/dist/utils/tilt-events.js +194 -0
  152. package/cli/dist/utils/tilt-logs.js +61 -0
  153. package/cli/dist/utils/tilt-port-owner.js +63 -0
  154. package/cli/dist/utils/tilt-process.js +54 -0
  155. package/cli/dist/utils/tilt-resource-state.js +32 -0
  156. package/cli/dist/utils/tilt-startup.js +49 -0
  157. package/cli/dist/utils/tilt-unreachable-message.js +9 -0
  158. package/cli/dist/utils/tilt.js +104 -0
  159. package/cli/dist/utils/ui-keymap.js +129 -0
  160. package/cli/dist/utils/ui-service-state.js +34 -0
  161. package/cli/dist/utils/up-only.js +28 -0
  162. package/cli/dist/utils/up-readiness.js +118 -0
  163. package/cli/dist/utils/url-actions.js +103 -0
  164. package/cli/dist/utils/validation.js +62 -0
  165. package/cli/dist/utils/which.js +56 -0
  166. package/cli/dist/utils/windows-doctor.js +176 -0
  167. package/cli/dist-bundle/chunk-6EA4DGCY.js +2 -0
  168. package/cli/dist-bundle/chunk-BZ4H7MM4.js +3 -0
  169. package/cli/dist-bundle/chunk-CLCUIDBH.js +510 -0
  170. package/cli/dist-bundle/cli.js +2017 -0
  171. package/cli/dist-bundle/cold-preflight-SY26O2IG.js +2 -0
  172. package/cli/dist-bundle/devtools-ZUHXW33W.js +5 -0
  173. package/cli/dist-bundle/extension-fetch-J4FFH7TJ.js +2 -0
  174. package/cli/package.json +83 -0
  175. package/cli/shared-platform-engineering/docker-templates/bun-hoisted-symlink-fix.sh +25 -0
  176. package/cli/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +466 -0
  177. package/cli/shared-platform-engineering/docker-templates/install-deps.sh +154 -0
  178. package/cli/shared-platform-engineering/docker-templates/prisma-bun-client-link-fix.sh +14 -0
  179. package/cli/shared-platform-engineering/docker-templates/prisma-normalize-client.sh +58 -0
  180. package/cli/templates/.tiltignore.hbs +72 -0
  181. package/cli/templates/TILT_RESOURCE_DEFAULTS.star.hbs +220 -0
  182. package/cli/templates/TILT_TECH_STACK.star.hbs +149 -0
  183. package/cli/templates/Tiltfile.hbs +381 -0
  184. package/cli/templates/spec.master.hbs +192 -0
  185. package/discovery/AGENTS.md +362 -0
  186. package/discovery/TILT_DISCOVERY.star +429 -0
  187. package/discovery/Tiltfile +58 -0
  188. package/discovery/config.star +265 -0
  189. package/discovery/constants.star +167 -0
  190. package/discovery/deterministic.star +213 -0
  191. package/discovery/discovery_daemon.star +193 -0
  192. package/discovery/discovery_orchestrator.star +492 -0
  193. package/discovery/filtering.star +7 -0
  194. package/discovery/identity-management-backend/service.yaml +26 -0
  195. package/discovery/identity-management-frontend/service.yaml +29 -0
  196. package/discovery/identity-sdk/service.yaml +9 -0
  197. package/discovery/incremental_discovery.star +215 -0
  198. package/discovery/indexing.star +9 -0
  199. package/discovery/json_manifest_scanner.star +57 -0
  200. package/discovery/libraries.star +48 -0
  201. package/discovery/loading.star +25 -0
  202. package/discovery/manifest/constants.star +106 -0
  203. package/discovery/manifest/loading.star +418 -0
  204. package/discovery/manifest/normalize.star +289 -0
  205. package/discovery/manifest/validation.star +110 -0
  206. package/discovery/normalization.star +13 -0
  207. package/discovery/registry.star +562 -0
  208. package/discovery/resource_snapshot.py +384 -0
  209. package/discovery/resource_snapshot.star +145 -0
  210. package/discovery/schemas.star +3 -0
  211. package/discovery/services/platform/cdc/debezium/nats-connector/service.yaml +9 -0
  212. package/discovery/services/platform/cdc/nats-http-bridge/service.yaml +9 -0
  213. package/discovery/services/platform/orchestrator/orchestrator-glue-backend/service.yaml +26 -0
  214. package/discovery/services/platform/synthetic-monitor/service.yaml +9 -0
  215. package/discovery/test_resource_snapshot.py +253 -0
  216. package/discovery/validation.star +80 -0
  217. package/discovery/versioning.star +3 -0
  218. package/engine/AGENTS.md +706 -0
  219. package/engine/README.md +31 -0
  220. package/engine/REFACTORING_MANIFEST_SYSTEM.md +974 -0
  221. package/engine/Tiltfile +86 -0
  222. package/engine/assets/docker/golden-layers.Dockerfile +204 -0
  223. package/engine/assets/docker/wake-gateway/Dockerfile +28 -0
  224. package/engine/assets/docker/wake-gateway/decide.test.ts +177 -0
  225. package/engine/assets/docker/wake-gateway/decide.ts +135 -0
  226. package/engine/assets/docker/wake-gateway/server.ts +363 -0
  227. package/engine/assets/scripts/cleanup-completed-migrator-images.sh +39 -0
  228. package/engine/assets/scripts/cleanup-tilt-images.sh +122 -0
  229. package/engine/assets/scripts/mac-m1-resource-monitor.sh +123 -0
  230. package/engine/config.star +5 -0
  231. package/engine/entrypoint.star +101 -0
  232. package/engine/lifecycle/orchestrator.star +263 -0
  233. package/engine/paths.star +719 -0
  234. package/engine/schemas/project-schema.json +147 -0
  235. package/engine/schemas/service-schema.json +537 -0
  236. package/engine/scripts/README.md +89 -0
  237. package/engine/scripts/build-and-publish-lib.sh +207 -0
  238. package/engine/scripts/check-lib-publish.sh +87 -0
  239. package/engine/scripts/debug-container.sh +265 -0
  240. package/engine/scripts/generate-manifest.sh +200 -0
  241. package/engine/spec.master +702 -0
  242. package/engine/spec.master.example +341 -0
  243. package/engine/topologies/README.md +33 -0
  244. package/engine/topologies/platform/docker/AGENTS.md +59 -0
  245. package/engine/topologies/platform/docker/auth/auth.star +207 -0
  246. package/engine/topologies/platform/docker/build/frontend_build_plan.star +65 -0
  247. package/engine/topologies/platform/docker/build/golden_image.star +37 -0
  248. package/engine/topologies/platform/docker/build/golden_image_build.star +144 -0
  249. package/engine/topologies/platform/docker/build/golden_image_constants.star +100 -0
  250. package/engine/topologies/platform/docker/build/golden_image_dockerfile.star +263 -0
  251. package/engine/topologies/platform/docker/compose/compose.star +637 -0
  252. package/engine/topologies/platform/docker/compose/compose_helpers.star +54 -0
  253. package/engine/topologies/platform/docker/compose/traefik_standalone.star +171 -0
  254. package/engine/topologies/platform/docker/config/bunignore.star +144 -0
  255. package/engine/topologies/platform/docker/config/dockerignore.star +152 -0
  256. package/engine/topologies/platform/docker/config/healthcheck.star +58 -0
  257. package/engine/topologies/platform/docker/constants.star +211 -0
  258. package/engine/topologies/platform/docker/dockerfile/dockerfile.star +56 -0
  259. package/engine/topologies/platform/docker/dockerfile/language_dockerfile.star +264 -0
  260. package/engine/topologies/platform/docker/generators/golden_docker_generator_v2.star +76 -0
  261. package/engine/topologies/platform/docker/index.star +40 -0
  262. package/engine/topologies/platform/docker/layers/bun_helpers.star +25 -0
  263. package/engine/topologies/platform/docker/layers/infisical/index.star +42 -0
  264. package/engine/topologies/platform/docker/layers/infisical/infisical_docker.star +264 -0
  265. package/engine/topologies/platform/docker/layers/l1_base_layers.star +89 -0
  266. package/engine/topologies/platform/docker/layers/l2_dependency_layers.star +147 -0
  267. package/engine/topologies/platform/docker/layers/l3_builder_layers.star +229 -0
  268. package/engine/topologies/platform/docker/layers/l4_runtime_layers.star +282 -0
  269. package/engine/topologies/platform/docker/layers/prisma/constants.star +138 -0
  270. package/engine/topologies/platform/docker/layers/prisma/db_readiness.star +98 -0
  271. package/engine/topologies/platform/docker/layers/prisma/filesystem_setup.star +131 -0
  272. package/engine/topologies/platform/docker/layers/prisma/migrate_script.star +100 -0
  273. package/engine/topologies/platform/docker/layers/prisma/prisma_build.star +128 -0
  274. package/engine/topologies/platform/docker/layers/prisma/prisma_runtime.star +205 -0
  275. package/engine/topologies/platform/docker/layers/prisma/secret_resolution.star +121 -0
  276. package/engine/topologies/platform/docker/networking/api_path_constants.star +206 -0
  277. package/engine/topologies/platform/docker/networking/sablier_container_cycle.star +31 -0
  278. package/engine/topologies/platform/docker/networking/traefik.star +266 -0
  279. package/engine/topologies/platform/docker/networking/traefik_constants.star +148 -0
  280. package/engine/topologies/platform/docker/networking/traefik_helpers.star +162 -0
  281. package/engine/topologies/platform/docker/networking/traefik_static_routes.star +165 -0
  282. package/engine/topologies/platform/docker/secrets/env_secrets.star +74 -0
  283. package/engine/topologies/platform/docker/secrets/infisical.star +109 -0
  284. package/engine/topologies/platform/net/AGENTS.md +64 -0
  285. package/engine/topologies/platform/net/proxy.star +6 -0
  286. package/engine/topologies/platform/registries/local.star +6 -0
  287. package/engine/topologies/platform/registries/verdaccio_loader.star +20 -0
  288. package/engine/topologies/platform/security/AGENTS.md +49 -0
  289. package/engine/topologies/platform/security/secrets.star +241 -0
  290. package/engine/topologies/platform/state/AGENTS.md +64 -0
  291. package/engine/topologies/platform/state/relational.star +6 -0
  292. package/engine/topologies/tilt/common/AGENTS.md +59 -0
  293. package/engine/topologies/tilt/common/utils.star +409 -0
  294. package/engine/topologies/tilt/common/utils_debug.star +71 -0
  295. package/engine/topologies/tilt/common/utils_deterministic.star +170 -0
  296. package/engine/topologies/tilt/common/utils_docker_networks.star +54 -0
  297. package/engine/topologies/tilt/common/utils_env.star +92 -0
  298. package/engine/topologies/tilt/common/utils_output.star +99 -0
  299. package/engine/topologies/tilt/config/AGENTS.md +68 -0
  300. package/engine/topologies/tilt/config/defaults.star +5 -0
  301. package/engine/topologies/tilt/config/feature_flags.star +12 -0
  302. package/engine/topologies/tilt/config/global.star +57 -0
  303. package/engine/topologies/tilt/config/profiles.star +398 -0
  304. package/engine/topologies/tilt/generators/agents_md.star +64 -0
  305. package/engine/topologies/tilt/generators/api_gateway.star +147 -0
  306. package/engine/topologies/tilt/generators/index.star +126 -0
  307. package/engine/topologies/tilt/generators/infisical/README.md +424 -0
  308. package/engine/topologies/tilt/generators/infisical/examples.star +314 -0
  309. package/engine/topologies/tilt/generators/infisical/index.star +59 -0
  310. package/engine/topologies/tilt/generators/infisical/machine_identity.star +422 -0
  311. package/engine/topologies/tilt/generators/infisical/organization.star +536 -0
  312. package/engine/topologies/tilt/generators/infisical/path_manager.star +478 -0
  313. package/engine/topologies/tilt/generators/infisical/secrets_generator.star +422 -0
  314. package/engine/topologies/tilt/generators/nginx_conf.star +145 -0
  315. package/engine/topologies/tilt/generators/npmrc.star +132 -0
  316. package/engine/topologies/tilt/generators/tsconfig.star +25 -0
  317. package/engine/topologies/tilt/generators/typescript/backend_library_tsconfig.star +73 -0
  318. package/engine/topologies/tilt/generators/typescript/backend_tsconfig.star +137 -0
  319. package/engine/topologies/tilt/generators/typescript/common.star +9 -0
  320. package/engine/topologies/tilt/generators/typescript/frontend_library_tsconfig.star +78 -0
  321. package/engine/topologies/tilt/generators/typescript/frontend_tsconfig.star +140 -0
  322. package/engine/topologies/tilt/generators/typescript/include.star +25 -0
  323. package/engine/topologies/tilt/generators/typescript/playwright_config.star +42 -0
  324. package/engine/topologies/tilt/generators/typescript/prisma_config.star +51 -0
  325. package/engine/topologies/tilt/generators/validators.star +868 -0
  326. package/engine/topologies/tilt/generators/vite/backend.star +80 -0
  327. package/engine/topologies/tilt/generators/vite/frameworks/lit.star +92 -0
  328. package/engine/topologies/tilt/generators/vite/frameworks/preact.star +94 -0
  329. package/engine/topologies/tilt/generators/vite/frameworks/qwik.star +94 -0
  330. package/engine/topologies/tilt/generators/vite/frameworks/react.star +128 -0
  331. package/engine/topologies/tilt/generators/vite/frameworks/solid.star +94 -0
  332. package/engine/topologies/tilt/generators/vite/frameworks/svelte.star +94 -0
  333. package/engine/topologies/tilt/generators/vite/frameworks/vanilla.star +92 -0
  334. package/engine/topologies/tilt/generators/vite/frameworks/vue.star +94 -0
  335. package/engine/topologies/tilt/generators/vite/frontend.star +153 -0
  336. package/engine/topologies/tilt/generators/vite/generators.star +45 -0
  337. package/engine/topologies/tilt/generators/vite/helpers.star +256 -0
  338. package/engine/topologies/tilt/generators/vite/library.star +67 -0
  339. package/engine/topologies/tilt/generators/vite/sdk.star +75 -0
  340. package/engine/topologies/tilt/generators/vite/templates.star +460 -0
  341. package/engine/topologies/tilt/generators/vite_config.star +24 -0
  342. package/engine/topologies/tilt/manifest/AGENTS.md +61 -0
  343. package/engine/topologies/tilt/manifest/README.md +679 -0
  344. package/engine/topologies/tilt/manifest/__init__.star +220 -0
  345. package/engine/topologies/tilt/manifest/constants.star +262 -0
  346. package/engine/topologies/tilt/manifest/errors.star +268 -0
  347. package/engine/topologies/tilt/manifest/integration.star +348 -0
  348. package/engine/topologies/tilt/manifest/json_to_yaml.py +61 -0
  349. package/engine/topologies/tilt/manifest/loader.star +239 -0
  350. package/engine/topologies/tilt/manifest/mapper.star +229 -0
  351. package/engine/topologies/tilt/manifest/parser.star +490 -0
  352. package/engine/topologies/tilt/manifest/schema.star +502 -0
  353. package/engine/topologies/tilt/manifest/tests/test_integration.star +278 -0
  354. package/engine/topologies/tilt/manifest/tests/test_loader_parser.star +475 -0
  355. package/engine/topologies/tilt/manifest/tests/test_manifest.star +319 -0
  356. package/engine/topologies/tilt/manifest/tests/test_validator.star +472 -0
  357. package/engine/topologies/tilt/manifest/validator.star +744 -0
  358. package/engine/topologies/tilt/manifest/yaml_to_json.py +20 -0
  359. package/engine/topologies/tilt/resources/AGENTS.md +71 -0
  360. package/engine/topologies/tilt/resources/build_concurrency.star +56 -0
  361. package/engine/topologies/tilt/resources/conditions.star +5 -0
  362. package/engine/topologies/tilt/resources/databases.star +246 -0
  363. package/engine/topologies/tilt/resources/declaration.star +5 -0
  364. package/engine/topologies/tilt/resources/deps.star +5 -0
  365. package/engine/topologies/tilt/resources/infra-loader.star +504 -0
  366. package/engine/topologies/tilt/resources/libs.star +32 -0
  367. package/engine/topologies/tilt/resources/libs_discovery.star +104 -0
  368. package/engine/topologies/tilt/resources/libs_paths.star +81 -0
  369. package/engine/topologies/tilt/resources/libs_resource_definition.star +153 -0
  370. package/engine/topologies/tilt/resources/libs_setup.star +166 -0
  371. package/engine/topologies/tilt/resources/libs_tsconfig.star +39 -0
  372. package/engine/topologies/tilt/resources/orchestrator/apply.star +79 -0
  373. package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +864 -0
  374. package/engine/topologies/tilt/resources/orchestrator/apply_manifest_orchestration.star +90 -0
  375. package/engine/topologies/tilt/resources/orchestrator/apply_migrator_orchestration.star +150 -0
  376. package/engine/topologies/tilt/resources/orchestrator/apply_resource_validation.star +38 -0
  377. package/engine/topologies/tilt/resources/orchestrator/apply_runtime_flags.star +46 -0
  378. package/engine/topologies/tilt/resources/orchestrator/builders/typescript.star +193 -0
  379. package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/AGENTS.md +75 -0
  380. package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/index.star +23 -0
  381. package/engine/topologies/tilt/resources/orchestrator/generators/dependencies/resolver.star +136 -0
  382. package/engine/topologies/tilt/resources/orchestrator/generators/env.star +219 -0
  383. package/engine/topologies/tilt/resources/orchestrator/generators/frontend.star +172 -0
  384. package/engine/topologies/tilt/resources/orchestrator/generators/manifest_resource.star +577 -0
  385. package/engine/topologies/tilt/resources/orchestrator/helpers.star +35 -0
  386. package/engine/topologies/tilt/resources/orchestrator.star +56 -0
  387. package/engine/topologies/tilt/resources/ordering.star +5 -0
  388. package/engine/topologies/tilt/resources/shared-platform-postgres.star +30 -0
  389. package/engine/topologies/tilt/resources/triggers.star +5 -0
  390. package/engine/topologies/tilt/resources/watchers.star +304 -0
  391. package/engine/where-things-live.star +719 -0
  392. package/examples/tdk-example/LICENSE +21 -0
  393. package/examples/tdk-example/README.md +23 -0
  394. package/examples/tdk-example/TILT_SERVICE_DEFAULTS.star +42 -0
  395. package/examples/tdk-example/TILT_TECH_STACK.star +67 -0
  396. package/examples/tdk-example/Tiltfile +25 -0
  397. package/examples/tdk-example/services/platform/messaging/docker-compose.yml +26 -0
  398. package/examples/tdk-example/services/shop/orders-api/package.json +20 -0
  399. package/examples/tdk-example/services/shop/orders-api/service.json +14 -0
  400. package/examples/tdk-example/services/shop/orders-api/src/index.ts +81 -0
  401. package/examples/tdk-example/services/shop/orders-app/index.html +12 -0
  402. package/examples/tdk-example/services/shop/orders-app/package.json +23 -0
  403. package/examples/tdk-example/services/shop/orders-app/public/.gitkeep +0 -0
  404. package/examples/tdk-example/services/shop/orders-app/service.json +9 -0
  405. package/examples/tdk-example/services/shop/orders-app/src/main.tsx +9 -0
  406. package/examples/tdk-example/services/shop/orders-app/src/orders.tsx +67 -0
  407. package/examples/tdk-example/services/shop/orders-app/src/style.css +15 -0
  408. package/examples/tdk-example/services/shop/orders-worker/package.json +18 -0
  409. package/examples/tdk-example/services/shop/orders-worker/service.json +13 -0
  410. package/examples/tdk-example/services/shop/orders-worker/src/index.ts +33 -0
  411. package/ext/Tiltfile +66 -0
  412. package/ext/ide-components/README.md +221 -0
  413. package/ext/ide-components/code_viewer/server.py +208 -0
  414. package/ext/ide-components/config_inspector/server.py +1052 -0
  415. package/ext/ide-components/file_browser/server.py +287 -0
  416. package/ext/ide-components/shared/config_service.py +471 -0
  417. package/ext/ide-components/shared/file_utils.py +300 -0
  418. package/ext/ide-components/shared/http_utils.py +234 -0
  419. package/ext/ide-components/shared/static/styles.css +1334 -0
  420. package/ext/ide-components/shared/syntax_highlighter.py +142 -0
  421. package/ext/ide-components/shared/template_engine.py +125 -0
  422. package/ext/ide-components/shared/templates/base.html +121 -0
  423. package/ext/ide-components/shared/test_config_service.py +328 -0
  424. package/ext/ide-components/shared/tilt_integration.py +160 -0
  425. package/ext/ui-enhancements/cron-status-server.sh +51 -0
  426. package/ext/ui-enhancements/cron-status-tracker.sh +148 -0
  427. package/ext/ui-enhancements/extension.yaml +36 -0
  428. package/ext/ui-enhancements/tiltfile.py +101 -0
  429. package/ext/ui-enhancements/ui/cron-jobs-tab.css +396 -0
  430. package/ext/ui-enhancements/ui/help-panel.css +279 -0
  431. package/ext/ui-enhancements/ui/icons.css +125 -0
  432. package/ext/ui-enhancements/ui/tooltips.css +114 -0
  433. package/package.json +94 -4
  434. package/shared-platform-engineering/docker-templates/bun-hoisted-symlink-fix.sh +25 -0
  435. package/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +466 -0
  436. package/shared-platform-engineering/docker-templates/install-deps.sh +154 -0
  437. package/shared-platform-engineering/docker-templates/prisma-bun-client-link-fix.sh +14 -0
  438. package/shared-platform-engineering/docker-templates/prisma-normalize-client.sh +58 -0
  439. package/specs/specs/TILT_SERVICE_DEFAULTS.star +207 -0
  440. package/specs/specs/TILT_TECH_STACK.star +161 -0
@@ -0,0 +1,54 @@
1
+ # Copyright (c) 2026 Flisk Landscape contributors
2
+ # SPDX-License-Identifier: MIT
3
+ # =============================================================================
4
+ # 🐳 TILT SDK - DOCKER NETWORK MANAGEMENT
5
+ # =============================================================================
6
+
7
+
8
+ def fix_docker_networks(platform_networks):
9
+ """
10
+ Generates a shell command that:
11
+ 1. Removes networks with incorrect labels (if they exist and are not in use)
12
+ 2. Creates all platform networks if they don't exist, and fails with Docker's own
13
+ error if one that does not exist cannot be created
14
+ """
15
+ commands = []
16
+ commands.append('echo "Initializing Docker networks..."')
17
+
18
+ for network in platform_networks:
19
+ check_and_remove = '(docker network inspect ' + network + ' >/dev/null 2>&1 && '
20
+ check_and_remove += 'docker network inspect ' + network + ' --format "{{.Labels}}" | grep -q "com.docker.compose" && '
21
+ check_and_remove += 'echo "Removing network ' + network + ' with incorrect labels..." && '
22
+ check_and_remove += 'docker network rm ' + network + ' 2>/dev/null) || true'
23
+ commands.append(check_and_remove)
24
+
25
+ # Create the network. A failed create is an error unless the network exists
26
+ # afterwards (already there, or another process created it first). Docker's own
27
+ # message is printed and the command exits non-zero, so Tilt marks init-networks failed.
28
+ create_cmd = 'if _out=$(docker network create ' + network + ' 2>&1); then echo "Created network ' + network + '"; '
29
+ create_cmd += 'elif docker network inspect ' + network + ' >/dev/null 2>&1; then :; '
30
+ create_cmd += 'else echo "Failed to create Docker network ' + network + ': $_out" >&2; exit 1; fi'
31
+ commands.append(create_cmd)
32
+
33
+ commands.append('echo "Docker networks initialized"')
34
+
35
+ return ' && '.join(commands)
36
+
37
+
38
+ def cleanup_docker_networks(platform_networks):
39
+ """
40
+ Generates a shell command to forcefully remove all platform networks.
41
+ WARNING: This will disconnect all containers from these networks first!
42
+ """
43
+ commands = []
44
+ commands.append('echo "Cleaning up Docker networks..."')
45
+
46
+ for network in platform_networks:
47
+ disconnect_cmd = 'for c in $(docker network inspect ' + network + ' -f "{{range .Containers}}{{.Name}} {{end}}" 2>/dev/null); do '
48
+ disconnect_cmd += 'docker network disconnect -f ' + network + ' "$c" 2>/dev/null || true; done'
49
+ commands.append(disconnect_cmd)
50
+ commands.append('docker network rm ' + network + ' 2>/dev/null || true')
51
+
52
+ commands.append('echo "Docker networks cleaned up"')
53
+
54
+ return ' && '.join(commands)
@@ -0,0 +1,92 @@
1
+ # Copyright (c) 2026 Flisk contributors
2
+ # SPDX-License-Identifier: MIT
3
+ # =============================================================================
4
+ # 🌍 TILT SDK - ENVIRONMENT UTILITIES
5
+ # =============================================================================
6
+
7
+
8
+ _DOTENV_NAME_FIRST = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_'
9
+ _DOTENV_NAME_REST = _DOTENV_NAME_FIRST + '0123456789'
10
+
11
+
12
+ def _is_dotenv_name(name):
13
+ if not name or name[0] not in _DOTENV_NAME_FIRST:
14
+ return False
15
+ for i in range(len(name)):
16
+ if name[i] not in _DOTENV_NAME_REST:
17
+ return False
18
+ return True
19
+
20
+
21
+ def _dotenv_value(raw):
22
+ """One layer of matching quotes is removed, like a dotenv parser would.
23
+
24
+ Single quotes are literal. Inside double quotes a backslash escapes a quote, a backslash or a dollar sign, and \\n, \\r and \\t
25
+ become a newline, a carriage return and a tab. An unquoted value is used as is (inline comments are not stripped).
26
+ This reads the project .env; it does not undo the `$$` that the generated env files use for Docker Compose.
27
+ """
28
+ value = raw.strip()
29
+ if len(value) < 2 or value[0] not in ('"', "'") or value[-1] != value[0]:
30
+ return value
31
+
32
+ inner = value[1:-1]
33
+ if value[0] == "'":
34
+ return inner
35
+
36
+ result = ''
37
+ i = 0
38
+ while i < len(inner):
39
+ char = inner[i]
40
+ if char == '\\' and i + 1 < len(inner):
41
+ following = inner[i + 1]
42
+ if following == 'n':
43
+ result += '\n'
44
+ elif following == 'r':
45
+ result += '\r'
46
+ elif following == 't':
47
+ result += '\t'
48
+ elif following in ('"', '\\', '$'):
49
+ result += following
50
+ else:
51
+ result += char + following
52
+ i += 2
53
+ continue
54
+ result += char
55
+ i += 1
56
+ return result
57
+
58
+
59
+ def load_dotenv(project_root=''):
60
+ """Load the project .env file into os.environ.
61
+
62
+ The Tiltfile lives in `.tdk/.tdk-out/`, so a bare `.env` lookup misses the
63
+ project-root file. Prefer an explicit project_root, then TDK_PROJECT_ROOT.
64
+
65
+ The file is read with `read_file` and parsed here: nothing goes through a shell, so a path containing a quote is fine, and Tilt
66
+ re-evaluates the Tiltfile when the .env changes. Lines may be `NAME=value` or `export NAME=value`; comments, blank lines and
67
+ lines that are not an assignment to a valid name are ignored. A missing file does nothing.
68
+ """
69
+ if not project_root:
70
+ project_root = os.environ.get('TDK_PROJECT_ROOT', '')
71
+ env_path = (project_root + '/.env') if project_root else '.env'
72
+ content = str(read_file(env_path, default=''))
73
+ if not content:
74
+ return
75
+
76
+ for line in content.split('\n'):
77
+ line = line.strip()
78
+ if not line or line.startswith('#'):
79
+ continue
80
+ if line.startswith('export '):
81
+ line = line[len('export '):].strip()
82
+ equals = line.find('=')
83
+ if equals <= 0:
84
+ continue
85
+ name = line[:equals].strip()
86
+ if _is_dotenv_name(name):
87
+ os.environ[name] = _dotenv_value(line[equals + 1:])
88
+
89
+
90
+ def should_enable(resource_name, cfg, defaults):
91
+ """Check if a service should be enabled based on config and defaults."""
92
+ return cfg.get(resource_name, defaults.get(resource_name, False))
@@ -0,0 +1,99 @@
1
+ # Copyright (c) 2026 Flisk Landscape contributors
2
+ # SPDX-License-Identifier: MIT
3
+ # =============================================================================
4
+ # 📊 TILT SDK - OUTPUT UTILITIES
5
+ # =============================================================================
6
+
7
+
8
+ def print_resource_summary(infra_services, app_resources, should_enable_fn):
9
+ """Print summary of enabled services and estimated memory usage."""
10
+ enabled_services = []
11
+ estimated_memory = 0
12
+
13
+ for s in infra_services:
14
+ if should_enable_fn(s['name']):
15
+ enabled_services.append(s['name'])
16
+ svc_memory = s.get('memory')
17
+ if svc_memory != None:
18
+ estimated_memory += svc_memory
19
+ else:
20
+ estimated_memory += 512 # Default 512MB
21
+
22
+ for s in app_resources:
23
+ if should_enable_fn(s['name']):
24
+ enabled_services.append(s['name'])
25
+ svc_memory = s.get('memory')
26
+ if svc_memory != None:
27
+ estimated_memory += svc_memory
28
+ else:
29
+ estimated_memory += 512 # Default 512MB
30
+
31
+ print("\n📊 Resource Summary:")
32
+ print(" 🔧 Enabled services: " + str(len(enabled_services)))
33
+ print(" 💾 Estimated memory: ~" + str(estimated_memory) + "MB")
34
+
35
+ if estimated_memory > 4096:
36
+ print(" ⚠️ WARNING: High memory usage (consider `tilt down && tilt up --focus <domain>`)")
37
+ elif estimated_memory > 2048:
38
+ print(" ⚡ MODERATE: Memory usage moderate (use `--focus` to reduce)")
39
+ else:
40
+ print(" ✅ OPTIMAL: Memory usage optimized")
41
+
42
+ return enabled_services
43
+
44
+
45
+ def get_template_header(file_type, generator_name, resource_name='', extra_info=''):
46
+ """
47
+ Generate a standardized "DO NOT EDIT" header for auto-generated files.
48
+ """
49
+ is_ts_or_js = (
50
+ file_type.endswith('.ts') or
51
+ file_type.endswith('.tsx') or
52
+ file_type.endswith('.js') or
53
+ file_type.endswith('.jsx') or
54
+ file_type.endswith('.mjs') or
55
+ file_type.endswith('.mts')
56
+ )
57
+ is_css = file_type.endswith('.css') or file_type.endswith('.scss')
58
+ is_nginx = file_type.endswith('.conf') or file_type == 'nginx'
59
+
60
+ if is_ts_or_js or file_type in ['vite', 'tsconfig', 'typescript', 'javascript']:
61
+ border = '/' * 79
62
+ comment_start = '//'
63
+ elif is_css:
64
+ border = '/' + '*' * 77 + '/'
65
+ comment_start = ' *'
66
+ elif is_nginx or file_type in ['dockerfile', 'compose', 'env', 'shell', 'npmrc', 'bunfig']:
67
+ border = '#' * 79
68
+ comment_start = '#'
69
+ else:
70
+ border = '#' * 79
71
+ comment_start = '#'
72
+
73
+ resource_line = ''
74
+ if resource_name:
75
+ resource_line = '\n{c} Service: {s}'.format(c=comment_start, s=resource_name)
76
+
77
+ extra_line = ''
78
+ if extra_info:
79
+ extra_line = '\n{c} Type: {e}'.format(c=comment_start, e=extra_info)
80
+
81
+ header = """{border}
82
+ {c} 🛑 CRITICAL: SYSTEM-GENERATED FILE - DO NOT MODIFY DIRECTLY
83
+ {c}
84
+ {c} ANY MANUAL CHANGES MADE TO THIS FILE WILL BE WIPED ON THE NEXT 'tilt up'.
85
+ {c} TO MODIFY THIS CONFIGURATION:
86
+ {c} 1. Edit the source generator in: .tilt/topologies/
87
+ {c} 2. Or update service.json
88
+ {c}
89
+ {c} Generation Source: {generator}{resource_line}{extra_line}
90
+ {border}
91
+ """.format(
92
+ border=border,
93
+ c=comment_start,
94
+ generator=generator_name,
95
+ resource_line=resource_line,
96
+ extra_line=extra_line,
97
+ )
98
+
99
+ return header
@@ -0,0 +1,68 @@
1
+ # AGENTS.md - Global Configuration
2
+
3
+ ## Purpose
4
+
5
+ Global Tilt configuration, feature flags, environment profiles, and defaults.
6
+
7
+ ## Key Files
8
+
9
+ ### Core Config
10
+ - **`global.star`** - Global configuration loading
11
+ - **`profiles.star`** - Environment profiles (dev, staging, prod)
12
+ - **`features.star`** - Feature flags
13
+
14
+ ### Defaults
15
+ - **`defaults.star`** - Default values for all settings
16
+ - **`overrides.star`** - Local overrides (gitignored)
17
+
18
+ ## Key Concepts
19
+
20
+ ### Configuration Hierarchy
21
+ ```
22
+ 1. defaults.star (base values)
23
+ 2. profiles.star (environment-specific)
24
+ 3. global.star (project-wide)
25
+ 4. overrides.star (local user settings)
26
+ 5. Environment vars (runtime)
27
+ ```
28
+
29
+ ## Common Tasks
30
+
31
+ ### Get global config
32
+ ```starlark
33
+ load("../discovery/config.star", "get_global_config")
34
+ config = get_global_config()
35
+ ```
36
+
37
+ ### Check feature flag
38
+ ```starlark
39
+ load("./features.star", "is_feature_enabled")
40
+ if is_feature_enabled("nats_streaming"):
41
+ # Enable NATS
42
+ ```
43
+
44
+ ### Get profile
45
+ ```starlark
46
+ load("./profiles.star", "get_profile")
47
+ profile = get_profile() # "pre-alpha", "alpha", "beta", "production"
48
+ ```
49
+
50
+ ## Integration
51
+
52
+ - Loaded by main `Tiltfile`
53
+ - Used by `discovery/config.star`
54
+ - Referenced by `spec.master`
55
+
56
+ ## Important Files
57
+
58
+ - `spec.master` (project root) - Service-specific defaults
59
+ - `.env` - Local environment variables
60
+ - `tilt_options.json` - Tilt-specific options
61
+
62
+ ## Configuration Values
63
+
64
+ Common config includes:
65
+ - `MOCK_TIKKIE` - Use mock payment API
66
+ - `FOCUS_*` - Which service groups to load
67
+ - `DB_*` - Database settings
68
+ - `VERDACCIO_*` - NPM registry settings
@@ -0,0 +1,5 @@
1
+ # Copyright (c) 2026 Flisk Landscape contributors
2
+ # SPDX-License-Identifier: MIT
3
+ load("../../../../discovery/registry.star", _DEFAULTS_EXPORT = "DEFAULTS_EXPORT")
4
+
5
+ DEFAULTS = _DEFAULTS_EXPORT
@@ -0,0 +1,12 @@
1
+ # Copyright (c) 2026 Flisk Landscape contributors
2
+ # SPDX-License-Identifier: MIT
3
+ load("../../../../discovery/registry.star", _DEFAULTS_EXPORT = "DEFAULTS_EXPORT")
4
+
5
+ def is_enabled(flag_name, cfg, fallback = True):
6
+ if cfg.get(flag_name) != None:
7
+ return cfg.get(flag_name)
8
+ return _DEFAULTS_EXPORT.get(flag_name, fallback)
9
+
10
+
11
+ # Inlined constant
12
+ DEFAULTS = {}
@@ -0,0 +1,57 @@
1
+ # Copyright (c) 2026 Flisk Landscape contributors
2
+ # SPDX-License-Identifier: MIT
3
+ # =============================================================================
4
+ # ⚙️ TOPOLOGIES - GLOBAL CONFIG
5
+ # =============================================================================
6
+
7
+ load("./profiles.star", "Focus")
8
+ load(
9
+ "../../../../discovery/registry.star",
10
+ "APP_RESOURCES",
11
+ "GLOBAL_CONFIG_EXPORT",
12
+ "INFRA_RESOURCES_EXPORT",
13
+ "DDD_LIBS_EXPORT",
14
+ "DEFAULTS_EXPORT",
15
+ "CORE_INFRA_EXPORT",
16
+ "INFRA_STACK_MAP_EXPORT",
17
+ "OPTIONAL_INFRA_EXPORT",
18
+ "RESOURCE_DEPENDENCIES",
19
+ "RESOURCE_ALIASES",
20
+ "RESOURCE_PATH_MAP",
21
+ "get_platform_libs_export",
22
+ "get_product_libs_export",
23
+ )
24
+
25
+
26
+ def build_config_context():
27
+ return {
28
+ "internal_scope": GLOBAL_CONFIG_EXPORT["internal_scope"],
29
+ "library_roots": GLOBAL_CONFIG_EXPORT["library_roots"],
30
+ "verdaccio_url_local": GLOBAL_CONFIG_EXPORT["verdaccio_url_local"],
31
+ "verdaccio_url_docker": GLOBAL_CONFIG_EXPORT["verdaccio_url_docker"],
32
+ "resource_path_map": RESOURCE_PATH_MAP,
33
+ "database": GLOBAL_CONFIG_EXPORT["database"],
34
+ }
35
+
36
+
37
+ Config = struct(
38
+ get_needed_services = Focus.get_needed_services,
39
+ apply_focus = Focus.apply_focus,
40
+ create_enabler = Focus.create_enabler,
41
+ build_context = build_config_context,
42
+ GLOBAL = GLOBAL_CONFIG_EXPORT,
43
+ DEFAULTS = DEFAULTS_EXPORT,
44
+ APP_RESOURCES = APP_RESOURCES,
45
+ INFRA_RESOURCES = INFRA_RESOURCES_EXPORT,
46
+ DDD_LIBS = DDD_LIBS_EXPORT,
47
+ CORE_INFRA = CORE_INFRA_EXPORT,
48
+ INFRA_STACK_MAP = INFRA_STACK_MAP_EXPORT,
49
+ OPTIONAL_INFRA = OPTIONAL_INFRA_EXPORT,
50
+ RESOURCE_DEPENDENCIES = RESOURCE_DEPENDENCIES,
51
+ RESOURCE_ALIASES = RESOURCE_ALIASES,
52
+ RESOURCE_PATH_MAP = RESOURCE_PATH_MAP,
53
+ get_platform_libs = get_platform_libs_export,
54
+ get_product_libs = get_product_libs_export,
55
+ )
56
+
57
+ GLOBAL_CONFIG = {}