Repository navigation
Expand file tree
/
Copy pathweavetab.json
More file actions
214 lines (214 loc) · 7.47 KB
/
Copy pathweavetab.json
File metadata and controls
214 lines (214 loc) · 7.47 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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
{
"$schema": "https://weavetab.dev/schema/plugin.json",
"name": "@weavetab/plugin-github",
"displayName": "GitHub",
"version": "1.2.0",
"description": "Official Weavetab GitHub plugin. Modular tools to analyze repositories, read raw source files, search issues, inspect pull requests, fetch raw diffs, and inspect active tabs directly without burning browser turns or API quota.",
"entry": "dist/index.js",
"engines": {
"weavetab": ">=2.6.0",
"node": ">=18.0.0"
},
"environments": [
"mcp"
],
"authors": [
{
"name": "fy2ne",
"role": "Author & Maintainer",
"url": "https://github.com/fy2ne"
}
],
"license": "MIT",
"tags": [
"GitHub",
"Developer Tools",
"Repositories",
"Issues",
"Pull Requests",
"Diff"
],
"links": {
"github": "https://github.com/weavetab/plugin-github",
"npm": "https://www.npmjs.com/package/@weavetab/plugin-github"
},
"defaultConfig": {
"cacheTtlMs": 1800000,
"maxReadLines": 200,
"defaultIssueLimit": 5
},
"permissions": {
"config": {
"read": true,
"write": true,
"reason": "Reads and persists plugin configuration (cache TTL, read limits, issue limits, optional token) at ~/.weavetab/plugins/@weavetab_plugin-github/config.json."
},
"cdp": {
"evaluate": true,
"reason": "Evaluates active tab URL and DOM on github.com to infer targets or inspect active views without API calls."
},
"network": {
"domains": [
"api.github.com",
"raw.githubusercontent.com",
"github.com"
],
"reason": "Fetches repository metadata, file trees, raw source files, issues, pull requests, and raw git diffs from GitHub REST API, CDN, and web endpoints."
},
"tools": {
"add": true,
"reason": "Registers github_analyze, github_read, github_issues, github_pull_request, github_diff, and github_active_tab MCP tools."
}
},
"tools": [
{
"name": "github_analyze",
"description": "Analyze a GitHub repository's metadata, default branch, recursive file tree, and README snippet over the GitHub REST API without burning browser turns.",
"inputSchema": {
"type": "object",
"properties": {
"repo": {
"type": "string",
"description": "Target repository as 'owner/repo' or full github.com URL. When omitted, inferred from the active browser tab."
}
}
}
},
{
"name": "github_read",
"description": "Fetch raw source files from a GitHub repository directly over HTTP without burning browser turns or API search quota.",
"inputSchema": {
"type": "object",
"properties": {
"paths": {
"type": "array",
"items": { "type": "string" },
"description": "File paths relative to the repository root, e.g. ['src/index.ts', 'README.md']."
},
"repo": {
"type": "string",
"description": "Target repository as 'owner/repo' or full github.com URL. When omitted, inferred from active tab."
},
"branch": {
"type": "string",
"description": "Target branch or tag (defaults to 'main' or cached default branch). Avoids API discovery calls."
},
"line_range": {
"type": "array",
"items": { "type": "number" },
"description": "Optional [start, end] 1-indexed line range to return per file."
}
}
}
},
{
"name": "github_issues",
"description": "List, search, or inspect issues and comments in a GitHub repository without burning browser turns.",
"inputSchema": {
"type": "object",
"properties": {
"repo": {
"type": "string",
"description": "Target repository as 'owner/repo' or full github.com URL."
},
"number": {
"type": "number",
"description": "Specific issue number to fetch full details and timeline comments for."
},
"search": {
"type": "string",
"description": "Free-text query to search issues in the repository."
},
"labels": {
"type": "array",
"items": { "type": "string" },
"description": "Restrict results to these labels."
},
"state": {
"type": "string",
"enum": ["open", "closed", "all"],
"description": "Filter by issue state (default 'open')."
},
"limit": {
"type": "number",
"description": "Maximum number of issues to return (default 5)."
}
}
}
},
{
"name": "github_pull_request",
"description": "Examine pull request details, changed files, diff stats, and comments, or list recent pull requests in a GitHub repository without burning browser turns.",
"inputSchema": {
"type": "object",
"properties": {
"repo": {
"type": "string",
"description": "Target repository as 'owner/repo' or full github.com URL."
},
"number": {
"type": "number",
"description": "Pull request number to fetch full detail, changed files, and comments for."
},
"state": {
"type": "string",
"enum": ["open", "closed", "all"],
"description": "Filter pull requests by state (default 'all' when listing)."
},
"limit": {
"type": "number",
"description": "Maximum pull requests to return when listing (default 10)."
}
}
}
},
{
"name": "github_diff",
"description": "Fetch raw git diffs or patches for pull requests, commits, or branch comparisons directly from github.com without consuming REST API rate limits.",
"inputSchema": {
"type": "object",
"properties": {
"repo": {
"type": "string",
"description": "Target repository as 'owner/repo' or full github.com URL."
},
"pull_number": {
"type": "number",
"description": "Pull request number to fetch the diff or patch for."
},
"commit_sha": {
"type": "string",
"description": "Commit SHA to fetch the diff or patch for."
},
"base": {
"type": "string",
"description": "Base branch or commit for compare diff (requires 'head')."
},
"head": {
"type": "string",
"description": "Head branch or commit for compare diff (requires 'base')."
},
"format": {
"type": "string",
"enum": ["diff", "patch"],
"description": "Output format: 'diff' (unified diff) or 'patch' (git patch with metadata). Default 'diff'."
}
}
}
},
{
"name": "github_active_tab",
"description": "Inspect the active browser tab on github.com via local CDP evaluation. Extracts repository overview, open PR/issue discussion, or file content directly from the browser DOM with ZERO API calls. Works on private repositories you are logged into.",
"inputSchema": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": ["auto", "summary", "files", "comments", "raw"],
"description": "Scope of data extraction from the page DOM (default 'auto')."
}
}
}
}
]
}