-
Notifications
You must be signed in to change notification settings - Fork 148
[FEATURE] set up gitignore for deployed files #990
Copy link
Copy link
Open
Labels
area/docs-sitedocs/src/content (Starlight), README, doc generation.docs/src/content (Starlight), README, doc generation.area/package-authoringapm pack/unpack, plugin authoring, vendoring guidance, bundle format.apm pack/unpack, plugin authoring, vendoring guidance, bundle format.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Metadata
Metadata
Assignees
Labels
area/docs-sitedocs/src/content (Starlight), README, doc generation.docs/src/content (Starlight), README, doc generation.area/package-authoringapm pack/unpack, plugin authoring, vendoring guidance, bundle format.apm pack/unpack, plugin authoring, vendoring guidance, bundle format.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Type
Projects
Status
Todo
Is your feature request related to a problem? Please describe.
When
apm installis run, it delivers content into the working tree. This can then be accidentally committed to source control in the scenario where apm is not being used as a vendoring-code tool.Describe the solution you'd like
apm.ymlcan have a top-levelmodeparameter, taking valuesdefaultorvendor. The former behaves as now plus additively starts to also maintain.gitignoreentries for the content that is being managed byapm. The latter does not maintain.gitignoreentries.The repo-root
.gitignoreis tempting but would grow large and as that is usually a hand-maintained file, that would complicate maintainers' UX. If this is accepted I'd propose either{target-root}/.gitignore{target-root}/{content-type}/.gitignore... as both are more likely to be hands-off files. (1) might be problematic as for example
.claude/settings.jsonor.opencode/opencode.jsonlive within, so there's possibility of human/machine toe-stomping.Describe alternatives you've considered
I think the ideal would be gitignore having an include directive that would allow apm to have its own file but sadly that's not a feature gitignore has.
I thought also about deploying symlinks aimed into
apm_modules- but those would still ideally be gitignored, so discarded it.Additional context
n/a