-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
143 lines (143 loc) · 4.8 KB
/
package.json
File metadata and controls
143 lines (143 loc) · 4.8 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
{
"name": "smart-commit",
"displayName": "Smart Commit",
"description": "AI-powered auto git commits with smart message generation. Uses the editor's built-in LLM by default; also supports AWS Bedrock and Google Gemini.",
"version": "0.2.0",
"publisher": "smart-commit",
"engines": {
"vscode": "^1.109.0"
},
"categories": [
"Other"
],
"keywords": [
"git",
"commit",
"ai",
"auto-commit",
"gemini",
"bedrock",
"copilot"
],
"activationEvents": [
"workspaceContains:.git"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "smartCommit.enable",
"title": "Smart Commit: Enable"
},
{
"command": "smartCommit.disable",
"title": "Smart Commit: Disable"
},
{
"command": "smartCommit.commitNow",
"title": "Smart Commit: Commit Now"
},
{
"command": "smartCommit.setGeminiApiKey",
"title": "Smart Commit: Set Gemini API Key"
},
{
"command": "smartCommit.setBedrockCredentials",
"title": "Smart Commit: Set AWS Bedrock Credentials"
},
{
"command": "smartCommit.clearSecrets",
"title": "Smart Commit: Clear All Stored Credentials"
}
],
"configuration": {
"title": "Smart Commit",
"properties": {
"smartCommit.enabled": {
"type": "boolean",
"default": true,
"description": "Enable auto-commit after each file save (with debounce)."
},
"smartCommit.debounceSeconds": {
"type": "number",
"default": 45,
"minimum": 10,
"maximum": 3600,
"description": "Seconds of inactivity after the last save before a commit is triggered."
},
"smartCommit.autoStageAll": {
"type": "boolean",
"default": true,
"description": "Automatically stage all changes (git add -A) before committing."
},
"smartCommit.commitStyle": {
"type": "string",
"enum": [
"conventional",
"descriptive"
],
"enumDescriptions": [
"Conventional Commits format: feat(scope): description",
"Plain imperative summary with optional bullet-point body"
],
"default": "conventional",
"description": "Style of the generated commit message."
},
"smartCommit.llmProvider": {
"type": "string",
"enum": [
"vscode",
"gemini",
"bedrock"
],
"enumDescriptions": [
"VS Code built-in LM API — uses the model already available in your editor (Cursor, Anti-Gravity, Copilot). No credentials needed.",
"Google Gemini API — requires an API key in smartCommit.gemini.apiKey.",
"AWS Bedrock — requires AWS credentials in smartCommit.bedrock.* settings."
],
"default": "vscode",
"description": "LLM provider for commit message generation. Defaults to the editor's built-in model — no setup required."
},
"smartCommit.vscode.modelFamily": {
"type": "string",
"default": "",
"description": "Optional: preferred model family for the VS Code LM provider (e.g. 'gpt-4o', 'gemini'). Leave empty to use whichever model the editor has available."
},
"smartCommit.gemini.modelId": {
"type": "string",
"default": "gemini-2.0-flash",
"description": "Gemini model ID (e.g. gemini-2.0-flash, gemini-1.5-pro). Used when smartCommit.llmProvider is 'gemini'."
},
"smartCommit.bedrock.region": {
"type": "string",
"default": "us-east-1",
"description": "AWS region where Bedrock is available. Used when smartCommit.llmProvider is 'bedrock'."
},
"smartCommit.bedrock.modelId": {
"type": "string",
"default": "anthropic.claude-3-5-sonnet-20241022-v2:0",
"description": "Bedrock model ID. Used when smartCommit.llmProvider is 'bedrock'. AWS credentials (Access Key ID, Secret Key) are stored securely via the 'Smart Commit: Set AWS Bedrock Credentials' command, not in settings."
}
}
}
},
"scripts": {
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"build": "node esbuild.js",
"build:watch": "node esbuild.js --watch",
"package": "npm run build && vsce package",
"install-ext": "npm run package && code --install-extension smart-commit-*.vsix"
},
"devDependencies": {
"@types/node": "^20.0.0",
"@types/vscode": "^1.109.0",
"@vscode/vsce": "^2.22.0",
"esbuild": "^0.25.12",
"typescript": "^5.3.0"
},
"dependencies": {
"@aws-sdk/client-bedrock-runtime": "^3.500.0",
"@google/generative-ai": "^0.21.0"
}
}