{"_id":"@4399aigame/aigame","_rev":"6-7173be69d64d45143d01b7681ec36fbe","name":"@4399aigame/aigame","dist-tags":{"latest":"2.1.2"},"versions":{"2.0.0":{"name":"@4399aigame/aigame","version":"2.0.0","keywords":["mcp","model-context-protocol","4399","aigame","minigame","h5-game","open-api","game-development","ai-agent"],"author":{"name":"4399 aigame"},"license":"MIT","_id":"@4399aigame/aigame@2.0.0","maintainers":[{"name":"ywjszx","email":"ywjszx@4399.com"}],"homepage":"https://ywgit.gz4399.com/ywkf/aigame-maker/tree/master/aigame-mcp#readme","bin":{"aigame":"bin/aigame"},"dist":{"shasum":"bc444047b34ff0e84127046215f6f00185257b52","tarball":"https://registry.npmjs.org/@4399aigame/aigame/-/aigame-2.0.0.tgz","fileCount":9,"integrity":"sha512-50ChLU7qDjvIc1AxmvXYTcb4S8zd/wqf477XkDscdwjnSJVRJv6Cl4p6uTb3f4qW0/qeaLl3l6rIlaukDGfHoA==","signatures":[{"sig":"MEQCICDQU24NlerDLKxMiDC6obsXggoR3IgG8dnYJmA0nqnlAiAlBWK3o96iYL2WCDgGWser9O1zXnt2Z7KPeAC9T03Mlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1769110},"engines":{"node":">=22.12.0"},"exports":{"./proxy":"./dist/proxy.js","./package.json":"./package.json"},"gitHead":"0ea41637ececb84b97c245bbaf4cc19a82cb0a7a","scripts":{"dev":"tsx --env-file=config/env/.env.development watch src/cli.ts","lint":"biome lint .","ship":"node scripts/ship.mjs","test":"jest","check":"biome check .","start":"node bin/aigame","format":"biome format --write .","verify":"pnpm check && pnpm typecheck && pnpm test && pnpm check:rename-residue","release":"bash scripts/publish.sh --no-bump","lint:fix":"biome lint --write .","build:dev":"rollup -c --environment AIGAME_BUILD_MODE:dev","changeset":"changeset","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p packages/aigame-core/tsconfig.json && tsc --noEmit -p packages/aigame-godot/tsconfig.json && tsc --noEmit -p packages/aigame-proxy/tsconfig.json && tsc --noEmit -p packages/aigame-maker/tsconfig.json","build:prod":"rollup -c --environment AIGAME_BUILD_MODE:production","publish:all":"bash scripts/publish.sh","publish:dry":"bash scripts/publish.sh -d","release:dry":"bash scripts/publish.sh --no-bump -d","changeset:ai":"node scripts/changeset-ai.mjs","format:check":"biome format .","publish:major":"bash scripts/publish.sh -b major","publish:minor":"bash scripts/publish.sh -b minor","prepublishOnly":"pnpm build:prod","changeset:status":"changeset status","changeset:version":"changeset version","check:rename-residue":"tsx src/rename/scanCli.ts"},"_npmUser":{"name":"ywjszx","email":"ywjszx@4399.com"},"repository":{"url":"git+https://ywgit.gz4399.com/ywkf/aigame-maker.git","type":"git","directory":"aigame-mcp"},"_npmVersion":"10.9.0","description":"4399 AI 小游戏开发工具链 - MCP Server + CLI","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"17.2.3","qrcode":"1.5.4","archiver":"7.0.1","commander":"^10.0.1","crypto-js":"^4.2.0","@clack/prompts":"^1.7.0","@modelcontextprotocol/sdk":"1.27.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"4.20.6","jest":"^29.0.0","tslib":"^2.8.1","rollup":"^4.46.3","esbuild":"0.27.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/qrcode":"1.5.6","@biomejs/biome":"2.3.2","@changesets/cli":"^2.29.5","@types/archiver":"6.0.4","@types/crypto-js":"^4.2.0","@rollup/plugin-json":"^6.1.0","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-replace":"^5.0.7","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-node-resolve":"^15.3.1"},"_npmOperationalInternal":{"tmp":"tmp/aigame_2.0.0_1787017327620_0.9093100475549587","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@4399aigame/aigame","version":"2.0.1","keywords":["mcp","model-context-protocol","4399","aigame","minigame","h5-game","open-api","game-development","ai-agent"],"author":{"name":"4399 aigame"},"license":"MIT","_id":"@4399aigame/aigame@2.0.1","maintainers":[{"name":"ywjszx","email":"ywjszx@4399.com"}],"homepage":"https://ywgit.gz4399.com/ywkf/aigame-maker/tree/master/aigame-mcp#readme","bin":{"aigame":"bin/aigame"},"dist":{"shasum":"dbc56f75eaadd7deb8327226a6d8bb5e755d5b6b","tarball":"https://registry.npmjs.org/@4399aigame/aigame/-/aigame-2.0.1.tgz","fileCount":9,"integrity":"sha512-8enYqv9K7tDch7hjAPezM90iZIHxQf6N7VmI9GxAWnhlaZNuha8x9KmIB3ym38BU/kMH+0o+frP3HC0Km3PREQ==","signatures":[{"sig":"MEQCIDeL8w2HOdGKWhvlKngRkHoo5uYxTe4p0uixhNte/l1+AiBXIGqcc/2YdATd4p7RIAdDcb+h4IIp2tg29lYjPKYhMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1765672},"engines":{"node":">=22.12.0"},"exports":{"./proxy":"./dist/proxy.js","./package.json":"./package.json"},"gitHead":"ce52ca688aec321e5c66460f1c07693a984890c4","scripts":{"dev":"tsx --env-file=config/env/.env.development watch src/cli.ts","lint":"biome lint .","ship":"node scripts/ship.mjs","test":"jest","check":"biome check .","start":"node bin/aigame","format":"biome format --write .","verify":"pnpm check && pnpm typecheck && pnpm test && pnpm check:rename-residue","release":"bash scripts/publish.sh --no-bump","lint:fix":"biome lint --write .","build:dev":"rollup -c --environment AIGAME_BUILD_MODE:dev","changeset":"changeset","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p packages/aigame-core/tsconfig.json && tsc --noEmit -p packages/aigame-godot/tsconfig.json && tsc --noEmit -p packages/aigame-proxy/tsconfig.json && tsc --noEmit -p packages/aigame-maker/tsconfig.json","build:prod":"rollup -c --environment AIGAME_BUILD_MODE:production","publish:all":"bash scripts/publish.sh","publish:dry":"bash scripts/publish.sh -d","release:dry":"bash scripts/publish.sh --no-bump -d","changeset:ai":"node scripts/changeset-ai.mjs","format:check":"biome format .","publish:major":"bash scripts/publish.sh -b major","publish:minor":"bash scripts/publish.sh -b minor","prepublishOnly":"pnpm build:prod","changeset:status":"changeset status","changeset:version":"changeset version","check:rename-residue":"tsx src/rename/scanCli.ts"},"_npmUser":{"name":"ywjszx","email":"ywjszx@4399.com"},"repository":{"url":"git+https://ywgit.gz4399.com/ywkf/aigame-maker.git","type":"git","directory":"aigame-mcp"},"_npmVersion":"10.9.0","description":"4399 AI 小游戏开发工具链 - MCP Server + CLI","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"17.2.3","qrcode":"1.5.4","archiver":"7.0.1","commander":"^10.0.1","crypto-js":"^4.2.0","@clack/prompts":"^1.7.0","@modelcontextprotocol/sdk":"1.27.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"4.20.6","jest":"^29.0.0","tslib":"^2.8.1","rollup":"^4.46.3","esbuild":"0.27.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/qrcode":"1.5.6","@biomejs/biome":"2.3.2","@changesets/cli":"^2.29.5","@types/archiver":"6.0.4","@types/crypto-js":"^4.2.0","@rollup/plugin-json":"^6.1.0","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-replace":"^5.0.7","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-node-resolve":"^15.3.1"},"_npmOperationalInternal":{"tmp":"tmp/aigame_2.0.1_1787031744022_0.4328872147313003","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@4399aigame/aigame","version":"2.0.2","keywords":["mcp","model-context-protocol","4399","aigame","minigame","h5-game","open-api","game-development","ai-agent"],"author":{"name":"4399 aigame"},"license":"MIT","_id":"@4399aigame/aigame@2.0.2","maintainers":[{"name":"ywjszx","email":"ywjszx@4399.com"}],"homepage":"https://ywgit.gz4399.com/ywkf/aigame-maker/tree/master/aigame-mcp#readme","bin":{"aigame":"bin/aigame"},"dist":{"shasum":"02741dea934eb1919b9e321a3df863fb6c3fab54","tarball":"https://registry.npmjs.org/@4399aigame/aigame/-/aigame-2.0.2.tgz","fileCount":9,"integrity":"sha512-Eatae6cqJGvGkvqHG4JjOIU0Y7v6//AfXoCyDeMk/Ym4UpkilhbDQzwQjSJ8hxaWnp/s3nAYtXoDgBS/kuxSug==","signatures":[{"sig":"MEUCIAlCsGYEyyOTfBow+AadfVUI43Aw6uDGISKZCbKDJWAsAiEA0JeXkGCaVeRYcvunxGcfcMxuMOJ1YUzUeOosjzMOaE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1765672},"engines":{"node":">=22.12.0"},"exports":{"./proxy":"./dist/proxy.js","./package.json":"./package.json"},"gitHead":"82ca4fc27a1befe71c219b1f83c511a4286761ac","scripts":{"dev":"tsx --env-file=config/env/.env.development watch src/cli.ts","lint":"biome lint .","ship":"node scripts/ship.mjs","test":"jest","check":"biome check .","start":"node bin/aigame","format":"biome format --write .","verify":"pnpm check && pnpm typecheck && pnpm test && pnpm check:rename-residue","release":"bash scripts/publish.sh --no-bump","lint:fix":"biome lint --write .","build:dev":"rollup -c --environment AIGAME_BUILD_MODE:dev","changeset":"changeset","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p packages/aigame-core/tsconfig.json && tsc --noEmit -p packages/aigame-godot/tsconfig.json && tsc --noEmit -p packages/aigame-proxy/tsconfig.json && tsc --noEmit -p packages/aigame-maker/tsconfig.json","build:prod":"rollup -c --environment AIGAME_BUILD_MODE:production","publish:all":"bash scripts/publish.sh","publish:dry":"bash scripts/publish.sh -d","release:dry":"bash scripts/publish.sh --no-bump -d","changeset:ai":"node scripts/changeset-ai.mjs","format:check":"biome format .","publish:major":"bash scripts/publish.sh -b major","publish:minor":"bash scripts/publish.sh -b minor","prepublishOnly":"pnpm build:prod","changeset:status":"changeset status","changeset:version":"changeset version","check:rename-residue":"tsx src/rename/scanCli.ts"},"_npmUser":{"name":"ywjszx","email":"ywjszx@4399.com"},"repository":{"url":"git+https://ywgit.gz4399.com/ywkf/aigame-maker.git","type":"git","directory":"aigame-mcp"},"_npmVersion":"10.9.0","description":"4399 AI 小游戏开发工具链 - MCP Server + CLI","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"17.2.3","qrcode":"1.5.4","archiver":"7.0.1","commander":"^10.0.1","crypto-js":"^4.2.0","@clack/prompts":"^1.7.0","@modelcontextprotocol/sdk":"1.27.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"4.20.6","jest":"^29.0.0","tslib":"^2.8.1","rollup":"^4.46.3","esbuild":"0.27.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/qrcode":"1.5.6","@biomejs/biome":"2.3.2","@changesets/cli":"^2.29.5","@types/archiver":"6.0.4","@types/crypto-js":"^4.2.0","@rollup/plugin-json":"^6.1.0","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-replace":"^5.0.7","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-node-resolve":"^15.3.1"},"_npmOperationalInternal":{"tmp":"tmp/aigame_2.0.2_1787043857905_0.2483654530532311","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@4399aigame/aigame","version":"2.1.0","keywords":["mcp","model-context-protocol","4399","aigame","minigame","h5-game","open-api","game-development","ai-agent"],"author":{"name":"4399 aigame"},"license":"MIT","_id":"@4399aigame/aigame@2.1.0","maintainers":[{"name":"ywjszx","email":"ywjszx@4399.com"}],"homepage":"https://ywgit.gz4399.com/ywkf/aigame-maker/tree/master/aigame-mcp#readme","bin":{"aigame":"bin/aigame"},"dist":{"shasum":"e34ff36281404beabc2da279e228f26016e5a206","tarball":"https://registry.npmjs.org/@4399aigame/aigame/-/aigame-2.1.0.tgz","fileCount":9,"integrity":"sha512-fJyl89QXdxpdc4z520kAHrLad/XHWCiacTJ5GsD6V4B5lf4eFsoB/Du3K49M0MxSTWcc3z6prVydmgjEtHYFKg==","signatures":[{"sig":"MEUCIQDdh5a2K61etctpnE+bbANytxSDHB4PvT+T0oxhRCBWDAIgfh3sPKF2O0k4C5O17oUVK90mDEVTwCo7JUCgAIpU6tA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1774807},"engines":{"node":">=22.12.0"},"exports":{"./proxy":"./dist/proxy.js","./package.json":"./package.json"},"gitHead":"d0e2585a2899be9d8fec3c01b3b47a13cbe01be6","scripts":{"dev":"tsx --env-file=config/env/.env.development watch src/cli.ts","lint":"biome lint .","ship":"node scripts/ship.mjs","test":"jest","check":"biome check .","start":"node bin/aigame","format":"biome format --write .","verify":"pnpm check && pnpm typecheck && pnpm test && pnpm check:rename-residue","release":"bash scripts/publish.sh --no-bump","lint:fix":"biome lint --write .","build:dev":"rollup -c --environment AIGAME_BUILD_MODE:dev","changeset":"changeset","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p packages/aigame-core/tsconfig.json && tsc --noEmit -p packages/aigame-godot/tsconfig.json && tsc --noEmit -p packages/aigame-proxy/tsconfig.json && tsc --noEmit -p packages/aigame-maker/tsconfig.json","build:prod":"rollup -c --environment AIGAME_BUILD_MODE:production","publish:all":"bash scripts/publish.sh","publish:dry":"bash scripts/publish.sh -d","release:dry":"bash scripts/publish.sh --no-bump -d","changeset:ai":"node scripts/changeset-ai.mjs","format:check":"biome format .","publish:major":"bash scripts/publish.sh -b major","publish:minor":"bash scripts/publish.sh -b minor","prepublishOnly":"pnpm build:prod","changeset:status":"changeset status","changeset:version":"changeset version","check:rename-residue":"tsx src/rename/scanCli.ts"},"_npmUser":{"name":"ywjszx","email":"ywjszx@4399.com"},"repository":{"url":"git+https://ywgit.gz4399.com/ywkf/aigame-maker.git","type":"git","directory":"aigame-mcp"},"_npmVersion":"10.9.0","description":"4399 AI 小游戏开发工具链 - MCP Server + CLI","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"17.2.3","qrcode":"1.5.4","archiver":"7.0.1","commander":"^10.0.1","crypto-js":"^4.2.0","@clack/prompts":"^1.7.0","@modelcontextprotocol/sdk":"1.27.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"4.20.6","jest":"^29.0.0","tslib":"^2.8.1","rollup":"^4.46.3","esbuild":"0.27.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/qrcode":"1.5.6","@biomejs/biome":"2.3.2","@changesets/cli":"^2.29.5","@types/archiver":"6.0.4","@types/crypto-js":"^4.2.0","@rollup/plugin-json":"^6.1.0","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-replace":"^5.0.7","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-node-resolve":"^15.3.1"},"_npmOperationalInternal":{"tmp":"tmp/aigame_2.1.0_1787106260144_0.40525530121383335","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@4399aigame/aigame","version":"2.1.1","keywords":["mcp","model-context-protocol","4399","aigame","minigame","h5-game","open-api","game-development","ai-agent"],"author":{"name":"4399 aigame"},"license":"MIT","_id":"@4399aigame/aigame@2.1.1","maintainers":[{"name":"ywjszx","email":"ywjszx@4399.com"}],"homepage":"https://ywgit.gz4399.com/ywkf/aigame-maker/tree/master/aigame-mcp#readme","bin":{"aigame":"bin/aigame"},"dist":{"shasum":"c22350732ccadb780196e28b8de6ce108a89ce88","tarball":"https://registry.npmjs.org/@4399aigame/aigame/-/aigame-2.1.1.tgz","fileCount":9,"integrity":"sha512-qnWYXCkw+spckej8pSKbroZ5hMM/bnDzg88qcje+9NuT7HJD2a5bbHOQ7IHe8+oL8NiIsgLKfahQxygKNXa+EA==","signatures":[{"sig":"MEQCIC6IaHLWhFwwEKHggos4L4SLMUNm6C0KKfoQg7KK1eVgAiACTWa1RY0s1R165C32JQqObxTMvPOV4HFQchD7h2O3Mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1778039},"engines":{"node":">=22.12.0"},"exports":{"./proxy":"./dist/proxy.js","./package.json":"./package.json"},"gitHead":"1ab5c38945c42190c36e60220ddf6d438ffeaaa9","scripts":{"dev":"tsx --env-file=config/env/.env.development watch src/cli.ts","lint":"biome lint .","ship":"node scripts/ship.mjs","test":"jest","check":"biome check .","start":"node bin/aigame","format":"biome format --write .","verify":"pnpm check && pnpm typecheck && pnpm test && pnpm check:rename-residue","release":"bash scripts/publish.sh --no-bump","lint:fix":"biome lint --write .","build:dev":"rollup -c --environment AIGAME_BUILD_MODE:dev","changeset":"changeset","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p packages/aigame-core/tsconfig.json && tsc --noEmit -p packages/aigame-godot/tsconfig.json && tsc --noEmit -p packages/aigame-proxy/tsconfig.json && tsc --noEmit -p packages/aigame-maker/tsconfig.json","build:prod":"rollup -c --environment AIGAME_BUILD_MODE:production","publish:all":"bash scripts/publish.sh","publish:dry":"bash scripts/publish.sh -d","release:dry":"bash scripts/publish.sh --no-bump -d","changeset:ai":"node scripts/changeset-ai.mjs","format:check":"biome format .","publish:major":"bash scripts/publish.sh -b major","publish:minor":"bash scripts/publish.sh -b minor","prepublishOnly":"pnpm build:prod","changeset:status":"changeset status","changeset:version":"changeset version","check:rename-residue":"tsx src/rename/scanCli.ts"},"_npmUser":{"name":"ywjszx","email":"ywjszx@4399.com"},"repository":{"url":"git+https://ywgit.gz4399.com/ywkf/aigame-maker.git","type":"git","directory":"aigame-mcp"},"_npmVersion":"10.9.0","description":"4399 AI 小游戏开发工具链 - MCP Server + CLI","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ora":"^5.4.1","chalk":"^4.1.2","dotenv":"17.2.3","qrcode":"1.5.4","archiver":"7.0.1","commander":"^10.0.1","crypto-js":"^4.2.0","@clack/prompts":"^1.7.0","@modelcontextprotocol/sdk":"1.27.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"4.20.6","jest":"^29.0.0","tslib":"^2.8.1","rollup":"^4.46.3","esbuild":"0.27.0","ts-jest":"^29.1.0","ts-node":"^10.9.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/qrcode":"1.5.6","@biomejs/biome":"2.3.2","@changesets/cli":"^2.29.5","@types/archiver":"6.0.4","@types/crypto-js":"^4.2.0","@rollup/plugin-json":"^6.1.0","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-replace":"^5.0.7","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-node-resolve":"^15.3.1"},"_npmOperationalInternal":{"tmp":"tmp/aigame_2.1.1_1787112234071_0.5663024819546094","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@4399aigame/aigame","version":"2.1.2","description":"4399 AI 小游戏开发工具链 - MCP Server + CLI","bin":{"aigame":"bin/aigame"},"exports":{"./proxy":"./dist/proxy.js","./package.json":"./package.json"},"packageManager":"pnpm@10.33.0","scripts":{"build:dev":"rollup -c --environment AIGAME_BUILD_MODE:dev","build:prod":"rollup -c --environment AIGAME_BUILD_MODE:production","start":"node bin/aigame","dev":"tsx --env-file=config/env/.env.development watch src/cli.ts","test":"jest","lint":"biome lint .","lint:fix":"biome lint --write .","format":"biome format --write .","format:check":"biome format .","check":"biome check .","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p packages/aigame-core/tsconfig.json && tsc --noEmit -p packages/aigame-godot/tsconfig.json && tsc --noEmit -p packages/aigame-proxy/tsconfig.json && tsc --noEmit -p packages/aigame-maker/tsconfig.json","check:rename-residue":"tsx src/rename/scanCli.ts","verify":"pnpm check && pnpm typecheck && pnpm test && pnpm check:rename-residue","ship":"node scripts/ship.mjs","changeset":"changeset","changeset:ai":"node scripts/changeset-ai.mjs","changeset:status":"changeset status","changeset:version":"changeset version","release":"bash scripts/publish.sh --no-bump","release:dry":"bash scripts/publish.sh --no-bump -d","publish:all":"bash scripts/publish.sh","publish:minor":"bash scripts/publish.sh -b minor","publish:major":"bash scripts/publish.sh -b major","publish:dry":"bash scripts/publish.sh -d","prepublishOnly":"pnpm build:prod"},"keywords":["mcp","model-context-protocol","4399","aigame","minigame","h5-game","open-api","game-development","ai-agent"],"author":{"name":"4399 aigame"},"license":"MIT","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"engines":{"node":">=22.12.0"},"dependencies":{"@clack/prompts":"^1.7.0","@modelcontextprotocol/sdk":"1.27.1","archiver":"7.0.1","chalk":"^4.1.2","commander":"^10.0.1","crypto-js":"^4.2.0","dotenv":"17.2.3","ora":"^5.4.1","qrcode":"1.5.4"},"devDependencies":{"@biomejs/biome":"2.3.2","@changesets/cli":"^2.29.5","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.3.1","@rollup/plugin-replace":"^5.0.7","@types/archiver":"6.0.4","@types/crypto-js":"^4.2.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/qrcode":"1.5.6","esbuild":"0.27.0","jest":"^29.0.0","rollup":"^4.46.3","rollup-plugin-esbuild":"^6.2.1","ts-jest":"^29.1.0","ts-node":"^10.9.0","tslib":"^2.8.1","tsx":"4.20.6","typescript":"^5.0.0"},"repository":{"type":"git","url":"git+https://ywgit.gz4399.com/ywkf/aigame-maker.git","directory":"aigame-mcp"},"homepage":"https://ywgit.gz4399.com/ywkf/aigame-maker/tree/master/aigame-mcp#readme","_id":"@4399aigame/aigame@2.1.2","gitHead":"923ea4897d94492db37c874c4b5f25e3ef65c9c9","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-deHimK4P1QkTUVxqAI1SIYh5xniOV5Ccybnee63BgIxZJ28XC14ec4HHM+m4CfT42jeBxQ07toxmtBSp5474EQ==","shasum":"79c7879b1b74bd5c6179b501de840111f8a8d748","tarball":"https://registry.npmjs.org/@4399aigame/aigame/-/aigame-2.1.2.tgz","fileCount":8,"unpackedSize":781737,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHJQF5ilZ7lfn0cz5feVW8PtwCH9tMpcZ89UQeJQMDg2AiABBeN6uZ9u9Se/HdLs9spZkm+tpg0818Cr8uWka1fodg=="}]},"_npmUser":{"name":"ywjszx","email":"ywjszx@4399.com"},"directories":{},"maintainers":[{"name":"ywjszx","email":"ywjszx@4399.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aigame_2.1.2_1787622114013_0.3056377293661716"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-18T01:42:07.434Z","modified":"2026-08-25T01:41:54.316Z","2.0.0":"2026-08-18T01:42:07.838Z","2.0.1":"2026-08-18T05:42:24.220Z","2.0.2":"2026-08-18T09:04:18.079Z","2.1.0":"2026-08-19T02:24:20.293Z","2.1.1":"2026-08-19T04:03:54.223Z","2.1.2":"2026-08-25T01:41:54.157Z"},"author":{"name":"4399 aigame"},"license":"MIT","homepage":"https://ywgit.gz4399.com/ywkf/aigame-maker/tree/master/aigame-mcp#readme","keywords":["mcp","model-context-protocol","4399","aigame","minigame","h5-game","open-api","game-development","ai-agent"],"repository":{"type":"git","url":"git+https://ywgit.gz4399.com/ywkf/aigame-maker.git","directory":"aigame-mcp"},"description":"4399 AI 小游戏开发工具链 - MCP Server + CLI","maintainers":[{"name":"ywjszx","email":"ywjszx@4399.com"}],"readme":"# @4399aigame/aigame\n\n> 4399 AI 小游戏开发工具链 —— 一条 CLI（`aigame`）+ 一个 MCP server，\n> 让 AI 编程助手（Claude Code / Cursor / OpenClaw 等）能建 Godot 项目、出 H5 包、\n> 连 4399 云端项目。\n\n本仓库 fork 自 [taptap/instant-games-open-mcp](https://github.com/taptap/instant-games-open-mcp)，\nfork 来源与改名清单见 [NOTICE.md](NOTICE.md)。\n\n## 现在能跑什么\n\n| 能力                | 状态       | 说明                                                                 |\n| ------------------- | ---------- | -------------------------------------------------------------------- |\n| Godot 项目模板      | ✅ 可用    | `init` 自动新建或接管，含导出预设、AGENTS.md、godot-ai 插件          |\n| H5 构建与预览       | ✅ 可用    | `build` / `preview` / `dev`（改动自动重建刷新）+ 体积报告             |\n| 环境体检            | ✅ 可用    | `doctor`，平台侧 + 引擎侧                                            |\n| 4399 登录与项目绑定 | ✅ 可用    | 小九 OM 授权码登录，云端项目 `list` / `add` / `detail`                |\n| MCP server          | ✅ 可用    | `mcp install` 一键注册进 AI 客户端；工具见下                          |\n| MCP proxy           | ✅ 可用    | stdio 前端 ↔ Streamable HTTP 后端，私有参数注入、断线重连            |\n| **发布到 4399**     | ✅ 可用    | `publish` 自动构建、断点分块上传并等待线上激活                        |\n\n发行包已在构建时包含 4399 平台默认 Origin，普通用户直接执行 `init` 即可。`--origin`\n只用于联调时覆盖该地址；离线初始化必须显式传 `--local`。这与远端 Maker 服务不同：\nMaker 服务仍须按需要配置 `AIGAME_MAKER_ORIGIN`（或分环境的 `..._RND` /\n`..._PRODUCTION`），两者不是同一个配置。\n\n## 快速开始\n\n```bash\nnpx -y -g @4399aigame/aigame@latest init --origin https://dev-aigame.gz4399.com\naigame update\n```\n\n首次在线 `init` 会真正安装并验证最新版全局 CLI，再由该全局进程继续初始化。\n`init` 是唯一的初始化主流程：登录 4399 → 选云端项目 → 引擎项目模板 →\n本地 `git init` → MCP 客户端配置。省略 `--target-dir` 时使用当前目录，省略 `--engine`\n时使用 Godot；不联网时显式使用 `init --local`（跳过登录与云端绑定）。若当前引擎项目\n已经绑定云项目，重复运行普通 `init` 只显示摘要并提示使用 `update`。\n\n后续统一执行 `aigame update`：先更新全局 CLI，再由最新版 CLI 更新 template\n受管内容。schema v3 模板把项目分成三类：system 由模板更新，user 永远以用户版本为准，shared\n只合并 manifest 明确声明的 key、区块或文件。shared 双方改到同一处时，CLI 会先把当前内容\n永久备份到 `.aigame/backups/`，再返回退出码 `2`，让用户逐项选择保留、覆盖或交给\nAgent 生成候选；全部选择完成后才一次性应用。更新判断不读取项目 Git 历史或工作区状态，\n因此用户删除的 user 文件（例如自定义入口场景）不会在下次更新时被程序猜测并补回。\n\n非交互环境可用 `update --json` 取得会话 ID 和下一条命令，再依次执行\n`--resolve`、`--confirm-candidate`、`--apply` 或 `--cancel`。旧 schema v2 模板仍兼容\n`.aigame/reports/<id>.json` 与 `--accept-adapted/--reinitialize`，但它们不是 v3 的推荐流程。\n\n### 模板从哪里来\n\n- 普通 `init` 在真正初始化时会下载远端 `stable` 的最新模板，不需要先升级 CLI。\n- `init --local` 不探测网络，只读取最近一次校验成功的缓存；没有缓存就直接失败，不会写半个项目。\n- 开发模板时用 `--template-dir ../aigame-templates`，直接读取相邻仓库的未提交内容，既不下载也不改共享缓存。\n- CLI 先请求 `GET /api/main/v1/gateway/network`：`lan` 只用\n  `https://gitlab.gz4399.com/aigame/templates.git`，其余情况只用\n  `https://git.gz4399.com/aigame/templates.git`。选定的 Git 下载失败就直接报错，LAN/WAN 不交叉兜底，也不退回旧缓存。\n- 老项目不会靠重复 `init` 自动套用新模板；`init` 的重复运行预检会直接返回已有项目状态。\n\n当前只交付 `godot/minimal`。仓库结构已经按引擎分层，为 Cocos 预留扩展方式，但 Cocos 模板和插件尚未交付。\n\n## 发布到 4399\n\n项目完成 `init` 并绑定云端项目后执行：\n\n```bash\naigame publish\n```\n\n命令会逐行显示权限检查、构建、压缩、Release 创建、分块上传和线上激活阶段。发布 ZIP\n固定按 20 MiB 分片、最多五个并发请求上传，进度同时显示 Server 已确认数量和真实进行中\n数量。阶段进度写入 stderr，最终结果写入 stdout；脚本可用\n`aigame publish --json > publish-result.json` 保存纯 JSON 结果。\n\n## 命令\n\n```\n工程 · 和本机代码打交道\n  dev      本地开发：出包 + 预览 + 改动自动重建刷新\n  build    出 H5 包并给出体积报告\n  preview  本地预览已出的 H5 包\n  doctor   环境体检（平台侧 + 引擎侧）\n\n平台 · 和 4399 打交道\n  init         初始化项目工作区\n  update       依次更新全局 CLI 与 template 受管文件\n  login        用小九 OM 账号登录 4399 平台\n  logout       退出登录\n  auth token   输出已验证可用的 accessToken，供外部脚本 / Skill 使用；按需自动登录\n  publish      构建并发布到 4399\n\n集成 · AI 客户端与 MCP\n  mcp      把本工具注册进 AI 客户端\n  logs     运行时日志\n  proxy    以 MCP proxy 模式启动\n\n其他\n  godot-ai  godot-ai 编辑器插件（AI 直接操作 Godot 编辑器）\n```\n\n不带参数且 stdin 不是终端（被 AI 客户端拉起）时，以 MCP server 模式运行。\n\n## MCP 工具\n\n`aigame` 作为 MCP server 暴露：\n\n| 工具                            | 用途                       |\n| ------------------------------- | -------------------------- |\n| `maker_status_lite`             | 项目 / MCP 就绪状态        |\n| `maker_build_current_directory` | 构建、预览、运行、提交、推送 |\n| `godot_doctor`                  | Godot 环境体检             |\n| `godot_export_web`              | 导出 Web/H5                |\n| `godot_preview`                 | 本地预览                   |\n| `godot_query_runtime_logs`      | 查运行时日志               |\n\n外加 resource `maker://status`（起步或恢复工作时先读它）。\n\n编辑器内的操作（建节点、写脚本、连信号、配动画）由\n[godot-ai](https://github.com/hi-godot/godot-ai) 插件的 43 个工具负责 —— `init` 会自动\n装它，两边分工不重叠。\n\n## 架构\n\npnpm workspace，代码在 `packages/` 下，根包 `src/` 只有 `cli.ts`。\n\n```\n@4399aigame/aigame-core     工程内核 + 引擎插件系统（build/preview/dev/doctor/init）\n@4399aigame/aigame-godot    Godot 引擎插件（detect / templates / preset / export）\n@4399aigame/aigame-proxy    MCP 代理（stdio 前端 ↔ Streamable HTTP 后端）\n@4399aigame/aigame-maker    Maker 工作流：登录、云端项目、MCP 安装矩阵 + MCP server\n```\n\n四个包都是 `private: true` 的内部源码模块，不发 npm；对外只有根包\n`@4399aigame/aigame`，rollup 打出三个 bundle：\n\n| 产物            | 入口                                 | 是否随包发布 |\n| --------------- | ------------------------------------ | ------------ |\n| `dist/cli.js`   | `src/cli.ts`                         | 是           |\n| `dist/proxy.js` | `packages/aigame-proxy/src/main.ts`  | 是           |\n| `dist/maker.js` | `packages/aigame-maker/src/index.ts` | 否，仅本地调试 |\n\n## 开发\n\n```bash\npnpm install\npnpm dev                 # 本地源码运行，读取 config/env/.env.development\npnpm build:dev           # 测试包，读取 config/env/.env.dev\npnpm build:prod          # 正式 npm 包，读取 config/env/.env.production\npnpm verify              # check + typecheck + test，提交前跑这条\n```\n\n没有「提交即跑」的 CI、没有 pre-commit hook —— 唯一的自动检查点在\n`scripts/publish.sh` 的发布门禁（本地发和 Jenkins 发都走它）。\n\n### 环境变量\n\n| 变量                              | 说明                                      | 默认                  |\n| --------------------------------- | ----------------------------------------- | --------------------- |\n| `AIGAME_DEFAULT_ORIGIN`      | 构建默认 Origin；通常由 `config/env` 提供  | 随所选环境配置        |\n| `AIGAME_ORIGIN`              | 运行时覆盖 4399 平台 Origin                | 发行包内置默认值      |\n| `AIGAME_SERVER_ORIGIN`       | 运行时覆盖 4399 网关 Origin（拆分部署）    | 跟随平台 Origin       |\n| `AIGAME_WEB_ORIGIN`          | 运行时覆盖 4399 登录页 Origin（拆分部署）  | 跟随平台 Origin       |\n| `AIGAME_MAKER_ORIGIN`        | 远端 Maker 服务 origin（按需配置）         | 无                    |\n| `AIGAME_HOME`                | 本地凭据与模板缓存根目录              | `~/.aigame`      |\n| `AIGAME_ENV`                    | production / rnd                          | production            |\n| `AIGAME_VERBOSE`                | 详细日志                                  | false                 |\n| `AIGAME_LOG_ROOT`               | 日志目录                                  | `/tmp/aigame/logs`  |\n\n平台默认地址由仓库配置文件管理：\n\n| 用途 | 配置文件 | Origin |\n| --- | --- | --- |\n| 本地 | `config/env/.env.development` | `https://local-aigame.gz4399.com` |\n| 测试 | `config/env/.env.dev` | `https://dev-aigame.gz4399.com` |\n| 正式 | `config/env/.env.production` | `https://aigame.gz4399.com` |\n\n不再提供含义不明确的 `pnpm build`；测试构建用 `pnpm build:dev`，正式构建用\n`pnpm build:prod`。\n\n## 发布\n\n对外发布的只有根包。版本号和 CHANGELOG 由\n[changesets](https://github.com/changesets/changesets) 管理。\n\n```bash\npnpm ship                 # 判断当前处在哪一步，然后带你走完\npnpm ship --status        # 只看状态，什么都不做\n\n# ship 背后就是这三条\npnpm changeset            # 记一条变更\npnpm changeset:version    # 升版本号 + 写 CHANGELOG\npnpm release              # 构建 + 发 npm + 打 tag\n\npnpm release:dry          # 预览，不发布也不改文件\n```\n\n**也可以整条交给 Jenkins**：去 `ywkfci.gz4399.com` 的 `aigame-npm-release` 点 Build，\n参数默认（`BUMP=auto`）不用动 —— CI 会升版本、写 CHANGELOG、提交推 master、发 npm、\n打 tag。想让 CHANGELOG 有内容就提前写 changeset 合进 `master`，不写也照发。\n流水线定义在 [`Jenkinsfile`](Jenkinsfile)，两条路径走的是同一个 `scripts/publish.sh`。\n\n> tag 是发布的**产物**，不是触发器：推 tag 不会触发任何构建。\n\n完整说明见 [docs/CI_CD.md](docs/CI_CD.md)。\n\n## 相关文档\n\n- [CLAUDE.md](CLAUDE.md) —— 开发规范（AI 与人共用）\n- [docs/MAKER.md](docs/MAKER.md) —— Maker CLI / MCP 的完整行为说明\n- [docs/CLI_DELIVERY_GUIDE.md](docs/CLI_DELIVERY_GUIDE.md) —— CLI 对外交付与使用指南\n- [docs/PROXY.md](docs/PROXY.md) —— MCP Proxy 开发指引\n- [docs/CI_CD.md](docs/CI_CD.md) —— 版本发布流程\n- [docs/LOG_SYSTEM.md](docs/LOG_SYSTEM.md) —— 日志系统\n- [NOTICE.md](NOTICE.md) —— fork 来源与改名清单\n- [CONTRIBUTING.md](CONTRIBUTING.md) —— 贡献流程\n","readmeFilename":"README.md"}