@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.
- package/.github/ISSUE_TEMPLATE/config.yml +3 -0
- package/.github/ISSUE_TEMPLATE/premium_license.yml +43 -0
- package/.github/workflows/ci.yml +13 -0
- package/.github/workflows/release-binaries.yml +76 -1
- package/CHANGELOG.md +55 -0
- package/README.md +52 -17
- package/cli/README.md +16 -43
- package/cli/biome.json +0 -4
- package/cli/dist/commands/config.js +1 -1
- package/cli/dist/commands/config.js.map +1 -1
- package/cli/dist/commands/help.d.ts.map +1 -1
- package/cli/dist/commands/help.js +22 -39
- package/cli/dist/commands/help.js.map +1 -1
- package/cli/dist/commands/project.d.ts +6 -0
- package/cli/dist/commands/project.d.ts.map +1 -1
- package/cli/dist/commands/project.js +16 -0
- package/cli/dist/commands/project.js.map +1 -1
- package/cli/dist/commands/resource.js +1 -1
- package/cli/dist/commands/resource.js.map +1 -1
- package/cli/dist/commands/up.d.ts.map +1 -1
- package/cli/dist/commands/up.js +5 -0
- package/cli/dist/commands/up.js.map +1 -1
- package/cli/dist/commands/upgrade.d.ts +3 -0
- package/cli/dist/commands/upgrade.d.ts.map +1 -1
- package/cli/dist/commands/upgrade.js +43 -1
- package/cli/dist/commands/upgrade.js.map +1 -1
- package/cli/dist/utils/constants.d.ts +1 -1
- package/cli/dist/utils/constants.d.ts.map +1 -1
- package/cli/dist/utils/constants.js +1 -1
- package/cli/dist/utils/constants.js.map +1 -1
- package/cli/dist/utils/doctor-runtime.js +5 -5
- package/cli/dist/utils/doctor-runtime.js.map +1 -1
- package/cli/dist/utils/prompt.d.ts.map +1 -1
- package/cli/dist/utils/prompt.js +6 -1
- package/cli/dist/utils/prompt.js.map +1 -1
- package/cli/dist/utils/service-urls.js +1 -1
- package/cli/dist/utils/service-urls.js.map +1 -1
- package/cli/package.json +2 -1
- package/cli/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +2 -2
- package/cli/src/commands/__tests__/doctor.test.ts +8 -8
- package/cli/src/commands/__tests__/upgrade.test.ts +90 -3
- package/cli/src/commands/config.ts +1 -1
- package/cli/src/commands/help.ts +22 -39
- package/cli/src/commands/project.ts +20 -0
- package/cli/src/commands/resource.ts +1 -1
- package/cli/src/commands/up.ts +10 -0
- package/cli/src/commands/upgrade.ts +52 -1
- package/cli/src/utils/constants.ts +1 -1
- package/cli/src/utils/doctor-runtime.ts +5 -5
- package/cli/src/utils/prompt.ts +8 -1
- package/cli/src/utils/service-urls.ts +1 -1
- package/discovery/identity-management-backend/service.yaml +2 -2
- package/discovery/identity-management-frontend/service.yaml +1 -1
- package/discovery/registry.star +3 -1
- package/discovery/services/platform/orchestrator/orchestrator-glue-backend/service.yaml +2 -2
- package/docs/FEATURES.md +2 -0
- package/engine/assets/docker/golden-layers.Dockerfile +18 -18
- package/engine/assets/docker/wake-gateway/decide.test.ts +25 -0
- package/engine/assets/docker/wake-gateway/decide.ts +19 -0
- package/engine/assets/docker/wake-gateway/server.ts +60 -14
- package/engine/assets/scripts/mac-m1-resource-monitor.sh +1 -1
- package/engine/scripts/debug-container.sh +8 -3
- package/engine/spec.master +2 -2
- package/engine/topologies/platform/docker/layers/prisma/prisma_build.star +1 -1
- package/engine/topologies/tilt/common/utils.star +1 -1
- package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +53 -11
- package/engine/topologies/tilt/resources/orchestrator/builders/typescript.star +20 -0
- package/install.sh +19 -242
- package/openspec/changes/prioritized-cold-start/design.md +5 -1
- package/openspec/changes/prioritized-cold-start/specs/on-demand-resource-startup/spec.md +9 -3
- package/openspec/changes/prioritized-cold-start/tasks.md +13 -0
- package/package.json +1 -1
- package/platform/services/platform/proxy/service.yaml +1 -1
- package/scripts/release-binaries.sh +8 -5
- package/shared-platform-engineering/docker-templates/infisical-entrypoint.sh +2 -2
- package/tests/tilt-engine/test_sablier_defer_start.py +41 -0
- package/openspec/changes/archive/2026-04-29-scan-repo-gaps-fix/codebase-audit-report.md +0 -62
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/.openspec.yaml +0 -5
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/design.md +0 -94
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/proposal.md +0 -46
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/ai-slop-cleanup/CLEANUP_REPORT_8.md +0 -174
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/ai-slop-cleanup/CRITICAL_ASSESSMENT_8.md +0 -160
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/circular-deps/CRITICAL_ASSESSMENT_4.md +0 -381
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/dead-code/CRITICAL_ASSESSMENT_3.md +0 -316
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/deduplication/CRITICAL_ASSESSMENT_1.md +0 -290
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/deduplication/IMPLEMENTATION_SUMMARY_1.md +0 -233
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/defensive-cleanup/CRITICAL_ASSESSMENT_6.md +0 -835
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/legacy-cleanup/CRITICAL_ASSESSMENT_7.md +0 -254
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/legacy-cleanup/IMPLEMENTATION_SUMMARY_7.md +0 -187
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/strong-typing/CRITICAL_ASSESSMENT_5.md +0 -269
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/type-consolidation/CRITICAL_ASSESSMENT_2.md +0 -312
- package/openspec/changes/archive/2026-05-04-comprehensive-cleanup-final/specs/type-consolidation/IMPLEMENTATION_SUMMARY.md +0 -170
- 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,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**
|