anthropics / claude-code
File Churn

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 26 files with 4,528 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 1 file changed 21-50 times (449 lines of code)
    • 2 files changed 6-20 times (360 lines of code)
    • 23 files changed 1-5 times (3,719 lines of code)
0% | 0% | 9% | 7% | 82%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 26 files with 4,528 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 13 files changed by 2-5 contributors (3,501 lines of code)
    • 13 files changed by 1 contributor (1,027 lines of code)
0% | 0% | 0% | 77% | 22%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
md, json, py, sh, yaml, ts, gitignore, ps1, admx, gitattributes, adml, txt, plist, xml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
xml0% | 0% | 100% | 0% | 0%
ts0% | 0% | 0% | 37% | 62%
ps10% | 0% | 0% | 100% | 0%
py0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
ROOT0% | 0% | 100% | 0% | 0%
scripts0% | 0% | 0% | 37% | 62%
Script0% | 0% | 0% | 100% | 0%
plugins0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 26)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
feed.xml
in root
449 - 2026-05-18 2026-06-23 28 1 +1590 / -1141 actions@github.com actions@github.com
131 - 2025-05-04 2025-08-27 8 3 +523 / -56 april.macchiato@gmail.com kurt@anthropic.com
229 6 2025-08-07 2025-09-25 7 4 +1209 / -655 boris@anthropic.com wolffiex@anthropic.com
177 4 2025-08-08 2025-09-25 5 4 +874 / -448 boris@anthropic.com wolffiex@anthropic.com
sweep.ts
in scripts
127 3 2026-02-12 2026-02-17 4 3 +316 / -42 chris@chrislloyd.net 718+chrislloyd@users.norepl...
security_reminder_hook.py
in plugins/security-guidance/hooks
1211 24 2025-10-09 2026-05-26 2 3 +4520 / -416 dworken@anthropic.com mhegazy@anthropic.com
__init__.py
in plugins/hookify/matchers
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/hooks
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/utils
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/core
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
userpromptsubmit.py
in plugins/hookify/hooks
33 1 2025-11-17 2025-11-17 1 1 +116 / -0 daisy@anthropic.com daisy@anthropic.com
stop.py
in plugins/hookify/hooks
33 1 2025-11-17 2025-11-17 1 1 +118 / -0 daisy@anthropic.com daisy@anthropic.com
34 - 2026-02-14 2026-02-14 1 1 +38 / -0 718+chrislloyd@users.norepl... 718+chrislloyd@users.norepl...
posttooluse.py
in plugins/hookify/hooks
39 1 2025-11-17 2025-11-17 1 1 +132 / -0 daisy@anthropic.com daisy@anthropic.com
pretooluse.py
in plugins/hookify/hooks
39 1 2025-11-17 2025-11-17 1 1 +148 / -0 daisy@anthropic.com daisy@anthropic.com
42 - 2026-02-14 2026-02-14 1 1 +53 / -0 718+chrislloyd@users.norepl... 718+chrislloyd@users.norepl...
_base.py
in plugins/security-guidance/hooks
89 4 2026-05-26 2026-05-26 1 2 +314 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
session_state.py
in plugins/security-guidance/hooks
100 7 2026-05-26 2026-05-26 1 2 +322 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
ensure_agent_sdk.py
in plugins/security-guidance/hooks
138 3 2026-05-26 2026-05-26 1 2 +450 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
rule_engine.py
in plugins/hookify/core
170 8 2025-11-17 2025-11-17 1 1 +626 / -0 daisy@anthropic.com daisy@anthropic.com
extensibility.py
in plugins/security-guidance/hooks
181 11 2026-05-26 2026-05-26 1 2 +578 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
config_loader.py
in plugins/hookify/core
184 5 2025-11-17 2025-11-17 1 1 +594 / -0 daisy@anthropic.com daisy@anthropic.com
patterns.py
in plugins/security-guidance/hooks
214 1 2026-05-26 2026-05-26 1 2 +690 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
diffstate.py
in plugins/security-guidance/hooks
232 12 2026-05-26 2026-05-26 1 2 +876 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
review_api.py
in plugins/security-guidance/hooks
267 8 2026-05-26 2026-05-26 1 2 +796 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
gitutil.py
in plugins/security-guidance/hooks
405 19 2026-05-26 2026-05-26 1 2 +1446 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
Files With Most Churn (Top 26)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
security_reminder_hook.py
in plugins/security-guidance/hooks
1211 24 2025-10-09 2026-05-26 2 3 +4520 / -416 dworken@anthropic.com mhegazy@anthropic.com
feed.xml
in root
449 - 2026-05-18 2026-06-23 28 1 +1590 / -1141 actions@github.com actions@github.com
229 6 2025-08-07 2025-09-25 7 4 +1209 / -655 boris@anthropic.com wolffiex@anthropic.com
gitutil.py
in plugins/security-guidance/hooks
405 19 2026-05-26 2026-05-26 1 2 +1446 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
177 4 2025-08-08 2025-09-25 5 4 +874 / -448 boris@anthropic.com wolffiex@anthropic.com
diffstate.py
in plugins/security-guidance/hooks
232 12 2026-05-26 2026-05-26 1 2 +876 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
review_api.py
in plugins/security-guidance/hooks
267 8 2026-05-26 2026-05-26 1 2 +796 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
patterns.py
in plugins/security-guidance/hooks
214 1 2026-05-26 2026-05-26 1 2 +690 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
rule_engine.py
in plugins/hookify/core
170 8 2025-11-17 2025-11-17 1 1 +626 / -0 daisy@anthropic.com daisy@anthropic.com
config_loader.py
in plugins/hookify/core
184 5 2025-11-17 2025-11-17 1 1 +594 / -0 daisy@anthropic.com daisy@anthropic.com
131 - 2025-05-04 2025-08-27 8 3 +523 / -56 april.macchiato@gmail.com kurt@anthropic.com
extensibility.py
in plugins/security-guidance/hooks
181 11 2026-05-26 2026-05-26 1 2 +578 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
ensure_agent_sdk.py
in plugins/security-guidance/hooks
138 3 2026-05-26 2026-05-26 1 2 +450 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
sweep.ts
in scripts
127 3 2026-02-12 2026-02-17 4 3 +316 / -42 chris@chrislloyd.net 718+chrislloyd@users.norepl...
session_state.py
in plugins/security-guidance/hooks
100 7 2026-05-26 2026-05-26 1 2 +322 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
_base.py
in plugins/security-guidance/hooks
89 4 2026-05-26 2026-05-26 1 2 +314 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
pretooluse.py
in plugins/hookify/hooks
39 1 2025-11-17 2025-11-17 1 1 +148 / -0 daisy@anthropic.com daisy@anthropic.com
posttooluse.py
in plugins/hookify/hooks
39 1 2025-11-17 2025-11-17 1 1 +132 / -0 daisy@anthropic.com daisy@anthropic.com
stop.py
in plugins/hookify/hooks
33 1 2025-11-17 2025-11-17 1 1 +118 / -0 daisy@anthropic.com daisy@anthropic.com
userpromptsubmit.py
in plugins/hookify/hooks
33 1 2025-11-17 2025-11-17 1 1 +116 / -0 daisy@anthropic.com daisy@anthropic.com
42 - 2026-02-14 2026-02-14 1 1 +53 / -0 718+chrislloyd@users.norepl... 718+chrislloyd@users.norepl...
34 - 2026-02-14 2026-02-14 1 1 +38 / -0 718+chrislloyd@users.norepl... 718+chrislloyd@users.norepl...
__init__.py
in plugins/hookify/matchers
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/hooks
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/utils
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/core
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
Files With Most Contributors (Top 26)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
229 6 2025-08-07 2025-09-25 7 4 +1209 / -655 boris@anthropic.com wolffiex@anthropic.com
177 4 2025-08-08 2025-09-25 5 4 +874 / -448 boris@anthropic.com wolffiex@anthropic.com
131 - 2025-05-04 2025-08-27 8 3 +523 / -56 april.macchiato@gmail.com kurt@anthropic.com
sweep.ts
in scripts
127 3 2026-02-12 2026-02-17 4 3 +316 / -42 chris@chrislloyd.net 718+chrislloyd@users.norepl...
security_reminder_hook.py
in plugins/security-guidance/hooks
1211 24 2025-10-09 2026-05-26 2 3 +4520 / -416 dworken@anthropic.com mhegazy@anthropic.com
diffstate.py
in plugins/security-guidance/hooks
232 12 2026-05-26 2026-05-26 1 2 +876 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
patterns.py
in plugins/security-guidance/hooks
214 1 2026-05-26 2026-05-26 1 2 +690 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
review_api.py
in plugins/security-guidance/hooks
267 8 2026-05-26 2026-05-26 1 2 +796 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
gitutil.py
in plugins/security-guidance/hooks
405 19 2026-05-26 2026-05-26 1 2 +1446 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
session_state.py
in plugins/security-guidance/hooks
100 7 2026-05-26 2026-05-26 1 2 +322 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
_base.py
in plugins/security-guidance/hooks
89 4 2026-05-26 2026-05-26 1 2 +314 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
ensure_agent_sdk.py
in plugins/security-guidance/hooks
138 3 2026-05-26 2026-05-26 1 2 +450 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
extensibility.py
in plugins/security-guidance/hooks
181 11 2026-05-26 2026-05-26 1 2 +578 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
feed.xml
in root
449 - 2026-05-18 2026-06-23 28 1 +1590 / -1141 actions@github.com actions@github.com
config_loader.py
in plugins/hookify/core
184 5 2025-11-17 2025-11-17 1 1 +594 / -0 daisy@anthropic.com daisy@anthropic.com
rule_engine.py
in plugins/hookify/core
170 8 2025-11-17 2025-11-17 1 1 +626 / -0 daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/core
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/utils
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
pretooluse.py
in plugins/hookify/hooks
39 1 2025-11-17 2025-11-17 1 1 +148 / -0 daisy@anthropic.com daisy@anthropic.com
stop.py
in plugins/hookify/hooks
33 1 2025-11-17 2025-11-17 1 1 +118 / -0 daisy@anthropic.com daisy@anthropic.com
posttooluse.py
in plugins/hookify/hooks
39 1 2025-11-17 2025-11-17 1 1 +132 / -0 daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/hooks
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
userpromptsubmit.py
in plugins/hookify/hooks
33 1 2025-11-17 2025-11-17 1 1 +116 / -0 daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/matchers
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
34 - 2026-02-14 2026-02-14 1 1 +38 / -0 718+chrislloyd@users.norepl... 718+chrislloyd@users.norepl...
42 - 2026-02-14 2026-02-14 1 1 +53 / -0 718+chrislloyd@users.norepl... 718+chrislloyd@users.norepl...
Files With Least Contributors (Top 26)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
feed.xml
in root
449 - 2026-05-18 2026-06-23 28 1 +1590 / -1141 actions@github.com actions@github.com
config_loader.py
in plugins/hookify/core
184 5 2025-11-17 2025-11-17 1 1 +594 / -0 daisy@anthropic.com daisy@anthropic.com
rule_engine.py
in plugins/hookify/core
170 8 2025-11-17 2025-11-17 1 1 +626 / -0 daisy@anthropic.com daisy@anthropic.com
42 - 2026-02-14 2026-02-14 1 1 +53 / -0 718+chrislloyd@users.norepl... 718+chrislloyd@users.norepl...
pretooluse.py
in plugins/hookify/hooks
39 1 2025-11-17 2025-11-17 1 1 +148 / -0 daisy@anthropic.com daisy@anthropic.com
posttooluse.py
in plugins/hookify/hooks
39 1 2025-11-17 2025-11-17 1 1 +132 / -0 daisy@anthropic.com daisy@anthropic.com
34 - 2026-02-14 2026-02-14 1 1 +38 / -0 718+chrislloyd@users.norepl... 718+chrislloyd@users.norepl...
stop.py
in plugins/hookify/hooks
33 1 2025-11-17 2025-11-17 1 1 +118 / -0 daisy@anthropic.com daisy@anthropic.com
userpromptsubmit.py
in plugins/hookify/hooks
33 1 2025-11-17 2025-11-17 1 1 +116 / -0 daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/core
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/utils
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/hooks
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
__init__.py
in plugins/hookify/matchers
1 - 2025-11-17 2025-11-17 1 1 - daisy@anthropic.com daisy@anthropic.com
gitutil.py
in plugins/security-guidance/hooks
405 19 2026-05-26 2026-05-26 1 2 +1446 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
review_api.py
in plugins/security-guidance/hooks
267 8 2026-05-26 2026-05-26 1 2 +796 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
diffstate.py
in plugins/security-guidance/hooks
232 12 2026-05-26 2026-05-26 1 2 +876 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
patterns.py
in plugins/security-guidance/hooks
214 1 2026-05-26 2026-05-26 1 2 +690 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
extensibility.py
in plugins/security-guidance/hooks
181 11 2026-05-26 2026-05-26 1 2 +578 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
ensure_agent_sdk.py
in plugins/security-guidance/hooks
138 3 2026-05-26 2026-05-26 1 2 +450 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
session_state.py
in plugins/security-guidance/hooks
100 7 2026-05-26 2026-05-26 1 2 +322 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
_base.py
in plugins/security-guidance/hooks
89 4 2026-05-26 2026-05-26 1 2 +314 / -0 8000722+mhegazy@users.norep... mhegazy@anthropic.com
security_reminder_hook.py
in plugins/security-guidance/hooks
1211 24 2025-10-09 2026-05-26 2 3 +4520 / -416 dworken@anthropic.com mhegazy@anthropic.com
131 - 2025-05-04 2025-08-27 8 3 +523 / -56 april.macchiato@gmail.com kurt@anthropic.com
sweep.ts
in scripts
127 3 2026-02-12 2026-02-17 4 3 +316 / -42 chris@chrislloyd.net 718+chrislloyd@users.norepl...
229 6 2025-08-07 2025-09-25 7 4 +1209 / -655 boris@anthropic.com wolffiex@anthropic.com
177 4 2025-08-08 2025-09-25 5 4 +874 / -448 boris@anthropic.com wolffiex@anthropic.com
Correlations

