# @galcraft/contracts 中文文档

规范地址：https://npmcn.com/package/%40galcraft/contracts/

版本：0\.1\.0
npm 元数据更新时间：2026-11-01T04:19:24.861Z
中文译文更新时间：2026-11-01T05:21:48.847Z
软件包许可：MPL-2\.0

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40galcraft/contracts
原文对照：https://npmcn.com/package/%40galcraft/contracts/?lang=original
项目主页：https://github.com/TianyuEric/GalCraft#readme
源码仓库：https://github.com/TianyuEric/GalCraft

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.9 MB，111 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-11-01T04:18:08.965Z
- 最新版本发布：2026-11-01T04:19:24.721Z
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

`@galcraft/contracts` 提供跨包和宿主边界的线格式类型、Zod schema、具名操作目录与测试夹具。Studio、Player、领域包和插件通过公开出口共享作品、素材、页面、制作、运行和宿主契约；各模块定义自己内部使用的执行参数与结果。

## 安装

```sh
npm install @galcraft/contracts
```

也可以使用：`pnpm add @galcraft/contracts`、`yarn add @galcraft/contracts`、`bun add @galcraft/contracts`

## README

# 共同契约

`@galcraft/contracts` 提供跨包和宿主边界的线格式类型、Zod schema、具名操作目录与测试夹具。Studio、Player、领域包和插件通过公开出口共享作品、素材、页面、制作、运行和宿主契约；各模块定义自己内部使用的执行参数与结果。

`@galcraft/contracts/fixtures` 提供作品身份、场景、素材元数据、精确依赖、快照和玩家资料等固定逻辑输入。开发者用这些夹具验证 schema 解析、JSON 往返及拒绝规则；领域包和宿主测试使用实际安装、编译、播放或磁盘事务检查对应行为。

源码开发者在仓库根执行 `pnpm --filter @galcraft/contracts build` 生成 `dist/`，执行 `pnpm --filter @galcraft/contracts test` 检查契约。插件作者执行 `npm install @galcraft/contracts@0.1.0 @galcraft/plugins@0.1.0` 独立安装 SDK，也可使用 `tools/plugin-development/distribute-sdk.mjs` 准备的 tarball，并从 `@galcraft/contracts` 导入所需类型或 schema。使用 DSL 解析器的插件另安装匹配版本的 DSL 包。普通浏览器消费者可以直接使用适合浏览器的契约出口；插件开发 CLI 的环境要求见 plugins 包说明。

GalCraft 契约代码使用 **MPL-2.0**。SDK tarball 随包提供 `LICENSE`，并在 `dist/licenses/project/` 保留许可范围、第三方声明和 `LICENSES/SOURCE-CODE.md` 源码取得说明。维护者在公开发行时提供匹配版本的源码；使用者按随包许可处理使用、修改及再分发。

## 常见问题

### @galcraft/contracts 是什么？

@galcraft/contracts 提供跨包和宿主边界的线格式类型、Zod schema、具名操作目录与测试夹具。Studio、Player、领域包和插件通过公开出口共享作品、素材、页面、制作、运行和宿主契约；各模块定义自己内部使用的执行参数与结果。

### 如何安装 @galcraft/contracts？

在项目目录运行 npm install @galcraft/contracts，或使用 pnpm add / yarn add / bun add。

### @galcraft/contracts 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @galcraft/contracts 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @galcraft/contracts 可以商用吗？

@galcraft/contracts 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @galcraft/contracts 还在维护吗？

最新版本 0\.1\.0 发布于 2026/11/01（2 天前）；至今共发布 2 个版本，其中过去 12 个月发布了 2 个；首次发布于 2026/11/01。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

