@andrebuzeli/git-mcp 9.1.0 → 10.0.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/LICENSE +21 -0
- package/README.md +460 -328
- package/dist/.tsbuildinfo +1 -1
- package/dist/config.d.ts +0 -1
- package/dist/config.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +6 -36
- package/dist/index.js.map +1 -1
- package/dist/prompts/gitPrompts.d.ts +20 -1
- package/dist/prompts/gitPrompts.d.ts.map +1 -1
- package/dist/prompts/gitPrompts.js +49 -9
- package/dist/prompts/gitPrompts.js.map +1 -1
- package/dist/providers/giteaProvider.d.ts +1 -18
- package/dist/providers/giteaProvider.js +1 -87
- package/dist/providers/githubProvider.d.ts +0 -1
- package/dist/providers/githubProvider.js +0 -1
- package/dist/providers/providerManager.d.ts +0 -15
- package/dist/providers/providerManager.js +0 -65
- package/dist/resources/toolsGuide.d.ts +0 -1
- package/dist/resources/toolsGuide.js +1701 -1702
- package/dist/server.d.ts +0 -1
- package/dist/server.js +0 -1
- package/dist/tools/gitAnalytics.d.ts +0 -29
- package/dist/tools/gitAnalytics.js +4 -39
- package/dist/tools/gitArchive.d.ts +0 -30
- package/dist/tools/gitArchive.d.ts.map +1 -1
- package/dist/tools/gitArchive.js +1 -32
- package/dist/tools/gitArchive.js.map +1 -1
- package/dist/tools/gitBackup.d.ts +2 -35
- package/dist/tools/gitBackup.d.ts.map +1 -1
- package/dist/tools/gitBackup.js +7 -41
- package/dist/tools/gitBackup.js.map +1 -1
- package/dist/tools/gitBranches.d.ts +0 -49
- package/dist/tools/gitBranches.js +28 -92
- package/dist/tools/gitChangelog.d.ts +37 -1
- package/dist/tools/gitChangelog.d.ts.map +1 -1
- package/dist/tools/gitChangelog.js +67 -2
- package/dist/tools/gitChangelog.js.map +1 -1
- package/dist/tools/gitConfig.d.ts +2 -31
- package/dist/tools/gitConfig.js +9 -38
- package/dist/tools/gitFiles.d.ts +0 -37
- package/dist/tools/gitFiles.js +1 -39
- package/dist/tools/gitFix.d.ts +1 -4
- package/dist/tools/gitFix.js +32 -62
- package/dist/tools/gitFix.tool.d.ts +2 -26
- package/dist/tools/gitFix.tool.js +61 -85
- package/dist/tools/gitHistory.d.ts +5 -18
- package/dist/tools/gitHistory.js +208 -193
- package/dist/tools/gitIgnore.d.ts +0 -24
- package/dist/tools/gitIgnore.js +113 -136
- package/dist/tools/gitIssues.d.ts +0 -79
- package/dist/tools/gitIssues.js +16 -123
- package/dist/tools/gitLog.d.ts +30 -1
- package/dist/tools/gitLog.d.ts.map +1 -1
- package/dist/tools/gitLog.js +46 -2
- package/dist/tools/gitLog.js.map +1 -1
- package/dist/tools/gitMonitor.d.ts +0 -29
- package/dist/tools/gitMonitor.js +18 -47
- package/dist/tools/gitPackages.d.ts +146 -34
- package/dist/tools/gitPackages.js +147 -280
- package/dist/tools/gitPulls.d.ts +0 -66
- package/dist/tools/gitPulls.d.ts.map +1 -1
- package/dist/tools/gitPulls.js +7 -93
- package/dist/tools/gitPulls.js.map +1 -1
- package/dist/tools/gitPush.d.ts +0 -1
- package/dist/tools/gitPush.js +0 -1
- package/dist/tools/gitRelease.d.ts +0 -49
- package/dist/tools/gitRelease.js +6 -122
- package/dist/tools/gitRemote.d.ts +1 -31
- package/dist/tools/gitRemote.js +17 -59
- package/dist/tools/gitReset.d.ts +0 -25
- package/dist/tools/gitReset.js +8 -33
- package/dist/tools/gitStash.d.ts +2 -35
- package/dist/tools/gitStash.js +26 -56
- package/dist/tools/gitSync.d.ts +0 -29
- package/dist/tools/gitSync.js +20 -65
- package/dist/tools/gitTags.d.ts +0 -37
- package/dist/tools/gitTags.d.ts.map +1 -1
- package/dist/tools/gitTags.js +26 -53
- package/dist/tools/gitTags.js.map +1 -1
- package/dist/tools/gitUpdate.d.ts +6 -11
- package/dist/tools/gitUpdate.js +304 -61
- package/dist/tools/gitUpload.d.ts +1 -24
- package/dist/tools/gitUpload.js +50 -45
- package/dist/tools/gitWorkflow.d.ts +0 -27
- package/dist/tools/gitWorkflow.js +55 -87
- package/dist/types.d.ts +0 -7
- package/dist/types.js +0 -1
- package/dist/utils/apiHelpers.d.ts +0 -1
- package/dist/utils/apiHelpers.js +0 -1
- package/dist/utils/errors.d.ts +0 -1
- package/dist/utils/errors.js +0 -1
- package/dist/utils/gitAdapter.d.ts +14 -13
- package/dist/utils/gitAdapter.d.ts.map +1 -1
- package/dist/utils/gitAdapter.js +47 -9
- package/dist/utils/gitAdapter.js.map +1 -1
- package/dist/utils/repoHelpers.d.ts +0 -2
- package/dist/utils/repoHelpers.js +3 -16
- package/dist/utils/safetyController.d.ts +0 -1
- package/dist/utils/safetyController.js +0 -1
- package/dist/utils/safetyController.js.map +1 -1
- package/package.json +87 -96
package/dist/tools/gitMonitor.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import simpleGit from 'simple-git';
|
|
1
2
|
import { MCPError } from '../utils/errors.js';
|
|
2
3
|
import { getRepoInfo } from '../utils/repoHelpers.js';
|
|
3
4
|
import axios from 'axios';
|
|
@@ -5,34 +6,6 @@ export class GitMonitorTool {
|
|
|
5
6
|
constructor() {
|
|
6
7
|
this.name = 'git-monitor';
|
|
7
8
|
this.description = 'Repository monitoring and status operations - automatic dual-provider execution for remote queries';
|
|
8
|
-
this.inputSchema = {
|
|
9
|
-
type: "object",
|
|
10
|
-
properties: {
|
|
11
|
-
projectPath: {
|
|
12
|
-
type: "string",
|
|
13
|
-
description: "Absolute path to the project/repository (auto-extracts repo name)"
|
|
14
|
-
},
|
|
15
|
-
action: {
|
|
16
|
-
type: "string",
|
|
17
|
-
description: "Monitor operation to perform (REQUIRED)",
|
|
18
|
-
enum: ["log", "status", "commits", "contributors"]
|
|
19
|
-
},
|
|
20
|
-
repo: {
|
|
21
|
-
type: "string",
|
|
22
|
-
description: "Repository name (auto-detected from projectPath)"
|
|
23
|
-
},
|
|
24
|
-
since: {
|
|
25
|
-
type: "string",
|
|
26
|
-
description: "Start date for activity query (ISO 8601, optional for activity)"
|
|
27
|
-
},
|
|
28
|
-
until: {
|
|
29
|
-
type: "string",
|
|
30
|
-
description: "End date for activity query (ISO 8601, optional for activity)"
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
required: ["projectPath", "action"],
|
|
34
|
-
additionalProperties: true
|
|
35
|
-
};
|
|
36
9
|
}
|
|
37
10
|
async handle(params, ctx) {
|
|
38
11
|
const action = params.action;
|
|
@@ -40,7 +13,7 @@ export class GitMonitorTool {
|
|
|
40
13
|
if (!action || !projectPath) {
|
|
41
14
|
throw new MCPError('VALIDATION_ERROR', 'action and projectPath are required');
|
|
42
15
|
}
|
|
43
|
-
const git =
|
|
16
|
+
const git = simpleGit({ baseDir: projectPath });
|
|
44
17
|
switch (action) {
|
|
45
18
|
case 'log': {
|
|
46
19
|
const options = {
|
|
@@ -52,19 +25,19 @@ export class GitMonitorTool {
|
|
|
52
25
|
options.to = params.until;
|
|
53
26
|
if (params.author)
|
|
54
27
|
options.author = params.author;
|
|
55
|
-
const log = await git.log(
|
|
28
|
+
const log = await git.log(options);
|
|
56
29
|
const results = {
|
|
57
30
|
success: true,
|
|
58
31
|
local: {
|
|
59
|
-
commits: log,
|
|
60
|
-
total: log.
|
|
32
|
+
commits: log.all,
|
|
33
|
+
total: log.total,
|
|
61
34
|
},
|
|
62
35
|
providers: {}
|
|
63
36
|
};
|
|
64
37
|
// Also query remote APIs
|
|
65
38
|
const repoInfo = getRepoInfo(projectPath);
|
|
66
|
-
const githubOwner =
|
|
67
|
-
const giteaOwner =
|
|
39
|
+
const githubOwner = process.env.GITHUB_USERNAME;
|
|
40
|
+
const giteaOwner = process.env.GITEA_USERNAME;
|
|
68
41
|
// GitHub
|
|
69
42
|
if (ctx.providerManager.github && githubOwner) {
|
|
70
43
|
try {
|
|
@@ -121,12 +94,12 @@ export class GitMonitorTool {
|
|
|
121
94
|
return results;
|
|
122
95
|
}
|
|
123
96
|
case 'status': {
|
|
124
|
-
const status = await git.status(
|
|
97
|
+
const status = await git.status();
|
|
125
98
|
const detailed = params.detailed ? {
|
|
126
99
|
branch: status.current,
|
|
127
100
|
ahead: status.ahead,
|
|
128
101
|
behind: status.behind,
|
|
129
|
-
staged: status.
|
|
102
|
+
staged: status.staged,
|
|
130
103
|
modified: status.modified,
|
|
131
104
|
deleted: status.deleted,
|
|
132
105
|
created: status.created,
|
|
@@ -147,11 +120,11 @@ export class GitMonitorTool {
|
|
|
147
120
|
options.from = params.since;
|
|
148
121
|
if (params.author)
|
|
149
122
|
options.author = params.author;
|
|
150
|
-
const log = await git.log(
|
|
123
|
+
const log = await git.log(options);
|
|
151
124
|
const results = {
|
|
152
125
|
success: true,
|
|
153
126
|
local: {
|
|
154
|
-
commits: log.map(
|
|
127
|
+
commits: log.all.map(c => ({
|
|
155
128
|
hash: c.hash,
|
|
156
129
|
date: c.date,
|
|
157
130
|
message: c.message,
|
|
@@ -163,8 +136,8 @@ export class GitMonitorTool {
|
|
|
163
136
|
};
|
|
164
137
|
// Also query remote APIs
|
|
165
138
|
const repoInfo = getRepoInfo(projectPath);
|
|
166
|
-
const githubOwner =
|
|
167
|
-
const giteaOwner =
|
|
139
|
+
const githubOwner = process.env.GITHUB_USERNAME;
|
|
140
|
+
const giteaOwner = process.env.GITEA_USERNAME;
|
|
168
141
|
// GitHub
|
|
169
142
|
if (ctx.providerManager.github && githubOwner) {
|
|
170
143
|
try {
|
|
@@ -219,9 +192,9 @@ export class GitMonitorTool {
|
|
|
219
192
|
return results;
|
|
220
193
|
}
|
|
221
194
|
case 'contributors': {
|
|
222
|
-
const log = await git.log(
|
|
195
|
+
const log = await git.log();
|
|
223
196
|
const contributors = new Map();
|
|
224
|
-
log.forEach(
|
|
197
|
+
log.all.forEach(commit => {
|
|
225
198
|
const key = commit.author_email;
|
|
226
199
|
if (contributors.has(key)) {
|
|
227
200
|
contributors.get(key).commits++;
|
|
@@ -242,8 +215,8 @@ export class GitMonitorTool {
|
|
|
242
215
|
};
|
|
243
216
|
// Also query remote APIs
|
|
244
217
|
const repoInfo = getRepoInfo(projectPath);
|
|
245
|
-
const githubOwner =
|
|
246
|
-
const giteaOwner =
|
|
218
|
+
const githubOwner = process.env.GITHUB_USERNAME;
|
|
219
|
+
const giteaOwner = process.env.GITEA_USERNAME;
|
|
247
220
|
// GitHub
|
|
248
221
|
if (ctx.providerManager.github && githubOwner) {
|
|
249
222
|
try {
|
|
@@ -286,9 +259,7 @@ export class GitMonitorTool {
|
|
|
286
259
|
return results;
|
|
287
260
|
}
|
|
288
261
|
default:
|
|
289
|
-
|
|
290
|
-
throw new MCPError('VALIDATION_ERROR', `Unsupported action: ${action}. Valid actions: ${validActions.join(', ')}`);
|
|
262
|
+
throw new MCPError('VALIDATION_ERROR', `Unsupported action: ${action}`);
|
|
291
263
|
}
|
|
292
264
|
}
|
|
293
265
|
}
|
|
294
|
-
//# sourceMappingURL=gitMonitor.js.map
|
|
@@ -1,40 +1,152 @@
|
|
|
1
1
|
import { Tool, MCPContext } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Git Packages Tool - DUAL-PROVIDER (GitHub + Gitea)
|
|
4
|
-
* Manages packages published to GitHub Packages and Gitea Packages
|
|
5
|
-
*/
|
|
6
2
|
export declare class GitPackagesTool implements Tool {
|
|
7
3
|
name: string;
|
|
8
4
|
description: string;
|
|
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
|
-
|
|
5
|
+
handle(params: Record<string, any>, ctx: MCPContext): Promise<{
|
|
6
|
+
success: boolean;
|
|
7
|
+
name: any;
|
|
8
|
+
version: any;
|
|
9
|
+
dependencies: any;
|
|
10
|
+
devDependencies: any;
|
|
11
|
+
scripts: any;
|
|
12
|
+
message?: undefined;
|
|
13
|
+
note?: undefined;
|
|
14
|
+
created?: undefined;
|
|
15
|
+
path?: undefined;
|
|
16
|
+
package?: undefined;
|
|
17
|
+
updated?: undefined;
|
|
18
|
+
deleted?: undefined;
|
|
19
|
+
instructions?: undefined;
|
|
20
|
+
projectPath?: undefined;
|
|
21
|
+
} | {
|
|
22
|
+
success: boolean;
|
|
23
|
+
message: string;
|
|
24
|
+
note: string;
|
|
25
|
+
name?: undefined;
|
|
26
|
+
version?: undefined;
|
|
27
|
+
dependencies?: undefined;
|
|
28
|
+
devDependencies?: undefined;
|
|
29
|
+
scripts?: undefined;
|
|
30
|
+
created?: undefined;
|
|
31
|
+
path?: undefined;
|
|
32
|
+
package?: undefined;
|
|
33
|
+
updated?: undefined;
|
|
34
|
+
deleted?: undefined;
|
|
35
|
+
instructions?: undefined;
|
|
36
|
+
projectPath?: undefined;
|
|
37
|
+
} | {
|
|
38
|
+
success: boolean;
|
|
39
|
+
created: boolean;
|
|
40
|
+
path: string;
|
|
41
|
+
package: any;
|
|
42
|
+
name?: undefined;
|
|
43
|
+
version?: undefined;
|
|
44
|
+
dependencies?: undefined;
|
|
45
|
+
devDependencies?: undefined;
|
|
46
|
+
scripts?: undefined;
|
|
47
|
+
message?: undefined;
|
|
48
|
+
note?: undefined;
|
|
49
|
+
updated?: undefined;
|
|
50
|
+
deleted?: undefined;
|
|
51
|
+
instructions?: undefined;
|
|
52
|
+
projectPath?: undefined;
|
|
53
|
+
} | {
|
|
54
|
+
success: boolean;
|
|
55
|
+
updated: boolean;
|
|
56
|
+
path: string;
|
|
57
|
+
package: any;
|
|
58
|
+
name?: undefined;
|
|
59
|
+
version?: undefined;
|
|
60
|
+
dependencies?: undefined;
|
|
61
|
+
devDependencies?: undefined;
|
|
62
|
+
scripts?: undefined;
|
|
63
|
+
message?: undefined;
|
|
64
|
+
note?: undefined;
|
|
65
|
+
created?: undefined;
|
|
66
|
+
deleted?: undefined;
|
|
67
|
+
instructions?: undefined;
|
|
68
|
+
projectPath?: undefined;
|
|
69
|
+
} | {
|
|
70
|
+
success: boolean;
|
|
71
|
+
deleted: boolean;
|
|
72
|
+
path: string;
|
|
73
|
+
name?: undefined;
|
|
74
|
+
version?: undefined;
|
|
75
|
+
dependencies?: undefined;
|
|
76
|
+
devDependencies?: undefined;
|
|
77
|
+
scripts?: undefined;
|
|
78
|
+
message?: undefined;
|
|
79
|
+
note?: undefined;
|
|
80
|
+
created?: undefined;
|
|
81
|
+
package?: undefined;
|
|
82
|
+
updated?: undefined;
|
|
83
|
+
instructions?: undefined;
|
|
84
|
+
projectPath?: undefined;
|
|
85
|
+
} | {
|
|
86
|
+
success: boolean;
|
|
87
|
+
message: string;
|
|
88
|
+
path: string;
|
|
89
|
+
name?: undefined;
|
|
90
|
+
version?: undefined;
|
|
91
|
+
dependencies?: undefined;
|
|
92
|
+
devDependencies?: undefined;
|
|
93
|
+
scripts?: undefined;
|
|
94
|
+
note?: undefined;
|
|
95
|
+
created?: undefined;
|
|
96
|
+
package?: undefined;
|
|
97
|
+
updated?: undefined;
|
|
98
|
+
deleted?: undefined;
|
|
99
|
+
instructions?: undefined;
|
|
100
|
+
projectPath?: undefined;
|
|
101
|
+
} | {
|
|
102
|
+
success: boolean;
|
|
103
|
+
message: string;
|
|
104
|
+
instructions: {
|
|
105
|
+
command: string;
|
|
106
|
+
registry: any;
|
|
107
|
+
access: any;
|
|
108
|
+
tag: any;
|
|
109
|
+
note: string;
|
|
110
|
+
package?: undefined;
|
|
111
|
+
version?: undefined;
|
|
112
|
+
destination?: undefined;
|
|
34
113
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
114
|
+
projectPath: any;
|
|
115
|
+
name?: undefined;
|
|
116
|
+
version?: undefined;
|
|
117
|
+
dependencies?: undefined;
|
|
118
|
+
devDependencies?: undefined;
|
|
119
|
+
scripts?: undefined;
|
|
120
|
+
note?: undefined;
|
|
121
|
+
created?: undefined;
|
|
122
|
+
path?: undefined;
|
|
123
|
+
package?: undefined;
|
|
124
|
+
updated?: undefined;
|
|
125
|
+
deleted?: undefined;
|
|
126
|
+
} | {
|
|
127
|
+
success: boolean;
|
|
128
|
+
message: string;
|
|
129
|
+
instructions: {
|
|
130
|
+
command: string;
|
|
131
|
+
package: any;
|
|
132
|
+
version: any;
|
|
133
|
+
destination: any;
|
|
134
|
+
note: string;
|
|
135
|
+
registry?: undefined;
|
|
136
|
+
access?: undefined;
|
|
137
|
+
tag?: undefined;
|
|
138
|
+
};
|
|
139
|
+
name?: undefined;
|
|
140
|
+
version?: undefined;
|
|
141
|
+
dependencies?: undefined;
|
|
142
|
+
devDependencies?: undefined;
|
|
143
|
+
scripts?: undefined;
|
|
144
|
+
note?: undefined;
|
|
145
|
+
created?: undefined;
|
|
146
|
+
path?: undefined;
|
|
147
|
+
package?: undefined;
|
|
148
|
+
updated?: undefined;
|
|
149
|
+
deleted?: undefined;
|
|
150
|
+
projectPath?: undefined;
|
|
151
|
+
}>;
|
|
39
152
|
}
|
|
40
|
-
//# sourceMappingURL=gitPackages.d.ts.map
|