File Size vs. Number of Changes: 26 points

feed.xml x: 449 lines of code y: 28 # changes plugins/security-guidance/hooks/_base.py x: 89 lines of code y: 1 # changes plugins/security-guidance/hooks/diffstate.py x: 232 lines of code y: 1 # changes plugins/security-guidance/hooks/ensure_agent_sdk.py x: 138 lines of code y: 1 # changes plugins/security-guidance/hooks/extensibility.py x: 181 lines of code y: 1 # changes plugins/security-guidance/hooks/gitutil.py x: 405 lines of code y: 1 # changes plugins/security-guidance/hooks/patterns.py x: 214 lines of code y: 1 # changes plugins/security-guidance/hooks/review_api.py x: 267 lines of code y: 1 # changes plugins/security-guidance/hooks/security_reminder_hook.py x: 1211 lines of code y: 2 # changes plugins/security-guidance/hooks/session_state.py x: 100 lines of code y: 1 # changes scripts/sweep.ts x: 127 lines of code y: 4 # changes scripts/issue-lifecycle.ts x: 34 lines of code y: 1 # changes scripts/lifecycle-comment.ts x: 42 lines of code y: 1 # changes plugins/hookify/core/__init__.py x: 1 lines of code y: 1 # changes plugins/hookify/core/config_loader.py x: 184 lines of code y: 1 # changes plugins/hookify/core/rule_engine.py x: 170 lines of code y: 1 # changes plugins/hookify/hooks/posttooluse.py x: 39 lines of code y: 1 # changes scripts/auto-close-duplicates.ts x: 229 lines of code y: 7 # changes scripts/backfill-duplicate-comments.ts x: 177 lines of code y: 5 # changes Script/run_devcontainer_claude_code.ps1 x: 131 lines of code y: 8 # changes
28.0
# changes
  min: 1.0
  average: 2.85
  25th percentile: 1.0
  median: 1.0
  75th percentile: 1.25
  max: 28.0
