# git-history-recon skill-local exclude patterns
#
# One gitignore-style glob pattern per line. Blank lines and lines starting
# with # are ignored. Every pattern is applied as a git pathspec
# `:(glob,exclude)` argument (see Pipeline Reference in SKILL.md) to
# Pipelines 1, 2, and 7, and to the Phase 2 High-Risk intersection — never to
# the commit/author pipelines (3, 4, 5, 6), where a file-path filter would be
# meaningless.
#
# This file ships INSIDE the skill directory and is versioned with it — it is
# NOT read from the target repository being analyzed. Its purpose is to strip
# mechanical file-version-bump churn that drowns out genuine hotspot/bug-magnet
# signal. Every default below was verified against this repo's own git
# history before being added; see the per-pattern comment for the rationale.
# Reproduce the verification with Pipeline 1's own command (see SKILL.md),
# scoped to one file:
#   git log --name-only --since='1 year ago' --format='' -- <path> \
#     | grep -v '^$' | wc -l

# Claude Code plugin manifest — plugins/*/.claude-plugin/plugin.json is
# rewritten by this repo's `manifest-sync` pre-commit hook
# (plugins/plugin-creator/scripts/auto_sync_manifests.py, function
# `_plugin_manifest_paths`) on every commit that touches any component inside
# that plugin, bumping the version field regardless of whether the commit
# fixed a defect. Confirmed via git log: plugins/development-harness's
# plugin.json is consistently among the top hotspot file-change counts in a
# 1-year window, almost entirely from these mechanical bumps rather than
# hand-edited plugin.json content — reproduce with the command above.
**/.claude-plugin/plugin.json

# Codex/Cursor plugin manifest variants — auto_sync_manifests.py's
# `_plugin_manifest_paths` globs `.*-plugin/plugin.json` under each plugin
# root, so `.codex-plugin/plugin.json` and `.cursor-plugin/plugin.json` are
# bumped in lockstep with `.claude-plugin/plugin.json` by the same hook, for
# the same mechanical reason.
**/.codex-plugin/plugin.json
**/.cursor-plugin/plugin.json

# Marketplace manifest — auto_sync_manifests.py bumps
# .claude-plugin/marketplace.json's metadata.version on unrelated commits
# (dedicated "chore: bump marketplace version [skip ci]" commits), and
# bump-marketplace.yml does the same on every push to main. Confirmed via git
# log as one of the single largest hotspot file-change counts in a 1-year
# window, with sampled commit messages showing pure version bumps rather
# than content changes — reproduce with the command above.
**/.claude-plugin/marketplace.json

# uv (Python) lockfile — machine-generated by `uv lock`/`uv add`, never
# hand-edited. Confirmed via git log: this repo's uv.lock churn is dominated
# by "build(deps): bump X from Y to Z" dependabot commits, not authored logic
# changes — the file has no fix/defect signal to contribute regardless of
# commit-message keywords. Reproduce with the command above.
**/uv.lock

# npm/yarn/pnpm (JS/TS) lockfiles — the package.json-ecosystem equivalent of
# uv.lock: auto-generated by the respective package manager, never
# hand-edited. Not present in this repo to confirm empirically, so this
# entry is included by analogy to the confirmed uv.lock case above for
# portability to JS/TS repos this skill also runs against. Remove this
# section if a target repo's lockfile churn turns out to carry genuine
# signal (e.g. manually resolved merge conflicts introducing bugs).
**/package-lock.json
**/yarn.lock
**/pnpm-lock.yaml
