# buzzy-cli **Repository Path**: tactics-forge/buzzy-cli ## Basic Information - **Project Name**: buzzy-cli - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-10 - **Last Updated**: 2026-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # buzzy-cli Buzzy 小游戏模板脚手架(类似 `bevy_new`):一条命令从 [Gitee 模板仓](https://gitee.com/tactics-forge/buzzy) 生成独立游戏项目。 ## 安装(一次) ```bash cargo install --git https://gitee.com/tactics-forge/buzzy-cli.git # 或本地源码安装:cargo install --path . ``` > 注意:`cargo install --git` 不接受 SCP 风格地址(`git@gitee.com:...`), > 需用 HTTPS 或完整 `ssh://git@gitee.com/...` 形式。 ## 用法 ```bash buzzy new my-game # 在当前目录生成 my-game/(不带 buzzy 前缀) buzzy new my-game --dest /path # 指定项目父目录 buzzy new my-game --offline # 不联网,直接用本地模板缓存 buzzy new my-game --check # 生成后跑 cargo check 验证(首次全量编译较慢) buzzy new my-game --template SRC # 覆盖模板源(URL 或本地路径) buzzy update # 在项目根运行:框架层同步到模板最新 buzzy update --force # 本地改过的框架文件也以模板为准覆盖 ``` ## `buzzy update`:模板演进同步 脚手架生成时会在项目根写 `.buzzy.toml`(模板源 + commit 锚点)。模板仓更新后, 在项目根运行 `buzzy update` 即可增量同步**框架层**,游戏代码不动: - **模板所有**(会被覆盖):`engine/`、`vendor/`、`tools/`、`build.py`、 `minigame/` 壳(game.js/game.json/audio)、`README.md`/`HANDOFF.md`/`docs/` 等; 所以不要手改这些文件——改了 update 时会跳过并警告(`--force` 强制覆盖)。 - **用户所有**(绝不动):`games/`、根 `Cargo.toml`、`minigame/project.config.json` (appid)、`Cargo.lock`、`.buzzy.toml`。 模板侧删除的文件会同步删除;根 `Cargo.toml` 有模板侧变更时提示人工核对 (members 行不同,不做自动合并)。update 不自动 commit,变更留给你审查。 生成结果:完整模板树(引擎 + 示例游戏 + 微信小游戏壳 + 构建流水线), 已按新名字完成全部改名并 `git init` + 初始提交。 **生成后必做**:把 `minigame/project.config.json` 的 `appid` 换成新游戏自己的。 ## 模板源与缓存 模板源解析顺序:`--template` > 环境变量 `BUZZY_TEMPLATE` > 内置默认 `https://gitee.com/tactics-forge/buzzy.git`。 URL 源使用本地缓存 `~/.buzzy/template`:首次 `git clone --depth 1`, 后续每次 `fetch + reset` 增量更新(秒级,不会全量重拉);`--offline` 跳过更新。 模板内容以 Gitee 默认分支为准——模板仓的新改动需 push 后才能被脚手架获取。 ## 维护说明 改名锚点(`games/demo`、`buzzy_game_demo`、`DemoGamePlugin` 等)是 `src/main.rs` 顶部的 `DEMO_*` 常量。模板仓若改名,脚手架会因锚点断言失败而 响亮报错(并回滚),此时同步修改常量即可。