0 1211.0
lines of code
min: 1.0 | average: 174.15 | 25th percentile: 33.75 | median: 129.0 | 75th percentile: 217.75 | max: 1211.0

Number of Contributors vs. Number of Changes: 26 points

feed.xml x: 1 # contributors y: 28 # changes plugins/security-guidance/hooks/_base.py x: 2 # contributors y: 1 # changes plugins/security-guidance/hooks/security_reminder_hook.py x: 3 # contributors y: 2 # changes scripts/sweep.ts x: 3 # contributors y: 4 # changes scripts/issue-lifecycle.ts x: 1 # contributors y: 1 # changes scripts/auto-close-duplicates.ts x: 4 # contributors y: 7 # changes scripts/backfill-duplicate-comments.ts x: 4 # contributors y: 5 # changes Script/run_devcontainer_claude_code.ps1 x: 3 # contributors y: 8 # changes
28.0
# changes
  min: 1.0
  average: 2.85
  25th percentile: 1.0
  median: 1.0
  75th percentile: 1.25
  max: 28.0
0 4.0
# contributors
min: 1.0 | average: 1.77 | 25th percentile: 1.0 | median: 1.5 | 75th percentile: 2.0 | max: 4.0

Number of Contributors vs. File Size: 26 points

feed.xml x: 1 # contributors y: 449 lines of code plugins/security-guidance/hooks/_base.py x: 2 # contributors y: 89 lines of code plugins/security-guidance/hooks/diffstate.py x: 2 # contributors y: 232 lines of code plugins/security-guidance/hooks/ensure_agent_sdk.py x: 2 # contributors y: 138 lines of code plugins/security-guidance/hooks/extensibility.py x: 2 # contributors y: 181 lines of code plugins/security-guidance/hooks/gitutil.py x: 2 # contributors y: 405 lines of code plugins/security-guidance/hooks/patterns.py x: 2 # contributors y: 214 lines of code plugins/security-guidance/hooks/review_api.py x: 2 # contributors y: 267 lines of code plugins/security-guidance/hooks/security_reminder_hook.py x: 3 # contributors y: 1211 lines of code plugins/security-guidance/hooks/session_state.py x: 2 # contributors y: 100 lines of code scripts/sweep.ts x: 3 # contributors y: 127 lines of code scripts/issue-lifecycle.ts x: 1 # contributors y: 34 lines of code scripts/lifecycle-comment.ts x: 1 # contributors y: 42 lines of code plugins/hookify/core/__init__.py x: 1 # contributors y: 1 lines of code plugins/hookify/core/config_loader.py x: 1 # contributors y: 184 lines of code plugins/hookify/core/rule_engine.py x: 1 # contributors y: 170 lines of code plugins/hookify/hooks/stop.py x: 1 # contributors y: 33 lines of code scripts/auto-close-duplicates.ts x: 4 # contributors y: 229 lines of code scripts/backfill-duplicate-comments.ts x: 4 # contributors y: 177 lines of code Script/run_devcontainer_claude_code.ps1 x: 3 # contributors y: 131 lines of code
1211.0
lines of code
  min: 1.0
  average: 174.15
  25th percentile: 33.75
  median: 129.0
  75th percentile: 217.75
  max: 1211.0
