@taptap/instant-games-open-mcp 1.23.2 → 1.23.4
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 +77 -56
- package/dist/maker.js +1892 -1107
- package/dist/proxy.js +1 -1
- package/dist/server.js +97 -85
- package/package.json +1 -1
- package/skills/taptap-maker-dev-kit-guide/SKILL.md +13 -9
- package/skills/taptap-maker-local/SKILL.md +122 -76
- package/skills/update-taptap-mcp/SKILL.md +9 -16
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taptap/instant-games-open-mcp",
|
|
3
|
-
"version": "1.23.
|
|
3
|
+
"version": "1.23.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "TapTap Open API MCP Server - Documentation and Management APIs for TapTap Minigame and H5 Games (Leaderboard, and more features coming)",
|
|
6
6
|
"main": "dist/server.js",
|
|
@@ -5,8 +5,8 @@ description: Explain the local TapTap Maker AI dev kit installed during Maker pr
|
|
|
5
5
|
|
|
6
6
|
# TapTap Maker AI Dev Kit
|
|
7
7
|
|
|
8
|
-
Use this skill to orient the local AI/Agent after `
|
|
9
|
-
|
|
8
|
+
Use this skill to orient the local AI/Agent after `taptap-maker init` installs the AI dev kit into a
|
|
9
|
+
Maker project directory.
|
|
10
10
|
|
|
11
11
|
## What To Tell The Local Agent
|
|
12
12
|
|
|
@@ -30,9 +30,11 @@ When a user asks to develop or modify a Maker project after clone:
|
|
|
30
30
|
4. Use `templates/` when creating new game files or scaffolding.
|
|
31
31
|
5. Use `urhox-libs/` when engine API behavior or capability names are needed.
|
|
32
32
|
|
|
33
|
-
If these entries are missing in a bound Maker project,
|
|
34
|
-
directory as `target_dir
|
|
35
|
-
dev-kit
|
|
33
|
+
If these entries are missing in a bound Maker project, read `maker://status` or call
|
|
34
|
+
`maker_status_lite` with the actual project directory as `target_dir` to confirm state, then run
|
|
35
|
+
`taptap-maker dev-kit update` in that project directory to restore missing local dev-kit entries.
|
|
36
|
+
If status includes `Maker remote sync`, follow that section before editing: pull first only when the
|
|
37
|
+
workspace is clean, otherwise let the local AI help the user submit, stash, or cancel before pulling.
|
|
36
38
|
|
|
37
39
|
These files are local development aids. Do not submit them to Maker Git unless the user explicitly
|
|
38
40
|
asks and understands they are local environment files.
|
|
@@ -41,10 +43,12 @@ asks and understands they are local environment files.
|
|
|
41
43
|
|
|
42
44
|
Keep validation simple for Maker users. 用户可以直接说“提交”或“构建”:
|
|
43
45
|
|
|
44
|
-
- If the user says “提交”,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
- If the user says “提交”, “推送”, “构建”, “预览”, or “跑一下”, use
|
|
47
|
+
`maker_build_current_directory`. The tool commits when needed, pushes to Maker remote, and then
|
|
48
|
+
runs the remote build.
|
|
49
|
+
- If push fails, do not start a separate build or generic Git push. Explain the returned recovery
|
|
50
|
+
details, follow the returned classification-specific recovery (`remote_rejected`,
|
|
51
|
+
`branch_not_allowed`, `forbidden_path`, or `auth`), then retry `maker_build_current_directory`.
|
|
48
52
|
- After submit or build finishes, tell the user to open the TapMaker 网页端查看结果.
|
|
49
53
|
|
|
50
54
|
Do not create local-only test scripts just to verify Maker changes. The expected validation path is
|
|
@@ -5,18 +5,19 @@ description: Guide TapTap Maker local development workflows. Use when a user ask
|
|
|
5
5
|
|
|
6
6
|
# TapTap Maker Local Workflow
|
|
7
7
|
|
|
8
|
-
Use this skill as the workflow layer for Maker local development.
|
|
9
|
-
|
|
10
|
-
state in plain language.
|
|
8
|
+
Use this skill as the workflow layer for Maker local development. The Maker CLI owns one-time
|
|
9
|
+
initialization; MCP tools own the high-frequency development loop. This skill decides the sequence,
|
|
10
|
+
asks the user for choices, and explains local state in plain language.
|
|
11
11
|
|
|
12
12
|
## Scope
|
|
13
13
|
|
|
14
14
|
This skill covers:
|
|
15
15
|
|
|
16
16
|
- initialize local Maker development
|
|
17
|
+
- run the Maker CLI initialization flow
|
|
17
18
|
- prepare local AI dev kit before project binding
|
|
18
19
|
- clone a Maker project
|
|
19
|
-
- choose a Maker app from the app list
|
|
20
|
+
- choose a Maker app from the CLI app list
|
|
20
21
|
- explain PAT, Git, project binding, and editor reloads
|
|
21
22
|
- inspect local changes
|
|
22
23
|
- pull remote changes
|
|
@@ -24,30 +25,30 @@ This skill covers:
|
|
|
24
25
|
- push local commits
|
|
25
26
|
- explain and resolve conflicts with user approval
|
|
26
27
|
|
|
27
|
-
Build behavior
|
|
28
|
-
current MCP tools.
|
|
28
|
+
Build, submit, push, preview, and verify behavior belongs to the single Maker MCP build tool.
|
|
29
29
|
|
|
30
30
|
## Responsibilities
|
|
31
31
|
|
|
32
32
|
Keep this split clear:
|
|
33
33
|
|
|
34
34
|
- Skill: user intent, step order, whether to ask the user, friendly explanations, failure recovery.
|
|
35
|
-
-
|
|
36
|
-
-
|
|
35
|
+
- CLI: save PAT, fetch app list, prepare dev kit, clone, install MCP config, verify local setup.
|
|
36
|
+
- MCP tools/resources: inspect Maker status and run the combined commit/push/build path.
|
|
37
37
|
|
|
38
|
-
Do not reimplement Maker API calls or Git authentication in shell when
|
|
38
|
+
Do not reimplement Maker API calls or Git authentication in shell when the Maker CLI or MCP tool
|
|
39
|
+
exists.
|
|
39
40
|
|
|
40
41
|
## Main Intent Table
|
|
41
42
|
|
|
42
43
|
| User intent | Required workflow |
|
|
43
44
|
| --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
44
|
-
| initialize / configure / continue Maker local development |
|
|
45
|
+
| initialize / configure / continue Maker local development | Run the Maker CLI initialization workflow. |
|
|
45
46
|
| clone / download Maker project locally | Follow "Initialization Workflow"; do not ask for app_id directly. |
|
|
46
|
-
| status / is Maker ready |
|
|
47
|
-
| submit / commit / push to Maker | Inspect local Git state, summarize changed files, then call `
|
|
47
|
+
| status / is Maker ready | Read `maker://status`, call `maker_status_lite` if resources are unavailable, then follow `Maker remote sync` if present. |
|
|
48
|
+
| submit / commit / push to Maker | Inspect local Git state, summarize changed files, then call `maker_build_current_directory` unless blocked. |
|
|
48
49
|
| pull / update from remote | Inspect local changes first; if dirty, explain options before pulling. |
|
|
49
50
|
| conflict / merge failed | Explain why the conflict happened, list conflict files, inspect conflict hunks, propose a resolution plan, and ask before editing. |
|
|
50
|
-
| build / preview / run / verify | Use `maker_build_current_directory`;
|
|
51
|
+
| build / preview / run / verify | Use `maker_build_current_directory`; it commits/pushes before build unless the user explicitly requests remote-only build. |
|
|
51
52
|
|
|
52
53
|
## Project Detection
|
|
53
54
|
|
|
@@ -81,8 +82,9 @@ calling Maker tools. If there are multiple attached workspaces, show the paths a
|
|
|
81
82
|
which one is the Maker project directory. Do not treat the dialogue/session directory as the Maker
|
|
82
83
|
project directory, and do not ask the user to clone an app into that directory.
|
|
83
84
|
|
|
84
|
-
If
|
|
85
|
-
workspace first, then call `
|
|
85
|
+
If status output returns `AI client workspace selection`, follow that hint: choose an attached
|
|
86
|
+
workspace first, then read `maker://status` or call `maker_status_lite` with the attached project
|
|
87
|
+
directory.
|
|
86
88
|
|
|
87
89
|
## Initialization Workflow
|
|
88
90
|
|
|
@@ -100,43 +102,43 @@ Trigger phrases include:
|
|
|
100
102
|
|
|
101
103
|
Workflow:
|
|
102
104
|
|
|
103
|
-
1.
|
|
104
|
-
|
|
105
|
-
2. If
|
|
105
|
+
1. Run `taptap-maker doctor` for the user's intended Maker directory, or read `maker://status` when
|
|
106
|
+
the MCP server is already available.
|
|
107
|
+
2. If the status reports the current directory is already bound to a Maker project, stop the
|
|
106
108
|
initialization/clone path. Continue with the user's current intent in that bound project. Do not
|
|
107
109
|
ask which app to clone unless the user explicitly asks to switch or re-clone.
|
|
108
110
|
3. If Git is missing, stop. Tell the user Git is required for clone/submit/build-side Git work.
|
|
109
|
-
4.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
resources, especially `CLAUDE.md`, `examples/`, `templates/`, and `urhox-libs/`.
|
|
111
|
+
4. Run `taptap-maker init` in the user's intended Maker directory. The CLI will request PAT if
|
|
112
|
+
missing, fetch TapTap token, show a paged app preview, ask the user to choose, prepare the AI dev
|
|
113
|
+
kit, clone the Maker project, and install/verify MCP config.
|
|
114
|
+
Tell the user that the first Maker clone can take 20+ seconds because the server may be
|
|
115
|
+
preparing the repository, and that they should keep the command running while the CLI retries
|
|
116
|
+
transient 503/5xx failures.
|
|
117
|
+
5. If the CLI reports ordinary local files or parent Git repository risk, explain the warning and
|
|
118
|
+
ask whether the user wants to continue in this directory or switch to a clean independent one.
|
|
119
|
+
6. After clone succeeds, run `taptap-maker doctor` again or explain that `.maker-mcp/config.json`
|
|
120
|
+
now binds the directory to the Maker project.
|
|
121
|
+
7. Tell the local AI/Agent to use the `taptap-maker-dev-kit-guide` skill for the installed dev-kit
|
|
122
|
+
resources, especially `CLAUDE.md`, `examples/`, `templates/`, and `urhox-libs/`.
|
|
122
123
|
|
|
123
124
|
Keep the user-facing explanation short:
|
|
124
125
|
|
|
125
126
|
```text
|
|
126
|
-
|
|
127
|
-
如果还没有 PAT
|
|
127
|
+
我会先用 Maker CLI 检查本机 Git、PAT 和当前目录是否已绑定 Maker 项目。
|
|
128
|
+
如果还没有 PAT,CLI 会让你去页面创建一个;拿到项目列表后你选游戏,我再拉代码。
|
|
128
129
|
```
|
|
129
130
|
|
|
130
131
|
## AI Dev Kit Preparation
|
|
131
132
|
|
|
132
|
-
`
|
|
133
|
-
|
|
133
|
+
`taptap-maker init` prepares local development environment files in the current working directory
|
|
134
|
+
before it checks out the Maker project.
|
|
134
135
|
|
|
135
|
-
`
|
|
136
|
-
`CLAUDE.md`, `examples/`, `templates/`, or `urhox-libs/` are missing,
|
|
137
|
-
without overwriting existing local files and
|
|
136
|
+
`taptap-maker doctor` and `maker://status` check the dev-kit top-level entries for an already bound
|
|
137
|
+
Maker project. If `CLAUDE.md`, `examples/`, `templates/`, or `urhox-libs/` are missing, run
|
|
138
|
+
`taptap-maker dev-kit update` to restore the dev kit without overwriting existing local files and
|
|
139
|
+
refresh the managed `.gitignore` block.
|
|
138
140
|
|
|
139
|
-
The
|
|
141
|
+
The CLI downloads and installs:
|
|
140
142
|
|
|
141
143
|
```text
|
|
142
144
|
https://urhox-demo-platform.spark.xd.com/ai-dev-kit/pd/stable/ai-dev-kit.zip
|
|
@@ -150,7 +152,7 @@ resources to the local AI/Agent:
|
|
|
150
152
|
- `templates/` contains reusable templates.
|
|
151
153
|
- `urhox-libs/` contains engine APIs and capability references.
|
|
152
154
|
|
|
153
|
-
The
|
|
155
|
+
The CLI is responsible for deterministic file operations:
|
|
154
156
|
|
|
155
157
|
- extract the ZIP into the current directory
|
|
156
158
|
- skip the ZIP top-level `scripts` directory because it conflicts with Maker project code
|
|
@@ -159,18 +161,29 @@ The clone tool is responsible for deterministic file operations:
|
|
|
159
161
|
- after Maker clone succeeds, merge that block into the checked-out `.gitignore`
|
|
160
162
|
- keep the dev-kit files local-only so they are not submitted to Maker Git
|
|
161
163
|
|
|
162
|
-
Do not hand-write a custom download/unzip script while this
|
|
164
|
+
Do not hand-write a custom download/unzip script while this CLI command is available.
|
|
163
165
|
|
|
164
166
|
If clone fails because dev-kit network access is unavailable, explain that the Maker project can
|
|
165
167
|
still be cloned, but local AI development docs/API/demo support may be incomplete. Ask whether
|
|
166
168
|
the user wants to retry or continue without the dev kit.
|
|
167
169
|
|
|
170
|
+
If clone or fetch fails with Maker Git output, inspect the returned error fields instead of asking
|
|
171
|
+
the user to delete local files immediately. Treat `retryable: yes`, `classification:
|
|
172
|
+
remote_transient`, or retry reasons such as `remote_http_5xx`, `network_or_timeout`, and
|
|
173
|
+
`connection_interrupted` as temporary service/network failures. For first clone, explain that 503
|
|
174
|
+
often means the Maker server is still preparing the repository and can take more than 20 seconds.
|
|
175
|
+
The CLI already retried these automatically; if it still fails, tell the user they can retry
|
|
176
|
+
`taptap-maker init` later or switch to a cleaner independent directory after repeated failures. Do
|
|
177
|
+
not retry for auth, permission, repository-not-found, remote-rejected, local file conflict, or local
|
|
178
|
+
permission errors until the reported cause is fixed.
|
|
179
|
+
|
|
168
180
|
## PAT Handling
|
|
169
181
|
|
|
170
|
-
If the user pastes a token-like string while the initialization flow is waiting for PAT,
|
|
171
|
-
`
|
|
172
|
-
|
|
173
|
-
|
|
182
|
+
If the user pastes a token-like string while the initialization flow is waiting for PAT, let the
|
|
183
|
+
running `taptap-maker init` prompt consume it, or run `taptap-maker pat set` and paste the PAT into
|
|
184
|
+
the prompt. Do not put PAT directly in argv unless the user explicitly accepts the ps/shell-history
|
|
185
|
+
exposure. Do not just say "received". If the directory is already bound, treat `taptap-maker apps`
|
|
186
|
+
output as account reference only and continue the user's current bound-project task.
|
|
174
187
|
|
|
175
188
|
If PAT exchange fails:
|
|
176
189
|
|
|
@@ -183,12 +196,16 @@ If PAT exchange fails:
|
|
|
183
196
|
Use app selection only when the current directory is unbound and the user is initializing or cloning
|
|
184
197
|
a Maker project, or when the user explicitly asks to switch or re-clone.
|
|
185
198
|
|
|
186
|
-
If the current directory is already bound, app lists from `
|
|
187
|
-
|
|
188
|
-
|
|
199
|
+
If the current directory is already bound, app lists from `taptap-maker apps` are reference only. Do
|
|
200
|
+
not ask which app to clone. Continue operating on the current bound project unless the user
|
|
201
|
+
explicitly requests a different project.
|
|
189
202
|
|
|
190
|
-
When app selection is needed,
|
|
191
|
-
choose by index, app id, or name.
|
|
203
|
+
When app selection is needed, show the returned app preview and total count, then ask the user to
|
|
204
|
+
choose by index, app id, or name. The default preview shows 40 apps and `limit` is capped at 100.
|
|
205
|
+
If the target is not visible, ask the user to type `next`, provide app id/name keywords, or run
|
|
206
|
+
`taptap-maker apps --offset 40 --limit 40` / `taptap-maker apps --json`. If the chat/client width
|
|
207
|
+
is enough, you may present the preview as a compact two-column layout; otherwise keep a single
|
|
208
|
+
column. Do not omit app_id, and do not replace the preview with only a summary such as "40 apps are
|
|
192
209
|
available".
|
|
193
210
|
|
|
194
211
|
Do not auto-select:
|
|
@@ -197,17 +214,18 @@ Do not auto-select:
|
|
|
197
214
|
- the most recent app
|
|
198
215
|
- the only app
|
|
199
216
|
|
|
200
|
-
After the user chooses,
|
|
217
|
+
After the user chooses, let `taptap-maker init` continue with the selected app. Do not ask the user
|
|
218
|
+
to manually provide app_id unless the CLI is being run non-interactively.
|
|
201
219
|
|
|
202
220
|
## Working Directory Compliance Check
|
|
203
221
|
|
|
204
|
-
Before every clone attempt,
|
|
205
|
-
|
|
206
|
-
|
|
222
|
+
Before every clone attempt, run `taptap-maker doctor` for the user's intended Maker development
|
|
223
|
+
directory. Use that result as the source of truth for Git availability, existing Maker binding,
|
|
224
|
+
outer Git repository detection, and AI dev-kit status.
|
|
207
225
|
|
|
208
226
|
### Directory Suitability Decision
|
|
209
227
|
|
|
210
|
-
After `
|
|
228
|
+
After `taptap-maker doctor`, decide whether the directory is suitable for clone:
|
|
211
229
|
|
|
212
230
|
- If the directory is already bound to a Maker project, do not clone again unless the user
|
|
213
231
|
explicitly asks to switch or re-clone.
|
|
@@ -244,16 +262,16 @@ user before clone:
|
|
|
244
262
|
- A Maker project can live under that directory only if the Maker directory gets its own `.git`.
|
|
245
263
|
- Recommend a completely independent directory, such as `~/MakerProjects/<game-name>`, for safer
|
|
246
264
|
local development.
|
|
247
|
-
- If the user explicitly continues,
|
|
248
|
-
|
|
249
|
-
|
|
265
|
+
- If the user explicitly continues, continue `taptap-maker init`; the CLI must initialize an
|
|
266
|
+
independent Maker Git repository in the target directory and must not modify the outer repository
|
|
267
|
+
remote.
|
|
250
268
|
|
|
251
269
|
Do not delete, move, or overwrite user files during this check.
|
|
252
270
|
|
|
253
271
|
## Clone Directory Safety
|
|
254
272
|
|
|
255
|
-
Before clone, the Maker
|
|
256
|
-
|
|
273
|
+
Before clone, the Maker CLI checks local files and reports conflicts. The AI dev kit may create
|
|
274
|
+
local-only files before clone, so explain this in non-technical terms:
|
|
257
275
|
|
|
258
276
|
- existing local config folders such as `.claude`, `.mcp`, `.skill`, `.config`, `.ini` are kept
|
|
259
277
|
- normal local files are kept unless they conflict with files from the Maker project
|
|
@@ -262,15 +280,14 @@ may create local-only files before clone, so explain this in non-technical terms
|
|
|
262
280
|
|
|
263
281
|
Do not delete or overwrite user files to make clone work unless the user explicitly asks.
|
|
264
282
|
|
|
265
|
-
If `
|
|
266
|
-
state in plain language:
|
|
283
|
+
If `taptap-maker init` fails and returns `partial_state`, explain the state in plain language:
|
|
267
284
|
|
|
268
285
|
- `project_bound: no` usually means clone did not finish; retrying clone is allowed.
|
|
269
286
|
- `git_initialized: yes` with `project_bound: no` means the directory may contain a partial local
|
|
270
287
|
Git setup; retry once, and if it fails again recommend a fresh independent directory.
|
|
271
288
|
- `ai_dev_kit_present: yes` means local AI docs/examples may already be present even though Maker
|
|
272
289
|
project checkout failed.
|
|
273
|
-
- `project_bound: yes` means the directory already has Maker binding; run `
|
|
290
|
+
- `project_bound: yes` means the directory already has Maker binding; run `taptap-maker doctor` before
|
|
274
291
|
attempting anything else.
|
|
275
292
|
|
|
276
293
|
Do not delete partial files automatically. For novice users, prefer recommending a new independent
|
|
@@ -278,9 +295,9 @@ directory over manual cleanup.
|
|
|
278
295
|
|
|
279
296
|
### `.gitignore` Merge During Clone
|
|
280
297
|
|
|
281
|
-
The Maker
|
|
298
|
+
The Maker CLI stages the dev-kit managed ignore block in
|
|
282
299
|
`.gitignore.dev-kit-before-clone` instead of writing `.gitignore` before checkout. After Maker
|
|
283
|
-
clone succeeds, the
|
|
300
|
+
clone succeeds, the CLI merges that managed block into the checked-out `.gitignore` and
|
|
284
301
|
removes the temporary file.
|
|
285
302
|
|
|
286
303
|
If clone still reports conflicts for files other than `.gitignore.dev-kit-before-clone`, do not
|
|
@@ -292,8 +309,8 @@ submitted to Maker Git.
|
|
|
292
309
|
|
|
293
310
|
## Bundled Skills
|
|
294
311
|
|
|
295
|
-
When `
|
|
296
|
-
paths. Do not install or register skills automatically.
|
|
312
|
+
When `taptap-maker doctor`, `maker://status`, or `maker_status_lite` reports TapTap bundled workflow
|
|
313
|
+
skills, show the skill names and document paths. Do not install or register skills automatically.
|
|
297
314
|
|
|
298
315
|
`taptap-maker-local` covers Maker local workflow. `taptap-maker-dev-kit-guide` explains the local
|
|
299
316
|
AI dev-kit resources installed during clone. `update-taptap-mcp` covers local TapTap MCP cache
|
|
@@ -303,6 +320,26 @@ Prefer user/global scope for Maker MCP installation. If a project/local config a
|
|
|
303
320
|
do not block the workflow; just explain that user/global scope is recommended to avoid config
|
|
304
321
|
being tied to a specific project folder.
|
|
305
322
|
|
|
323
|
+
## Remote Sync Status
|
|
324
|
+
|
|
325
|
+
For a bound Maker project, `maker://status` and `maker_status_lite` include `Maker remote sync`.
|
|
326
|
+
Read this section before the user starts editing in a fresh conversation:
|
|
327
|
+
|
|
328
|
+
- For frequent polling or quick local-only status checks, call `maker_status_lite` with
|
|
329
|
+
`skip_remote_sync: true` to avoid a `git fetch origin` network round trip on every status read.
|
|
330
|
+
- `up_to_date`: continue development.
|
|
331
|
+
- `needs_pull` with `local_changes: no`: tell the user the workspace is clean and the local AI can
|
|
332
|
+
run `git pull --ff-only origin main` before editing.
|
|
333
|
+
- `needs_pull` with `local_changes: yes`: do not pull immediately. Explain that remote changes exist
|
|
334
|
+
and local edits are present; ask the local AI to inspect `git status` and help the user choose
|
|
335
|
+
submit current changes, stash then pull and restore, or cancel.
|
|
336
|
+
- `diverged`: do not push or blindly pull. Ask the local AI to plan a rebase or merge of current
|
|
337
|
+
Maker remote changes.
|
|
338
|
+
- `branch_not_allowed`: Maker only accepts `main`; switch/migrate local commits to `main` before
|
|
339
|
+
build or submit.
|
|
340
|
+
- `remote_unavailable`: follow the failure classification and retry later only for temporary
|
|
341
|
+
5xx/network/timeout failures.
|
|
342
|
+
|
|
306
343
|
## Local Change Review
|
|
307
344
|
|
|
308
345
|
Before submitting, run local Git inspection when available:
|
|
@@ -330,28 +367,37 @@ mean:
|
|
|
330
367
|
commit + push + Maker build
|
|
331
368
|
```
|
|
332
369
|
|
|
333
|
-
Use `
|
|
370
|
+
Use `maker_build_current_directory` for this path. Do not use generic Git task-id,
|
|
334
371
|
branch-creation, or PR rules inside Maker project repositories.
|
|
335
372
|
|
|
336
|
-
If `
|
|
373
|
+
If `maker_build_current_directory` returns a build failure after a successful push, report both:
|
|
337
374
|
|
|
338
375
|
- submit/push succeeded
|
|
339
376
|
- build failed, with the concrete build error
|
|
340
377
|
|
|
341
378
|
If submit created a local commit but push failed because the Maker remote was temporarily
|
|
342
|
-
unavailable, do not run a manual generic `git push`.
|
|
343
|
-
`
|
|
344
|
-
|
|
345
|
-
|
|
379
|
+
unavailable, do not run a manual generic `git push`. Fix the reported cause if needed, then retry
|
|
380
|
+
`maker_build_current_directory`. Maker MCP will detect committed-but-unpushed local commits and push
|
|
381
|
+
them before build.
|
|
382
|
+
|
|
383
|
+
For push failures, use the returned `classification`, `retryable`, `retry_reason`, and
|
|
384
|
+
`retry_attempts` fields. Temporary 5xx/network/timeout failures may be retried with the Maker build
|
|
385
|
+
tool; `remote_rejected` means remote updates require pull/rebase first; `auth` means refreshing PAT;
|
|
386
|
+
`branch_not_allowed` means Maker remote only accepts `main`; `forbidden_path` means the remote
|
|
387
|
+
pre-receive hook rejected one or more paths/directories and the forbidden pattern from stderr must
|
|
388
|
+
be removed from the unpushed commit before retrying.
|
|
346
389
|
|
|
347
390
|
When a Maker tool output contains `push_recovery`, follow it exactly:
|
|
348
391
|
|
|
349
392
|
- Tell the user the local commit is preserved but not yet on Maker remote.
|
|
350
393
|
- Do not ask for permission to run a generic `git push`.
|
|
351
|
-
- Retry with `
|
|
352
|
-
- Retry with `maker_build_current_directory(submit_local_changes_before_build=true)` for build
|
|
353
|
-
requests.
|
|
394
|
+
- Retry with `maker_build_current_directory` for submit and build requests.
|
|
354
395
|
- If the failure is `remote_rejected`, ask before pull/rebase; do not create a new branch or PR.
|
|
396
|
+
- If the failure is `branch_not_allowed`, do not pull/rebase. Tell the user Maker only accepts
|
|
397
|
+
`main`, switch back to `main`, cherry-pick the preserved local commit there, then retry.
|
|
398
|
+
- If the failure is `forbidden_path`, do not refresh PAT. Read the forbidden pattern in stderr,
|
|
399
|
+
remove those paths from the unpushed commit while keeping local files, then retry after
|
|
400
|
+
`git status` is clean for them.
|
|
355
401
|
|
|
356
402
|
## Pull And Conflict Handling
|
|
357
403
|
|
|
@@ -75,7 +75,7 @@ foreach ($f in $projectConfigPaths) {
|
|
|
75
75
|
## Step 1:对比远端和本地版本
|
|
76
76
|
|
|
77
77
|
```powershell
|
|
78
|
-
npm view '@taptap/instant-games-open-mcp
|
|
78
|
+
npm view '@taptap/instant-games-open-mcp' version
|
|
79
79
|
$NpxDir = Join-Path (npm config get cache) '_npx'
|
|
80
80
|
Get-ChildItem $NpxDir -Directory -ErrorAction SilentlyContinue | ForEach-Object {
|
|
81
81
|
$p = Join-Path $_.FullName 'node_modules\@taptap\instant-games-open-mcp\package.json'
|
|
@@ -98,17 +98,11 @@ Get-ChildItem $NpxDir -Directory -ErrorAction SilentlyContinue | ForEach-Object
|
|
|
98
98
|
|
|
99
99
|
## Step 3:预热下载
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
预热正式 npm 包,并验证 `taptap-maker` binary 可以启动。
|
|
102
102
|
|
|
103
103
|
```powershell
|
|
104
|
-
$env:TAPTAP_MCP_ENV = 'rnd'
|
|
105
104
|
$log = Join-Path $env:TEMP 'taptap-mcp-warmup.log'
|
|
106
|
-
|
|
107
|
-
-ArgumentList '-y','-p','@taptap/instant-games-open-mcp@beta','taptap-maker' `
|
|
108
|
-
-RedirectStandardOutput $log -RedirectStandardError "$log.err" `
|
|
109
|
-
-WindowStyle Hidden -PassThru
|
|
110
|
-
Start-Sleep -Seconds 25
|
|
111
|
-
Stop-Process -Id $proc.Id -Force -ErrorAction SilentlyContinue
|
|
105
|
+
npx -y -p '@taptap/instant-games-open-mcp' taptap-maker help > $log 2> "$log.err"
|
|
112
106
|
```
|
|
113
107
|
|
|
114
108
|
## Step 4:验证
|
|
@@ -124,7 +118,7 @@ claude mcp list 2>&1 | Select-String -Pattern 'taptap|Warning'
|
|
|
124
118
|
|
|
125
119
|
## Step 5:提示用户重启客户端
|
|
126
120
|
|
|
127
|
-
更新完成后提醒用户重启 MCP 客户端,或新开 Claude Code / Codex / Cursor 窗口。当前会话通常不会热加载新 MCP
|
|
121
|
+
更新完成后提醒用户重启 MCP 客户端,或新开 Claude Code / Codex / Cursor 窗口。当前会话通常不会热加载新 MCP;重启后以能读取 `maker://status` 作为首选生效标准;如果客户端不支持 MCP Resources,则以 `maker_status_lite` 是否可调用作为兜底标准。
|
|
128
122
|
|
|
129
123
|
---
|
|
130
124
|
|
|
@@ -165,7 +159,7 @@ done
|
|
|
165
159
|
## Step 1:对比远端和本地版本
|
|
166
160
|
|
|
167
161
|
```bash
|
|
168
|
-
npm view @taptap/instant-games-open-mcp
|
|
162
|
+
npm view @taptap/instant-games-open-mcp version
|
|
169
163
|
NPX_DIR="$(npm config get cache)/_npx"
|
|
170
164
|
for d in "$NPX_DIR"/*/; do
|
|
171
165
|
p="$d/node_modules/@taptap/instant-games-open-mcp/package.json"
|
|
@@ -186,12 +180,11 @@ done
|
|
|
186
180
|
|
|
187
181
|
## Step 3:预热下载
|
|
188
182
|
|
|
189
|
-
|
|
183
|
+
预热正式 npm 包,并验证 `taptap-maker` binary 可以启动。
|
|
190
184
|
|
|
191
185
|
```bash
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
PID=$!; sleep 25; kill $PID 2>/dev/null; wait 2>/dev/null
|
|
186
|
+
npx -y -p @taptap/instant-games-open-mcp taptap-maker help \
|
|
187
|
+
> /tmp/taptap-mcp-warmup.log 2>&1
|
|
195
188
|
```
|
|
196
189
|
|
|
197
190
|
## Step 4:验证
|
|
@@ -207,4 +200,4 @@ claude mcp list 2>&1 | grep -E "taptap|Warning"
|
|
|
207
200
|
|
|
208
201
|
## Step 5:提示用户重启客户端
|
|
209
202
|
|
|
210
|
-
更新完成后提醒用户重启 MCP 客户端,或新开 Claude Code / Codex / Cursor 窗口。当前会话通常不会热加载新 MCP
|
|
203
|
+
更新完成后提醒用户重启 MCP 客户端,或新开 Claude Code / Codex / Cursor 窗口。当前会话通常不会热加载新 MCP;重启后以能读取 `maker://status` 作为首选生效标准;如果客户端不支持 MCP Resources,则以 `maker_status_lite` 是否可调用作为兜底标准。
|