claude-git-hooks 2.6.3 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +173 -0
- package/README.md +77 -58
- package/bin/claude-hooks +322 -27
- package/lib/config.js +176 -83
- package/lib/hooks/pre-commit.js +11 -14
- package/lib/hooks/prepare-commit-msg.js +2 -3
- package/lib/utils/claude-client.js +199 -34
- package/lib/utils/claude-diagnostics.js +102 -11
- package/lib/utils/prompt-builder.js +2 -2
- package/package.json +1 -1
- package/templates/{CLAUDE_ANALYSIS_PROMPT_SONAR.md → CLAUDE_ANALYSIS_PROMPT.md} +2 -1
- package/templates/{CLAUDE_PRE_COMMIT_SONAR.md → CLAUDE_PRE_COMMIT.md} +10 -1
- package/templates/CUSTOMIZATION_GUIDE.md +3 -3
- package/templates/config.advanced.example.json +113 -0
- package/templates/config.example.json +53 -36
- package/templates/presets/ai/ANALYSIS_PROMPT.md +1 -1
- package/templates/presets/ai/config.json +5 -12
- package/templates/presets/backend/ANALYSIS_PROMPT.md +1 -1
- package/templates/presets/backend/config.json +5 -12
- package/templates/presets/database/ANALYSIS_PROMPT.md +1 -1
- package/templates/presets/database/config.json +5 -12
- package/templates/presets/default/config.json +5 -12
- package/templates/presets/frontend/ANALYSIS_PROMPT.md +1 -1
- package/templates/presets/frontend/config.json +5 -12
- package/templates/presets/fullstack/ANALYSIS_PROMPT.md +1 -1
- package/templates/presets/fullstack/config.json +5 -12
- package/templates/shared/ANALYSIS_PROMPT.md +1 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "Configuration v2.8.0 - Advanced parameters",
|
|
3
|
+
"$comment": "Advanced configuration for power users and tinkerers",
|
|
4
|
+
"$warning": "Most users don't need these settings. Use at your own risk.",
|
|
5
|
+
|
|
6
|
+
"version": "2.8.0",
|
|
7
|
+
"preset": "backend",
|
|
8
|
+
|
|
9
|
+
"overrides": {
|
|
10
|
+
"analysis": {
|
|
11
|
+
"ignoreExtensions": [
|
|
12
|
+
".min.js",
|
|
13
|
+
".map",
|
|
14
|
+
"package-lock.json",
|
|
15
|
+
"yarn.lock",
|
|
16
|
+
".generated.ts"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
"commitMessage": {
|
|
21
|
+
"taskIdPattern": "(CUSTOM-[0-9]{4})"
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
"subagents": {
|
|
25
|
+
"model": "sonnet",
|
|
26
|
+
"batchSize": 2
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
"github": {
|
|
30
|
+
"pr": {
|
|
31
|
+
"defaultBase": "develop",
|
|
32
|
+
"reviewers": ["tech-lead"]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
"_documentation": {
|
|
38
|
+
"analysis.ignoreExtensions": {
|
|
39
|
+
"description": "File extensions to exclude from analysis",
|
|
40
|
+
"default": "[]",
|
|
41
|
+
"examples": [".min.js", ".lock", ".map"],
|
|
42
|
+
"use_case": "Skip minified files, lock files, or generated code"
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
"commitMessage.taskIdPattern": {
|
|
46
|
+
"description": "Regex pattern to extract task-id from branch name",
|
|
47
|
+
"default": "([A-Z]{1,3}[-\\s]\\d{3,5})",
|
|
48
|
+
"examples": [
|
|
49
|
+
"IX-123 -> IX-123",
|
|
50
|
+
"PROJ-4567 -> PROJ-4567",
|
|
51
|
+
"(CUSTOM-[0-9]{4}) for CUSTOM-1234"
|
|
52
|
+
],
|
|
53
|
+
"use_case": "Custom task-id format (not Jira/GitHub/Linear)"
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
"subagents.model": {
|
|
57
|
+
"description": "Claude model for parallel analysis",
|
|
58
|
+
"default": "haiku",
|
|
59
|
+
"options": ["haiku", "sonnet", "opus"],
|
|
60
|
+
"trade_offs": {
|
|
61
|
+
"haiku": "Fast and cheap, good for most code",
|
|
62
|
+
"sonnet": "Balanced speed and quality",
|
|
63
|
+
"opus": "Slowest but most thorough analysis"
|
|
64
|
+
},
|
|
65
|
+
"use_case": "Trade speed/cost vs analysis quality"
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
"subagents.batchSize": {
|
|
69
|
+
"description": "Number of files per parallel batch",
|
|
70
|
+
"default": "Preset-specific (1-4)",
|
|
71
|
+
"range": "1-10",
|
|
72
|
+
"trade_offs": {
|
|
73
|
+
"1": "Maximum parallelization, fastest but most expensive",
|
|
74
|
+
"2-4": "Balanced parallelization (preset defaults)",
|
|
75
|
+
"5+": "Less parallel, slower but cheaper"
|
|
76
|
+
},
|
|
77
|
+
"use_case": "Fine-tune cost vs speed for your project size"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
"_examples": {
|
|
82
|
+
"skip_generated_code": {
|
|
83
|
+
"version": "2.8.0",
|
|
84
|
+
"preset": "frontend",
|
|
85
|
+
"overrides": {
|
|
86
|
+
"analysis": {
|
|
87
|
+
"ignoreExtensions": [".generated.ts", ".d.ts", ".min.js"]
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
"custom_jira_format": {
|
|
93
|
+
"version": "2.8.0",
|
|
94
|
+
"preset": "backend",
|
|
95
|
+
"overrides": {
|
|
96
|
+
"commitMessage": {
|
|
97
|
+
"taskIdPattern": "(MYPROJ-[0-9]{1,5})"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
"high_quality_analysis": {
|
|
103
|
+
"version": "2.8.0",
|
|
104
|
+
"preset": "fullstack",
|
|
105
|
+
"overrides": {
|
|
106
|
+
"subagents": {
|
|
107
|
+
"model": "sonnet",
|
|
108
|
+
"batchSize": 2
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -1,41 +1,58 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
"$schema": "Configuration v2.8.0 - Simplified format",
|
|
3
|
+
"$comment": "Copy relevant sections to .claude/config.json in your project",
|
|
4
|
+
|
|
5
|
+
"_example_minimal": "Minimal config (99% of users) - just select a preset",
|
|
6
|
+
"version": "2.8.0",
|
|
7
|
+
"preset": "backend",
|
|
8
|
+
|
|
9
|
+
"_example_with_github": "With GitHub PR configuration (most common)",
|
|
10
|
+
"_config_with_github": {
|
|
11
|
+
"version": "2.8.0",
|
|
12
|
+
"preset": "backend",
|
|
13
|
+
"overrides": {
|
|
14
|
+
"github": {
|
|
15
|
+
"pr": {
|
|
16
|
+
"defaultBase": "main",
|
|
17
|
+
"reviewers": ["tech-lead", "teammate"],
|
|
18
|
+
"labelRules": {
|
|
19
|
+
"backend": ["backend", "java", "spring-boot"],
|
|
20
|
+
"frontend": ["frontend", "react", "typescript"],
|
|
21
|
+
"fullstack": ["fullstack"],
|
|
22
|
+
"database": ["database", "sql"],
|
|
23
|
+
"ai": ["ai", "nodejs", "tooling"],
|
|
24
|
+
"default": []
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
9
29
|
},
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
30
|
+
|
|
31
|
+
"_example_custom_batch": "Customize parallel analysis batch size",
|
|
32
|
+
"_config_custom_batch": {
|
|
33
|
+
"version": "2.8.0",
|
|
34
|
+
"preset": "fullstack",
|
|
35
|
+
"overrides": {
|
|
36
|
+
"subagents": {
|
|
37
|
+
"batchSize": 2
|
|
38
|
+
}
|
|
39
|
+
}
|
|
13
40
|
},
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"debugFile": ".claude/out/debug-claude-response.json",
|
|
31
|
-
"resolutionFile": ".claude/out/claude_resolution_prompt.md",
|
|
32
|
-
"prAnalysisFile": ".claude/out/pr-analysis.json"
|
|
33
|
-
},
|
|
34
|
-
"system": {
|
|
35
|
-
"debug": false,
|
|
36
|
-
"wslCheckTimeout": 3000
|
|
37
|
-
},
|
|
38
|
-
"git": {
|
|
39
|
-
"diffFilter": "ACM"
|
|
41
|
+
|
|
42
|
+
"_available_presets": [
|
|
43
|
+
"backend - Spring Boot + SQL Server",
|
|
44
|
+
"frontend - React + TypeScript",
|
|
45
|
+
"fullstack - Backend + Frontend",
|
|
46
|
+
"database - SQL-focused",
|
|
47
|
+
"ai - Node.js + Claude API",
|
|
48
|
+
"default - Multi-language"
|
|
49
|
+
],
|
|
50
|
+
|
|
51
|
+
"_notes": {
|
|
52
|
+
"version": "Always use '2.8.0' for new format",
|
|
53
|
+
"preset": "Required - determines tech-stack analysis",
|
|
54
|
+
"overrides": "Optional - only override what's different from preset defaults",
|
|
55
|
+
"github_token": "Stored separately in .claude/settings.local.json (gitignored) or env var GITHUB_TOKEN",
|
|
56
|
+
"advanced_params": "See config.advanced.example.json for advanced customization"
|
|
40
57
|
}
|
|
41
58
|
}
|