0 4.0
# contributors
min: 1.0 | average: 1.77 | 25th percentile: 1.0 | median: 1.5 | 75th percentile: 2.0 | max: 4.0

Number of Changes vs. Line Churn: 206 points

CHANGELOG.md x: 233 # changes y: 5741 line churn feed.xml x: 28 # changes y: 2731 line churn .github/workflows/lock-closed-issues.yml x: 4 # changes y: 171 line churn .claude-plugin/marketplace.json x: 14 # changes y: 548 line churn plugins/frontend-design/.claude-plugin/plugin.json x: 2 # changes y: 20 line churn plugins/frontend-design/skills/frontend-design/SKILL.md x: 2 # changes y: 149 line churn plugins/security-guidance/README.md x: 1 # changes y: 236 line churn plugins/security-guidance/.claude-plugin/plugin.json x: 2 # changes y: 23 line churn plugins/security-guidance/hooks/_base.py x: 1 # changes y: 314 line churn plugins/security-guidance/hooks/diffstate.py x: 1 # changes y: 876 line churn plugins/security-guidance/hooks/ensure_agent_sdk.py x: 1 # changes y: 450 line churn plugins/security-guidance/hooks/extensibility.py x: 1 # changes y: 578 line churn plugins/security-guidance/hooks/gitutil.py x: 1 # changes y: 1446 line churn plugins/security-guidance/hooks/llm.py x: 1 # changes y: 3394 line churn plugins/security-guidance/hooks/patterns.py x: 1 # changes y: 690 line churn plugins/security-guidance/hooks/review_api.py x: 1 # changes y: 796 line churn plugins/security-guidance/hooks/security_reminder_hook.py x: 2 # changes y: 4936 line churn plugins/security-guidance/hooks/session_state.py x: 1 # changes y: 322 line churn plugins/security-guidance/hooks/sg-python.sh x: 1 # changes y: 88 line churn .github/workflows/claude-dedupe-issues.yml x: 14 # changes y: 537 line churn .github/workflows/claude-issue-triage.yml x: 17 # changes y: 700 line churn .github/workflows/claude.yml x: 8 # changes y: 96 line churn .github/workflows/auto-close-duplicates.yml x: 10 # changes y: 500 line churn .github/workflows/backfill-duplicate-comments.yml x: 5 # changes y: 268 line churn .github/workflows/issue-lifecycle-comment.yml x: 3 # changes y: 31 line churn .github/workflows/sweep.yml x: 3 # changes y: 70 line churn examples/mdm/README.md x: 1 # changes y: 28 line churn examples/mdm/macos/com.anthropic.claudecode.mobileconfig x: 1 # changes y: 56 line churn examples/mdm/macos/com.anthropic.claudecode.plist x: 1 # changes y: 11 line churn .claude/commands/triage-issue.md x: 4 # changes y: 208 line churn .claude/commands/dedupe.md x: 8 # changes y: 139 line churn scripts/edit-issue-labels.sh x: 2 # changes y: 201 line churn plugins/code-review/commands/code-review.md x: 17 # changes y: 804 line churn scripts/gh.sh x: 2 # changes y: 236 line churn .claude/commands/oncall-triage-ci.md x: 2 # changes y: 264 line churn .claude/commands/oncall-triage.md x: 3 # changes y: 164 line churn .github/workflows/oncall-triage.yml x: 8 # changes y: 660 line churn .github/workflows/non-write-users-check.yml x: 1 # changes y: 94 line churn scripts/sweep.ts x: 4 # changes y: 358 line churn .github/workflows/stale-issue-manager.yml x: 5 # changes y: 785 line churn examples/settings/settings-strict.json x: 2 # changes y: 58 line churn README.md x: 14 # changes y: 249 line churn plugins/ralph-wiggum/commands/ralph-loop.md x: 4 # changes y: 128 line churn plugins/ralph-wiggum/scripts/setup-ralph-loop.sh x: 3 # changes y: 379 line churn plugins/code-review/README.md x: 3 # changes y: 540 line churn plugins/README.md x: 4 # changes y: 234 line churn plugins/claude-opus-4-5-migration/skills/claude-opus-4-5-migration/SKILL.md x: 1 # changes y: 210 line churn plugins/claude-opus-4-5-migration/skills/claude-opus-4-5-migration/references/effort.md x: 1 # changes y: 140 line churn plugins/plugin-dev/README.md x: 2 # changes y: 804 line churn plugins/plugin-dev/agents/agent-creator.md x: 2 # changes y: 352 line churn plugins/plugin-dev/agents/plugin-validator.md x: 2 # changes y: 368 line churn plugins/plugin-dev/commands/create-plugin.md x: 2 # changes y: 830 line churn plugins/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md x: 2 # changes y: 476 line churn plugins/plugin-dev/skills/agent-development/examples/complete-agent-examples.md x: 2 # changes y: 854 line churn plugins/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md x: 2 # changes y: 414 line churn plugins/plugin-dev/skills/agent-development/references/triggering-examples.md x: 2 # changes y: 982 line churn plugins/plugin-dev/skills/agent-development/scripts/validate-agent.sh x: 2 # changes y: 434 line churn plugins/plugin-dev/skills/command-development/README.md x: 2 # changes y: 544 line churn plugins/plugin-dev/skills/command-development/SKILL.md x: 2 # changes y: 1668 line churn plugins/plugin-dev/skills/command-development/examples/plugin-commands.md x: 2 # changes y: 1114 line churn plugins/plugin-dev/skills/command-development/examples/simple-commands.md x: 2 # changes y: 1008 line churn plugins/plugin-dev/skills/command-development/references/advanced-workflows.md x: 2 # changes y: 1444 line churn plugins/plugin-dev/skills/command-development/references/documentation-patterns.md x: 2 # changes y: 1478 line churn plugins/plugin-dev/skills/command-development/references/frontmatter-reference.md x: 2 # changes y: 926 line churn plugins/plugin-dev/skills/command-development/references/interactive-commands.md x: 2 # changes y: 1840 line churn plugins/plugin-dev/skills/command-development/references/marketplace-considerations.md x: 2 # changes y: 1808 line churn plugins/plugin-dev/skills/command-development/references/plugin-features-reference.md x: 2 # changes y: 1218 line churn plugins/plugin-dev/skills/command-development/references/testing-strategies.md x: 2 # changes y: 1404 line churn plugins/plugin-dev/skills/hook-development/examples/load-context.sh x: 2 # changes y: 110 line churn plugins/plugin-dev/skills/hook-development/examples/validate-bash.sh x: 2 # changes y: 86 line churn plugins/plugin-dev/skills/hook-development/references/advanced.md x: 2 # changes y: 958 line churn plugins/plugin-dev/skills/hook-development/references/migration.md x: 2 # changes y: 738 line churn plugins/plugin-dev/skills/hook-development/references/patterns.md x: 2 # changes y: 692 line churn plugins/plugin-dev/skills/hook-development/scripts/README.md x: 2 # changes y: 328 line churn plugins/plugin-dev/skills/hook-development/scripts/hook-linter.sh x: 2 # changes y: 306 line churn plugins/plugin-dev/skills/hook-development/scripts/test-hook.sh x: 2 # changes y: 504 line churn plugins/plugin-dev/skills/mcp-integration/references/authentication.md x: 2 # changes y: 1098 line churn plugins/plugin-dev/skills/mcp-integration/references/server-types.md x: 2 # changes y: 1072 line churn plugins/plugin-dev/skills/plugin-settings/examples/read-settings-hook.sh x: 2 # changes y: 130 line churn plugins/plugin-dev/skills/plugin-settings/references/real-world-examples.md x: 2 # changes y: 790 line churn plugins/plugin-dev/skills/plugin-structure/README.md x: 2 # changes y: 218 line churn plugins/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md x: 2 # changes y: 1530 line churn plugins/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md x: 2 # changes y: 166 line churn plugins/plugin-dev/skills/plugin-structure/examples/standard-plugin.md x: 2 # changes y: 1174 line churn plugins/plugin-dev/skills/plugin-structure/references/component-patterns.md x: 2 # changes y: 1134 line churn plugins/plugin-dev/skills/skill-development/SKILL.md x: 2 # changes y: 1274 line churn plugins/hookify/agents/conversation-analyzer.md x: 1 # changes y: 352 line churn plugins/hookify/commands/configure.md x: 1 # changes y: 256 line churn plugins/hookify/commands/hookify.md x: 1 # changes y: 462 line churn plugins/hookify/commands/list.md x: 1 # changes y: 164 line churn plugins/hookify/core/config_loader.py x: 1 # changes y: 594 line churn plugins/hookify/core/rule_engine.py x: 1 # changes y: 626 line churn plugins/hookify/hooks/posttooluse.py x: 1 # changes y: 132 line churn plugins/hookify/skills/writing-rules/SKILL.md x: 1 # changes y: 748 line churn plugins/explanatory-output-style/hooks-handlers/session-start.sh x: 4 # changes y: 36 line churn plugins/feature-dev/README.md x: 1 # changes y: 412 line churn plugins/agent-sdk-dev/agents/agent-sdk-verifier-py.md x: 2 # changes y: 282 line churn plugins/pr-review-toolkit/README.md x: 2 # changes y: 626 line churn .github/ISSUE_TEMPLATE/config.yml x: 3 # changes y: 52 line churn scripts/auto-close-duplicates.ts x: 7 # changes y: 1864 line churn scripts/backfill-duplicate-comments.ts x: 5 # changes y: 1322 line churn .github/workflows/issue-notify.yml x: 3 # changes y: 410 line churn .github/ISSUE_TEMPLATE/bug_report.yml x: 1 # changes y: 376 line churn .github/workflows/log-issue-events.yml x: 6 # changes y: 824 line churn .devcontainer/devcontainer.json x: 7 # changes y: 40 line churn .devcontainer/init-firewall.sh x: 8 # changes y: 80 line churn Script/run_devcontainer_claude_code.ps1 x: 8 # changes y: 579 line churn .devcontainer/Dockerfile x: 11 # changes y: 114 line churn .github/actions/claude-code-action/action.yml x: 4 # changes y: 544 line churn .github/actions/claude-issue-triage-action/action.yml x: 7 # changes y: 420 line churn LICENSE.md x: 3 # changes y: 8 line churn
5741.0
line churn
  min: 2.0
  average: 465.92
  25th percentile: 66.5
  median: 235.0
  75th percentile: 626.0
  max: 5741.0
0 233.0
# changes
min: 1.0 | average: 3.74 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 2.0 | max: 233.0

Number of Contributors vs. Line Churn: 22 points

feed.xml x: 1 # contributors y: 2731 line churn plugins/security-guidance/hooks/_base.py x: 2 # contributors y: 314 line churn plugins/security-guidance/hooks/diffstate.py x: 2 # contributors y: 876 line churn plugins/security-guidance/hooks/ensure_agent_sdk.py x: 2 # contributors y: 450 line churn plugins/security-guidance/hooks/extensibility.py x: 2 # contributors y: 578 line churn plugins/security-guidance/hooks/gitutil.py x: 2 # contributors y: 1446 line churn plugins/security-guidance/hooks/patterns.py x: 2 # contributors y: 690 line churn plugins/security-guidance/hooks/review_api.py x: 2 # contributors y: 796 line churn plugins/security-guidance/hooks/security_reminder_hook.py x: 3 # contributors y: 4936 line churn scripts/sweep.ts x: 3 # contributors y: 358 line churn scripts/issue-lifecycle.ts x: 1 # contributors y: 38 line churn scripts/lifecycle-comment.ts x: 1 # contributors y: 53 line churn plugins/hookify/core/config_loader.py x: 1 # contributors y: 594 line churn plugins/hookify/core/rule_engine.py x: 1 # contributors y: 626 line churn plugins/hookify/hooks/posttooluse.py x: 1 # contributors y: 132 line churn plugins/hookify/hooks/pretooluse.py x: 1 # contributors y: 148 line churn plugins/hookify/hooks/userpromptsubmit.py x: 1 # contributors y: 116 line churn scripts/auto-close-duplicates.ts x: 4 # contributors y: 1864 line churn scripts/backfill-duplicate-comments.ts x: 4 # contributors y: 1322 line churn Script/run_devcontainer_claude_code.ps1 x: 3 # contributors y: 579 line churn
4936.0
line churn
  min: 38.0
  average: 867.59
  25th percentile: 144.0
  median: 578.5
  75th percentile: 987.5
  max: 4936.0
