Skip to content

[FEATURE] Name the apm-managed files so they're distinct from hand-maintained files #846

@petemounce

Description

@petemounce

Is your feature request related to a problem? Please describe.

apm install will fetch files and place them into the git worktree. Once they're present, there's no way to discern they're being managed by apm and so should not be subjected to things like linting, formatting, etc that might be wired up - for example agnix, vale - as they are not user-code they are vendor-code.

This means that if there are hand-rolled files in the places apm install/compile writes to, one must touch gitignore (in each target-specific tree) to either exclude the apm-delivered content, or exclude-everything but negate match on the hand-rolled content.

Both are error-prone.

Describe the solution you'd like
A file/directory naming pattern so that apm-managed content can be gitignored via a single static wildcard rule. For example:

  • an apm-managed directory gets a file-extension like .apm (allowing a single gitignore rule *.apm to exclude every apm-delivered directory). For example, instead of .agents/skills/foo/SKILL.md, .agents/skills/foo.apm/SKILL.md.
  • an apm-managed file that coexists in the same directory as handrolled files - looking at hooks here - gets a semantic file extension in addition to its "regular" file extension. For example, .github/hooks/foo.json becomes .github/hooks/foo.apm.json allowing a second gitignore rule like *.apm.* to exclude all of those.

Describe alternatives you've considered
Adding a gitignore rule per apm-delivered directory or file. Too error-prone because of toil overhead.

Additional context
n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageNew issue, not yet reviewed by maintainers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions