-
Notifications
You must be signed in to change notification settings - Fork 7
Closed
Labels
P2Medium priorityMedium prioritytech-debtTechnical debt and code quality improvementsTechnical debt and code quality improvements
Description
Summary
The top-level gitignoreEntries field on ExternalPackManifest is labeled "Legacy" in docs/techpack-schema.md with guidance to prefer the gitignore: component shorthand instead. Like hookContributions (removed in #156), it's a redundant mechanism that duplicates what the modern component system already provides.
Current state
gitignoreEntries is wired through:
ExternalPackManifest.swift— decoded from YAMLExternalPackAdapter.swift— forwarded toTechPack.gitignoreEntriesComponentExecutor.swift— applied during installPackUninstaller.swift— cleaned up during removalCoreDoctorChecks.swift— checked during doctorPackCommand.swift— counted duringpack removepreview
The modern replacement is the gitignore: component shorthand:
# Modern (component)
components:
- id: my-pack.ignore
description: Gitignore entries
gitignore:
- .build
- .xcodebuildmcp
# Legacy (top-level field)
gitignoreEntries:
- .build
- .xcodebuildmcpMotivation
Same rationale as #156 — the product is pre-1.0, legacy code paths add complexity without proportional value, and the modern component system already handles gitignore entries with better per-project convergence support.
Scope
- Remove
gitignoreEntriesfromTechPackprotocol - Remove field from
ExternalPackManifest - Remove from adapter, executor, uninstaller, doctor, and command UI
- Update docs
- Clean up tests
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2Medium priorityMedium prioritytech-debtTechnical debt and code quality improvementsTechnical debt and code quality improvements