-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
149 lines (149 loc) · 5.29 KB
/
Copy pathpackage.json
File metadata and controls
149 lines (149 loc) · 5.29 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
{
"name": "glow-commit-generator",
"displayName": "Glow: Git Commit Message Generator",
"description": "A git commit message generator with multiple LLM provider support, dynamic model fetching, and project context awareness.",
"version": "1.0.0",
"publisher": "pinkpixel",
"icon": "icon.png",
"private": true,
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "https://github.com/pinkpixel-dev/glow.git"
},
"engines": {
"vscode": "^1.85.0"
},
"categories": [
"AI",
"SCM Providers",
"Programming Languages"
],
"activationEvents": [
"onStartupFinished"
],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "glow.generateCommitMessage",
"title": "Glow: Generate Commit Message",
"category": "Glow",
"icon": "$(sparkle)"
},
{
"command": "glow.cancelGeneration",
"title": "Glow: Cancel Generation",
"category": "Glow",
"icon": "$(close)"
},
{
"command": "glow.selectModel",
"title": "Glow: Select Model / Provider",
"category": "Glow",
"icon": "$(list-unordered)"
},
{
"command": "glow.configureKeys",
"title": "Glow: Configure API Keys",
"category": "Glow",
"icon": "$(key)"
}
],
"menus": {
"scm/title": [
{
"command": "glow.generateCommitMessage",
"when": "scmProvider == 'git' && !glow.generating",
"group": "navigation"
},
{
"command": "glow.cancelGeneration",
"when": "scmProvider == 'git' && glow.generating",
"group": "navigation"
}
]
},
"configuration": {
"title": "Glow",
"properties": {
"glow.provider": {
"type": "string",
"default": "openai",
"enum": ["openai", "anthropic", "google", "openrouter", "ollama"],
"markdownDescription": "LLM Provider to use for generating commit messages. If the provider requires an API key, you will be prompted. You can also manually [Configure API Keys](command:glow.configureKeys) directly."
},
"glow.model": {
"type": "string",
"default": "",
"markdownDescription": "Specific model to use (leave blank to use provider default, or fetch dynamically). You can choose or refresh models interactively by clicking [Select Model / Provider](command:glow.selectModel) (API keys will be prompted if needed)."
},
"glow.systemPrompt": {
"type": "string",
"editPresentation": "multilineText",
"default": "You are a professional software engineer. Generate a concise and meaningful conventional commit message based on the provided staged diff and optional context.\n\nRules:\n- Use the Conventional Commits specification (e.g. feat(scope): description, fix: description, refactor: description, etc).\n- The description should be imperatively worded (e.g., 'add feature' not 'adds feature' or 'added feature').\n- Do not write any preamble, explanation, markdown formatting, or wrap in quotes. Just output the raw commit message.\n- Limit the first line to 72 characters or less.",
"description": "System prompt instructions used to style the commit message."
},
"glow.includeWorkspaceDocs": {
"type": "boolean",
"default": true,
"description": "If enabled, scans the workspace root for files like CHANGELOG.md, ROADMAP.md, or TODO.md to include as project context."
},
"glow.contextFiles": {
"type": "array",
"items": {
"type": "string"
},
"default": ["CHANGELOG.md"],
"description": "List of specific files to scan for context in the workspace root."
},
"glow.temperature": {
"type": "number",
"default": 0.2,
"minimum": 0,
"maximum": 2,
"description": "Temperature parameter for LLM generation."
},
"glow.openaiBaseUrl": {
"type": "string",
"default": "https://api.openai.com/v1",
"description": "Custom endpoint base URL for OpenAI API."
},
"glow.anthropicBaseUrl": {
"type": "string",
"default": "https://api.anthropic.com/v1",
"description": "Custom endpoint base URL for Anthropic API."
},
"glow.googleBaseUrl": {
"type": "string",
"default": "https://generativelanguage.googleapis.com",
"description": "Custom endpoint base URL for Google Gemini API."
},
"glow.openrouterBaseUrl": {
"type": "string",
"default": "https://openrouter.ai/api/v1",
"description": "Custom endpoint base URL for OpenRouter API."
},
"glow.ollamaBaseUrl": {
"type": "string",
"default": "http://localhost:11434",
"description": "Custom endpoint base URL for Ollama API."
}
}
}
},
"scripts": {
"compile": "node esbuild.js",
"watch": "node esbuild.js --watch",
"package": "vsce package"
},
"devDependencies": {
"@types/node": "^20.10.0",
"@types/vscode": "^1.85.0",
"esbuild": "^0.20.0",
"typescript": "^5.3.0"
},
"extensionDependencies": [
"vscode.git"
]
}