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

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 (93) hide show
  1. package/.github/ISSUE_TEMPLATE/config.yml +3 -0
  2. package/.github/ISSUE_TEMPLATE/premium_license.yml +43 -0
  3. package/.github/workflows/ci.yml +13 -0
  4. package/.github/workflows/release-binaries.yml +76 -1
  5. package/CHANGELOG.md +55 -0
  6. package/README.md +52 -17
  7. package/cli/README.md +16 -43
  8. package/cli/biome.json +0 -4
  9. package/cli/dist/commands/config.js +1 -1
  10. package/cli/dist/commands/config.js.map +1 -1
  11. package/cli/dist/commands/help.d.ts.map +1 -1
  12. package/cli/dist/commands/help.js +22 -39
  13. package/cli/dist/commands/help.js.map +1 -1
  14. package/cli/dist/commands/project.d.ts +6 -0
  15. package/cli/dist/commands/project.d.ts.map +1 -1
  16. package/cli/dist/commands/project.js +16 -0
  17. package/cli/dist/commands/project.js.map +1 -1
  18. package/cli/dist/commands/resource.js +1 -1
  19. package/cli/dist/commands/resource.js.map +1 -1
  20. package/cli/dist/commands/up.d.ts.map +1 -1
  21. package/cli/dist/commands/up.js +5 -0
  22. package/cli/dist/commands/up.js.map +1 -1
  23. package/cli/dist/commands/upgrade.d.ts +3 -0
  24. package/cli/dist/commands/upgrade.d.ts.map +1 -1
  25. package/cli/dist/commands/upgrade.js +43 -1
  26. package/cli/dist/commands/upgrade.js.map +1 -1
  27. package/cli/dist/utils/constants.d.ts +1 -1
  28. package/cli/dist/utils/constants.d.ts.map +1 -1
  29. package/cli/dist/utils/constants.js +1 -1
  30. package/cli/dist/utils/constants.js.map +1 -1
  31. package/cli/dist/utils/doctor-runtime.js +5 -5
  32. package/cli/dist/utils/doctor-runtime.js.map +1 -1
  33. package/cli/dist/utils/prompt.d.ts.map +1 -1
  34. package/cli/dist/utils/prompt.js +6 -1
  35. package/cli/dist/utils/prompt.js.map +1 -1
  36. package/cli/dist/utils/service-urls.js +1 -1
  37. package/cli/dist/utils/service-urls.js.map +1 -1
  38. package/cli/package.json +2 -1
  39. package/cli/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +2 -2
  40. package/cli/src/commands/__tests__/doctor.test.ts +8 -8
  41. package/cli/src/commands/__tests__/upgrade.test.ts +90 -3
  42. package/cli/src/commands/config.ts +1 -1
  43. package/cli/src/commands/help.ts +22 -39
  44. package/cli/src/commands/project.ts +20 -0
  45. package/cli/src/commands/resource.ts +1 -1
  46. package/cli/src/commands/up.ts +10 -0
  47. package/cli/src/commands/upgrade.ts +52 -1
  48. package/cli/src/utils/constants.ts +1 -1
  49. package/cli/src/utils/doctor-runtime.ts +5 -5
  50. package/cli/src/utils/prompt.ts +8 -1
  51. package/cli/src/utils/service-urls.ts +1 -1
  52. package/discovery/identity-management-backend/service.yaml +2 -2
  53. package/discovery/identity-management-frontend/service.yaml +1 -1
  54. package/discovery/registry.star +3 -1
  55. package/discovery/services/platform/orchestrator/orchestrator-glue-backend/service.yaml +2 -2
  56. package/docs/FEATURES.md +2 -0
  57. package/engine/assets/docker/golden-layers.Dockerfile +18 -18
  58. package/engine/assets/docker/wake-gateway/decide.test.ts +25 -0
  59. package/engine/assets/docker/wake-gateway/decide.ts +19 -0
  60. package/engine/assets/docker/wake-gateway/server.ts +60 -14
  61. package/engine/assets/scripts/mac-m1-resource-monitor.sh +1 -1
  62. package/engine/scripts/debug-container.sh +8 -3
  63. package/engine/spec.master +2 -2
  64. package/engine/topologies/platform/docker/layers/prisma/prisma_build.star +1 -1
  65. package/engine/topologies/tilt/common/utils.star +1 -1
  66. package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +53 -11
  67. package/engine/topologies/tilt/resources/orchestrator/builders/typescript.star +20 -0
  68. package/install.sh +19 -242
  69. package/openspec/changes/prioritized-cold-start/design.md +5 -1
  70. package/openspec/changes/prioritized-cold-start/specs/on-demand-resource-startup/spec.md +9 -3
  71. package/openspec/changes/prioritized-cold-start/tasks.md +13 -0
  72. package/package.json +1 -1
  73. package/platform/services/platform/proxy/service.yaml +1 -1
  74. package/scripts/release-binaries.sh +8 -5
  75. package/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +2 -2
  76. package/tests/tilt-engine/test_sablier_defer_start.py +41 -0
  77. package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/codebase-audit-report.md +0 -62
  78. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/.openspec.yaml +0 -5
  79. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/design.md +0 -94
  80. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/proposal.md +0 -46
  81. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/ai-slop-cleanup/CLEANUP_REPORT_8.md +0 -174
  82. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/ai-slop-cleanup/CRITICAL_ASSESSMENT_8.md +0 -160
  83. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/circular-deps/CRITICAL_ASSESSMENT_4.md +0 -381
  84. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/dead-code/CRITICAL_ASSESSMENT_3.md +0 -316
  85. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/deduplication/CRITICAL_ASSESSMENT_1.md +0 -290
  86. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/deduplication/IMPLEMENTATION_SUMMARY_1.md +0 -233
  87. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/defensive-cleanup/CRITICAL_ASSESSMENT_6.md +0 -835
  88. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/legacy-cleanup/CRITICAL_ASSESSMENT_7.md +0 -254
  89. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/legacy-cleanup/IMPLEMENTATION_SUMMARY_7.md +0 -187
  90. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/strong-typing/CRITICAL_ASSESSMENT_5.md +0 -269
  91. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/type-consolidation/CRITICAL_ASSESSMENT_2.md +0 -312
  92. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/type-consolidation/IMPLEMENTATION_SUMMARY.md +0 -170
  93. package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/tasks.md +0 -137
