@tdk-landscape/tdk-cli-core 1.3.53 → 1.3.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +1 -1
- package/cli/dist/commands/doctor.js +21 -3
- package/cli/dist/commands/upgrade.js +7 -7
- package/cli/dist/generator/extension-fetch.js +16 -9
- package/cli/dist/utils/spinner.js +39 -0
- package/cli/package.json +1 -2
- package/package.json +16 -2
- package/.claude/skills/layer-autoresearch/SKILL.md +0 -48
- package/.claude/skills/tdk-troubleshoot/SKILL.md +0 -222
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -40
- package/.github/ISSUE_TEMPLATE/config.yml +0 -11
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -18
- package/.github/ISSUE_TEMPLATE/premium_license.yml +0 -43
- package/.github/dependabot.yml +0 -33
- package/.github/pull_request_template.md +0 -5
- package/.github/workflows/ci.yml +0 -200
- package/.github/workflows/release-binaries.yml +0 -139
- package/.github/zizmor.yml +0 -9
- package/.pre-commit-config.yaml +0 -57
- package/CODE_OF_CONDUCT.md +0 -9
- package/CONTRIBUTING.md +0 -42
- package/Makefile +0 -92
- package/SECURITY.md +0 -17
- package/benchmarks/results/container-scale-2026-09-25T20-54-49-736Z.json +0 -45
- package/benchmarks/results/container-scale-2026-09-25T21-01-20-540Z.json +0 -150
- package/benchmarks/results/container-scale-2026-09-25T21-15-01-441Z.json +0 -73
- package/benchmarks/results/container-scale-2026-09-25T22-09-01-630Z.json +0 -77
- package/benchmarks/results/container-scale-2026-09-25T22-18-28-371Z.json +0 -202
- package/cli/AGENTS.md +0 -390
- package/cli/DESIGN.md +0 -735
- package/cli/README.md +0 -292
- package/cli/biome.json +0 -40
- package/cli/dependency-graph.svg +0 -1135
- package/cli/dist/cli.d.ts +0 -3
- package/cli/dist/cli.d.ts.map +0 -1
- package/cli/dist/cli.js.map +0 -1
- package/cli/dist/commands/completion.d.ts +0 -3
- package/cli/dist/commands/completion.d.ts.map +0 -1
- package/cli/dist/commands/completion.js.map +0 -1
- package/cli/dist/commands/config.d.ts +0 -3
- package/cli/dist/commands/config.d.ts.map +0 -1
- package/cli/dist/commands/config.js.map +0 -1
- package/cli/dist/commands/doctor.d.ts +0 -19
- package/cli/dist/commands/doctor.d.ts.map +0 -1
- package/cli/dist/commands/doctor.js.map +0 -1
- package/cli/dist/commands/down.d.ts +0 -3
- package/cli/dist/commands/down.d.ts.map +0 -1
- package/cli/dist/commands/down.js.map +0 -1
- package/cli/dist/commands/help.d.ts +0 -2
- package/cli/dist/commands/help.d.ts.map +0 -1
- package/cli/dist/commands/help.js.map +0 -1
- package/cli/dist/commands/networks.d.ts +0 -3
- package/cli/dist/commands/networks.d.ts.map +0 -1
- package/cli/dist/commands/networks.js.map +0 -1
- package/cli/dist/commands/project.d.ts +0 -9
- package/cli/dist/commands/project.d.ts.map +0 -1
- package/cli/dist/commands/project.js.map +0 -1
- package/cli/dist/commands/projects.d.ts +0 -3
- package/cli/dist/commands/projects.d.ts.map +0 -1
- package/cli/dist/commands/projects.js.map +0 -1
- package/cli/dist/commands/resource.d.ts +0 -69
- package/cli/dist/commands/resource.d.ts.map +0 -1
- package/cli/dist/commands/resource.js.map +0 -1
- package/cli/dist/commands/resources.d.ts +0 -3
- package/cli/dist/commands/resources.d.ts.map +0 -1
- package/cli/dist/commands/resources.js.map +0 -1
- package/cli/dist/commands/stack.d.ts +0 -3
- package/cli/dist/commands/stack.d.ts.map +0 -1
- package/cli/dist/commands/stack.js.map +0 -1
- package/cli/dist/commands/stacks.d.ts +0 -3
- package/cli/dist/commands/stacks.d.ts.map +0 -1
- package/cli/dist/commands/stacks.js.map +0 -1
- package/cli/dist/commands/status.d.ts +0 -3
- package/cli/dist/commands/status.d.ts.map +0 -1
- package/cli/dist/commands/status.js.map +0 -1
- package/cli/dist/commands/ui.d.ts +0 -3
- package/cli/dist/commands/ui.d.ts.map +0 -1
- package/cli/dist/commands/ui.js.map +0 -1
- package/cli/dist/commands/up.d.ts +0 -3
- package/cli/dist/commands/up.d.ts.map +0 -1
- package/cli/dist/commands/up.js.map +0 -1
- package/cli/dist/commands/upgrade.d.ts +0 -14
- package/cli/dist/commands/upgrade.d.ts.map +0 -1
- package/cli/dist/commands/upgrade.js.map +0 -1
- package/cli/dist/commands/version.d.ts +0 -3
- package/cli/dist/commands/version.d.ts.map +0 -1
- package/cli/dist/commands/version.js.map +0 -1
- package/cli/dist/components/Accessible.d.ts +0 -8
- package/cli/dist/components/Accessible.d.ts.map +0 -1
- package/cli/dist/components/Accessible.js.map +0 -1
- package/cli/dist/components/BaseTooltip.d.ts +0 -4
- package/cli/dist/components/BaseTooltip.d.ts.map +0 -1
- package/cli/dist/components/BaseTooltip.js.map +0 -1
- package/cli/dist/components/DetailPanel.d.ts +0 -4
- package/cli/dist/components/DetailPanel.d.ts.map +0 -1
- package/cli/dist/components/DetailPanel.js.map +0 -1
- package/cli/dist/components/FileTree.d.ts +0 -4
- package/cli/dist/components/FileTree.d.ts.map +0 -1
- package/cli/dist/components/FileTree.js.map +0 -1
- package/cli/dist/components/ResourceSelectInput.d.ts +0 -4
- package/cli/dist/components/ResourceSelectInput.d.ts.map +0 -1
- package/cli/dist/components/ResourceSelectInput.js.map +0 -1
- package/cli/dist/components/ResourceTable.d.ts +0 -4
- package/cli/dist/components/ResourceTable.d.ts.map +0 -1
- package/cli/dist/components/ResourceTable.js.map +0 -1
- package/cli/dist/components/TabBar.d.ts +0 -4
- package/cli/dist/components/TabBar.d.ts.map +0 -1
- package/cli/dist/components/TabBar.js.map +0 -1
- package/cli/dist/components/Tooltip.d.ts +0 -12
- package/cli/dist/components/Tooltip.d.ts.map +0 -1
- package/cli/dist/components/Tooltip.js.map +0 -1
- package/cli/dist/components/index.d.ts +0 -8
- package/cli/dist/components/index.d.ts.map +0 -1
- package/cli/dist/components/index.js.map +0 -1
- package/cli/dist/config/platform-standards.d.ts +0 -159
- package/cli/dist/config/platform-standards.d.ts.map +0 -1
- package/cli/dist/config/platform-standards.js.map +0 -1
- package/cli/dist/generator/extension-fetch.d.ts +0 -25
- package/cli/dist/generator/extension-fetch.d.ts.map +0 -1
- package/cli/dist/generator/extension-fetch.js.map +0 -1
- package/cli/dist/generator/template-engine.d.ts +0 -62
- package/cli/dist/generator/template-engine.d.ts.map +0 -1
- package/cli/dist/generator/template-engine.js.map +0 -1
- package/cli/dist/index.d.ts +0 -11
- package/cli/dist/index.d.ts.map +0 -1
- package/cli/dist/index.js.map +0 -1
- package/cli/dist/types/index.d.ts +0 -257
- package/cli/dist/types/index.d.ts.map +0 -1
- package/cli/dist/types/index.js.map +0 -1
- package/cli/dist/utils/cache.d.ts +0 -19
- package/cli/dist/utils/cache.d.ts.map +0 -1
- package/cli/dist/utils/cache.js.map +0 -1
- package/cli/dist/utils/command-helpers.d.ts +0 -17
- package/cli/dist/utils/command-helpers.d.ts.map +0 -1
- package/cli/dist/utils/command-helpers.js.map +0 -1
- package/cli/dist/utils/constants.d.ts +0 -53
- package/cli/dist/utils/constants.d.ts.map +0 -1
- package/cli/dist/utils/constants.js.map +0 -1
- package/cli/dist/utils/discovery-context.d.ts +0 -4
- package/cli/dist/utils/discovery-context.d.ts.map +0 -1
- package/cli/dist/utils/discovery-context.js.map +0 -1
- package/cli/dist/utils/docker.d.ts +0 -4
- package/cli/dist/utils/docker.d.ts.map +0 -1
- package/cli/dist/utils/docker.js.map +0 -1
- package/cli/dist/utils/doctor-runtime.d.ts +0 -81
- package/cli/dist/utils/doctor-runtime.d.ts.map +0 -1
- package/cli/dist/utils/doctor-runtime.js.map +0 -1
- package/cli/dist/utils/env-validator.d.ts +0 -15
- package/cli/dist/utils/env-validator.d.ts.map +0 -1
- package/cli/dist/utils/env-validator.js.map +0 -1
- package/cli/dist/utils/errors.d.ts +0 -31
- package/cli/dist/utils/errors.d.ts.map +0 -1
- package/cli/dist/utils/errors.js.map +0 -1
- package/cli/dist/utils/file-helpers.d.ts +0 -14
- package/cli/dist/utils/file-helpers.d.ts.map +0 -1
- package/cli/dist/utils/file-helpers.js.map +0 -1
- package/cli/dist/utils/formatting.d.ts +0 -30
- package/cli/dist/utils/formatting.d.ts.map +0 -1
- package/cli/dist/utils/formatting.js.map +0 -1
- package/cli/dist/utils/paths.d.ts +0 -3
- package/cli/dist/utils/paths.d.ts.map +0 -1
- package/cli/dist/utils/paths.js.map +0 -1
- package/cli/dist/utils/port-assignment.d.ts +0 -6
- package/cli/dist/utils/port-assignment.d.ts.map +0 -1
- package/cli/dist/utils/port-assignment.js.map +0 -1
- package/cli/dist/utils/project-features.d.ts +0 -23
- package/cli/dist/utils/project-features.d.ts.map +0 -1
- package/cli/dist/utils/project-features.js.map +0 -1
- package/cli/dist/utils/project-templates.d.ts +0 -7
- package/cli/dist/utils/project-templates.d.ts.map +0 -1
- package/cli/dist/utils/project-templates.js.map +0 -1
- package/cli/dist/utils/prompt.d.ts +0 -28
- package/cli/dist/utils/prompt.d.ts.map +0 -1
- package/cli/dist/utils/prompt.js.map +0 -1
- package/cli/dist/utils/resource-features.d.ts +0 -29
- package/cli/dist/utils/resource-features.d.ts.map +0 -1
- package/cli/dist/utils/resource-features.js.map +0 -1
- package/cli/dist/utils/service-urls.d.ts +0 -30
- package/cli/dist/utils/service-urls.d.ts.map +0 -1
- package/cli/dist/utils/service-urls.js.map +0 -1
- package/cli/dist/utils/services.d.ts +0 -18
- package/cli/dist/utils/services.d.ts.map +0 -1
- package/cli/dist/utils/services.js.map +0 -1
- package/cli/dist/utils/stack-features.d.ts +0 -22
- package/cli/dist/utils/stack-features.d.ts.map +0 -1
- package/cli/dist/utils/stack-features.js.map +0 -1
- package/cli/dist/utils/tar.d.ts +0 -7
- package/cli/dist/utils/tar.d.ts.map +0 -1
- package/cli/dist/utils/tar.js.map +0 -1
- package/cli/dist/utils/tilt.d.ts +0 -20
- package/cli/dist/utils/tilt.d.ts.map +0 -1
- package/cli/dist/utils/tilt.js.map +0 -1
- package/cli/dist/utils/validation.d.ts +0 -16
- package/cli/dist/utils/validation.d.ts.map +0 -1
- package/cli/dist/utils/validation.js.map +0 -1
- package/cli/knip.json +0 -6
- package/cli/pnpm-lock.yaml +0 -2305
- package/cli/pnpm-workspace.yaml +0 -2
- package/cli/src/cli.ts +0 -72
- package/cli/src/commands/__tests__/always-enabled-infra.test.ts +0 -109
- package/cli/src/commands/__tests__/config.test.ts +0 -146
- package/cli/src/commands/__tests__/doctor.test.ts +0 -730
- package/cli/src/commands/__tests__/error-handling.test.ts +0 -78
- package/cli/src/commands/__tests__/phases-model.test.ts +0 -161
- package/cli/src/commands/__tests__/project-resource-features-e2e.test.ts +0 -187
- package/cli/src/commands/__tests__/project.test.ts +0 -68
- package/cli/src/commands/__tests__/resource.test.ts +0 -226
- package/cli/src/commands/__tests__/saas-starter-integration.test.ts +0 -194
- package/cli/src/commands/__tests__/stack-features-e2e.test.ts +0 -135
- package/cli/src/commands/__tests__/upgrade.test.ts +0 -198
- package/cli/src/commands/completion.ts +0 -300
- package/cli/src/commands/config.ts +0 -299
- package/cli/src/commands/doctor.ts +0 -926
- package/cli/src/commands/down.ts +0 -37
- package/cli/src/commands/help.ts +0 -143
- package/cli/src/commands/networks-design.md +0 -80
- package/cli/src/commands/networks.ts +0 -332
- package/cli/src/commands/project.ts +0 -456
- package/cli/src/commands/projects.ts +0 -82
- package/cli/src/commands/resource.ts +0 -652
- package/cli/src/commands/resources.ts +0 -95
- package/cli/src/commands/stack.ts +0 -128
- package/cli/src/commands/stacks.ts +0 -52
- package/cli/src/commands/status.ts +0 -88
- package/cli/src/commands/ui.tsx +0 -843
- package/cli/src/commands/up.ts +0 -169
- package/cli/src/commands/upgrade.ts +0 -628
- package/cli/src/commands/version.ts +0 -9
- package/cli/src/components/Accessible.tsx +0 -21
- package/cli/src/components/BaseTooltip.tsx +0 -66
- package/cli/src/components/DetailPanel.tsx +0 -146
- package/cli/src/components/FileTree.tsx +0 -89
- package/cli/src/components/ResourceSelectInput.tsx +0 -30
- package/cli/src/components/ResourceTable.tsx +0 -78
- package/cli/src/components/TabBar.tsx +0 -53
- package/cli/src/components/Tooltip.tsx +0 -11
- package/cli/src/components/index.ts +0 -7
- package/cli/src/config/platform-standards.test.ts +0 -11
- package/cli/src/config/platform-standards.ts +0 -196
- package/cli/src/generator/__tests__/extension-fetch.test.ts +0 -242
- package/cli/src/generator/__tests__/template-engine.test.ts +0 -70
- package/cli/src/generator/extension-fetch.ts +0 -286
- package/cli/src/generator/template-engine.ts +0 -752
- package/cli/src/index.ts +0 -86
- package/cli/src/templates.d.ts +0 -4
- package/cli/src/types/index.ts +0 -353
- package/cli/src/utils/__tests__/cache.test.ts +0 -98
- package/cli/src/utils/__tests__/formatting.test.ts +0 -170
- package/cli/src/utils/__tests__/paths.test.ts +0 -180
- package/cli/src/utils/__tests__/port-assignment.test.ts +0 -121
- package/cli/src/utils/__tests__/service-urls.test.ts +0 -174
- package/cli/src/utils/__tests__/services.test.ts +0 -531
- package/cli/src/utils/__tests__/tilt.test.ts +0 -172
- package/cli/src/utils/__tests__/validation.test.ts +0 -148
- package/cli/src/utils/cache.ts +0 -76
- package/cli/src/utils/command-helpers.ts +0 -54
- package/cli/src/utils/constants.ts +0 -130
- package/cli/src/utils/discovery-context.ts +0 -49
- package/cli/src/utils/docker.ts +0 -20
- package/cli/src/utils/doctor-runtime.ts +0 -644
- package/cli/src/utils/env-validator.ts +0 -139
- package/cli/src/utils/errors.ts +0 -168
- package/cli/src/utils/file-helpers.ts +0 -62
- package/cli/src/utils/formatting.ts +0 -215
- package/cli/src/utils/paths.ts +0 -53
- package/cli/src/utils/port-assignment.ts +0 -106
- package/cli/src/utils/project-features.ts +0 -118
- package/cli/src/utils/project-templates.ts +0 -29
- package/cli/src/utils/prompt.ts +0 -128
- package/cli/src/utils/resource-features.ts +0 -215
- package/cli/src/utils/service-urls.ts +0 -124
- package/cli/src/utils/services.ts +0 -364
- package/cli/src/utils/stack-features.ts +0 -30
- package/cli/src/utils/tar.ts +0 -24
- package/cli/src/utils/tilt.ts +0 -133
- package/cli/src/utils/validation.ts +0 -67
- package/cli/tsconfig.json +0 -25
- package/cli/tsconfig.typecheck.json +0 -8
- package/docs/FEATURES.md +0 -281
- package/docs/demo.svg +0 -217
- package/engine/docs/AUTODISCOVERY_TEST.md +0 -182
- package/engine/docs/C4-ARCHITECTURE-operations.md +0 -396
- package/engine/docs/C4-ARCHITECTURE-overview.md +0 -284
- package/engine/docs/C4-ARCHITECTURE.md +0 -17
- package/engine/docs/GOLDEN_IMAGE_INTEGRATION.md +0 -349
- package/engine/docs/MANIFEST_DRIVEN_ARCHITECTURE.md +0 -357
- package/engine/docs/README.md +0 -284
- package/install.sh +0 -19
- package/knip.json +0 -10
- package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/.openspec.yaml +0 -2
- package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/design.md +0 -102
- package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/proposal.md +0 -31
- package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-notifications/spec.md +0 -48
- package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-orchestration/spec.md +0 -63
- package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/specs/vscode-tdk-troubleshooting/spec.md +0 -56
- package/openspec/changes/add-vscode-tdk-troubleshooter-plugin/tasks.md +0 -61
- package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/.openspec.yaml +0 -2
- package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/design.md +0 -114
- package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/proposal.md +0 -32
- package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/manifest-field-migration/spec.md +0 -20
- package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/resource-terminology-standard/spec.md +0 -20
- package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/specs/stack-terminology-standard/spec.md +0 -20
- package/openspec/changes/archive/2026-04-28-rename-domain-to-stack-service-to-resource/tasks.md +0 -194
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/.openspec.yaml +0 -2
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/design.md +0 -111
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/proposal.md +0 -33
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/function-naming-alignment/spec.md +0 -12
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/optional-parameter-patterns/spec.md +0 -18
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-documentation/spec.md +0 -16
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-naming-consistency/spec.md +0 -12
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/specs/parameter-ordering-standard/spec.md +0 -12
- package/openspec/changes/archive/2026-04-28-star-files-parameter-fixes/tasks.md +0 -194
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/.openspec.yaml +0 -2
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/design.md +0 -84
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/proposal.md +0 -31
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/codebase-audit/spec.md +0 -27
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/dead-code-cleanup/spec.md +0 -27
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/test-gap-fill/spec.md +0 -23
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/specs/todo-resolution/spec.md +0 -27
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/tasks.md +0 -39
- package/openspec/changes/archive/2026-06-25-landscape-consolidation/.openspec.yaml +0 -2
- package/openspec/changes/archive/2026-06-25-landscape-consolidation/design.md +0 -80
- package/openspec/changes/archive/2026-06-25-landscape-consolidation/proposal.md +0 -40
- package/openspec/changes/archive/2026-06-25-landscape-consolidation/spec.md +0 -52
- package/openspec/changes/archive/2026-06-25-landscape-consolidation/tasks.md +0 -51
- package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/.openspec.yaml +0 -2
- package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/design.md +0 -43
- package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/proposal.md +0 -29
- package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/specs/self-contained-generated-projects/spec.md +0 -67
- package/openspec/changes/archive/2026-09-17-fix-generated-stack-boot/tasks.md +0 -27
- package/openspec/changes/optimize-runtime-docker-layers/.openspec.yaml +0 -3
- package/openspec/changes/optimize-runtime-docker-layers/design.md +0 -81
- package/openspec/changes/optimize-runtime-docker-layers/proposal.md +0 -44
- package/openspec/changes/optimize-runtime-docker-layers/specs/runtime-container-footprint/spec.md +0 -79
- package/openspec/changes/optimize-runtime-docker-layers/tasks.md +0 -36
- package/openspec/changes/prioritized-cold-start/.openspec.yaml +0 -4
- package/openspec/changes/prioritized-cold-start/design.md +0 -137
- package/openspec/changes/prioritized-cold-start/proposal.md +0 -41
- package/openspec/changes/prioritized-cold-start/specs/on-demand-resource-startup/spec.md +0 -98
- package/openspec/changes/prioritized-cold-start/tasks.md +0 -69
- package/openspec/config.yaml +0 -1
- package/openspec/specs/manifest-field-migration/spec.md +0 -24
- package/openspec/specs/resource-terminology-standard/spec.md +0 -24
- package/openspec/specs/self-contained-generated-projects/spec.md +0 -67
- package/openspec/specs/stack-terminology-standard/spec.md +0 -24
- package/platform/services/platform/proxy/service.yaml +0 -14
- package/scripts/audit-codebase.sh +0 -213
- package/scripts/autoresearch/layer-eval.sh +0 -65
- package/scripts/benchmark/README.md +0 -25
- package/scripts/benchmark/container-scale.ts +0 -503
- package/scripts/benchmark/pre-release-gate.sh +0 -9
- package/scripts/install-git-hooks.sh +0 -14
- package/scripts/measure-idle-footprint.sh +0 -58
- package/scripts/record-demo.sh +0 -43
- package/scripts/release-binaries.sh +0 -97
- package/scripts/setup-pre-commit.sh +0 -33
- package/scripts/stage-npm-engine.sh +0 -36
- package/tests/tilt-engine/__init__.py +0 -5
- package/tests/tilt-engine/conftest.py +0 -182
- package/tests/tilt-engine/fixtures/appointment-frontend-service.json +0 -11
- package/tests/tilt-engine/fixtures/identity-backend-service.json +0 -12
- package/tests/tilt-engine/fixtures/invalid-service.json +0 -4
- package/tests/tilt-engine/test_agents_md_generator.py +0 -341
- package/tests/tilt-engine/test_agents_md_integration.py +0 -378
- package/tests/tilt-engine/test_cache_operations.py +0 -181
- package/tests/tilt-engine/test_cache_persistence.py +0 -142
- package/tests/tilt-engine/test_code_executor.py +0 -152
- package/tests/tilt-engine/test_code_viewer.py +0 -127
- package/tests/tilt-engine/test_compose_port_anchors.py +0 -310
- package/tests/tilt-engine/test_config_inspector.py +0 -162
- package/tests/tilt-engine/test_daemon_focus_mode.py +0 -89
- package/tests/tilt-engine/test_daemon_polling.py +0 -122
- package/tests/tilt-engine/test_daemon_registration.py +0 -115
- package/tests/tilt-engine/test_daemon_validation.py +0 -107
- package/tests/tilt-engine/test_docker_generator_bugs.py +0 -493
- package/tests/tilt-engine/test_docker_prune.py +0 -119
- package/tests/tilt-engine/test_dockerignore_path_bug.py +0 -82
- package/tests/tilt-engine/test_file_browser.py +0 -193
- package/tests/tilt-engine/test_frontend_basepath_manifest.py +0 -27
- package/tests/tilt-engine/test_health_dependencies.py +0 -130
- package/tests/tilt-engine/test_health_endpoints.py +0 -118
- package/tests/tilt-engine/test_health_tilt_ui.py +0 -85
- package/tests/tilt-engine/test_runtime_container_footprint.py +0 -162
- package/tests/tilt-engine/test_sablier_defer_start.py +0 -237
- package/tests/tilt-engine/test_safety_aliases.py +0 -84
- package/tests/tilt-engine/test_snapshot_diff.py +0 -136
- package/tests/tilt-engine/test_snapshot_persistence.py +0 -163
- package/tests/tilt-engine/test_snapshot_scanning.py +0 -123
- package/tests/tilt-engine/test_standalone_project_boot.py +0 -61
- package/tests/tilt-engine/test_standalone_traefik.py +0 -160
- package/tests/tilt-engine/test_traefik_static_wake_route.py +0 -187
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Tests for the AGENTS.md generator.
|
|
3
|
-
|
|
4
|
-
These tests verify that:
|
|
5
|
-
1. The generator creates valid AGENTS.md files with correct content
|
|
6
|
-
2. The generated file warns AI agents not to modify .autogenerated/ files
|
|
7
|
-
3. The generator is properly wired into the generator index
|
|
8
|
-
4. The AGENTS.md constant is defined in manifest constants
|
|
9
|
-
5. The generator is called from manifest_resource orchestrator
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
import json
|
|
13
|
-
import pytest
|
|
14
|
-
import re
|
|
15
|
-
from pathlib import Path
|
|
16
|
-
|
|
17
|
-
pytestmark = [pytest.mark.fast, pytest.mark.generator]
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class TestAgentsMdGeneratorSource:
|
|
21
|
-
"""Test the agents_md.star generator source code."""
|
|
22
|
-
|
|
23
|
-
@pytest.fixture
|
|
24
|
-
def generator_path(self) -> Path:
|
|
25
|
-
"""Return path to the agents_md.star generator."""
|
|
26
|
-
return Path(__file__).parent.parent.parent / "engine" / "topologies" / "tilt" / "generators" / "agents_md.star"
|
|
27
|
-
|
|
28
|
-
def test_generator_file_exists(self, generator_path: Path):
|
|
29
|
-
"""Verify the generator file exists."""
|
|
30
|
-
assert generator_path.exists(), f"Generator not found: {generator_path}"
|
|
31
|
-
|
|
32
|
-
def test_generator_has_correct_structure(self, generator_path: Path):
|
|
33
|
-
"""Verify generator has expected structure and functions."""
|
|
34
|
-
content = generator_path.read_text()
|
|
35
|
-
|
|
36
|
-
# Should have the main generation function
|
|
37
|
-
assert "def generate_agents_md(" in content, "Missing generate_agents_md function"
|
|
38
|
-
|
|
39
|
-
# Should have the public API struct
|
|
40
|
-
assert "AgentsMd = struct(" in content, "Missing AgentsMd struct export"
|
|
41
|
-
|
|
42
|
-
# Should have generate method in struct
|
|
43
|
-
assert "generate = generate_agents_md" in content, "Missing generate method in struct"
|
|
44
|
-
|
|
45
|
-
def test_generator_has_required_template_sections(self, generator_path: Path):
|
|
46
|
-
"""Verify template contains all required warning sections."""
|
|
47
|
-
content = generator_path.read_text()
|
|
48
|
-
|
|
49
|
-
# Required sections that must be in the template
|
|
50
|
-
required_sections = [
|
|
51
|
-
"AUTOGENERATED FILES - DO NOT MODIFY",
|
|
52
|
-
"Why This Folder Exists",
|
|
53
|
-
"What Happens If You Modify Files Here",
|
|
54
|
-
"Where to Make Changes Instead",
|
|
55
|
-
"How Regeneration Works",
|
|
56
|
-
"For AI Agents",
|
|
57
|
-
"NEVER", # AI agent warning (may have markdown formatting)
|
|
58
|
-
"ALWAYS", # AI agent instruction (may have markdown formatting)
|
|
59
|
-
"service.json",
|
|
60
|
-
".autogenerated/",
|
|
61
|
-
]
|
|
62
|
-
|
|
63
|
-
for section in required_sections:
|
|
64
|
-
assert section in content, f"Missing required section: {section}"
|
|
65
|
-
|
|
66
|
-
def test_generator_uses_correct_output_path(self, generator_path: Path):
|
|
67
|
-
"""Verify generator writes to correct path."""
|
|
68
|
-
content = generator_path.read_text()
|
|
69
|
-
|
|
70
|
-
# Should use AUTOGENERATED_FOLDER constant
|
|
71
|
-
assert "AUTOGENERATED_FOLDER" in content, "Should use AUTOGENERATED_FOLDER constant"
|
|
72
|
-
|
|
73
|
-
# Should write to AGENTS.md
|
|
74
|
-
assert "AGENTS.md" in content, "Should generate AGENTS.md file"
|
|
75
|
-
|
|
76
|
-
def test_generator_includes_resource_info(self, generator_path: Path):
|
|
77
|
-
"""Verify generator includes service-specific metadata."""
|
|
78
|
-
content = generator_path.read_text()
|
|
79
|
-
|
|
80
|
-
# Should extract service info from manifest
|
|
81
|
-
assert "appName" in content, "Should use appName from manifest"
|
|
82
|
-
assert "appType" in content, "Should use appType from manifest"
|
|
83
|
-
assert "_servicePath" in content, "Should use _servicePath from manifest"
|
|
84
|
-
|
|
85
|
-
# Should include metadata in output (generator uses resource_name for service name)
|
|
86
|
-
assert "resource_name" in content, "Should format resource_name into template"
|
|
87
|
-
assert "app_type" in content, "Should format app_type into template"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
class TestAgentsMdGeneratorIntegration:
|
|
91
|
-
"""Test integration of AGENTS.md generator into the generator system."""
|
|
92
|
-
|
|
93
|
-
@pytest.fixture
|
|
94
|
-
def generators_index_path(self) -> Path:
|
|
95
|
-
"""Return path to generators index.star."""
|
|
96
|
-
return Path(__file__).parent.parent.parent / "engine" / "topologies" / "tilt" / "generators" / "index.star"
|
|
97
|
-
|
|
98
|
-
@pytest.fixture
|
|
99
|
-
def constants_path(self) -> Path:
|
|
100
|
-
"""Return path to manifest constants."""
|
|
101
|
-
return Path(__file__).parent.parent.parent / "engine" / "topologies" / "tilt" / "manifest" / "constants.star"
|
|
102
|
-
|
|
103
|
-
@pytest.fixture
|
|
104
|
-
def manifest_resource_path(self) -> Path:
|
|
105
|
-
"""Return path to manifest_resource orchestrator."""
|
|
106
|
-
return Path(__file__).parent.parent.parent / "engine" / "topologies" / "tilt" / "resources" / "orchestrator" / "generators" / "manifest_resource.star"
|
|
107
|
-
|
|
108
|
-
def test_generator_loaded_in_index(self, generators_index_path: Path):
|
|
109
|
-
"""Verify agents_md.star is loaded in generators index."""
|
|
110
|
-
content = generators_index_path.read_text()
|
|
111
|
-
|
|
112
|
-
# Should load the agents_md module
|
|
113
|
-
assert 'load("./agents_md.star"' in content, "Should load agents_md.star"
|
|
114
|
-
|
|
115
|
-
# Should export AgentsMd in Generators struct
|
|
116
|
-
assert "AgentsMd=AgentsMd" in content.replace(" ", "") or "AgentsMd = AgentsMd" in content, \
|
|
117
|
-
"Should export AgentsMd in Generators struct"
|
|
118
|
-
|
|
119
|
-
def test_agents_md_constant_defined(self, constants_path: Path):
|
|
120
|
-
"""Verify AGENTS.md filename constant exists."""
|
|
121
|
-
content = constants_path.read_text()
|
|
122
|
-
|
|
123
|
-
# Should have agents_md in GENERATED_CONFIG_FILENAMES
|
|
124
|
-
assert "'agents_md': 'AGENTS.md'" in content, \
|
|
125
|
-
"Should define agents_md constant in GENERATED_CONFIG_FILENAMES"
|
|
126
|
-
|
|
127
|
-
def test_generator_called_from_orchestrator(self, manifest_resource_path: Path):
|
|
128
|
-
"""Verify generator is called from manifest_resource orchestrator."""
|
|
129
|
-
content = manifest_resource_path.read_text()
|
|
130
|
-
|
|
131
|
-
# Should call AgentsMd.generate somewhere
|
|
132
|
-
assert "AgentsMd.generate" in content or "Generators.AgentsMd.generate" in content, \
|
|
133
|
-
"Should call AgentsMd.generate from orchestrator"
|
|
134
|
-
|
|
135
|
-
# Should mention AGENTS.md generation in comments
|
|
136
|
-
assert "AGENTS.MD" in content.upper() or "AI agent" in content.lower(), \
|
|
137
|
-
"Should have comment explaining AGENTS.md generation"
|
|
138
|
-
|
|
139
|
-
def test_agents_md_in_generated_file_list(self, manifest_resource_path: Path):
|
|
140
|
-
"""Verify AGENTS.md is included in generated files list."""
|
|
141
|
-
content = manifest_resource_path.read_text()
|
|
142
|
-
|
|
143
|
-
# Should add AGENTS.md to the file list for logging
|
|
144
|
-
assert "agents_md" in content, "Should reference agents_md in file list"
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
class TestGeneratedAgentsMdContent:
|
|
148
|
-
"""Test the content that would be generated by the AGENTS.md generator."""
|
|
149
|
-
|
|
150
|
-
@pytest.fixture
|
|
151
|
-
def generator_path(self) -> Path:
|
|
152
|
-
"""Return path to the agents_md.star generator."""
|
|
153
|
-
return Path(__file__).parent.parent.parent / "engine" / "topologies" / "tilt" / "generators" / "agents_md.star"
|
|
154
|
-
|
|
155
|
-
@pytest.fixture
|
|
156
|
-
def template_content(self, generator_path: Path) -> str:
|
|
157
|
-
"""Extract template content from generator."""
|
|
158
|
-
content = generator_path.read_text()
|
|
159
|
-
|
|
160
|
-
# Extract TEMPLATE_AGENTS_MD content
|
|
161
|
-
match = re.search(
|
|
162
|
-
r'TEMPLATE_AGENTS_MD = """(.*?)"""',
|
|
163
|
-
content,
|
|
164
|
-
re.DOTALL
|
|
165
|
-
)
|
|
166
|
-
if match:
|
|
167
|
-
return match.group(1)
|
|
168
|
-
return ""
|
|
169
|
-
|
|
170
|
-
def test_template_has_frontmatter(self, template_content: str):
|
|
171
|
-
"""Verify template has YAML frontmatter."""
|
|
172
|
-
assert template_content.startswith("---"), "Should start with YAML frontmatter"
|
|
173
|
-
assert "title:" in template_content, "Should have title in frontmatter"
|
|
174
|
-
assert "description:" in template_content, "Should have description in frontmatter"
|
|
175
|
-
assert "status: autogenerated" in template_content, "Should have autogenerated status"
|
|
176
|
-
|
|
177
|
-
def test_template_warns_against_modification(self, template_content: str):
|
|
178
|
-
"""Verify template clearly warns against modifying autogenerated files."""
|
|
179
|
-
# Should have strong warning language
|
|
180
|
-
warning_patterns = [
|
|
181
|
-
r"DO NOT MODIFY",
|
|
182
|
-
r"will be overwritten",
|
|
183
|
-
r"MACHINE[- ]GENERATED",
|
|
184
|
-
r"NEVER.*write.*edit.*autogenerated",
|
|
185
|
-
r"ALWAYS.*check.*autogenerated",
|
|
186
|
-
]
|
|
187
|
-
|
|
188
|
-
for pattern in warning_patterns:
|
|
189
|
-
assert re.search(pattern, template_content, re.IGNORECASE), \
|
|
190
|
-
f"Missing warning pattern: {pattern}"
|
|
191
|
-
|
|
192
|
-
def test_template_explains_manifest_driven_architecture(self, template_content: str):
|
|
193
|
-
"""Verify template explains the manifest-driven pattern."""
|
|
194
|
-
# Should explain the architecture
|
|
195
|
-
assert "service.json" in template_content, "Should reference service.json"
|
|
196
|
-
assert "manifest" in template_content.lower(), "Should explain manifest concept"
|
|
197
|
-
assert "generator" in template_content.lower(), "Should mention generators"
|
|
198
|
-
|
|
199
|
-
def test_template_lists_all_generated_files(self, template_content: str):
|
|
200
|
-
"""Verify template lists all types of generated files."""
|
|
201
|
-
expected_files = [
|
|
202
|
-
"vite.config",
|
|
203
|
-
"tsconfig",
|
|
204
|
-
"Dockerfile",
|
|
205
|
-
"nginx",
|
|
206
|
-
".env",
|
|
207
|
-
"bunfig",
|
|
208
|
-
".npmrc",
|
|
209
|
-
"docker-compose",
|
|
210
|
-
"playwright",
|
|
211
|
-
"prisma",
|
|
212
|
-
]
|
|
213
|
-
|
|
214
|
-
for file_type in expected_files:
|
|
215
|
-
assert file_type in template_content, \
|
|
216
|
-
f"Should mention {file_type} as generated file type"
|
|
217
|
-
|
|
218
|
-
def test_template_shows_correct_alternatives(self, template_content: str):
|
|
219
|
-
"""Verify template shows correct files to edit instead."""
|
|
220
|
-
# Should have a table or list of alternatives
|
|
221
|
-
alternatives = [
|
|
222
|
-
"service.json",
|
|
223
|
-
"package.json",
|
|
224
|
-
"src/",
|
|
225
|
-
]
|
|
226
|
-
|
|
227
|
-
for alt in alternatives:
|
|
228
|
-
assert alt in template_content, f"Should mention {alt} as correct file to edit"
|
|
229
|
-
|
|
230
|
-
def test_template_has_ai_agent_instructions(self, template_content: str):
|
|
231
|
-
"""Verify template has specific instructions for AI agents."""
|
|
232
|
-
# Should have clear AI agent instructions section
|
|
233
|
-
ai_patterns = [
|
|
234
|
-
r"For AI Agents",
|
|
235
|
-
r"CRITICAL INSTRUCTIONS",
|
|
236
|
-
r"write\(\).*edit\(",
|
|
237
|
-
r"skill\(.*autogenerated",
|
|
238
|
-
]
|
|
239
|
-
|
|
240
|
-
for pattern in ai_patterns:
|
|
241
|
-
assert re.search(pattern, template_content, re.IGNORECASE), \
|
|
242
|
-
f"Missing AI agent instruction pattern: {pattern}"
|
|
243
|
-
|
|
244
|
-
def test_template_has_emergency_override_section(self, template_content: str):
|
|
245
|
-
"""Verify template explains emergency override procedure."""
|
|
246
|
-
assert "Emergency Override" in template_content, \
|
|
247
|
-
"Should have emergency override section"
|
|
248
|
-
assert "tilt down" in template_content.lower(), \
|
|
249
|
-
"Should mention tilt down for emergency changes"
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
class TestAgentsMdGeneratorMetadata:
|
|
253
|
-
"""Test that generator includes proper metadata."""
|
|
254
|
-
|
|
255
|
-
@pytest.fixture
|
|
256
|
-
def generator_path(self) -> Path:
|
|
257
|
-
"""Return path to the agents_md.star generator."""
|
|
258
|
-
return Path(__file__).parent.parent.parent / "engine" / "topologies" / "tilt" / "generators" / "agents_md.star"
|
|
259
|
-
|
|
260
|
-
def test_generator_has_proper_header(self, generator_path: Path):
|
|
261
|
-
"""Verify generator has proper file header."""
|
|
262
|
-
content = generator_path.read_text()
|
|
263
|
-
|
|
264
|
-
# Should have module documentation
|
|
265
|
-
assert "AGENTS.MD GENERATOR" in content, "Should identify as AGENTS.md generator"
|
|
266
|
-
assert "Purpose: Generate AGENTS.md" in content, "Should have purpose comment"
|
|
267
|
-
|
|
268
|
-
def test_generator_uses_utils_for_header(self, generator_path: Path):
|
|
269
|
-
"""Verify generator uses Utils.get_template_header for consistency."""
|
|
270
|
-
content = generator_path.read_text()
|
|
271
|
-
|
|
272
|
-
assert "Utils.get_template_header" in content, \
|
|
273
|
-
"Should use Utils.get_template_header for file header"
|
|
274
|
-
|
|
275
|
-
def test_generator_has_inline_constants(self, generator_path: Path):
|
|
276
|
-
"""Verify generator follows pattern of inlined constants."""
|
|
277
|
-
content = generator_path.read_text()
|
|
278
|
-
|
|
279
|
-
# Should have inlined constants section
|
|
280
|
-
assert "INLINED CONSTANTS" in content, "Should have inlined constants section"
|
|
281
|
-
assert 'AUTOGENERATED_FOLDER = ".autogenerated"' in content, \
|
|
282
|
-
"Should define AUTOGENERATED_FOLDER constant"
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
class TestAgentsMdEndToEnd:
|
|
286
|
-
"""End-to-end tests simulating the full generation flow."""
|
|
287
|
-
|
|
288
|
-
def test_agents_md_generation_simulation(self):
|
|
289
|
-
"""Simulate generating AGENTS.md for a sample service."""
|
|
290
|
-
# This simulates what the generator would produce
|
|
291
|
-
|
|
292
|
-
sample_manifest = {
|
|
293
|
-
"appName": "test-service-backend",
|
|
294
|
-
"appType": "backend",
|
|
295
|
-
"stack": "test",
|
|
296
|
-
"port": 4000,
|
|
297
|
-
"_servicePath": "services/product/test/test-service-backend",
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
# Simulate the generation logic (in reality this runs in Starlark)
|
|
301
|
-
# We verify the Python equivalent would work
|
|
302
|
-
|
|
303
|
-
# 1. Extract values from manifest
|
|
304
|
-
app_name = sample_manifest.get("appName", "unknown-service")
|
|
305
|
-
app_type = sample_manifest.get("appType", "backend")
|
|
306
|
-
resource_path = sample_manifest.get("_servicePath", "")
|
|
307
|
-
|
|
308
|
-
assert app_name == "test-service-backend"
|
|
309
|
-
assert app_type == "backend"
|
|
310
|
-
assert resource_path == "services/product/test/test-service-backend"
|
|
311
|
-
|
|
312
|
-
# 2. Verify output path construction
|
|
313
|
-
output_path = resource_path + "/.autogenerated/AGENTS.md"
|
|
314
|
-
assert output_path == "services/product/test/test-service-backend/.autogenerated/AGENTS.md"
|
|
315
|
-
|
|
316
|
-
# 3. Verify content would include service-specific info
|
|
317
|
-
template_vars = {
|
|
318
|
-
"resource_name": app_name,
|
|
319
|
-
"app_type": app_type,
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
assert template_vars["resource_name"] == "test-service-backend"
|
|
323
|
-
assert template_vars["app_type"] == "backend"
|
|
324
|
-
|
|
325
|
-
def test_all_required_files_exist(self):
|
|
326
|
-
"""Verify all files in the AGENTS.md generator chain exist."""
|
|
327
|
-
root = Path(__file__).parent.parent.parent / "engine" / "topologies"
|
|
328
|
-
|
|
329
|
-
required_files = [
|
|
330
|
-
root / "tilt" / "generators" / "agents_md.star",
|
|
331
|
-
root / "tilt" / "generators" / "index.star",
|
|
332
|
-
root / "tilt" / "manifest" / "constants.star",
|
|
333
|
-
root / "tilt" / "resources" / "orchestrator" / "generators" / "manifest_resource.star",
|
|
334
|
-
]
|
|
335
|
-
|
|
336
|
-
for file_path in required_files:
|
|
337
|
-
assert file_path.exists(), f"Required file missing: {file_path}"
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
if __name__ == "__main__":
|
|
341
|
-
pytest.main([__file__, "-v"])
|