feat: initial implementation of AI Commit Ext VS Code extension
- Add VS Code extension with OpenCode AI integration - Generate Conventional Commit messages via SCM header button - Include gitService for staged changes detection - Include opencodeService for CLI invocation - Add configuration options for model, includeUnstaged, notifications - Add button disable during generation with progress indicator - Add sparkle icon for the action button - Include package.json, tsconfig, and basic project setup
This commit is contained in:
70
package.json
Normal file
70
package.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"name": "ai-commit-ext",
|
||||
"displayName": "AI Commit Ext",
|
||||
"description": "Generate commit messages using OpenCode AI",
|
||||
"version": "0.0.1",
|
||||
"publisher": "local",
|
||||
"engines": {
|
||||
"vscode": "^1.71.0"
|
||||
},
|
||||
"categories": [
|
||||
"Other"
|
||||
],
|
||||
"main": "./out/extension",
|
||||
"activationEvents": [
|
||||
"onCommand:aiCommitExt.generate"
|
||||
],
|
||||
"scripts": {
|
||||
"vscode:prepublish": "npm run compile",
|
||||
"compile": "tsc -p ./",
|
||||
"watch": "tsc -watch -p ./",
|
||||
"test": "echo \"No tests yet\""
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^25.5.2",
|
||||
"@types/vscode": "^1.110.0",
|
||||
"typescript": "^6.0.2",
|
||||
"vscode": "^1.1.37"
|
||||
},
|
||||
"contributes": {
|
||||
"configuration": {
|
||||
"title": "AI Commit Ext",
|
||||
"properties": {
|
||||
"aiCommitExt.model": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "OpenCode model to use (e.g. anthropic/claude-3-5-sonnet-20241022). Empty = default model."
|
||||
},
|
||||
"aiCommitExt.includeUnstaged": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Use unstaged changes if no staged changes exist"
|
||||
},
|
||||
"aiCommitExt.showNotification": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Show notification when commit message is generated"
|
||||
}
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"command": "aiCommitExt.generate",
|
||||
"title": "Generate Commit Message",
|
||||
"icon": "$(sparkle)",
|
||||
"category": "AI Commit"
|
||||
}
|
||||
],
|
||||
"menus": {
|
||||
"scm/title": [
|
||||
{
|
||||
"when": "scmProvider == git",
|
||||
"command": "aiCommitExt.generate",
|
||||
"group": "navigation",
|
||||
"icon": "$(sparkle)",
|
||||
"alt": "aiCommitExt.generate"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user