apm recognises its own settings.json hook entries only through the .claude/apm-hooks.json sidecar. With the sidecar gitignored, apm install in a fresh clone keeps the committed SessionStart entry as user-owned and appends a duplicate, so apm audit --ci reports drift and the apm-audit-ci pre-push hook fails. Reproduced on main and this branch with apm 0.28.0. Commit the sidecar in apm's exact serialisation, exclude it from pretty-format-json alongside settings.json, and record the correction in ADR-0019. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
60 lines
1.8 KiB
Plaintext
60 lines
1.8 KiB
Plaintext
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Editor
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# Logs and temp
|
|
*.log
|
|
*.tmp
|
|
/tmp/
|
|
|
|
# Environment
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
# Node (if tooling is added later)
|
|
node_modules/
|
|
|
|
# Claude Code local settings (machine-specific)
|
|
.claude/settings.local.json
|
|
|
|
# APM dependencies
|
|
apm_modules/
|
|
|
|
# APM install output — deployed copies of released plugin content, regenerated
|
|
# by `apm install`. The authoring source is plugins/<name>/.apm/; committing a
|
|
# deployed copy would add a third mirror of the same skills to drift against.
|
|
.claude/skills/
|
|
.claude/agents/
|
|
|
|
# APM MCP deployment output — `apm install` writes the repo-root .mcp.json from
|
|
# the MCP servers its dependencies declare, and regenerates it on every install.
|
|
# It is apm's output, not repo content; nothing here is hand-authored.
|
|
/.mcp.json
|
|
|
|
# APM hook deployment output — `apm install` copies each package's referenced
|
|
# hook scripts here. Regenerated on every install; the authoring source is
|
|
# plugins/<name>/.apm/hooks/ (ADR-0019). The .claude/apm-hooks.json ownership
|
|
# sidecar is committed, not ignored: without it a fresh clone's install cannot
|
|
# claim the committed settings.json entry and duplicates it (ADR-0019).
|
|
.claude/hooks/
|
|
|
|
# `apm pack` bundle output. The pre-push gate runs pack with --dry-run, so this
|
|
# only appears after a bare `apm pack` during a release; it is not repo content.
|
|
build/
|
|
|
|
# `apm pack`'s manifest for the *root* package. Emitted beside the marketplace
|
|
# manifest by a bare `apm pack`, and never tracked on any branch — the repo's
|
|
# own paths hide it, since the apm-pack-check-clean pre-push hook, the only
|
|
# thing that runs pack here, passes --dry-run. Scoped
|
|
# to the file, not the directory: the sibling .claude-plugin/marketplace.json is
|
|
# compiled output that IS committed and must stay tracked.
|
|
/.claude-plugin/plugin.json
|