@flisk-sh/flisk 1.3.206 → 1.4.0

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 (376) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +41 -37
  3. package/cli/dist/agent-runtimes/custom.js +3 -3
  4. package/cli/dist/agent-runtimes/registry.js +3 -3
  5. package/cli/dist/backend-frameworks/registry.js +8 -8
  6. package/cli/dist/backend-languages/python.js +4 -1
  7. package/cli/dist/backend-languages/registry.js +3 -3
  8. package/cli/dist/cli.js +4 -3
  9. package/cli/dist/commands/__tests__/project-e2e-helpers.js +6 -6
  10. package/cli/dist/commands/agent.js +8 -8
  11. package/cli/dist/commands/completion.js +26 -26
  12. package/cli/dist/commands/config.js +8 -8
  13. package/cli/dist/commands/doctor.js +18 -18
  14. package/cli/dist/commands/down.js +1 -1
  15. package/cli/dist/commands/eject.js +10 -10
  16. package/cli/dist/commands/help.js +2 -2
  17. package/cli/dist/commands/import.js +2 -2
  18. package/cli/dist/commands/logs.js +2 -2
  19. package/cli/dist/commands/mcp.js +2 -2
  20. package/cli/dist/commands/networks.js +2 -2
  21. package/cli/dist/commands/open.js +0 -1
  22. package/cli/dist/commands/project.js +19 -19
  23. package/cli/dist/commands/projects.js +1 -1
  24. package/cli/dist/commands/resource.js +21 -21
  25. package/cli/dist/commands/resources.js +2 -2
  26. package/cli/dist/commands/restart.js +7 -4
  27. package/cli/dist/commands/runtime.js +15 -3
  28. package/cli/dist/commands/stack.js +8 -8
  29. package/cli/dist/commands/up.js +23 -23
  30. package/cli/dist/commands/upgrade.js +44 -40
  31. package/cli/dist/frontend-frameworks/registry.js +3 -3
  32. package/cli/dist/generator/extension-fetch.js +12 -9
  33. package/cli/dist/generator/template-engine.js +66 -53
  34. package/cli/dist/mcp/tools.js +2 -2
  35. package/cli/dist/utils/agent-host.js +1 -1
  36. package/cli/dist/utils/cli-command.js +1 -1
  37. package/cli/dist/utils/cold-preflight.js +2 -2
  38. package/cli/dist/utils/constants.js +3 -3
  39. package/cli/dist/utils/discovery-paths.js +2 -2
  40. package/cli/dist/utils/doctor-fix.js +10 -10
  41. package/cli/dist/utils/doctor-report.js +3 -3
  42. package/cli/dist/utils/doctor-runtime.js +4 -3
  43. package/cli/dist/utils/doctor-starlark.js +3 -3
  44. package/cli/dist/utils/doctor-wiring.js +4 -4
  45. package/cli/dist/utils/down-cleanup.js +2 -2
  46. package/cli/dist/utils/env-compat-init.js +8 -0
  47. package/cli/dist/utils/env-compat.js +27 -0
  48. package/cli/dist/utils/env-selection.js +9 -9
  49. package/cli/dist/utils/errors.js +13 -13
  50. package/cli/dist/utils/file-helpers.js +5 -5
  51. package/cli/dist/utils/{tdk-version.js → flisk-version.js} +8 -8
  52. package/cli/dist/utils/generated-paths.js +6 -6
  53. package/cli/dist/utils/host-port-config.js +10 -10
  54. package/cli/dist/utils/host-port-plan.js +3 -3
  55. package/cli/dist/utils/machine-output.js +2 -2
  56. package/cli/dist/utils/native-windows.js +1 -1
  57. package/cli/dist/utils/paths.js +14 -1
  58. package/cli/dist/utils/platform.js +9 -9
  59. package/cli/dist/utils/port-conflict-fix.js +3 -3
  60. package/cli/dist/utils/port-fallback-notice.js +3 -3
  61. package/cli/dist/utils/project-config-defaults.js +1 -1
  62. package/cli/dist/utils/project-features.js +2 -2
  63. package/cli/dist/utils/resource-features.js +3 -3
  64. package/cli/dist/utils/runtime-layout.js +58 -0
  65. package/cli/dist/utils/schema-version-gate.js +3 -2
  66. package/cli/dist/utils/service-urls.js +3 -3
  67. package/cli/dist/utils/services.js +2 -2
  68. package/cli/dist/utils/shared-infra.js +2 -2
  69. package/cli/dist/utils/shared-platform-postgres.js +6 -6
  70. package/cli/dist/utils/tar.js +1 -1
  71. package/cli/dist/utils/tilt.js +1 -1
  72. package/cli/dist/utils/up-readiness.js +1 -1
  73. package/cli/dist/utils/windows-doctor.js +3 -3
  74. package/cli/dist-bundle/{chunk-ODVBKN6S.js → chunk-36SOQVAL.js} +2 -2
  75. package/cli/dist-bundle/{chunk-YZRPX76N.js → chunk-3J6XI3NX.js} +1 -1
  76. package/cli/dist-bundle/chunk-5EZ4EX6U.js +2 -0
  77. package/cli/dist-bundle/chunk-763VK575.js +54 -0
  78. package/cli/dist-bundle/{chunk-5CFVN3W3.js → chunk-B6Q5VKL7.js} +13 -13
  79. package/cli/dist-bundle/{chunk-4W6OXDLK.js → chunk-BWK6MPCB.js} +3 -3
  80. package/cli/dist-bundle/{chunk-PHI5AT3H.js → chunk-D7N2GGJH.js} +14 -14
  81. package/cli/dist-bundle/chunk-HEMPQKD6.js +7 -0
  82. package/cli/dist-bundle/chunk-ICXF6PXA.js +35 -0
  83. package/cli/dist-bundle/chunk-K6SOCO6V.js +3 -0
  84. package/cli/dist-bundle/{chunk-6EA4DGCY.js → chunk-KJZUBHLO.js} +1 -1
  85. package/cli/dist-bundle/{chunk-GOEBYLFN.js → chunk-MINZ25AC.js} +1 -1
  86. package/cli/dist-bundle/{chunk-6Y6G7PSD.js → chunk-PVBAGX5X.js} +2 -2
  87. package/cli/dist-bundle/chunk-QQEV6D74.js +2 -0
  88. package/cli/dist-bundle/chunk-VHFFSBVJ.js +10 -0
  89. package/cli/dist-bundle/chunk-VMB5673O.js +57 -0
  90. package/cli/dist-bundle/{chunk-53M5D4KE.js → chunk-XD3BBFZB.js} +1 -1
  91. package/cli/dist-bundle/{chunk-GIMHTZNR.js → chunk-YL56J2WX.js} +1 -1
  92. package/cli/dist-bundle/cli.js +254 -254
  93. package/cli/dist-bundle/cold-preflight-ABU26DYW.js +2 -0
  94. package/cli/dist-bundle/colima-GBURKN54.js +2 -0
  95. package/cli/dist-bundle/{demo-stage-EOMANLAD.js → demo-stage-EBIUCJBX.js} +2 -2
  96. package/cli/dist-bundle/{devtools-MGITLOWZ.js → devtools-ZD6XIOLD.js} +2 -2
  97. package/cli/dist-bundle/extension-fetch-VEFSCG4B.js +2 -0
  98. package/cli/dist-bundle/native-windows-BWVEYVPO.js +2 -0
  99. package/cli/dist-bundle/{one-command-P6XVAXWV.js → one-command-VNKQAMFJ.js} +2 -2
  100. package/cli/dist-bundle/open-2KSAF6M2.js +2 -0
  101. package/cli/dist-bundle/project-YD3C4ZV3.js +2 -0
  102. package/cli/dist-bundle/project-templates-EYSQG2EO.js +2 -0
  103. package/cli/dist-bundle/{services-VIIBMWD4.js → services-V6Q55JR5.js} +2 -2
  104. package/cli/dist-bundle/{stack-progress-6GO2TCRH.js → stack-progress-NIFM5T2K.js} +2 -2
  105. package/cli/dist-bundle/tilt-port-owner-MWJ7P6NB.js +2 -0
  106. package/cli/dist-bundle/url-actions-HXJLBTX6.js +2 -0
  107. package/cli/package.json +5 -5
  108. package/cli/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +2 -2
  109. package/cli/shared-platform-engineering/docker-templates/install-deps.sh +2 -2
  110. package/cli/templates/.tiltignore.hbs +2 -2
  111. package/cli/templates/TILT_RESOURCE_DEFAULTS.star.hbs +1 -1
  112. package/cli/templates/TILT_TECH_STACK.star.hbs +1 -1
  113. package/cli/templates/Tiltfile.hbs +21 -21
  114. package/cli/templates/spec.master.hbs +4 -4
  115. package/examples/tdk-example/LICENSE +1 -1
  116. package/examples/tdk-example/Tiltfile +10 -10
  117. package/examples/tdk-example/services/platform/messaging/docker-compose.yml +7 -7
  118. package/examples/tdk-example/services/shop/orders-api/service.json +1 -1
  119. package/examples/tdk-example/services/shop/orders-api/src/index.ts +1 -1
  120. package/examples/tdk-example/services/shop/orders-app/index.html +1 -1
  121. package/examples/tdk-example/services/shop/orders-worker/service.json +1 -1
  122. package/examples/tdk-example/services/shop/orders-worker/src/index.ts +1 -1
  123. package/package.json +29 -11
  124. package/{Tiltfile → runtime/Tiltfile} +9 -5
  125. package/{discovery → runtime/discovery}/AGENTS.md +1 -1
  126. package/{discovery → runtime/discovery}/TILT_DISCOVERY.star +5 -5
  127. package/{discovery → runtime/discovery}/Tiltfile +5 -5
  128. package/{discovery → runtime/discovery}/config.star +5 -5
  129. package/{discovery → runtime/discovery}/constants.star +14 -14
  130. package/{discovery → runtime/discovery}/deterministic.star +1 -1
  131. package/{discovery → runtime/discovery}/discovery_daemon.star +2 -2
  132. package/{discovery → runtime/discovery}/discovery_orchestrator.star +17 -17
  133. package/{discovery → runtime/discovery}/identity-management-backend/service.yaml +2 -2
  134. package/{discovery → runtime/discovery}/incremental_discovery.star +1 -1
  135. package/{discovery → runtime/discovery}/json_manifest_scanner.star +2 -2
  136. package/{discovery → runtime/discovery}/libraries.star +1 -1
  137. package/{discovery → runtime/discovery}/manifest/constants.star +1 -1
  138. package/{discovery → runtime/discovery}/manifest/loading.star +7 -7
  139. package/{discovery → runtime/discovery}/manifest/normalize.star +12 -15
  140. package/{discovery → runtime/discovery}/registry.star +11 -11
  141. package/{discovery → runtime/discovery}/resource_snapshot.py +2 -2
  142. package/{discovery → runtime/discovery}/resource_snapshot.star +6 -6
  143. package/{discovery → runtime/discovery}/services/platform/orchestrator/orchestrator-glue-backend/service.yaml +2 -2
  144. package/{discovery → runtime/discovery}/test_resource_snapshot.py +6 -6
  145. package/{engine → runtime/engine}/AGENTS.md +6 -6
  146. package/{engine → runtime/engine}/README.md +2 -2
  147. package/{engine → runtime/engine}/Tiltfile +5 -5
  148. package/{engine → runtime/engine}/assets/docker/golden-layers.Dockerfile +17 -17
  149. package/{engine → runtime/engine}/assets/docker/wake-gateway/Dockerfile +7 -0
  150. package/{engine → runtime/engine}/entrypoint.star +1 -1
  151. package/{engine → runtime/engine}/paths.star +5 -5
  152. package/{engine → runtime/engine}/schemas/project-schema.json +2 -2
  153. package/{engine → runtime/engine}/schemas/service-schema.json +5 -5
  154. package/{engine → runtime/engine}/scripts/debug-container.sh +3 -3
  155. package/{engine → runtime/engine}/spec.master +3 -3
  156. package/{engine → runtime/engine}/topologies/README.md +3 -3
  157. package/{engine → runtime/engine}/topologies/platform/docker/build/golden_image_build.star +5 -5
  158. package/{engine → runtime/engine}/topologies/platform/docker/build/golden_image_constants.star +7 -7
  159. package/{engine → runtime/engine}/topologies/platform/docker/build/golden_image_dockerfile.star +8 -8
  160. package/{engine → runtime/engine}/topologies/platform/docker/compose/compose.star +12 -12
  161. package/{engine → runtime/engine}/topologies/platform/docker/compose/traefik_standalone.star +21 -6
  162. package/{engine → runtime/engine}/topologies/platform/docker/config/healthcheck.star +7 -7
  163. package/{engine → runtime/engine}/topologies/platform/docker/constants.star +7 -7
  164. package/{engine → runtime/engine}/topologies/platform/docker/dockerfile/language_dockerfile.star +3 -3
  165. package/{engine → runtime/engine}/topologies/platform/docker/layers/l1_base_layers.star +5 -5
  166. package/{engine → runtime/engine}/topologies/platform/docker/layers/l2_dependency_layers.star +14 -14
  167. package/{engine → runtime/engine}/topologies/platform/docker/layers/l3_builder_layers.star +5 -5
  168. package/{engine → runtime/engine}/topologies/platform/docker/layers/l4_runtime_layers.star +8 -8
  169. package/{engine → runtime/engine}/topologies/platform/docker/layers/prisma/constants.star +5 -5
  170. package/{engine → runtime/engine}/topologies/platform/docker/networking/api_path_constants.star +5 -5
  171. package/{engine → runtime/engine}/topologies/platform/docker/networking/sablier_container_cycle.star +1 -1
  172. package/{engine → runtime/engine}/topologies/platform/docker/networking/traefik_static_routes.star +1 -1
  173. package/{engine → runtime/engine}/topologies/platform/docker/secrets/env_secrets.star +2 -2
  174. package/{engine → runtime/engine}/topologies/platform/docker/secrets/infisical.star +4 -4
  175. package/{engine → runtime/engine}/topologies/platform/registries/verdaccio_loader.star +1 -1
  176. package/{engine → runtime/engine}/topologies/platform/security/secrets.star +1 -1
  177. package/{engine → runtime/engine}/topologies/tilt/common/utils.star +9 -10
  178. package/{engine → runtime/engine}/topologies/tilt/common/utils_debug.star +1 -1
  179. package/{engine → runtime/engine}/topologies/tilt/common/utils_deterministic.star +2 -2
  180. package/{engine → runtime/engine}/topologies/tilt/common/utils_env.star +5 -5
  181. package/{engine → runtime/engine}/topologies/tilt/config/profiles.star +4 -4
  182. package/{engine → runtime/engine}/topologies/tilt/generators/agents_md.star +1 -1
  183. package/{engine → runtime/engine}/topologies/tilt/generators/infisical/README.md +1 -1
  184. package/{engine → runtime/engine}/topologies/tilt/generators/infisical/organization.star +6 -6
  185. package/{engine → runtime/engine}/topologies/tilt/generators/npmrc.star +5 -5
  186. package/{engine → runtime/engine}/topologies/tilt/generators/typescript/backend_tsconfig.star +1 -1
  187. package/{engine → runtime/engine}/topologies/tilt/generators/typescript/playwright_config.star +1 -1
  188. package/{engine → runtime/engine}/topologies/tilt/generators/vite/helpers.star +7 -7
  189. package/{engine → runtime/engine}/topologies/tilt/generators/vite/templates.star +5 -5
  190. package/{engine → runtime/engine}/topologies/tilt/manifest/json_to_yaml.py +2 -2
  191. package/{engine → runtime/engine}/topologies/tilt/manifest/loader.star +2 -2
  192. package/{engine → runtime/engine}/topologies/tilt/manifest/schema.star +1 -1
  193. package/{engine → runtime/engine}/topologies/tilt/manifest/yaml_to_json.py +1 -1
  194. package/{engine → runtime/engine}/topologies/tilt/resources/build_concurrency.star +3 -3
  195. package/{engine → runtime/engine}/topologies/tilt/resources/databases.star +7 -6
  196. package/{engine → runtime/engine}/topologies/tilt/resources/infra-loader.star +12 -12
  197. package/{engine → runtime/engine}/topologies/tilt/resources/libs_paths.star +1 -1
  198. package/{engine → runtime/engine}/topologies/tilt/resources/libs_resource_definition.star +2 -2
  199. package/{engine → runtime/engine}/topologies/tilt/resources/libs_setup.star +1 -1
  200. package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +36 -28
  201. package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/apply_migrator_orchestration.star +1 -1
  202. package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/generators/frontend.star +5 -5
  203. package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/generators/manifest_resource.star +4 -4
  204. package/{engine → runtime/engine}/topologies/tilt/resources/watchers.star +20 -20
  205. package/{engine → runtime/engine}/where-things-live.star +5 -5
  206. package/{ext → runtime/ext}/Tiltfile +5 -5
  207. package/{ext → runtime/ext}/ide-components/code_viewer/server.py +1 -1
  208. package/{ext → runtime/ext}/ide-components/config_inspector/server.py +2 -2
  209. package/{ext → runtime/ext}/ide-components/file_browser/server.py +1 -1
  210. package/{ext → runtime/ext}/ide-components/shared/config_service.py +2 -2
  211. package/{ext → runtime/ext}/ide-components/shared/file_utils.py +2 -2
  212. package/{ext → runtime/ext}/ide-components/shared/http_utils.py +1 -1
  213. package/{ext → runtime/ext}/ide-components/shared/syntax_highlighter.py +1 -1
  214. package/{ext → runtime/ext}/ide-components/shared/template_engine.py +1 -1
  215. package/{ext → runtime/ext}/ide-components/shared/templates/base.html +1 -1
  216. package/{ext → runtime/ext}/ide-components/shared/test_config_service.py +1 -1
  217. package/{ext → runtime/ext}/ide-components/shared/tilt_integration.py +1 -1
  218. package/{ext → runtime/ext}/ui-enhancements/tiltfile.py +1 -1
  219. package/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +2 -2
  220. package/shared-platform-engineering/docker-templates/install-deps.sh +2 -2
  221. package/cli/dist-bundle/chunk-3QQGL3NQ.js +0 -35
  222. package/cli/dist-bundle/chunk-42IVF3YT.js +0 -3
  223. package/cli/dist-bundle/chunk-7C5VA6CW.js +0 -57
  224. package/cli/dist-bundle/chunk-D2BXXJDM.js +0 -7
  225. package/cli/dist-bundle/chunk-GANRXKBM.js +0 -2
  226. package/cli/dist-bundle/chunk-LI3BXAX5.js +0 -2
  227. package/cli/dist-bundle/chunk-NCEK46NX.js +0 -52
  228. package/cli/dist-bundle/chunk-XSPMLWAE.js +0 -10
  229. package/cli/dist-bundle/cold-preflight-4I24DQLW.js +0 -2
  230. package/cli/dist-bundle/colima-SVZX2UML.js +0 -2
  231. package/cli/dist-bundle/extension-fetch-6XNTDF44.js +0 -2
  232. package/cli/dist-bundle/native-windows-X5XVLFJS.js +0 -2
  233. package/cli/dist-bundle/open-6374RNL6.js +0 -2
  234. package/cli/dist-bundle/project-IRWFRXWA.js +0 -2
  235. package/cli/dist-bundle/project-templates-JDRE7AVL.js +0 -2
  236. package/cli/dist-bundle/tilt-port-owner-AN3ITRTR.js +0 -2
  237. package/cli/dist-bundle/url-actions-D6ROTHZG.js +0 -2
  238. /package/cli/bin/{tdk.js → flisk.js} +0 -0
  239. /package/{discovery → runtime/discovery}/filtering.star +0 -0
  240. /package/{discovery → runtime/discovery}/identity-management-frontend/service.yaml +0 -0
  241. /package/{discovery → runtime/discovery}/identity-sdk/service.yaml +0 -0
  242. /package/{discovery → runtime/discovery}/indexing.star +0 -0
  243. /package/{discovery → runtime/discovery}/loading.star +0 -0
  244. /package/{discovery → runtime/discovery}/manifest/validation.star +0 -0
  245. /package/{discovery → runtime/discovery}/normalization.star +0 -0
  246. /package/{discovery → runtime/discovery}/schemas.star +0 -0
  247. /package/{discovery → runtime/discovery}/services/platform/cdc/debezium/nats-connector/service.yaml +0 -0
  248. /package/{discovery → runtime/discovery}/services/platform/cdc/nats-http-bridge/service.yaml +0 -0
  249. /package/{discovery → runtime/discovery}/services/platform/synthetic-monitor/service.yaml +0 -0
  250. /package/{discovery → runtime/discovery}/validation.star +0 -0
  251. /package/{discovery → runtime/discovery}/versioning.star +0 -0
  252. /package/{engine → runtime/engine}/REFACTORING_MANIFEST_SYSTEM.md +0 -0
  253. /package/{engine → runtime/engine}/assets/docker/wake-gateway/decide.test.ts +0 -0
  254. /package/{engine → runtime/engine}/assets/docker/wake-gateway/decide.ts +0 -0
  255. /package/{engine → runtime/engine}/assets/docker/wake-gateway/server.ts +0 -0
  256. /package/{engine → runtime/engine}/assets/scripts/cleanup-completed-migrator-images.sh +0 -0
  257. /package/{engine → runtime/engine}/assets/scripts/cleanup-tilt-images.sh +0 -0
  258. /package/{engine → runtime/engine}/assets/scripts/mac-m1-resource-monitor.sh +0 -0
  259. /package/{engine → runtime/engine}/config.star +0 -0
  260. /package/{engine → runtime/engine}/lifecycle/orchestrator.star +0 -0
  261. /package/{engine → runtime/engine}/scripts/README.md +0 -0
  262. /package/{engine → runtime/engine}/scripts/build-and-publish-lib.sh +0 -0
  263. /package/{engine → runtime/engine}/scripts/check-lib-publish.sh +0 -0
  264. /package/{engine → runtime/engine}/scripts/generate-manifest.sh +0 -0
  265. /package/{engine → runtime/engine}/spec.master.example +0 -0
  266. /package/{engine → runtime/engine}/topologies/platform/docker/AGENTS.md +0 -0
  267. /package/{engine → runtime/engine}/topologies/platform/docker/auth/auth.star +0 -0
  268. /package/{engine → runtime/engine}/topologies/platform/docker/build/frontend_build_plan.star +0 -0
  269. /package/{engine → runtime/engine}/topologies/platform/docker/build/golden_image.star +0 -0
  270. /package/{engine → runtime/engine}/topologies/platform/docker/compose/compose_helpers.star +0 -0
  271. /package/{engine → runtime/engine}/topologies/platform/docker/compose/unsafe_value.star +0 -0
  272. /package/{engine → runtime/engine}/topologies/platform/docker/config/bunignore.star +0 -0
  273. /package/{engine → runtime/engine}/topologies/platform/docker/config/dockerignore.star +0 -0
  274. /package/{engine → runtime/engine}/topologies/platform/docker/dockerfile/dockerfile.star +0 -0
  275. /package/{engine → runtime/engine}/topologies/platform/docker/generators/golden_docker_generator_v2.star +0 -0
  276. /package/{engine → runtime/engine}/topologies/platform/docker/index.star +0 -0
  277. /package/{engine → runtime/engine}/topologies/platform/docker/layers/bun_helpers.star +0 -0
  278. /package/{engine → runtime/engine}/topologies/platform/docker/layers/infisical/index.star +0 -0
  279. /package/{engine → runtime/engine}/topologies/platform/docker/layers/infisical/infisical_docker.star +0 -0
  280. /package/{engine → runtime/engine}/topologies/platform/docker/layers/prisma/db_readiness.star +0 -0
  281. /package/{engine → runtime/engine}/topologies/platform/docker/layers/prisma/filesystem_setup.star +0 -0
  282. /package/{engine → runtime/engine}/topologies/platform/docker/layers/prisma/migrate_script.star +0 -0
  283. /package/{engine → runtime/engine}/topologies/platform/docker/layers/prisma/prisma_build.star +0 -0
  284. /package/{engine → runtime/engine}/topologies/platform/docker/layers/prisma/prisma_runtime.star +0 -0
  285. /package/{engine → runtime/engine}/topologies/platform/docker/layers/prisma/secret_resolution.star +0 -0
  286. /package/{engine → runtime/engine}/topologies/platform/docker/networking/traefik.star +0 -0
  287. /package/{engine → runtime/engine}/topologies/platform/docker/networking/traefik_constants.star +0 -0
  288. /package/{engine → runtime/engine}/topologies/platform/docker/networking/traefik_helpers.star +0 -0
  289. /package/{engine → runtime/engine}/topologies/platform/net/AGENTS.md +0 -0
  290. /package/{engine → runtime/engine}/topologies/platform/net/proxy.star +0 -0
  291. /package/{engine → runtime/engine}/topologies/platform/registries/local.star +0 -0
  292. /package/{engine → runtime/engine}/topologies/platform/security/AGENTS.md +0 -0
  293. /package/{engine → runtime/engine}/topologies/platform/state/AGENTS.md +0 -0
  294. /package/{engine → runtime/engine}/topologies/platform/state/relational.star +0 -0
  295. /package/{engine → runtime/engine}/topologies/tilt/common/AGENTS.md +0 -0
  296. /package/{engine → runtime/engine}/topologies/tilt/common/utils_docker_networks.star +0 -0
  297. /package/{engine → runtime/engine}/topologies/tilt/common/utils_output.star +0 -0
  298. /package/{engine → runtime/engine}/topologies/tilt/config/AGENTS.md +0 -0
  299. /package/{engine → runtime/engine}/topologies/tilt/config/defaults.star +0 -0
  300. /package/{engine → runtime/engine}/topologies/tilt/config/feature_flags.star +0 -0
  301. /package/{engine → runtime/engine}/topologies/tilt/config/global.star +0 -0
  302. /package/{engine → runtime/engine}/topologies/tilt/generators/api_gateway.star +0 -0
  303. /package/{engine → runtime/engine}/topologies/tilt/generators/index.star +0 -0
  304. /package/{engine → runtime/engine}/topologies/tilt/generators/infisical/examples.star +0 -0
  305. /package/{engine → runtime/engine}/topologies/tilt/generators/infisical/index.star +0 -0
  306. /package/{engine → runtime/engine}/topologies/tilt/generators/infisical/machine_identity.star +0 -0
  307. /package/{engine → runtime/engine}/topologies/tilt/generators/infisical/path_manager.star +0 -0
  308. /package/{engine → runtime/engine}/topologies/tilt/generators/infisical/secrets_generator.star +0 -0
  309. /package/{engine → runtime/engine}/topologies/tilt/generators/nginx_conf.star +0 -0
  310. /package/{engine → runtime/engine}/topologies/tilt/generators/tsconfig.star +0 -0
  311. /package/{engine → runtime/engine}/topologies/tilt/generators/typescript/backend_library_tsconfig.star +0 -0
  312. /package/{engine → runtime/engine}/topologies/tilt/generators/typescript/common.star +0 -0
  313. /package/{engine → runtime/engine}/topologies/tilt/generators/typescript/frontend_library_tsconfig.star +0 -0
  314. /package/{engine → runtime/engine}/topologies/tilt/generators/typescript/frontend_tsconfig.star +0 -0
  315. /package/{engine → runtime/engine}/topologies/tilt/generators/typescript/include.star +0 -0
  316. /package/{engine → runtime/engine}/topologies/tilt/generators/typescript/prisma_config.star +0 -0
  317. /package/{engine → runtime/engine}/topologies/tilt/generators/validators.star +0 -0
  318. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/backend.star +0 -0
  319. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frameworks/lit.star +0 -0
  320. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frameworks/preact.star +0 -0
  321. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frameworks/qwik.star +0 -0
  322. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frameworks/react.star +0 -0
  323. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frameworks/solid.star +0 -0
  324. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frameworks/svelte.star +0 -0
  325. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frameworks/vanilla.star +0 -0
  326. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frameworks/vue.star +0 -0
  327. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/frontend.star +0 -0
  328. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/generators.star +0 -0
  329. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/library.star +0 -0
  330. /package/{engine → runtime/engine}/topologies/tilt/generators/vite/sdk.star +0 -0
  331. /package/{engine → runtime/engine}/topologies/tilt/generators/vite_config.star +0 -0
  332. /package/{engine → runtime/engine}/topologies/tilt/manifest/AGENTS.md +0 -0
  333. /package/{engine → runtime/engine}/topologies/tilt/manifest/README.md +0 -0
  334. /package/{engine → runtime/engine}/topologies/tilt/manifest/__init__.star +0 -0
  335. /package/{engine → runtime/engine}/topologies/tilt/manifest/constants.star +0 -0
  336. /package/{engine → runtime/engine}/topologies/tilt/manifest/errors.star +0 -0
  337. /package/{engine → runtime/engine}/topologies/tilt/manifest/integration.star +0 -0
  338. /package/{engine → runtime/engine}/topologies/tilt/manifest/mapper.star +0 -0
  339. /package/{engine → runtime/engine}/topologies/tilt/manifest/parser.star +0 -0
  340. /package/{engine → runtime/engine}/topologies/tilt/manifest/tests/test_integration.star +0 -0
  341. /package/{engine → runtime/engine}/topologies/tilt/manifest/tests/test_loader_parser.star +0 -0
  342. /package/{engine → runtime/engine}/topologies/tilt/manifest/tests/test_manifest.star +0 -0
  343. /package/{engine → runtime/engine}/topologies/tilt/manifest/tests/test_validator.star +0 -0
  344. /package/{engine → runtime/engine}/topologies/tilt/manifest/validator.star +0 -0
  345. /package/{engine → runtime/engine}/topologies/tilt/resources/AGENTS.md +0 -0
  346. /package/{engine → runtime/engine}/topologies/tilt/resources/conditions.star +0 -0
  347. /package/{engine → runtime/engine}/topologies/tilt/resources/declaration.star +0 -0
  348. /package/{engine → runtime/engine}/topologies/tilt/resources/deps.star +0 -0
  349. /package/{engine → runtime/engine}/topologies/tilt/resources/libs.star +0 -0
  350. /package/{engine → runtime/engine}/topologies/tilt/resources/libs_discovery.star +0 -0
  351. /package/{engine → runtime/engine}/topologies/tilt/resources/libs_tsconfig.star +0 -0
  352. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/apply.star +0 -0
  353. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/apply_manifest_orchestration.star +0 -0
  354. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/apply_resource_validation.star +0 -0
  355. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/apply_runtime_flags.star +0 -0
  356. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/builders/typescript.star +0 -0
  357. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/generators/dependencies/AGENTS.md +0 -0
  358. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/generators/dependencies/index.star +0 -0
  359. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/generators/dependencies/resolver.star +0 -0
  360. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/generators/env.star +0 -0
  361. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator/helpers.star +0 -0
  362. /package/{engine → runtime/engine}/topologies/tilt/resources/orchestrator.star +0 -0
  363. /package/{engine → runtime/engine}/topologies/tilt/resources/ordering.star +0 -0
  364. /package/{engine → runtime/engine}/topologies/tilt/resources/shared-platform-postgres.star +0 -0
  365. /package/{engine → runtime/engine}/topologies/tilt/resources/triggers.star +0 -0
  366. /package/{ext → runtime/ext}/ide-components/README.md +0 -0
  367. /package/{ext → runtime/ext}/ide-components/shared/static/styles.css +0 -0
  368. /package/{ext → runtime/ext}/ui-enhancements/cron-status-server.sh +0 -0
  369. /package/{ext → runtime/ext}/ui-enhancements/cron-status-tracker.sh +0 -0
  370. /package/{ext → runtime/ext}/ui-enhancements/extension.yaml +0 -0
  371. /package/{ext → runtime/ext}/ui-enhancements/ui/cron-jobs-tab.css +0 -0
  372. /package/{ext → runtime/ext}/ui-enhancements/ui/help-panel.css +0 -0
  373. /package/{ext → runtime/ext}/ui-enhancements/ui/icons.css +0 -0
  374. /package/{ext → runtime/ext}/ui-enhancements/ui/tooltips.css +0 -0
  375. /package/{specs → runtime/specs}/specs/TILT_SERVICE_DEFAULTS.star +0 -0
  376. /package/{specs → runtime/specs}/specs/TILT_TECH_STACK.star +0 -0
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 TDK Landscape
3
+ Copyright (c) 2026 Flisk Landscape
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -4,6 +4,10 @@
4
4
 
5
5
  Go from an empty folder to a running tech stack with one command. Built for agents.
6
6
 
7
+ <img src="https://raw.githubusercontent.com/flisk-sh/.github/main/profile/header-flisk.svg" alt="Flisk: your whole stack, running locally with one command." width="100%">
8
+
9
+
10
+ [![Flisk Discord](https://img.shields.io/badge/Discord-Join%20Server-5865F2?logo=discord&logoColor=white)](https://discord.gg/JG6r33HVB)
7
11
  [![npm version](https://img.shields.io/npm/v/@flisk-sh/flisk.svg?style=flat&color=blue)](https://www.npmjs.com/package/@flisk-sh/flisk) [![npm weekly downloads](https://img.shields.io/npm/dw/@flisk-sh/flisk?style=flat&color=blue)](https://www.npmjs.com/package/@flisk-sh/flisk) [![unpacked size](https://img.shields.io/npm/unpacked-size/@flisk-sh/flisk)](https://packagephobia.com/result?p=@flisk-sh/flisk) [![install size](https://badgen.net/packagephobia/install/@flisk-sh/flisk)](https://packagephobia.com/result?p=@flisk-sh/flisk) [![GitHub stars](https://img.shields.io/github/stars/flisk-sh/flisk?style=flat&logo=github)](https://github.com/flisk-sh/flisk/stargazers) [![OSS Insight](https://img.shields.io/badge/OSS%20Insight-analytics-blue)](https://ossinsight.io/analyze/flisk-sh/flisk) [![X followers: 1,605](https://img.shields.io/badge/X%20followers-1%2C605-1DA1F2?style=flat&logo=x&logoColor=white)](https://x.com/brookservers)
8
12
  [![Journeys E2E](https://github.com/flisk-sh/flisk/actions/workflows/e2e-journeys.yml/badge.svg)](https://github.com/flisk-sh/flisk/actions/workflows/e2e-journeys.yml) [![ERP fixture scale E2E](https://github.com/flisk-sh/flisk/actions/workflows/e2e-scale-full.yml/badge.svg)](https://github.com/flisk-sh/flisk/actions/workflows/e2e-scale-full.yml) [![Example apps E2E](https://github.com/flisk-sh/flisk/actions/workflows/e2e-real-apps.yml/badge.svg?branch=main)](https://github.com/flisk-sh/flisk/actions/workflows/e2e-real-apps.yml) [![CodeQL](https://github.com/flisk-sh/flisk/actions/workflows/codeql.yml/badge.svg?branch=main)](https://github.com/flisk-sh/flisk/security/code-scanning) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/flisk-sh/flisk/badge)](https://scorecard.dev/viewer/?uri=github.com/flisk-sh/flisk) [![Known Vulnerabilities](https://snyk.io/test/github/flisk-sh/flisk/badge.svg)](https://snyk.io/test/github/flisk-sh/flisk) [![Socket Badge](https://badge.socket.dev/npm/package/@flisk-sh/flisk/latest)](https://socket.dev/npm/package/@flisk-sh/flisk/overview)
9
13
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
@@ -36,7 +40,7 @@ English | [简体中文](docs/README-zh_cn.md) | [繁體中文](docs/README-zh_t
36
40
 
37
41
  <br />
38
42
 
39
- [Website](https://flisk.sh/) · [Quickstart](https://flisk.sh/docs/quickstart/) · [Examples](https://flisk.sh/docs/examples/) · [Awesome Flisk](https://github.com/flisk-sh/awesome-tdk-framework) · [Demo](https://flisk-sh.github.io/tdk-demo-animation/) · [Report a bug](https://github.com/flisk-sh/flisk/issues)
43
+ [Website](https://flisk.sh/) · [Quickstart](https://flisk.sh/docs/quickstart/) · [Examples](https://flisk.sh/docs/examples/) · [Awesome Flisk](https://github.com/flisk-sh/awesome-tdk-framework) · [Demo](https://flisk-sh.github.io/flisk-demo-animation/) · [Report a bug](https://github.com/flisk-sh/flisk/issues)
40
44
 
41
45
  </div>
42
46
 
@@ -48,46 +52,46 @@ LLMs are brilliant at writing application logic, but notoriously terrible at mai
48
52
 
49
53
  ## Build your app in one click
50
54
 
51
- Fastest way (recommended): open the [Flisk starter](https://github.com/flisk-sh/tdk-cli-starter) in a ready-to-use environment.
55
+ Fastest way (recommended): open the [Flisk starter](https://github.com/flisk-sh/flisk-cli-starter) in a ready-to-use environment.
52
56
 
53
57
  <table align="center">
54
- <tr><td align="center" valign="middle" width="33%"><a href="https://v0.dev/"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-v0.svg" alt="Build app with v0" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://gitpod.io/#https://github.com/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-gitpod.svg" alt="Build app with Gitpod" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://lovable.dev/"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-lovable.svg" alt="Build app with Lovable" height="32"></a></td></tr>
55
- <tr><td align="center" valign="middle" width="33%"><a href="https://bolt.new/"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-bolt.svg" alt="Build app with Bolt.new" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="vscode://vscode.git/clone?url=https://github.com/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-vscode.svg" alt="Build app with VS Code" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://github.com/codespaces/new/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-codespaces.svg" alt="Build app with Codespaces" height="32"></a></td></tr>
58
+ <tr><td align="center" valign="middle" width="33%"><a href="https://v0.dev/?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-v0.svg" alt="Build app with v0" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://gitpod.io/#https://github.com/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-gitpod.svg" alt="Build app with Gitpod" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://lovable.dev/#prompt=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-lovable.svg" alt="Build app with Lovable" height="32"></a></td></tr>
59
+ <tr><td align="center" valign="middle" width="33%"><a href="https://bolt.new/?prompt=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-bolt.svg" alt="Build app with Bolt.new" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="vscode://vscode.git/clone?url=https://github.com/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-vscode.svg" alt="Build app with VS Code" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://github.com/codespaces/new/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-codespaces.svg" alt="Build app with Codespaces" height="32"></a></td></tr>
56
60
  </table>
57
61
 
58
62
  <details>
59
- <summary>More build tools (7)</summary>
63
+ <summary>More build tools (6)</summary>
60
64
 
61
65
  <table align="center">
62
- <tr><td align="center" valign="middle" width="33%"><a href="https://replit.com/github/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-replit.svg" alt="Build app with Replit" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://glitch.com/edit/#!/import/github/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-glitch.svg" alt="Build app with Glitch" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://devpod.sh/open#https://github.com/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-devpod.svg" alt="Build app with DevPod" height="32"></a></td></tr>
63
- <tr><td align="center" valign="middle" width="33%"><a href="https://stackblitz.com/github/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-stackblitz.svg" alt="Build app with StackBlitz" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://codesandbox.io/p/github/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-codesandbox.svg" alt="Build app with CodeSandbox" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-dev-containers.svg" alt="Build app with Dev Containers" height="32"></a></td></tr>
64
- <tr><td align="center" valign="middle" width="33%"><a href="https://studio.firebase.google.com/import?url=https://github.com/flisk-sh/tdk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/build-firebase-studio.svg" alt="Build app with Firebase Studio" height="32"></a></td></tr>
66
+ <tr><td align="center" valign="middle" width="33%"><a href="https://replit.com/github/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-replit.svg" alt="Build app with Replit" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://devpod.sh/open#https://github.com/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-devpod.svg" alt="Build app with DevPod" height="32"></a></td></tr>
67
+ <tr><td align="center" valign="middle" width="33%"><a href="https://stackblitz.com/github/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-stackblitz.svg" alt="Build app with StackBlitz" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://codesandbox.io/p/github/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-codesandbox.svg" alt="Build app with CodeSandbox" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-dev-containers.svg" alt="Build app with Dev Containers" height="32"></a></td></tr>
68
+ <tr><td align="center" valign="middle" width="33%"><a href="https://studio.firebase.google.com/import?url=https://github.com/flisk-sh/flisk-cli-starter"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/build-firebase-studio.svg" alt="Build app with Firebase Studio" height="32"></a></td></tr>
65
69
  </table>
66
70
 
67
71
  </details>
68
72
 
69
73
  <table align="center">
70
- <tr><td align="center" valign="middle" width="33%"><a href="https://grok.com/?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/ai-grok.svg" alt="Build app with Grok" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/ai-claude.svg" alt="Build app with Claude" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://chatgpt.com/?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/ai-chatgpt.svg" alt="Build app with ChatGPT" height="32"></a></td></tr>
74
+ <tr><td align="center" valign="middle" width="33%"><a href="https://grok.com/?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/ai-grok.svg" alt="Build app with Grok" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/ai-claude.svg" alt="Build app with Claude" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://chatgpt.com/?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/ai-chatgpt.svg" alt="Build app with ChatGPT" height="32"></a></td></tr>
71
75
  </table>
72
76
 
73
77
  ### Deploy
74
78
 
75
79
  <table align="center">
76
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20AWS.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-aws.svg" alt="Deploy to AWS" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Azure.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-azure.svg" alt="Deploy to Azure" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Vercel.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-vercel.svg" alt="Deploy to Vercel" height="32"></a></td></tr>
77
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Netlify.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-netlify.svg" alt="Deploy to Netlify" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Heroku.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-heroku.svg" alt="Deploy to Heroku" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Railway.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-railway.svg" alt="Deploy to Railway" height="32"></a></td></tr>
78
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Cloudflare.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-cloudflare.svg" alt="Deploy to Cloudflare" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20DigitalOcean.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-digitalocean.svg" alt="Deploy to DigitalOcean" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Google%20Cloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-google-cloud.svg" alt="Deploy to Google Cloud" height="32"></a></td></tr>
80
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20AWS.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-aws.svg" alt="Deploy to AWS" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Azure.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-azure.svg" alt="Deploy to Azure" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Vercel.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-vercel.svg" alt="Deploy to Vercel" height="32"></a></td></tr>
81
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Netlify.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-netlify.svg" alt="Deploy to Netlify" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Heroku.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-heroku.svg" alt="Deploy to Heroku" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Railway.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-railway.svg" alt="Deploy to Railway" height="32"></a></td></tr>
82
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Cloudflare.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-cloudflare.svg" alt="Deploy to Cloudflare" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20DigitalOcean.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-digitalocean.svg" alt="Deploy to DigitalOcean" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Google%20Cloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-google-cloud.svg" alt="Deploy to Google Cloud" height="32"></a></td></tr>
79
83
  </table>
80
84
 
81
85
  <details>
82
86
  <summary>More clouds and hosts (18)</summary>
83
87
 
84
88
  <table align="center">
85
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20SSH.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-ssh.svg" alt="Deploy to SSH" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Civo.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-civo.svg" alt="Deploy to Civo" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Flow.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-flow.svg" alt="Deploy to Flow" height="32"></a></td></tr>
86
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Vultr.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-vultr.svg" alt="Deploy to Vultr" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Fly.io.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-flyio.svg" alt="Deploy to Fly.io" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Linode.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-linode.svg" alt="Deploy to Linode" height="32"></a></td></tr>
87
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Render.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-render.svg" alt="Deploy to Render" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Docker.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-docker.svg" alt="Deploy to Docker" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Hetzner.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-hetzner.svg" alt="Deploy to Hetzner" height="32"></a></td></tr>
88
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Cloudbit.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-cloudbit.svg" alt="Deploy to Cloudbit" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Exoscale.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-exoscale.svg" alt="Deploy to Exoscale" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Scaleway.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-scaleway.svg" alt="Deploy to Scaleway" height="32"></a></td></tr>
89
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Multipass.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-multipass.svg" alt="Deploy to Multipass" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20OVHcloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-ovhcloud.svg" alt="Deploy to OVHcloud" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20IBM%20Cloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-ibm-cloud.svg" alt="Deploy to IBM Cloud" height="32"></a></td></tr>
90
- <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Kubernetes.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-kubernetes.svg" alt="Deploy to Kubernetes" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Oracle%20Cloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-oracle-cloud.svg" alt="Deploy to Oracle Cloud" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20OpenTelekomCloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/deploy-opentelekomcloud.svg" alt="Deploy to OpenTelekomCloud" height="32"></a></td></tr>
89
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20SSH.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-ssh.svg" alt="Deploy to SSH" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Civo.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-civo.svg" alt="Deploy to Civo" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Flow.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-flow.svg" alt="Deploy to Flow" height="32"></a></td></tr>
90
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Vultr.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-vultr.svg" alt="Deploy to Vultr" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Fly.io.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-flyio.svg" alt="Deploy to Fly.io" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Linode.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-linode.svg" alt="Deploy to Linode" height="32"></a></td></tr>
91
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Render.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-render.svg" alt="Deploy to Render" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Docker.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-docker.svg" alt="Deploy to Docker" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Hetzner.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-hetzner.svg" alt="Deploy to Hetzner" height="32"></a></td></tr>
92
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Cloudbit.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-cloudbit.svg" alt="Deploy to Cloudbit" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Exoscale.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-exoscale.svg" alt="Deploy to Exoscale" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Scaleway.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-scaleway.svg" alt="Deploy to Scaleway" height="32"></a></td></tr>
93
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Multipass.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-multipass.svg" alt="Deploy to Multipass" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20OVHcloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-ovhcloud.svg" alt="Deploy to OVHcloud" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20IBM%20Cloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-ibm-cloud.svg" alt="Deploy to IBM Cloud" height="32"></a></td></tr>
94
+ <tr><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Kubernetes.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-kubernetes.svg" alt="Deploy to Kubernetes" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20Oracle%20Cloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-oracle-cloud.svg" alt="Deploy to Oracle Cloud" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://claude.ai/new?q=Deploy%20the%20app%20I%20built%20with%20the%20Flisk%20CLI%20to%20OpenTelekomCloud.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/deploy-opentelekomcloud.svg" alt="Deploy to OpenTelekomCloud" height="32"></a></td></tr>
91
95
  </table>
92
96
 
93
97
  </details>
@@ -95,17 +99,17 @@ Fastest way (recommended): open the [Flisk starter](https://github.com/flisk-sh/
95
99
  ### Build app with your AI agent
96
100
 
97
101
  <table align="center">
98
- <tr><td align="center" valign="middle" width="33%"><a href="https://devin.ai"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/devin.svg" alt="Build app with Devin" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="codex://new?prompt=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/codex.svg" alt="Build app with Codex" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="cursor://anysphere.cursor-deeplink/prompt?text=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/cursor.svg" alt="Build app with Cursor" height="32"></a></td></tr>
99
- <tr><td align="center" valign="middle" width="33%"><a href="https://windsurf.com"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/windsurf.svg" alt="Build app with Windsurf" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="claude://code/new?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Ftdk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/claude-code.svg" alt="Build app with Claude Code" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://github.com/features/copilot"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/github-copilot.svg" alt="Build app with GitHub Copilot" height="32"></a></td></tr>
102
+ <tr><td align="center" valign="middle" width="33%"><a href="https://app.devin.ai/?prompt=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/devin.svg" alt="Build app with Devin" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="codex://new?prompt=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/codex.svg" alt="Build app with Codex" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="cursor://anysphere.cursor-deeplink/prompt?text=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/cursor.svg" alt="Build app with Cursor" height="32"></a></td></tr>
103
+ <tr><td align="center" valign="middle" width="33%"><a href="https://windsurf.com"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/windsurf.svg" alt="Build app with Windsurf" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="claude://code/new?q=Build%20an%20app%20with%20the%20Flisk%20CLI.%20Read%20the%20setup%20guide%20at%20https%3A%2F%2Fgithub.com%2Fflisk-sh%2Fflisk-cli-starter%20and%20walk%20me%20through%20it%20step%20by%20step."><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/claude-code.svg" alt="Build app with Claude Code" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://github.com/features/copilot"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/github-copilot.svg" alt="Build app with GitHub Copilot" height="32"></a></td></tr>
100
104
  </table>
101
105
 
102
106
  <details>
103
107
  <summary>More agents (7)</summary>
104
108
 
105
109
  <table align="center">
106
- <tr><td align="center" valign="middle" width="33%"><a href="https://zed.dev"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/zed.svg" alt="Build app with Zed" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://aider.chat/"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/aider.svg" alt="Build app with Aider" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://coder.com"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/coder.svg" alt="Build app with Coder" height="32"></a></td></tr>
107
- <tr><td align="center" valign="middle" width="33%"><a href="https://github.com/google-gemini/gemini-cli"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/gemini-cli.svg" alt="Build app with Gemini CLI" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://antigravity.google/"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/antigravity.svg" alt="Build app with Antigravity" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://codeanywhere.com"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/codeanywhere.svg" alt="Build app with Codeanywhere" height="32"></a></td></tr>
108
- <tr><td align="center" valign="middle" width="33%"><a href="https://www.augmentcode.com"><img src="https://raw.githubusercontent.com/flisk-sh/tdk-cli-starter/main/.github/buttons/augment-code.svg" alt="Build app with Augment Code" height="32"></a></td></tr>
110
+ <tr><td align="center" valign="middle" width="33%"><a href="https://zed.dev"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/zed.svg" alt="Build app with Zed" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://aider.chat/"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/aider.svg" alt="Build app with Aider" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://coder.com"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/coder.svg" alt="Build app with Coder" height="32"></a></td></tr>
111
+ <tr><td align="center" valign="middle" width="33%"><a href="https://github.com/google-gemini/gemini-cli"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/gemini-cli.svg" alt="Build app with Gemini CLI" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://antigravity.google/"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/antigravity.svg" alt="Build app with Antigravity" height="32"></a></td><td align="center" valign="middle" width="33%"><a href="https://codeanywhere.com"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/codeanywhere.svg" alt="Build app with Codeanywhere" height="32"></a></td></tr>
112
+ <tr><td align="center" valign="middle" width="33%"><a href="https://www.augmentcode.com"><img src="https://raw.githubusercontent.com/flisk-sh/flisk-cli-starter/main/.github/buttons/augment-code.svg" alt="Build app with Augment Code" height="32"></a></td></tr>
109
113
  </table>
110
114
 
111
115
  </details>
@@ -143,7 +147,7 @@ Docker runs the containers. Tilt watches services and live-updates containers wh
143
147
  > [official website](https://flisk.sh/). Follow the installation links from these official sources.
144
148
  > A similar repository name or copied README does not establish that a download is official.
145
149
 
146
- <p align="center"><strong><a href="#quick-start">Quick start</a> · <a href="#why-tdk-cli">Why Flisk</a> · <a href="#examples">Examples</a> · <a href="#installation">Installation</a> · <a href="#faq">FAQ</a> · <a href="#docs">Documentation</a></strong></p>
150
+ <p align="center"><strong><a href="#quick-start">Quick start</a> · <a href="#why-flisk-cli">Why Flisk</a> · <a href="#examples">Examples</a> · <a href="#installation">Installation</a> · <a href="#faq">FAQ</a> · <a href="#docs">Documentation</a></strong></p>
147
151
 
148
152
  If Flisk helps you run your local stack, a ⭐ on [this repo](https://github.com/flisk-sh/flisk) helps other developers find it.
149
153
 
@@ -189,14 +193,14 @@ Production deployment stays with your own tools (Helm, Argo CD, or Kustomize).
189
193
 
190
194
  ## Who uses Flisk
191
195
 
192
- Teams that run `flisk up` on their own code (listed with their consent in [ADOPTERS.md](ADOPTERS.md)):
196
+ Teams that run `flisk up` on their own code (listed with their consent in [ADOPTERS.md](docs/project/ADOPTERS.md)):
193
197
 
194
198
  - [Lekast](https://www.linkedin.com/company/lekast/), Flisk 1.3.178
195
199
  - [mfin.services](https://medium.com/@mfin.services), Flisk 1.3.140
196
200
  - [MakeOffer](https://www.linkedin.com/company/makeofferio), Flisk 1.3.180
197
201
  - [Red Moon Digital](https://redmoon.digital/), Flisk 1.3.81
198
202
 
199
- Using Flisk too? [Tell us](https://github.com/flisk-sh/flisk/issues/new?template=we-use-flisk.yml) or [add a row to ADOPTERS.md](ADOPTERS.md).
203
+ Using Flisk too? [Tell us](https://github.com/flisk-sh/flisk/issues/new?template=we-use-flisk.yml) or [add a row to ADOPTERS.md](docs/project/ADOPTERS.md).
200
204
 
201
205
  If Flisk saves you time, a ⭐ on [this repo](https://github.com/flisk-sh/flisk) helps other developers find it.
202
206
 
@@ -262,7 +266,7 @@ flisk up shop
262
266
  curl http://api.shop.localhost/api/orders/health
263
267
  ```
264
268
 
265
- `flisk up` prints the host ports it chose. It uses port 80 when it is free, so URLs carry no port. Otherwise it picks one from 8080-8180, and the URLs it prints include that port (on Linux and WSL2 a non-root user cannot check port 80, so the range is used there). Use the URL `flisk up` prints, or set `TDK_HTTP_PORT`. A resource named `orders-api` is served at `/api/orders` (a trailing `-api` is dropped); `flisk up` prints the exact URLs.
269
+ `flisk up` prints the host ports it chose. It uses port 80 when it is free, so URLs carry no port. Otherwise it picks one from 8080-8180, and the URLs it prints include that port (on Linux and WSL2 a non-root user cannot check port 80, so the range is used there). Use the URL `flisk up` prints, or set `FLISK_HTTP_PORT`. A resource named `orders-api` is served at `/api/orders` (a trailing `-api` is dropped); `flisk up` prints the exact URLs.
266
270
 
267
271
  <p align="center">
268
272
  <img src="docs/assets/demo.svg" alt="Flisk scaffolding a backend and a frontend, then listing the stack" width="900" />
@@ -289,12 +293,12 @@ services/store/storefront-web/
289
293
  You do not need to write the nginx config, Dockerfile, or a `docker-compose.yml` for this local stack. `flisk up` uses Docker and Tilt to start it. The [generated-files guide](docs/generated-files.md) lists the other outputs and explains how regeneration and drift checks work.
290
294
 
291
295
  <p align="center">
292
- <img src="docs/assets/tdk-cli-top-9-uses.jpg" alt="Top 9 places to use Flisk CLI" width="900" />
296
+ <img src="docs/assets/flisk-cli-top-9-uses.jpg" alt="Top 9 places to use Flisk CLI" width="900" />
293
297
  </p>
294
298
 
295
299
  If Helm, Compose, or your existing Tilt setup already gives you a working local environment, keep using it. Flisk CLI is for engineers managing several services who want a clear local service contract and one command to start the stack.
296
300
 
297
- See [how Flisk compares to alternative dev tools](docs/comparison.md), [how Flisk CLI works alongside Helm](https://flisk.sh/docs/with-helm/), the [service schema](engine/schemas/service-schema.json), and the [project configuration schema](engine/schemas/project-schema.json).
301
+ See [how Flisk compares to alternative dev tools](docs/comparison.md), [how Flisk CLI works alongside Helm](https://flisk.sh/docs/with-helm/), the [service schema](runtime/engine/schemas/service-schema.json), and the [project configuration schema](runtime/engine/schemas/project-schema.json).
298
302
 
299
303
  ## Terminal UI
300
304
 
@@ -351,7 +355,7 @@ Public npm is the recommended default. To install through GitHub Packages instea
351
355
  - You do not want `service.json` manifests and generated local configuration.
352
356
 
353
357
  ## Troubleshooting
354
- Set `TDK_DEBUG=1` before running `flisk up --verbose` to include Starlark debug logs in Tilt output.
358
+ Set `FLISK_DEBUG=1` before running `flisk up --verbose` to include Starlark debug logs in Tilt output.
355
359
 
356
360
  ## Docs
357
361
 
@@ -388,9 +392,9 @@ Set `TDK_DEBUG=1` before running `flisk up --verbose` to include Starlark debug
388
392
 
389
393
  ## History
390
394
 
391
- Flisk development began on 21 April 2026. The archived, read-only [flisk-sh/tdk](https://github.com/flisk-sh/tdk)
392
- repository records its [first commit](https://github.com/flisk-sh/tdk/commit/1714637637196ed54cbfa18534230a782c05ab36)
393
- ("Initial commit: Flisk specs, generators, CLI, and standards") from that day. A separate `tdk-cli` history spanning 21 April to
395
+ Flisk development began on 21 April 2026. The archived, read-only [flisk-sh/flisk](https://github.com/flisk-sh/flisk)
396
+ repository records its [first commit](https://github.com/flisk-sh/flisk/commit/1714637637196ed54cbfa18534230a782c05ab36)
397
+ ("Initial commit: Flisk specs, generators, CLI, and standards") from that day. A separate `flisk-cli` history spanning 21 April to
394
398
  18 September 2026 was [imported into this repository](https://github.com/flisk-sh/flisk/pull/670) as 306 filtered
395
399
  commits. Those commits are now ancestors of `main`; the import did not change the source tree.
396
400
 
@@ -399,7 +403,7 @@ published on 21 September 2026. Those dates describe the current repository and
399
403
 
400
404
  ## Requirements and support
401
405
 
402
- For the local runtime, install Docker (Desktop, OrbStack, or Colima; Engine 25+, Compose 2.20.2+) and [Tilt](https://docs.tilt.dev/install.html). Bun 1.2+ is used by the default generated services. Flisk selects host ports from bounded fallback ranges for HTTP, HTTPS, and Postgres; set `TDK_HTTP_PORT`, `TDK_HTTPS_PORT`, or `TDK_POSTGRES_PORT` to override them. Dev ports listen on `127.0.0.1` only, so other machines on your network cannot reach them. Set `TDK_BIND_ADDRESS` (for example `0.0.0.0`, to test from a phone) to change that; `flisk doctor` warns when it is a wildcard address. Flisk supports macOS, Linux, and Windows through WSL2 Ubuntu; native Windows supports CLI inspection only. Run `flisk doctor` to check local readiness (supports `--no-ping` to skip service health checks and `--ping-timeout <ms>`). See [WSL2 setup](docs/wsl2.md).
406
+ For the local runtime, install Docker (Desktop, OrbStack, or Colima; Engine 25+, Compose 2.20.2+) and [Tilt](https://docs.tilt.dev/install.html). Bun 1.2+ is used by the default generated services. Flisk selects host ports from bounded fallback ranges for HTTP, HTTPS, and Postgres; set `FLISK_HTTP_PORT`, `FLISK_HTTPS_PORT`, or `FLISK_POSTGRES_PORT` to override them. Dev ports listen on `127.0.0.1` only, so other machines on your network cannot reach them. Set `FLISK_BIND_ADDRESS` (for example `0.0.0.0`, to test from a phone) to change that; `flisk doctor` warns when it is a wildcard address. Flisk supports macOS, Linux, and Windows through WSL2 Ubuntu; native Windows supports CLI inspection only. Run `flisk doctor` to check local readiness (supports `--no-ping` to skip service health checks and `--ping-timeout <ms>`). See [WSL2 setup](docs/wsl2.md).
403
407
 
404
408
  On native Windows, `flisk --version`, `flisk doctor`, and `flisk up --dry-run` are inspect-only commands. `flisk up` exits 1 with “Landscape startup needs Ubuntu on WSL2. Native Windows is inspect-only.”
405
409
 
@@ -473,8 +477,8 @@ Then run `flisk doctor` and retry the same task. If the problem persists, [open
473
477
 
474
478
  ## Contributing and license
475
479
 
476
- Contributions are welcome. Start with [CONTRIBUTING.md](CONTRIBUTING.md) and the [contributor guide](docs/contributing/README.md). For the project structure, see the [architecture and repository map](docs/project-overview.md). To review pull requests, see [Review a pull request](docs/contributing/04-review-a-pr.md). Report security issues using [SECURITY.md](SECURITY.md).
480
+ Contributions are welcome. Start with [CONTRIBUTING.md](.github/CONTRIBUTING.md) and the [contributor guide](docs/contributing/README.md). For the project structure, see the [architecture and repository map](docs/project-overview.md). To review pull requests, see [Review a pull request](docs/contributing/04-review-a-pr.md). Report security issues using [SECURITY.md](.github/SECURITY.md).
477
481
 
478
- Flisk is MIT-licensed; see [LICENSE](LICENSE). The [license boundary](GOVERNANCE.md#license-boundary-and-donation-scope) says which code is MIT and which is downloaded with a key.
482
+ Flisk is MIT-licensed; see [LICENSE](LICENSE). The [license boundary](docs/project/GOVERNANCE.md#license-boundary-and-donation-scope) says which code is MIT and which is downloaded with a key.
479
483
 
480
- Project governance: [GOVERNANCE.md](GOVERNANCE.md), [MAINTAINERS.md](MAINTAINERS.md), [ADOPTERS.md](ADOPTERS.md).
484
+ Project governance: [GOVERNANCE.md](docs/project/GOVERNANCE.md), [MAINTAINERS.md](docs/project/MAINTAINERS.md), [ADOPTERS.md](docs/project/ADOPTERS.md).
@@ -33,7 +33,7 @@ async function getClient(): Promise<Client> {
33
33
  await c.connect();
34
34
  if (!initialized) {
35
35
  await c.query(\`
36
- CREATE TABLE IF NOT EXISTS tdk_agent_sessions (
36
+ CREATE TABLE IF NOT EXISTS flisk_agent_sessions (
37
37
  session_id VARCHAR(128) PRIMARY KEY,
38
38
  messages JSONB NOT NULL DEFAULT '[]'::jsonb,
39
39
  updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
@@ -59,7 +59,7 @@ const store = {
59
59
  async load(sessionId: string): Promise<Checkpoint> {
60
60
  try {
61
61
  const c = await getClient();
62
- const res = await c.query('SELECT messages FROM tdk_agent_sessions WHERE session_id = $1', [sessionId]);
62
+ const res = await c.query('SELECT messages FROM flisk_agent_sessions WHERE session_id = $1', [sessionId]);
63
63
  if (res.rows.length > 0 && res.rows[0].messages) {
64
64
  return { sessionId, messages: res.rows[0].messages };
65
65
  }
@@ -72,7 +72,7 @@ const store = {
72
72
  async save(checkpoint: Checkpoint): Promise<void> {
73
73
  const c = await getClient();
74
74
  await c.query(
75
- \`INSERT INTO tdk_agent_sessions (session_id, messages, updated_at)
75
+ \`INSERT INTO flisk_agent_sessions (session_id, messages, updated_at)
76
76
  VALUES ($1, $2, NOW())
77
77
  ON CONFLICT (session_id) DO UPDATE
78
78
  SET messages = EXCLUDED.messages, updated_at = NOW()\`,
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) 2026 Flisk Landscape contributors
2
2
  // SPDX-License-Identifier: MIT
3
- import { TdkError } from "../utils/errors.js";
3
+ import { FliskError } from "../utils/errors.js";
4
4
  import { customAgentRuntime } from "./custom.js";
5
5
  /**
6
6
  * Agent runtimes an `agent` resource can be scaffolded with. No runtime is privileged: each is a scaffold plus the
@@ -16,7 +16,7 @@ export function resolveAgentRuntime(runtimeId) {
16
16
  const provider = AGENT_RUNTIMES[id];
17
17
  if (!provider) {
18
18
  const supported = Object.keys(AGENT_RUNTIMES).join(", ");
19
- throw new TdkError(`Unknown agent runtime "${id}". Supported runtimes: ${supported}.`, [
19
+ throw new FliskError(`Unknown agent runtime "${id}". Supported runtimes: ${supported}.`, [
20
20
  `Use one of: ${supported}`,
21
21
  `Omit --runtime to use ${DEFAULT_AGENT_RUNTIME}`,
22
22
  ]);
@@ -26,7 +26,7 @@ export function resolveAgentRuntime(runtimeId) {
26
26
  export function resolveAgentDurability(value) {
27
27
  const durability = value ?? "files";
28
28
  if (!AGENT_DURABILITY_OPTIONS.includes(durability)) {
29
- throw new TdkError(`Unknown --durability "${durability}".`, [
29
+ throw new FliskError(`Unknown --durability "${durability}".`, [
30
30
  `Use one of: ${AGENT_DURABILITY_OPTIONS.join(", ")}`,
31
31
  ]);
32
32
  }
@@ -3,7 +3,7 @@
3
3
  import { resolveAgentRuntime } from "../agent-runtimes/registry.js";
4
4
  import { getBackendIndexTemplate } from "../backend-languages/bun.js";
5
5
  import { BACKEND_LANGUAGES, getBackendLanguage } from "../backend-languages/registry.js";
6
- import { TdkError } from "../utils/errors.js";
6
+ import { FliskError } from "../utils/errors.js";
7
7
  import { elysiaBackendProvider } from "./elysia.js";
8
8
  import { expressBackendProvider } from "./express.js";
9
9
  import { fastifyBackendProvider } from "./fastify.js";
@@ -43,7 +43,7 @@ function compatibleLanguages(frameworkId) {
43
43
  // Only the "a language that owns its runtime cannot be combined with a framework" rule is
44
44
  // expected here. Any other error is a bug and must surface instead of silently shrinking
45
45
  // the language column.
46
- if (error instanceof TdkError)
46
+ if (error instanceof FliskError)
47
47
  return false;
48
48
  throw error;
49
49
  }
@@ -83,7 +83,7 @@ export function getBackendFramework(frameworkId) {
83
83
  const provider = Object.hasOwn(BACKEND_FRAMEWORKS, id) ? BACKEND_FRAMEWORKS[id] : undefined;
84
84
  if (!provider) {
85
85
  const supportedIds = Object.keys(BACKEND_FRAMEWORKS).join(", ");
86
- throw new TdkError(`Unknown backend framework "${frameworkId}". Supported frameworks: ${supportedIds}.`, [`Use one of: ${supportedIds}`, `Omit --framework to use ${DEFAULT_BACKEND_FRAMEWORK}`]);
86
+ throw new FliskError(`Unknown backend framework "${frameworkId}". Supported frameworks: ${supportedIds}.`, [`Use one of: ${supportedIds}`, `Omit --framework to use ${DEFAULT_BACKEND_FRAMEWORK}`]);
87
87
  }
88
88
  return provider;
89
89
  }
@@ -95,13 +95,13 @@ export function resolveBackendFramework(resourceType, frameworkId, language) {
95
95
  // `mcp` is a resource type with one fixed scaffold, so a framework choice does not apply to it.
96
96
  if (resourceType === "mcp") {
97
97
  if (frameworkId !== undefined) {
98
- throw new TdkError("--framework cannot be combined with --type mcp.", [
98
+ throw new FliskError("--framework cannot be combined with --type mcp.", [
99
99
  "An mcp resource always scaffolds a Model Context Protocol server",
100
100
  "Drop --framework, or use --type backend --framework <id>",
101
101
  ]);
102
102
  }
103
103
  if (language?.createFiles) {
104
- throw new TdkError(`--language ${language.id} cannot be combined with --type mcp.`, [
104
+ throw new FliskError(`--language ${language.id} cannot be combined with --type mcp.`, [
105
105
  "An mcp resource is a Bun service; drop --language",
106
106
  ]);
107
107
  }
@@ -111,12 +111,12 @@ export function resolveBackendFramework(resourceType, frameworkId, language) {
111
111
  // `flisk resource` validates --runtime before it scaffolds, so the package.json and tsconfig always match the chosen runtime.
112
112
  if (resourceType === "agent") {
113
113
  if (frameworkId !== undefined && frameworkId !== "custom") {
114
- throw new TdkError("--framework cannot be combined with --type agent.", [
114
+ throw new FliskError("--framework cannot be combined with --type agent.", [
115
115
  "An agent resource is scaffolded by an agent runtime; use --runtime <id> instead",
116
116
  ]);
117
117
  }
118
118
  if (language?.createFiles) {
119
- throw new TdkError(`--language ${language.id} cannot be combined with --type agent.`, [
119
+ throw new FliskError(`--language ${language.id} cannot be combined with --type agent.`, [
120
120
  "An agent resource is a Bun service; drop --language",
121
121
  ]);
122
122
  }
@@ -125,7 +125,7 @@ export function resolveBackendFramework(resourceType, frameworkId, language) {
125
125
  if (resourceType !== "backend" || frameworkId === undefined)
126
126
  return undefined;
127
127
  if (language?.createFiles) {
128
- throw new TdkError(`--framework cannot be combined with --language ${language.id}.`, [
128
+ throw new FliskError(`--framework cannot be combined with --language ${language.id}.`, [
129
129
  `The ${language.id} provider owns its runtime and framework`,
130
130
  "Drop --framework, or use --language bun",
131
131
  ]);
@@ -1,4 +1,7 @@
1
- export const PYTHON_DEV_COMMAND = "uvicorn main:app --app-dir src --host 0.0.0.0 --port ${PORT:-4000} --reload --reload-dir src";
1
+ // ${PORT:-4000} is shell parameter expansion. Split so Biome does not read it
2
+ // as a JS template placeholder and the shell still receives the literal form.
3
+ export const PYTHON_DEV_COMMAND = "uvicorn main:app --app-dir src --host 0.0.0.0 --port $" +
4
+ "{PORT:-4000} --reload --reload-dir src";
2
5
  export const pythonBackendProvider = {
3
6
  id: "python",
4
7
  label: "Python 3.12 + FastAPI",
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) 2026 Flisk Landscape contributors
2
2
  // SPDX-License-Identifier: MIT
3
- import { TdkError } from "../utils/errors.js";
3
+ import { FliskError } from "../utils/errors.js";
4
4
  import { bunBackendProvider } from "./bun.js";
5
5
  import { goBackendProvider } from "./go.js";
6
6
  import { nodeBackendProvider } from "./node.js";
@@ -19,7 +19,7 @@ export function getBackendLanguage(languageId) {
19
19
  const provider = Object.hasOwn(BACKEND_LANGUAGES, id) ? BACKEND_LANGUAGES[id] : undefined;
20
20
  if (!provider) {
21
21
  const supportedIds = Object.keys(BACKEND_LANGUAGES).join(", ");
22
- throw new TdkError(`Unknown backend language "${languageId}". Supported languages: ${supportedIds}.`, [`Use one of: ${supportedIds}`, `Omit --language to use ${DEFAULT_BACKEND_LANGUAGE}`]);
22
+ throw new FliskError(`Unknown backend language "${languageId}". Supported languages: ${supportedIds}.`, [`Use one of: ${supportedIds}`, `Omit --language to use ${DEFAULT_BACKEND_LANGUAGE}`]);
23
23
  }
24
24
  return provider;
25
25
  }
@@ -27,7 +27,7 @@ export function getBackendLanguage(languageId) {
27
27
  export function resolveBackendLanguage(resourceType, languageId) {
28
28
  if (resourceType !== "backend") {
29
29
  if (languageId !== undefined) {
30
- throw new TdkError("--language can only be used with --type backend.", [
30
+ throw new FliskError("--language can only be used with --type backend.", [
31
31
  "Add --type backend, or drop --language for this resource type",
32
32
  ]);
33
33
  }
package/cli/dist/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  // Copyright (c) 2026 Flisk Landscape contributors
3
3
  // SPDX-License-Identifier: MIT
4
+ import "./utils/env-compat-init.js";
4
5
  import { existsSync, mkdirSync, readdirSync, rmSync, writeFileSync } from "node:fs";
5
6
  import { homedir } from "node:os";
6
7
  import { isAbsolute, join, resolve } from "node:path";
@@ -32,7 +33,7 @@ if (templateArg) {
32
33
  // Native Windows cannot boot a stack, so the one-command flow refuses before it clones a
33
34
  // template, installs the CLI globally or writes into the home directory.
34
35
  const { nativeWindowsStackRefusal } = await import("./utils/native-windows.js");
35
- const platformRefusal = nativeWindowsStackRefusal(process.platform, process.env.TDK_ALLOW_NATIVE_WINDOWS);
36
+ const platformRefusal = nativeWindowsStackRefusal(process.platform, process.env.FLISK_ALLOW_NATIVE_WINDOWS);
36
37
  if (platformRefusal) {
37
38
  console.error(chalk.red(`❌ ${platformRefusal}`));
38
39
  console.error(chalk.gray(" Run it from Ubuntu in WSL2. Guide: docs/wsl2.md"));
@@ -71,7 +72,7 @@ if (templateArg) {
71
72
  // dependency install are skipped, so the recording starts on the interesting part.
72
73
  let reused = false;
73
74
  if (fixedDir && existsSync(destination)) {
74
- if (!existsSync(join(destination, ".tdk", "project.json"))) {
75
+ if (!existsSync(join(destination, ".flisk", "project.json"))) {
75
76
  console.log(chalk.yellow(`${destination} already exists and is not a Flisk project.`));
76
77
  console.log(chalk.gray(" Remove it, or use --project <dir> to put the demo somewhere else."));
77
78
  process.exit(1);
@@ -230,7 +231,7 @@ if (templateArg) {
230
231
  const first = await pickReadyFrontend(targets, 30_000);
231
232
  if (first)
232
233
  await openUrl(first.url);
233
- const generated = countFiles(join(destination, ".tdk"));
234
+ const generated = countFiles(join(destination, ".flisk"));
234
235
  const wired = countFiles(destination, ["node_modules", ".git"]);
235
236
  stage.update({ subtitle: `${templateArg} starter \u00b7 ${countLabel(wired, "file")} wired` });
236
237
  stage.finish({
@@ -8,24 +8,24 @@ import { fileURLToPath } from "node:url";
8
8
  import { expect } from "vitest";
9
9
  const __dirname = dirname(fileURLToPath(import.meta.url));
10
10
  export const repoRoot = resolve(__dirname, "../../../..");
11
- export const cliBin = join(repoRoot, "cli", "bin", "tdk.js");
12
- export function runTdk(args, cwd, input) {
11
+ export const cliBin = join(repoRoot, "cli", "bin", "flisk.js");
12
+ export function runFlisk(args, cwd, input) {
13
13
  return execFileSync(process.execPath, [cliBin, ...args], {
14
14
  cwd,
15
15
  encoding: "utf-8",
16
16
  input,
17
17
  env: {
18
18
  ...process.env,
19
- TDK_EXTENSION_SOURCE: repoRoot,
19
+ FLISK_EXTENSION_SOURCE: repoRoot,
20
20
  },
21
21
  });
22
22
  }
23
23
  /** `flisk doctor` exits non-zero on machines without Docker, so read its output either way. */
24
- export function runTdkAllowFailure(args, cwd) {
24
+ export function runFliskAllowFailure(args, cwd) {
25
25
  const result = spawnSync(process.execPath, [cliBin, ...args], {
26
26
  cwd,
27
27
  encoding: "utf-8",
28
- env: { ...process.env, TDK_EXTENSION_SOURCE: repoRoot },
28
+ env: { ...process.env, FLISK_EXTENSION_SOURCE: repoRoot },
29
29
  });
30
30
  return `${result.stdout}${result.stderr}`;
31
31
  }
@@ -36,7 +36,7 @@ export function runTdkAllowFailure(args, cwd) {
36
36
  * generate its own.
37
37
  */
38
38
  export function copyProject(source) {
39
- const target = mkdtempSync(join(tmpdir(), "tdk-project-copy-"));
39
+ const target = mkdtempSync(join(tmpdir(), "flisk-project-copy-"));
40
40
  cpSync(source, target, { recursive: true });
41
41
  return target;
42
42
  }