UNPKG

@sbeeredd04/auto-git

Version:

AI-powered Git automation with intelligent commit decisions using Gemini function calling, smart diff optimization, push control, and enhanced interactive terminal session with persistent command history

339 lines (338 loc) 9.29 kB
{ "name": "gitcue", "displayName": "GitCue", "description": "GitCue — your Git helper extension for VS Code. Automate commits with AI-crafted messages, manage pushes and resets in-editor, and keep your workflow smooth and effortless.", "version": "0.3.8", "publisher": "sbeeredd04", "icon": "icon.png", "galleryBanner": { "color": "#1e1e1e", "theme": "dark" }, "engines": { "vscode": "^1.96.0" }, "categories": [ "SCM Providers", "Other" ], "keywords": [ "git", "ai", "automation", "commit", "gemini", "auto-commit", "git-automation" ], "repository": { "type": "git", "url": "https://github.com/sbeeredd04/auto-git.git", "directory": "gitcue" }, "homepage": "https://github.com/sbeeredd04/auto-git/tree/main/gitcue", "bugs": { "url": "https://github.com/sbeeredd04/auto-git/issues" }, "activationEvents": [ "onStartupFinished" ], "main": "./dist/extension.js", "contributes": { "commands": [ { "command": "gitcue.commit", "title": "GitCue: AI Commit", "icon": "$(git-commit)" }, { "command": "gitcue.watchToggle", "title": "GitCue: Toggle Auto-Watch", "icon": "$(eye)" }, { "command": "gitcue.openDashboard", "title": "GitCue: Open Dashboard", "icon": "$(dashboard)" }, { "command": "gitcue.reset", "title": "GitCue: Reset Commits", "icon": "$(discard)" }, { "command": "gitcue.configure", "title": "GitCue: Configure Settings", "icon": "$(settings-gear)" }, { "command": "gitcue.showStatus", "title": "GitCue: Show Status", "icon": "$(info)" }, { "command": "gitcue.cancelCommit", "title": "GitCue: Cancel Pending Commit", "icon": "$(close)" }, { "command": "gitcue.openInteractiveTerminal", "title": "GitCue: Open AI-Powered Shell", "icon": "$(terminal)" }, { "command": "gitcue.openAITerminal", "title": "GitCue: Open AI Terminal", "icon": "$(terminal)" }, { "command": "gitcue.dashboard", "title": "GitCue: Dashboard", "icon": "$(dashboard)" } ], "menus": { "editor/title": [ { "command": "gitcue.commit", "when": "scmProvider == git", "group": "navigation" } ], "scm/title": [ { "command": "gitcue.commit", "when": "scmProvider == git", "group": "navigation" }, { "command": "gitcue.watchToggle", "when": "scmProvider == git", "group": "navigation" }, { "command": "gitcue.openInteractiveTerminal", "when": "scmProvider == git", "group": "navigation" } ], "commandPalette": [ { "command": "gitcue.commit", "when": "scmProvider == git" }, { "command": "gitcue.watchToggle", "when": "scmProvider == git" }, { "command": "gitcue.openDashboard", "when": "scmProvider == git" }, { "command": "gitcue.reset", "when": "scmProvider == git" }, { "command": "gitcue.cancelCommit", "when": "scmProvider == git" }, { "command": "gitcue.openInteractiveTerminal", "when": "scmProvider == git" }, { "command": "gitcue.openAITerminal", "when": "scmProvider == git" }, { "command": "gitcue.dashboard", "when": "scmProvider == git" } ] }, "keybindings": [ { "command": "gitcue.commit", "key": "ctrl+alt+c", "mac": "cmd+alt+c", "when": "scmProvider == git" }, { "command": "gitcue.watchToggle", "key": "ctrl+alt+w", "mac": "cmd+alt+w", "when": "scmProvider == git" }, { "command": "gitcue.cancelCommit", "key": "ctrl+alt+x", "mac": "cmd+alt+x", "when": "scmProvider == git" }, { "command": "gitcue.openInteractiveTerminal", "key": "ctrl+alt+t", "mac": "cmd+alt+t", "when": "scmProvider == git" } ], "configuration": { "title": "GitCue", "properties": { "gitcue.geminiApiKey": { "type": "string", "description": "Your Gemini API key for AI-powered commit messages", "scope": "application" }, "gitcue.commitMode": { "type": "string", "enum": [ "periodic", "intelligent" ], "default": "intelligent", "description": "Commit mode: periodic (time-based) or intelligent (AI-driven decisions)" }, "gitcue.autoPush": { "type": "boolean", "default": true, "description": "Automatically push commits to remote repository" }, "gitcue.watchPaths": { "type": "array", "items": { "type": "string" }, "default": [ "**/*" ], "description": "Glob patterns for files to watch for changes" }, "gitcue.debounceMs": { "type": "number", "default": 30000, "description": "Debounce time in milliseconds before processing file changes" }, "gitcue.bufferTimeSeconds": { "type": "number", "default": 30, "description": "Buffer time in seconds to cancel commits in intelligent mode" }, "gitcue.maxCallsPerMinute": { "type": "number", "default": 15, "description": "Maximum API calls per minute for rate limiting" }, "gitcue.enableNotifications": { "type": "boolean", "default": true, "description": "Show notifications for commits and status updates" }, "gitcue.autoWatch": { "type": "boolean", "default": true, "description": "Automatically start watching files when VS Code opens" }, "gitcue.interactiveOnError": { "type": "boolean", "default": true, "description": "Show AI suggestions when commands fail in interactive terminal" }, "gitcue.enableSuggestions": { "type": "boolean", "default": true, "description": "Enable AI-powered error suggestions and analysis" }, "gitcue.terminalVerbose": { "type": "boolean", "default": false, "description": "Enable verbose logging in interactive terminal" }, "gitcue.sessionPersistence": { "type": "boolean", "default": true, "description": "Save and restore command history across sessions" }, "gitcue.maxHistorySize": { "type": "number", "default": 100, "minimum": 10, "maximum": 1000, "description": "Maximum number of commands to keep in history" }, "gitcue.watchIgnored": { "type": "array", "items": { "type": "string" }, "default": [ "/(^|[/\\\\])\\../", "/node_modules/", "/\\.git/", "/\\.DS_Store/", "/\\.log$/", "/\\.tmp$/", "/\\.temp$/", "/\\.swp$/", "/\\.swo$/", "/dist\\/", "/build\\/", "/coverage\\/", "/package-lock\\.json$/", "/yarn\\.lock$/", "/pnpm-lock\\.yaml$/" ], "description": "Glob patterns for files and directories to ignore when watching" } } }, "views": { "scm": [ { "id": "gitcueStatus", "name": "GitCue Status", "when": "scmProvider == git" } ] }, "viewsContainers": { "activitybar": [ { "id": "gitcue", "title": "GitCue", "icon": "$(git-branch)" } ] } }, "scripts": { "vscode:prepublish": "npm run package", "compile": "webpack", "watch": "webpack --watch", "package": "webpack --mode production --devtool hidden-source-map", "compile-tests": "tsc -p . --outDir out", "watch-tests": "tsc -p . -w --outDir out", "pretest": "npm run compile-tests && npm run compile && npm run lint", "lint": "eslint src", "test": "vscode-test" }, "devDependencies": { "@types/mocha": "^10.0.10", "@types/node": "20.x", "@types/vscode": "^1.96.0", "@typescript-eslint/eslint-plugin": "^8.31.1", "@typescript-eslint/parser": "^8.31.1", "@vscode/test-cli": "^0.0.10", "@vscode/test-electron": "^2.5.2", "eslint": "^9.25.1", "ts-loader": "^9.5.2", "typescript": "^5.8.3", "webpack": "^5.99.7", "webpack-cli": "^6.0.1" }, "dependencies": { "@google/genai": "^1.0.1", "@sbeeredd04/auto-git": "^3.10.1" } }