0 4.0
# contributors
min: 1.0 | average: 1.91 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 2.25 | max: 4.0

File Size vs. Line Churn: 22 points

feed.xml x: 449 lines of code y: 2731 line churn plugins/security-guidance/hooks/_base.py x: 89 lines of code y: 314 line churn plugins/security-guidance/hooks/diffstate.py x: 232 lines of code y: 876 line churn plugins/security-guidance/hooks/ensure_agent_sdk.py x: 138 lines of code y: 450 line churn plugins/security-guidance/hooks/extensibility.py x: 181 lines of code y: 578 line churn plugins/security-guidance/hooks/gitutil.py x: 405 lines of code y: 1446 line churn plugins/security-guidance/hooks/patterns.py x: 214 lines of code y: 690 line churn plugins/security-guidance/hooks/review_api.py x: 267 lines of code y: 796 line churn plugins/security-guidance/hooks/security_reminder_hook.py x: 1211 lines of code y: 4936 line churn plugins/security-guidance/hooks/session_state.py x: 100 lines of code y: 322 line churn scripts/sweep.ts x: 127 lines of code y: 358 line churn scripts/issue-lifecycle.ts x: 34 lines of code y: 38 line churn scripts/lifecycle-comment.ts x: 42 lines of code y: 53 line churn plugins/hookify/core/config_loader.py x: 184 lines of code y: 594 line churn plugins/hookify/core/rule_engine.py x: 170 lines of code y: 626 line churn plugins/hookify/hooks/posttooluse.py x: 39 lines of code y: 132 line churn plugins/hookify/hooks/pretooluse.py x: 39 lines of code y: 148 line churn plugins/hookify/hooks/stop.py x: 33 lines of code y: 118 line churn plugins/hookify/hooks/userpromptsubmit.py x: 33 lines of code y: 116 line churn scripts/auto-close-duplicates.ts x: 229 lines of code y: 1864 line churn scripts/backfill-duplicate-comments.ts x: 177 lines of code y: 1322 line churn Script/run_devcontainer_claude_code.ps1 x: 131 lines of code y: 579 line churn
4936.0
line churn
  min: 38.0
  average: 867.59
  25th percentile: 144.0
  median: 578.5
  75th percentile: 987.5
  max: 4936.0
0 1211.0
lines of code
min: 33.0 | average: 205.64 | 25th percentile: 41.25 | median: 154.0 | 75th percentile: 229.75 | max: 1211.0