用途:从当前项目生成可审核的 Crafter Station Ship 草稿,并在用户明确确认后发布。所有安装、认证、元数据校验、Ship 提交与发布都通过 crafter CLI 完成,不自行实现 HTTP 或令牌处理,也不通过网站提交 Ship。
主要能力与用法:先确认 Node.js 18 或更新版本(node --version),再用 npm install --global @crafter/cli@latest 安装或更新 CLI,并用 command -v crafter 与 crafter help 验证。用 crafter whoami 检查登录;如需登录,应让用户在自己的本地交互终端运行 crafter login,不要在代理命令工具中执行。若返回 member: null,可协助创建 Crafter 资料:收集 handle 与 displayName 等字段,用 crafter handle <handle> 检查可用性,展示确切 JSON,经明确批准后运行 crafter onboard --file <json-file> --confirm。登录报 invalid_client 或 OAuth 客户端不存在时,更新 CLI 后重试。
提交草稿:在项目根目录运行 crafter ship,或 crafter ship --file <json-file>。若校验提示缺少元数据,仅按用户批准的内容创建或编辑 crafter.ship.json,再重新运行。向用户展示返回的 Ship 草稿与 previewUrl,停下询问是否发布;仅在明确同意后运行 crafter publish <draft-id> --revision <updatedAt-from-preview> --confirm,若草稿有变需重新展示并再次确认,最后返回已发布 Ship 的 URL。
发布更新:确认 Ship 已发布并取得其 slug,创建含 title 与 description 的 JSON 文件,展示确切更新内容并停下询问;更新一经发布立即公开且不可编辑,仅在明确同意后运行 crafter update <ship-slug> --file <json-file> --confirm,最后返回 URL。
安全与限制:默认只检查 README.md、package.json、crafter.ship.json 和 git remote.origin.url,绝不检查 .env*、凭据、主目录、git 历史或任意文件,并告知用户使用了哪些来源。不得编造链接或声明,缺失必填字段应询问。草稿与发布必须分步,发布前须展示确切草稿并获得明确确认。可选配置 crafter.ship.json 支持 slug、name、tagline、description(至少 20 字符)与 links(repository、website),CLI 会用与网站和 API 相同的版本化契约校验该文件。其他细节暂未提供。