-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
209 lines (209 loc) · 6.47 KB
/
package.json
File metadata and controls
209 lines (209 loc) · 6.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
{
"name": "diff-commit",
"displayName": "Diff Commit",
"version": "0.4.0",
"description": "Generate detailed Git commit messages following the conventional commit specification using AI models. Choose between Anthropic's cloud-based models like Claude 4 Sonnet or local Ollama models for offline usage.",
"categories": [
"AI",
"SCM Providers"
],
"keywords": [
"AI",
"Git",
"Commit Message",
"Conventional Commit",
"Anthropic",
"Claude Sonnet",
"Sonnet",
"Ollama",
"Local AI",
"Offline AI",
"Diff Commit",
"tpsTech",
"tsdevau"
],
"repository": {
"url": "https://github.com/tsdevau/diff-commit"
},
"license": "MIT",
"publisher": "tpsTech",
"main": "./out/extension.js",
"scripts": {
"compile": "node compile.mjs",
"lint": "eslint src/**/*.ts",
"pretest": "npm run lint",
"test": "NODE_OPTIONS='--no-deprecation' jest",
"test:watch": "jest --watch",
"vscode:prepublish": "npm run test && npm run compile",
"watch": "tsc -watch -p ./"
},
"contributes": {
"commands": [
{
"command": "diffCommit.generateCommitMessage",
"title": "DiffCommit: Generate Commit Message",
"icon": "$(note)"
},
{
"command": "diffCommit.previewCommitMessage",
"title": "DiffCommit: Preview Commit Message",
"icon": "$(file-code)"
},
{
"command": "diffCommit.updateAPIKey",
"title": "DiffCommit: Update stored API Key",
"icon": "$(key)"
},
{
"command": "diffCommit.deleteAPIKey",
"title": "DiffCommit: Delete stored API Key",
"icon": "$(trash)"
},
{
"command": "diffCommit.configureOllamaModel",
"title": "DiffCommit: Configure Ollama Model",
"icon": "$(server-environment)"
},
{
"command": "diffCommit.changeOllamaModel",
"title": "DiffCommit: Change Ollama Model",
"icon": "$(settings-gear)"
}
],
"configuration": {
"title": "Diff Commit",
"properties": {
"diffCommit.provider": {
"type": "string",
"default": "anthropic",
"enum": [
"anthropic",
"ollama"
],
"enumDescriptions": [
"Use Anthropic's Claude models (requires API key)",
"Use local Ollama models (requires Ollama server to be running)"
],
"description": "Choose the AI provider for generating commit messages."
},
"diffCommit.model": {
"type": "string",
"default": "claude-sonnet-4-0",
"enum": [
"claude-sonnet-4-0",
"claude-3-7-sonnet-latest",
"claude-3-5-sonnet-latest",
"claude-3-5-haiku-latest",
"claude-opus-4-0",
"claude-3-opus-latest"
],
"description": "The Anthropic AI model to use for generating commit messages. This value is only used when provider is set as 'anthropic'."
},
"diffCommit.ollamaHostname": {
"type": "string",
"default": "http://localhost:11434",
"description": "The URL of the local Ollama server (eg http://localhost:11434). This value is only used when provider is set as 'ollama'."
},
"diffCommit.ollamaModel": {
"type": "string",
"default": "",
"description": "The Ollama model to use for generating commit messages. Use the 'Configure Ollama Model' command to configure this. This value is only used when provider is set as 'ollama'."
},
"diffCommit.maxTokens": {
"type": "number",
"default": 1024,
"minimum": 1,
"maximum": 8192,
"description": "Maximum number of tokens to generate in the response. Higher values allow for longer commit messages but can use more API tokens."
},
"diffCommit.temperature": {
"type": "number",
"default": 0.3,
"minimum": 0,
"maximum": 1,
"description": "Controls randomness in the response. Lower values (like 0.3) produce more focused and consistent commit messages, while higher values introduce more variety."
},
"diffCommit.customInstructions": {
"type": "string",
"default": "",
"description": "Add additional custom instructions to the commit generation prompt. Useful for providing context or specific requirements like 'Use Australian English spelling'."
},
"diffCommit.allowedTypes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"chore",
"ci",
"docs",
"feat",
"fix",
"perf",
"refactor",
"style",
"test"
],
"description": "List of allowed commit types. If provided, this replaces the default options. So you need to ensure all required commit types are included in the list."
}
}
},
"keybindings": [
{
"command": "diffCommit.generateCommitMessage",
"key": "cmd+k cmd+g",
"mac": "cmd+k cmd+g",
"win": "ctrl+k ctrl+g",
"linux": "ctrl+k ctrl+g",
"when": "!terminalFocus"
},
{
"command": "diffCommit.previewCommitMessage",
"key": "cmd+k cmd+p",
"mac": "cmd+k cmd+p",
"win": "ctrl+k ctrl+p",
"linux": "ctrl+k ctrl+p",
"when": "!terminalFocus"
}
],
"menus": {
"scm/title": [
{
"command": "diffCommit.generateCommitMessage",
"group": "navigation",
"when": "scmProvider == git"
}
]
}
},
"dependencies": {
"@anthropic-ai/sdk": "^0.39.0",
"ollama": "^0.5.16"
},
"devDependencies": {
"@types/jest": "^29.5.14",
"@types/node": "^22.13.14",
"@types/vscode": "1.93.0",
"@typescript-eslint/eslint-plugin": "^8.28.0",
"@typescript-eslint/parser": "^8.28.0",
"@vscode/test-electron": "^2.4.1",
"esbuild": "^0.25.1",
"eslint": "^9.23.0",
"eslint-plugin-prettier": "^5.2.5",
"eslint-plugin-tailwindcss": "^3.18.0",
"jest": "^29.7.0",
"prettier-plugin-packagejson": "^2.5.10",
"prettier-plugin-tailwindcss": "^0.6.11",
"ts-jest": "^29.3.0",
"typescript": "^5.8.2"
},
"engines": {
"vscode": "^1.93.1"
},
"icon": "tps-logo.png",
"galleryBanner": {
"color": "#262626",
"theme": "dark"
},
"pricing": "Free"
}