@@ -1,62 +0,0 @@
1
- # TDK Codebase Audit Report
2
-
3
- Generated: 2026-04-29
4
-
5
- ## Summary
6
-
7
- - **Total markers found:** 4
8
- - **CLI (User-facing):** 4
9
- - **Discovery:** 0
10
- - **Engine:** 0
11
-
12
- ## Findings
13
-
14
- ### CLI (User-Facing) - Priority: HIGH
15
-
16
- ```
17
- cli/src/commands/resource.ts:164: // TODO: Check database, cache, etc.
18
- cli/src/commands/resource.ts:168:// TODO: Add your routes here
19
- cli/src/commands/resource.ts:231:// TODO: Implement your worker logic here
20
- cli/src/commands/config.ts:32: // TODO: Implement diff logic
21
- ```
22
-
23
- **Details:**
24
-
25
- 1. **resource.ts:164** - Database/cache health check TODO in backend index template
26
- - Context: Health check endpoint needs to verify database/cache connectivity
27
- - Impact: Generated services won't properly report health status
28
-
29
- 2. **resource.ts:168** - Routes placeholder TODO in backend index template
30
- - Context: Placeholder comment for developers to add their own routes
31
- - Impact: Documentation/placeholder - low functional impact
32
-
33
- 3. **resource.ts:231** - Worker logic TODO in worker index template
34
- - Context: Worker template only has a basic loop, no actual job processing
35
- - Impact: Generated workers aren't functional without implementation
36
-
37
- 4. **config.ts:32** - Diff logic TODO in config regenerate command
38
- - Context: Dry-run mode shows what would change but doesn't implement actual diff
39
- - Impact: Users can't see differences between current and new config
40
-
41
- ### Discovery - Priority: MEDIUM
42
-
43
- ```
44
- No findings
45
- ```
46
-
47
- ### Engine - Priority: MEDIUM
48
-
49
- ```
50
- No findings
51
- ```
52
-
53
- ## Next Steps
54
-
55
- 1. ✅ Review HIGH priority (CLI) findings - COMPLETED
56
- 2. Implement or remove TODOs as appropriate:
57
- - Implement health check with database/cache verification (resource.ts:164)
58
- - Add example routes template (resource.ts:168)
59
- - Create functional worker template with job processing structure (resource.ts:231)
60
- - Implement diff logic for config dry-run (config.ts:32)
61
- 3. Add tests for any new functionality
62
- 4. Re-run audit to verify cleanup
@@ -1,5 +0,0 @@
1
- schema: spec-driven
2
- created: 2026-05-04
3
- status: completed
4
- completed: 2026-05-04
5
- commit: cfa2ffc
@@ -1,94 +0,0 @@
1
- ## Context
2
-
3
- TDK CLI is a multi-language monorepo (TypeScript CLI, Python Discovery, Starlark Engine) that has grown organically. Previous cleanup efforts have addressed specific issues, but a comprehensive, systematic cleanup across all dimensions is needed.
4
-
5
- **Current State:**
6
- - Code duplication exists across CLI commands and utilities
7
- - Type definitions are scattered and sometimes duplicated
8
- - Unused imports and functions remain from refactors
9
- - Circular dependencies exist in the module graph
10
- - Weak types (`any`, `unknown`) are used extensively
11
- - Defensive try/catch patterns hide errors unnecessarily
12
- - Legacy fallback code remains from migrations
13
- - AI-generated comments and stubs litter the codebase
14
-
15
- **Previous Cleanup Work:**
16
- - Dead code elimination assessment completed (2026-04-30)
17
- - Circular dependency critical assessment completed (2026-05-01)
18
- - Type assessment report available (2026-05-03)
19
- - AI slop assessment completed (2026-05-03)
20
- - Deduplication assessment completed
21
-
22
- ## Goals / Non-Goals
23
-
24
- **Goals:**
25
- - Achieve 100% DRY compliance for code patterns appearing 3+ times
26
- - Consolidate all shared types into centralized type modules
27
- - Remove 100% of verified unused code (knip + manual verification)
28
- - Resolve all circular dependencies in the module graph
29
- - Replace 95%+ of weak types with strong, researched types
30
- - Remove all unnecessary defensive programming patterns
31
- - Eliminate all deprecated, legacy, and fallback code
32
- - Remove all AI slop, stubs, and unhelpful comments
33
-
34
- **Non-Goals:**
35
- - Complete rewrites of working functionality
36
- - Breaking changes to public APIs
37
- - Adding new features during cleanup
38
- - Perfection at the cost of progress (80/20 rule applies)
39
-
40
- ## Decisions
41
-
42
- **Decision 1: Research-First Approach for Types**
43
- - **Rationale**: Weak types must be replaced with correct types, not guesses
44
- - **Implementation**: Research actual runtime values, package types, and usage patterns before replacing `any`/`unknown`
45
-
46
- **Decision 2: Verification Before Removal**
47
- - **Rationale**: Dead code removal must not break working systems
48
- - **Implementation**: Use knip for detection, then verify with manual analysis and tests before removal
49
-
50
- **Decision 3: Parallel Subagent Execution**
51
- - **Rationale**: 8 independent workstreams can proceed simultaneously
52
- - **Implementation**: Each dimension has a dedicated subagent with clear scope
53
-
54
- **Decision 4: Critical Assessment Required**
55
- - **Rationale**: Each subagent must deeply understand current state before changing
56
- - **Implementation**: Every subagent produces a critical assessment document before implementing
57
-
58
- **Decision 5: High Confidence Only**
59
- - **Rationale**: Low-confidence changes risk introducing bugs
60
- - **Implementation**: Only implement recommendations with clear evidence and low risk
61
-
62
- ## Risks / Trade-offs
63
-
64
- **Risk: Removing code that appears unused but is dynamically loaded**
65
- - **Mitigation**: Manual verification beyond static analysis; test execution verification
66
-
67
- **Risk: Type replacements break runtime behavior**
68
- - **Mitigation**: Research actual values; use runtime checks if needed
69
-
70
- **Risk: Circular dependency fixes require architectural changes**
71
- - **Mitigation**: Document current state; propose minimal fixes; avoid major refactors
72
-
73
- **Risk: Defensive programming removal exposes hidden bugs**
74
- - **Mitigation**: Replace error-hiding with explicit error handling only where needed
75
-
76
- **Risk: Scope creep across 8 dimensions**
77
- - **Mitigation**: Strict boundaries per subagent; time-box each dimension
78
-
79
- ## Migration Plan
80
-
81
- No user-facing migration needed. Internal changes only.
82
-
83
- Deployment steps:
84
- 1. Execute all 8 subagents in parallel for research phase
85
- 2. Review all critical assessments
86
- 3. Implement high-confidence changes per dimension
87
- 4. Run full test suite after each dimension completes
88
- 5. Merge incrementally by dimension to limit blast radius
89
-
90
- ## Open Questions
91
-
92
- 1. Should we establish permanent tooling (knip, madge) in CI?
93
- 2. What's the policy for `any` types that are truly unavoidable?
94
- 3. Should we create a style guide to prevent future AI slop?
@@ -1,46 +0,0 @@
1
- ## Why
2
-
3
- The TDK CLI codebase has accumulated significant technical debt through code duplication, scattered type definitions, unused code, circular dependencies, weak typing, defensive programming patterns, legacy fallbacks, and AI-generated artifacts. These issues compound daily, slowing development, increasing bug risk, and making the codebase harder to maintain and navigate. Now is the critical time to execute a comprehensive cleanup before the technical debt becomes unmanageable.
4
-
5
- ## What Changes
6
-
7
- This change executes a **comprehensive 8-dimensional codebase cleanup**:
8
-
9
- 1. **DRY & Deduplication**: Consolidate duplicate code patterns and implement DRY principles where they reduce complexity
10
- 2. **Type Consolidation**: Find all type definitions and consolidate shared types into centralized locations
11
- 3. **Dead Code Elimination**: Use knip to identify and remove all unused code with verification
12
- 4. **Circular Dependency Resolution**: Untangle circular dependencies using madge analysis
13
- 5. **Strong Typing**: Remove all weak types (any, unknown) with proper research-based replacements
14
- 6. **Defensive Programming Cleanup**: Remove unnecessary try/catch blocks that hide errors without purpose
15
- 7. **Legacy Code Removal**: Eliminate deprecated, fallback, and legacy code paths
16
- 8. **AI Slop Cleanup**: Remove stubs, LARP artifacts, unnecessary comments, and non-helpful documentation
17
-
18
- ## Capabilities
19
-
20
- ### New Capabilities
21
- - `code-quality-guardian`: Automated enforcement of code quality standards post-cleanup
22
- - `type-registry`: Centralized type definition management system
23
- - `dependency-graph-monitor`: Continuous monitoring for circular dependencies
24
-
25
- ### Modified Capabilities
26
- - All CLI commands benefit from cleaner, deduplicated code
27
- - Type safety improved across all modules
28
- - Error handling becomes explicit and purposeful
29
- - Code navigation and comprehension improved
30
-
31
- ## Impact
32
-
33
- - **CLI**: TypeScript source files in `cli/src/` - comprehensive cleanup of all 8 dimensions
34
- - **Discovery**: Python modules in `discovery/` - cleanup where applicable
35
- - **Engine**: Starlark files in `engine/` - cleanup of dead code and comments
36
- - **Tests**: All test files - improved type safety and removed dead test code
37
- - **Breaking changes**: Minimal - only removal of truly unused code
38
-
39
- ## Success Metrics
40
-
41
- - Zero `any` or `unknown` types remaining (except truly unavoidable cases)
42
- - All circular dependencies resolved
43
- - 20%+ reduction in code volume through deduplication and dead code removal
44
- - All knip-reported unused code verified and removed
45
- - No unnecessary try/catch blocks remaining
46
- - No AI-generated stubs or placeholder comments
@@ -1,174 +0,0 @@
1
- # AI Slop, Stub, and Comment Cleanup Report
2
-
3
- **Date:** 2026-05-04
4
- **Agent:** Subagent 8
5
- **Scope:** TDK CLI Source Code (`cli/src/`)
6
-
7
- ---
8
-
9
- ## Summary
10
-
11
- Successfully removed AI-generated boilerplate comments, unnecessary JSDoc blocks, and obvious inline comments from the TDK CLI codebase. All changes were high-confidence removals - no functional code was changed, no helpful comments were removed, and all tests pass.
12
-
13
- ---
14
-
15
- ## Files Changed
16
-
17
- | File | Changes Made | Lines Removed |
18
- |------|--------------|---------------|
19
- | `cli/src/utils/file-helpers.ts` | Removed 5 JSDoc blocks | ~25 lines |
20
- | `cli/src/utils/formatting.ts` | Removed 3 JSDoc blocks, 4 inline comments | ~18 lines |
21
- | `cli/src/utils/errors.ts` | Simplified 1 JSDoc, removed 1 inline comment | ~4 lines |
22
- | `cli/src/utils/services.ts` | Removed 2 inline comments | 2 lines |
23
- | `cli/src/utils/discovery-context.ts` | Removed 1 JSDoc, 2 inline comments | ~7 lines |
24
- | `cli/src/commands/config.ts` | Removed 1 JSDoc block, 1 inline comment | ~9 lines |
25
- | `cli/src/commands/resource.ts` | Removed 1 JSDoc comment | 1 line |
26
- | `cli/src/commands/up.ts` | Removed 3 inline comments | 3 lines |
27
- | `cli/src/commands/stacks.ts` | Removed 1 inline comment | 1 line |
28
- | `cli/src/config/platform-standards.ts` | Removed 2 header comments | 2 lines |
29
-
30
- **Total:** 10 files changed, ~72 lines removed
31
-
32
- ---
33
-
34
- ## Categories of Cleanup
35
-
36
- ### 1. Removed JSDoc Comments Restating the Obvious
37
-
38
- **Example from `file-helpers.ts` (BEFORE):**
39
- ```typescript
40
- /**
41
- * Write a JSON object to a file with consistent formatting.
42
- * Automatically adds trailing newline for POSIX compliance.
43
- */
44
- export function writeJsonFile(filePath: string, data: unknown, space: number = 2): void {
45
- ```
46
-
47
- **AFTER:**
48
- ```typescript
49
- export function writeJsonFile(filePath: string, data: unknown, space: number = 2): void {
50
- ```
51
-
52
- **Rationale:** Function name `writeJsonFile` already tells us what it does. The JSDoc adds no value.
53
-
54
- ### 2. Removed Inline Comments Stating the Obvious
55
-
56
- **Example from `services.ts` (BEFORE):**
57
- ```typescript
58
- const configType = resource.config?.appType;
59
- // Default to 'backend' when type not explicitly configured
60
- let type: ResourceType = configType || 'backend';
61
- ```
62
-
63
- **AFTER:**
64
- ```typescript
65
- const configType = resource.config?.appType;
66
- let type: ResourceType = configType || 'backend';
67
- ```
68
-
69
- **Rationale:** The code `|| 'backend'` makes it obvious we're defaulting to 'backend'.
70
-
71
- ### 3. Simplified Verbose JSDoc
72
-
73
- **Example from `errors.ts` (BEFORE):**
74
- ```typescript
75
- /**
76
- * Display a formatted error message. Does NOT exit.
77
- * Use showErrorAndExit() for fatal errors.
78
- */
79
- export function showError(...)
80
- ```
81
-
82
- **AFTER:**
83
- ```typescript
84
- /** Display a formatted error message. Does NOT exit. */
85
- export function showError(...)
86
- ```
87
-
88
- **Rationale:** The second sentence was redundant - the function name already implies it's not exiting (that would be `showErrorAndExit`).
89
-
90
- ---
91
-
92
- ## Preserved Comments (Kept Intentionally)
93
-
94
- The following comments were kept because they add real value:
95
-
96
- | File | Line | Comment | Why It Stays |
97
- |------|------|---------|--------------|
98
- | `commands/up.ts:65` | `// Give it a moment to fully shut down` | Explains WHY the 2000ms delay exists |
99
- | `commands/stack.ts:99` | `// Clear cache since we're about to modify resources` | Explains WHY we clear cache |
100
- | `utils/tilt.ts:73` | Error handling comment | Explains non-obvious design decision |
101
- | `commands/resource.ts:153,166-167,252,259,286,421` | Template guidance comments | Helpful for users who get generated code |
102
- | `commands/networks.ts` | Multiple regex pattern comments | Explain complex parsing logic |
103
- | `commands/upgrade.ts` | Fallback logic comments | Explain WHY different paths taken |
104
-
105
- ---
106
-
107
- ## Verification Results
108
-
109
- ### Tests
110
- ```
111
- ✓ src/commands/__tests__/project.test.ts (4 tests) 8ms
112
- ✓ src/commands/__tests__/error-handling.test.ts (4 tests) 7ms
113
- ✓ src/commands/__tests__/config.test.ts (11 tests) 5ms
114
- ✓ src/commands/__tests__/resource.test.ts (18 tests) 5ms
115
-
116
- Test Files 4 passed (4)
117
- Tests 37 passed (37)
118
- ```
119
-
120
- ### Type Checking
121
- ```
122
- $ npx tsc --noEmit
123
- (no errors)
124
- ```
125
-
126
- ---
127
-
128
- ## Impact Assessment
129
-
130
- ### Before
131
- - 20+ redundant comments
132
- - Visual noise that obscures actual code
133
- - Maintenance burden (keeping comments in sync)
134
- - AI-generated style patterns
135
-
136
- ### After
137
- - Clean, self-documenting code
138
- - Only meaningful comments remain
139
- - Easier to scan and understand
140
- - Consistent with modern TypeScript practices
141
-
142
- ---
143
-
144
- ## Guidelines for Future Development
145
-
146
- Based on this cleanup, established the following patterns:
147
-
148
- 1. **Remove comments that restate the obvious**
149
- - ❌ `// Update cache` before `cache = value`
150
- - ❌ JSDoc describing simple functions like `writeFile`
151
-
152
- 2. **Keep comments that explain WHY**
153
- - ✅ `// Give it a moment to fully shut down`
154
- - ✅ Security context: `// Prevent path traversal attacks`
155
-
156
- 3. **Keep comments for complex logic**
157
- - ✅ Regex pattern explanations
158
- - ✅ Algorithm explanations
159
-
160
- 4. **Prefer self-documenting code**
161
- - Clear function names over comments
162
- - Descriptive variable names
163
-
164
- ---
165
-
166
- ## Conclusion
167
-
168
- The TDK CLI codebase is now cleaner and easier to read. The removed comments were creating visual noise without adding value. The remaining comments all serve a purpose: explaining WHY something is done, not WHAT is being done (the code shows that).
169
-
170
- **Status:** ✅ COMPLETE - All tests pass, TypeScript compiles, code is cleaner.
171
-
172
- ---
173
-
174
- **End of Report**
@@ -1,160 +0,0 @@
1
- # Critical Assessment: AI Slop, Stub, and Comment Cleanup
2
-
3
- **Date:** 2026-05-04
4
- **Scope:** TDK CLI Source Code (`cli/src/`)
5
- **Assessor:** Subagent 8 (AI Slop Cleanup)
6
-
7
- ---
8
-
9
- ## Executive Summary
10
-
11
- The TDK CLI codebase has undergone significant prior cleanup, resulting in a relatively clean state. Most obvious AI-generated boilerplate has already been removed. This assessment identifies **remaining subtle patterns** that still warrant cleanup.
12
-
13
- **Inventory Summary:**
14
- - **JSDoc comments restating the obvious:** 11 instances
15
- - **Inline comments stating obvious operations:** 14 instances
16
- - **File headers stating the obvious:** 2 instances
17
- - **Template comments (user-facing):** 7 instances
18
- - **TODO/FIXME comments:** 0 (clean!)
19
- - **Stub functions:** 0 (clean!)
20
-
21
- ---
22
-
23
- ## Phase 1: Complete Inventory
24
-
25
- ### Category 1: JSDoc Comments Restating the Obvious (11 instances)
26
-
27
- These JSDoc comments describe simple operations that are already clear from function names:
28
-
29
- | File | Line | Current Comment | Classification |
30
- |------|------|-----------------|----------------|
31
- | `utils/file-helpers.ts:4-7` | `/** Write a JSON object to a file with consistent formatting... */` | **REMOVE** - Function name says it |
32
- | `utils/file-helpers.ts:13-16` | `/** Write a JSON object to a file within a directory... */` | **REMOVE** - Simple wrapper, obvious |
33
- | `utils/file-helpers.ts:27-29` | `/** Write text content to a file with consistent encoding. */` | **REMOVE** - Obvious from name |
34
- | `utils/file-helpers.ts:34-37` | `/** Write text content to a file within a directory... */` | **REMOVE** - Obvious wrapper |
35
- | `utils/file-helpers.ts:47-52` | `/** Ensure a directory exists, creating it if necessary... */` | **REMOVE** - Obvious from name |
36
- | `utils/formatting.ts:214-217` | `/** Display a success message with checkmark icon... */` | **REMOVE** - Function is self-explanatory |
37
- | `utils/formatting.ts:222-225` | `/** Display a step/action message with blue color... */` | **REMOVE** - Obvious |
38
- | `utils/formatting.ts:230-234` | `/** Display detailed information with indentation... */` | **REMOVE** - Obvious |
39
- | `utils/errors.ts:113-116` | `/** Display a formatted error message... */` | **SIMPLIFY** - Keep one line explaining it doesn't exit |
40
- | `utils/discovery-context.ts:18-21` | `/** Create a discovery context with all resource and stack info... */` | **REMOVE** - Obvious from name |
41
- | `commands/config.ts:178-184` | `/** Toggle an optional infrastructure service on or off... */` | **REMOVE** - Obvious from function name |
42
-
43
- ### Category 2: Inline Comments Stating the Obvious (14 instances)
44
-
45
- | File | Line | Comment | Classification |
46
- |------|------|---------|----------------|
47
- | `utils/errors.ts:36` | `// Common error factories` | **REMOVE** - Obvious from variable name |
48
- | `utils/services.ts:215` | `// Default to 'backend' when type not explicitly configured` | **REMOVE** - Code says this |
49
- | `utils/services.ts:302` | `// Calculate overall status based on resource statuses` | **REMOVE** - Obvious |
50
- | `utils/formatting.ts:72` | `// Use category for type-safe chalk color mapping` | **REMOVE** - Implementation detail |
51
- | `utils/formatting.ts:171` | `// Top border with title` | **REMOVE** - Obvious |
52
- | `utils/formatting.ts:177` | `// Content lines` | **REMOVE** - Obvious |
53
- | `utils/formatting.ts:183` | `// Bottom border` | **REMOVE** - Obvious |
54
- | `utils/discovery-context.ts:4` | `// Cache for memoizing discovery context within a session` | **REMOVE** - Obvious |
55
- | `utils/discovery-context.ts:50` | `// Update cache` | **REMOVE** - Obvious |
56
- | `commands/up.ts:37` | `// No stack specified - get all resources` | **REMOVE** - Code says this |
57
- | `commands/up.ts:65` | `// Give it a moment to fully shut down` | **KEEP** - Explains WHY the delay |
58
- | `commands/up.ts:72` | `// If TILT_PORT is already set in env, use that` | **REMOVE** - Obvious |
59
- | `commands/up.ts:94` | `// Run tilt up` | **REMOVE** - Obvious |
60
- | `commands/stack.ts:99` | `// Clear cache since we're about to modify resources` | **KEEP** - Explains WHY |
61
- | `commands/stacks.ts:14` | `// Single discovery call for all resources and stacks` | **REMOVE** - Obvious |
62
- | `config/platform-standards.ts:1-2` | `// Platform-wide standards...` | **REMOVE** - File is self-explanatory |
63
- | `commands/resource.ts:29` | `/** Type-specific configuration extensions... */` | **REMOVE** - Obvious |
64
-
65
- ### Category 3: Template Comments (User-Facing Code)
66
-
67
- These comments appear in generated code templates. Some are helpful, some are noise:
68
-
69
- | File | Line | Comment | Classification |
70
- |------|------|---------|----------------|
71
- | `commands/resource.ts:153` | `// Health check endpoint (required by TILT_RESOURCE_DEFAULTS.star)` | **KEEP** - Explains WHY |
72
- | `commands/resource.ts:166-167` | `// Add dependency checks here...` | **KEEP** - Helpful guidance |
73
- | `commands/resource.ts:252` | `// Add job processing logic here using job.payload` | **KEEP** - Helpful placeholder |
74
- | `commands/resource.ts:259` | `// Connect to your queue...` | **KEEP** - Helpful guidance |
75
- | `commands/resource.ts:286` | `// Wait before retrying to avoid tight error loops` | **KEEP** - Explains WHY |
76
- | `commands/resource.ts:421` | `// Prevent path traversal attacks` | **KEEP** - Security context |
77
-
78
- ### Category 4: High-Value Comments to Preserve
79
-
80
- These comments explain WHY or provide important context:
81
-
82
- | File | Line | Comment | Why It Stays |
83
- |------|------|---------|--------------|
84
- | `utils/tilt.ts:73` | Explains error handling strategy | Explains non-obvious design decision |
85
- | `commands/upgrade.ts:23,66,87,115` | Comments explaining fallback logic | Explain WHY different paths |
86
- | `commands/networks.ts:64,75-76,79-80,90,92,97-98,104,143` | Complex parsing logic comments | Explain complex regex patterns |
87
- | `commands/resource.ts:421` | Security comment | Explains security intent |
88
-
89
- ### Category 5: TODO/FIXME/Stubs
90
-
91
- **STATUS: CLEAN**
92
-
93
- No TODO, FIXME, HACK, or XXX comments found in production code.
94
- No stub functions with `throw new Error("Not implemented")` found.
95
-
96
- ---
97
-
98
- ## Phase 2: Implementation Plan
99
-
100
- ### High-Confidence Removals (Safe to Remove)
101
-
102
- 1. **Remove JSDoc comments** from:
103
- - `utils/file-helpers.ts` - All 5 JSDoc blocks (lines 4-52)
104
- - `utils/formatting.ts` - 3 JSDoc blocks (lines 214-236)
105
- - `utils/discovery-context.ts` - 1 JSDoc block (lines 18-21)
106
- - `commands/config.ts` - 1 JSDoc block (lines 178-184)
107
- - `commands/resource.ts` - 1 JSDoc block (line 29)
108
-
109
- 2. **Remove obvious inline comments** from:
110
- - `utils/errors.ts:36`
111
- - `utils/services.ts:215,302`
112
- - `utils/formatting.ts:72,171,177,183`
113
- - `utils/discovery-context.ts:4,50`
114
- - `commands/up.ts:37,72,94`
115
- - `commands/stacks.ts:14`
116
- - `config/platform-standards.ts:1-2`
117
-
118
- ### Medium-Confidence Changes (Simplify)
119
-
120
- 1. **Simplify JSDoc in `utils/errors.ts:113-116`**:
121
- - Keep: `/** Display a formatted error message. Does NOT exit. */`
122
- - Remove verbose description and suggestions note
123
-
124
- ---
125
-
126
- ## Expected Results
127
-
128
- - **Comments removed:** ~20
129
- - **Lines removed:** ~50
130
- - **Code readability:** Improved - less visual noise
131
- - **No functional changes:** Pure comment cleanup
132
-
133
- ---
134
-
135
- ## Files to Modify
136
-
137
- 1. `cli/src/utils/file-helpers.ts`
138
- 2. `cli/src/utils/formatting.ts`
139
- 3. `cli/src/utils/errors.ts`
140
- 4. `cli/src/utils/services.ts`
141
- 5. `cli/src/utils/discovery-context.ts`
142
- 6. `cli/src/commands/config.ts`
143
- 7. `cli/src/commands/resource.ts`
144
- 8. `cli/src/commands/up.ts`
145
- 9. `cli/src/commands/stacks.ts`
146
- 10. `cli/src/config/platform-standards.ts`
147
-
148
- ---
149
-
150
- ## Verification Checklist
151
-
152
- - [ ] All tests pass after changes
153
- - [ ] No TODO/FIXME comments removed
154
- - [ ] No security-related comments removed
155
- - [ ] No template/helpful comments removed
156
- - [ ] Code is easier to read after cleanup
157
-
158
- ---
159
-
160
- **End of Assessment**