@andrebuzeli/git-mcp 5.0.9 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +239 -80
- package/dist/config.d.ts +43 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +168 -0
- package/dist/config.js.map +1 -1
- package/dist/providers/gitea-provider.d.ts.map +1 -1
- package/dist/providers/gitea-provider.js +3 -18
- package/dist/providers/gitea-provider.js.map +1 -1
- package/dist/providers/github-provider.d.ts.map +1 -1
- package/dist/providers/github-provider.js +3 -27
- package/dist/providers/github-provider.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/git-branches.d.ts +48 -0
- package/dist/tools/git-branches.d.ts.map +1 -1
- package/dist/tools/git-branches.js +46 -4
- package/dist/tools/git-branches.js.map +1 -1
- package/dist/tools/git-files.d.ts +3 -26
- package/dist/tools/git-files.d.ts.map +1 -1
- package/dist/tools/git-files.js +26 -201
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-reset.d.ts +17 -1
- package/dist/tools/git-reset.d.ts.map +1 -1
- package/dist/tools/git-reset.js +69 -2
- package/dist/tools/git-reset.js.map +1 -1
- package/dist/tools/git-workflow.d.ts +45 -0
- package/dist/tools/git-workflow.d.ts.map +1 -1
- package/dist/tools/git-workflow.js +43 -4
- package/dist/tools/git-workflow.js.map +1 -1
- package/dist/utils/operation-error-handler.d.ts.map +1 -1
- package/dist/utils/operation-error-handler.js +55 -0
- package/dist/utils/operation-error-handler.js.map +1 -1
- package/dist/utils/parameter-validator.d.ts.map +1 -1
- package/dist/utils/parameter-validator.js +50 -3
- package/dist/utils/parameter-validator.js.map +1 -1
- package/dist/utils/safety-warnings.d.ts +56 -0
- package/dist/utils/safety-warnings.d.ts.map +1 -0
- package/dist/utils/safety-warnings.js +330 -0
- package/dist/utils/safety-warnings.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Safety Warnings System
|
|
4
|
+
*
|
|
5
|
+
* Provides safety warnings and confirmations for destructive Git operations.
|
|
6
|
+
* Helps prevent accidental data loss by clearly communicating risks.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.SafetyWarnings = void 0;
|
|
10
|
+
class SafetyWarnings {
|
|
11
|
+
static DESTRUCTIVE_OPERATIONS = {
|
|
12
|
+
'git-reset-hard': {
|
|
13
|
+
operation: 'git reset --hard',
|
|
14
|
+
riskLevel: 'CRITICAL',
|
|
15
|
+
irreversible: true,
|
|
16
|
+
dataLoss: true,
|
|
17
|
+
workLoss: true
|
|
18
|
+
},
|
|
19
|
+
'git-reset-mixed': {
|
|
20
|
+
operation: 'git reset --mixed',
|
|
21
|
+
riskLevel: 'DANGER',
|
|
22
|
+
irreversible: false,
|
|
23
|
+
dataLoss: false,
|
|
24
|
+
workLoss: true
|
|
25
|
+
},
|
|
26
|
+
'delete-repository': {
|
|
27
|
+
operation: 'delete repository',
|
|
28
|
+
riskLevel: 'CRITICAL',
|
|
29
|
+
irreversible: true,
|
|
30
|
+
dataLoss: true,
|
|
31
|
+
workLoss: true
|
|
32
|
+
},
|
|
33
|
+
'delete-branch': {
|
|
34
|
+
operation: 'delete branch',
|
|
35
|
+
riskLevel: 'WARNING',
|
|
36
|
+
irreversible: true,
|
|
37
|
+
dataLoss: true,
|
|
38
|
+
workLoss: false
|
|
39
|
+
},
|
|
40
|
+
'delete-remote-branch': {
|
|
41
|
+
operation: 'delete remote branch',
|
|
42
|
+
riskLevel: 'DANGER',
|
|
43
|
+
irreversible: true,
|
|
44
|
+
dataLoss: true,
|
|
45
|
+
workLoss: false
|
|
46
|
+
},
|
|
47
|
+
'force-push': {
|
|
48
|
+
operation: 'force push',
|
|
49
|
+
riskLevel: 'CRITICAL',
|
|
50
|
+
irreversible: true,
|
|
51
|
+
dataLoss: true,
|
|
52
|
+
workLoss: false
|
|
53
|
+
},
|
|
54
|
+
'clean-untracked': {
|
|
55
|
+
operation: 'git clean -f',
|
|
56
|
+
riskLevel: 'DANGER',
|
|
57
|
+
irreversible: true,
|
|
58
|
+
dataLoss: true,
|
|
59
|
+
workLoss: true
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Generate safety warning for a destructive operation
|
|
64
|
+
*/
|
|
65
|
+
static generateWarning(operationType, context) {
|
|
66
|
+
const operationInfo = this.DESTRUCTIVE_OPERATIONS[operationType];
|
|
67
|
+
if (!operationInfo) {
|
|
68
|
+
throw new Error(`Unknown destructive operation: ${operationType}`);
|
|
69
|
+
}
|
|
70
|
+
return this.createWarningForOperation(operationType, operationInfo, context);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if an operation is destructive and requires warning
|
|
74
|
+
*/
|
|
75
|
+
static isDestructiveOperation(operation) {
|
|
76
|
+
return Object.keys(this.DESTRUCTIVE_OPERATIONS).includes(operation);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get operation risk level
|
|
80
|
+
*/
|
|
81
|
+
static getRiskLevel(operation) {
|
|
82
|
+
const operationInfo = this.DESTRUCTIVE_OPERATIONS[operation];
|
|
83
|
+
return operationInfo ? operationInfo.riskLevel : null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Format warning message for display
|
|
87
|
+
*/
|
|
88
|
+
static formatWarning(warning) {
|
|
89
|
+
const levelEmoji = this.getLevelEmoji(warning.level);
|
|
90
|
+
const levelColor = this.getLevelColor(warning.level);
|
|
91
|
+
let message = `${levelEmoji} **${warning.title}**\n\n`;
|
|
92
|
+
message += `${warning.message}\n\n`;
|
|
93
|
+
if (warning.whatWillBeLost.length > 0) {
|
|
94
|
+
message += `**⚠️ What will be lost:**\n`;
|
|
95
|
+
warning.whatWillBeLost.forEach(item => {
|
|
96
|
+
message += ` • ${item}\n`;
|
|
97
|
+
});
|
|
98
|
+
message += '\n';
|
|
99
|
+
}
|
|
100
|
+
if (warning.suggestions.length > 0) {
|
|
101
|
+
message += `**💡 Suggestions:**\n`;
|
|
102
|
+
warning.suggestions.forEach(suggestion => {
|
|
103
|
+
message += ` • ${suggestion}\n`;
|
|
104
|
+
});
|
|
105
|
+
message += '\n';
|
|
106
|
+
}
|
|
107
|
+
if (warning.alternatives && warning.alternatives.length > 0) {
|
|
108
|
+
message += `**🔄 Safer alternatives:**\n`;
|
|
109
|
+
warning.alternatives.forEach(alternative => {
|
|
110
|
+
message += ` • ${alternative}\n`;
|
|
111
|
+
});
|
|
112
|
+
message += '\n';
|
|
113
|
+
}
|
|
114
|
+
if (warning.confirmationRequired) {
|
|
115
|
+
message += `**🚨 This operation requires explicit confirmation.**\n`;
|
|
116
|
+
}
|
|
117
|
+
return message;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Create warning for specific operation
|
|
121
|
+
*/
|
|
122
|
+
static createWarningForOperation(operationType, operationInfo, context) {
|
|
123
|
+
switch (operationType) {
|
|
124
|
+
case 'git-reset-hard':
|
|
125
|
+
return {
|
|
126
|
+
level: 'CRITICAL',
|
|
127
|
+
operation: 'git reset --hard',
|
|
128
|
+
title: 'CRITICAL: Hard Reset Will Permanently Delete Changes',
|
|
129
|
+
message: 'This operation will permanently delete all uncommitted changes and reset your working directory to the specified commit.',
|
|
130
|
+
whatWillBeLost: [
|
|
131
|
+
'All uncommitted changes in tracked files',
|
|
132
|
+
'All staged changes',
|
|
133
|
+
'Any local modifications since the last commit'
|
|
134
|
+
],
|
|
135
|
+
suggestions: [
|
|
136
|
+
'Create a backup or stash your changes first',
|
|
137
|
+
'Use `git stash` to temporarily save your work',
|
|
138
|
+
'Check `git status` to see what will be lost',
|
|
139
|
+
'Consider using `git reset --soft` or `git reset --mixed` for safer alternatives'
|
|
140
|
+
],
|
|
141
|
+
confirmationRequired: true,
|
|
142
|
+
alternatives: [
|
|
143
|
+
'git reset --soft HEAD~1 (keeps changes staged)',
|
|
144
|
+
'git reset --mixed HEAD~1 (keeps changes unstaged)',
|
|
145
|
+
'git stash (saves changes temporarily)',
|
|
146
|
+
'git checkout -- <file> (reset specific files only)'
|
|
147
|
+
]
|
|
148
|
+
};
|
|
149
|
+
case 'git-reset-mixed':
|
|
150
|
+
return {
|
|
151
|
+
level: 'DANGER',
|
|
152
|
+
operation: 'git reset --mixed',
|
|
153
|
+
title: 'DANGER: Mixed Reset Will Unstage Changes',
|
|
154
|
+
message: 'This operation will unstage all staged changes but keep them in your working directory.',
|
|
155
|
+
whatWillBeLost: [
|
|
156
|
+
'All staged changes (will become unstaged)',
|
|
157
|
+
'Commit history will be modified'
|
|
158
|
+
],
|
|
159
|
+
suggestions: [
|
|
160
|
+
'Check what files are currently staged with `git status`',
|
|
161
|
+
'Ensure you want to unstage all changes',
|
|
162
|
+
'Consider committing changes first if they\'re important'
|
|
163
|
+
],
|
|
164
|
+
confirmationRequired: false,
|
|
165
|
+
alternatives: [
|
|
166
|
+
'git reset HEAD <file> (unstage specific files only)',
|
|
167
|
+
'git commit (commit staged changes)',
|
|
168
|
+
'git stash (save changes temporarily)'
|
|
169
|
+
]
|
|
170
|
+
};
|
|
171
|
+
case 'delete-repository':
|
|
172
|
+
return {
|
|
173
|
+
level: 'CRITICAL',
|
|
174
|
+
operation: 'delete repository',
|
|
175
|
+
title: 'CRITICAL: Repository Deletion is Permanent',
|
|
176
|
+
message: `This will permanently delete the repository "${context?.repo || 'unknown'}" and all its contents.`,
|
|
177
|
+
whatWillBeLost: [
|
|
178
|
+
'Entire repository and all files',
|
|
179
|
+
'All commit history',
|
|
180
|
+
'All branches and tags',
|
|
181
|
+
'All issues and pull requests',
|
|
182
|
+
'All project settings and configurations'
|
|
183
|
+
],
|
|
184
|
+
suggestions: [
|
|
185
|
+
'Create a backup of the repository first',
|
|
186
|
+
'Download/clone the repository locally',
|
|
187
|
+
'Archive the repository instead of deleting',
|
|
188
|
+
'Double-check you have the right repository'
|
|
189
|
+
],
|
|
190
|
+
confirmationRequired: true,
|
|
191
|
+
alternatives: [
|
|
192
|
+
'Archive repository (preserves data)',
|
|
193
|
+
'Make repository private (restricts access)',
|
|
194
|
+
'Transfer repository ownership',
|
|
195
|
+
'Clone/download repository before deletion'
|
|
196
|
+
]
|
|
197
|
+
};
|
|
198
|
+
case 'delete-branch':
|
|
199
|
+
return {
|
|
200
|
+
level: 'WARNING',
|
|
201
|
+
operation: 'delete branch',
|
|
202
|
+
title: 'WARNING: Branch Deletion May Cause Data Loss',
|
|
203
|
+
message: `This will permanently delete the branch "${context?.branch || 'unknown'}" and its commit history.`,
|
|
204
|
+
whatWillBeLost: [
|
|
205
|
+
'Branch and its commit history',
|
|
206
|
+
'Any unmerged commits on this branch'
|
|
207
|
+
],
|
|
208
|
+
suggestions: [
|
|
209
|
+
'Ensure the branch has been merged to main/master',
|
|
210
|
+
'Check for any unmerged commits with `git log main..branch-name`',
|
|
211
|
+
'Create a backup branch before deletion',
|
|
212
|
+
'Verify no one else is working on this branch'
|
|
213
|
+
],
|
|
214
|
+
confirmationRequired: true,
|
|
215
|
+
alternatives: [
|
|
216
|
+
'Merge branch to main first',
|
|
217
|
+
'Create backup branch before deletion',
|
|
218
|
+
'Archive branch instead of deleting'
|
|
219
|
+
]
|
|
220
|
+
};
|
|
221
|
+
case 'delete-remote-branch':
|
|
222
|
+
return {
|
|
223
|
+
level: 'DANGER',
|
|
224
|
+
operation: 'delete remote branch',
|
|
225
|
+
title: 'DANGER: Remote Branch Deletion Affects All Users',
|
|
226
|
+
message: `This will delete the remote branch "${context?.branch || 'unknown'}" for all repository users.`,
|
|
227
|
+
whatWillBeLost: [
|
|
228
|
+
'Remote branch access for all team members',
|
|
229
|
+
'Remote tracking branches',
|
|
230
|
+
'Any CI/CD configurations tied to this branch'
|
|
231
|
+
],
|
|
232
|
+
suggestions: [
|
|
233
|
+
'Coordinate with team members before deletion',
|
|
234
|
+
'Ensure no active pull requests depend on this branch',
|
|
235
|
+
'Check if branch is referenced in documentation',
|
|
236
|
+
'Verify CI/CD pipelines don\'t depend on this branch'
|
|
237
|
+
],
|
|
238
|
+
confirmationRequired: true,
|
|
239
|
+
alternatives: [
|
|
240
|
+
'Coordinate deletion with team first',
|
|
241
|
+
'Archive branch instead of deleting',
|
|
242
|
+
'Make branch read-only instead'
|
|
243
|
+
]
|
|
244
|
+
};
|
|
245
|
+
case 'force-push':
|
|
246
|
+
return {
|
|
247
|
+
level: 'CRITICAL',
|
|
248
|
+
operation: 'force push',
|
|
249
|
+
title: 'CRITICAL: Force Push Will Overwrite Remote History',
|
|
250
|
+
message: 'This will forcefully overwrite the remote branch history, potentially losing commits.',
|
|
251
|
+
whatWillBeLost: [
|
|
252
|
+
'Remote commit history may be lost',
|
|
253
|
+
'Other developers\' work may be overwritten',
|
|
254
|
+
'Any commits that exist only on the remote'
|
|
255
|
+
],
|
|
256
|
+
suggestions: [
|
|
257
|
+
'Coordinate with all team members before force pushing',
|
|
258
|
+
'Ensure no one else has pushed to the remote branch',
|
|
259
|
+
'Consider using `git push --force-with-lease` for safer force push',
|
|
260
|
+
'Create a backup branch before force pushing'
|
|
261
|
+
],
|
|
262
|
+
confirmationRequired: true,
|
|
263
|
+
alternatives: [
|
|
264
|
+
'git push --force-with-lease (safer force push)',
|
|
265
|
+
'git rebase -i (rebase instead of force push)',
|
|
266
|
+
'Coordinate with team and merge normally'
|
|
267
|
+
]
|
|
268
|
+
};
|
|
269
|
+
case 'clean-untracked':
|
|
270
|
+
return {
|
|
271
|
+
level: 'DANGER',
|
|
272
|
+
operation: 'git clean -f',
|
|
273
|
+
title: 'DANGER: Clean Will Permanently Delete Untracked Files',
|
|
274
|
+
message: 'This will permanently delete all untracked files and directories.',
|
|
275
|
+
whatWillBeLost: [
|
|
276
|
+
'All untracked files',
|
|
277
|
+
'All untracked directories',
|
|
278
|
+
'Any temporary files or build artifacts'
|
|
279
|
+
],
|
|
280
|
+
suggestions: [
|
|
281
|
+
'Review what will be deleted with `git clean -n` first',
|
|
282
|
+
'Backup important untracked files',
|
|
283
|
+
'Add important files to .gitignore before cleaning',
|
|
284
|
+
'Use `git clean -i` for interactive cleaning'
|
|
285
|
+
],
|
|
286
|
+
confirmationRequired: true,
|
|
287
|
+
alternatives: [
|
|
288
|
+
'git clean -n (dry run to see what would be deleted)',
|
|
289
|
+
'git clean -i (interactive mode)',
|
|
290
|
+
'git clean -d (include directories)',
|
|
291
|
+
'Manually delete specific files'
|
|
292
|
+
]
|
|
293
|
+
};
|
|
294
|
+
default:
|
|
295
|
+
return {
|
|
296
|
+
level: 'WARNING',
|
|
297
|
+
operation: operationType,
|
|
298
|
+
title: 'WARNING: Potentially Destructive Operation',
|
|
299
|
+
message: 'This operation may cause data loss or permanent changes.',
|
|
300
|
+
whatWillBeLost: ['Unknown data may be lost'],
|
|
301
|
+
suggestions: ['Review the operation carefully before proceeding'],
|
|
302
|
+
confirmationRequired: true
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Get emoji for warning level
|
|
308
|
+
*/
|
|
309
|
+
static getLevelEmoji(level) {
|
|
310
|
+
switch (level) {
|
|
311
|
+
case 'WARNING': return '⚠️';
|
|
312
|
+
case 'DANGER': return '🚨';
|
|
313
|
+
case 'CRITICAL': return '💥';
|
|
314
|
+
default: return '⚠️';
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get color indicator for warning level
|
|
319
|
+
*/
|
|
320
|
+
static getLevelColor(level) {
|
|
321
|
+
switch (level) {
|
|
322
|
+
case 'WARNING': return 'yellow';
|
|
323
|
+
case 'DANGER': return 'orange';
|
|
324
|
+
case 'CRITICAL': return 'red';
|
|
325
|
+
default: return 'yellow';
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
exports.SafetyWarnings = SafetyWarnings;
|
|
330
|
+
//# sourceMappingURL=safety-warnings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety-warnings.js","sourceRoot":"","sources":["../../src/utils/safety-warnings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andrebuzeli/git-mcp",
|
|
3
|
-
"version": "5.0
|
|
4
|
-
"description": "Professional MCP server for Git operations with multi-provider support",
|
|
3
|
+
"version": "5.1.0",
|
|
4
|
+
"description": "Professional MCP server for Git operations with multi-provider support, enhanced security, and comprehensive safety features",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"bin": {
|