Skip to content

feat!: rebrand and rebuild ACPlugin as the TokenRoll plugin ecosystem #7

Description

@wh1teAlter

Type: Feature Request / Milestone Epic
Milestone: TokenRoll ACPlugin 1.0
Status: Beta validation — implementation and local gates complete; real-world usage period pending
Breaking change: Yes
Public packages affected: 9

Summary

将原有 acplugin 重构并品牌升级为 TokenRoll ACPlugin 1.0:从以转换器和官方平台聚合为中心的单体工具,升级为具有公开 SDK、固定生命周期、独立 Platform/Extension package、确定性构建和受管输出事务的多平台 Plugin 生态。

这次里程碑不是一次名称替换,也不是以文档工程为主的功能迭代。核心交付是重新定义整个项目的 package 边界、运行时架构、第三方扩展模型、安全不变量、测试体系和发行验证;Docs、Playground、Logo 与主题升级属于该架构重构的开发者体验配套。

当前版本统一为 0.0.1-beta,用于真实项目试用、兼容性反馈和稳定性观察。Beta 通过全部自动化与手工验证并不自动等于 1.0 就绪:只有在约定的实际使用周期结束、没有未解决的 release blocker、公共 API 与交付契约完成最终冻结后,九个公开包才会通过同一份 Changeset 一次性晋升并正式发布 1.0.0

品牌约定:

  • 组织与 npm scope 使用 TokenRoll / @tokenroll/*
  • 产品展示名称统一为 ACPlugin
  • CLI、配置文件、package specifier 和路径等技术标识继续使用 acplugin 小写形式。

Current progress

Snapshot: beta_1_0 at 647fe93
Local verification date: 2026-08-10
Overall state: implementation and local quality gates complete; beta usage/observation and formal 1.0 release gates pending

Workstream Status Current evidence
Core architecture and invariants ✅ Complete 固定 lifecycle、owner-aware Document、Artifact 隔离、事务回滚与确定性实现均已落地
Public façade, CLI and Migration ✅ Complete 主包已收敛公开入口,显式 Platform 配置、dev watch 与动态 Migration chunk 已实现
Six Platform packages ✅ Complete 六个 @tokenroll/acplugin-platform-* 包均已独立构建、导出和验证
Hooks and MCP Extensions ✅ Complete 两个公开 Extension、六平台 Adapter、Bundle/Runner/协议 smoke 已实现
Public package split ✅ Complete 九个公开包当前均为 0.0.1-beta,主包无官方集成依赖或 re-export
Docs, Playground and branding ✅ Complete TypeDoc/VitePress、真实 Playground、ACPlugin Logo 与香蕉黄色主题已落地
Lint and typecheck ✅ Passed pnpm run lintpnpm run typecheck 当前 HEAD 本地通过
Build and tarball verification ✅ Passed 构建通过;pnpm run release:verify 验证九个 0.0.1-beta tarball 和 clean consumer
Docs and Playground verification ✅ Passed pnpm run docs:check 当前 HEAD 本地通过
Full test suite ✅ Passed Package 边界枚举已排除 generated cache;当前 Core 82/82、主包 6/6、跨包集成 72/72,其余 Platform/Extension 测试全部通过
Node 20.19 CI consumer ⏳ Pending Verify Workflow 已实现,但本次状态快照未执行 GitHub workflow_dispatch 的 Node 20.19 job
Beta usage and observation ⏳ Pending 自动化验证已通过,但仍需在代表性真实项目中持续使用并收敛反馈
Versioning and 1.0 preparation ✅ Prepared, not consumable yet 全部 Workspace Package 当前为 0.0.1-beta;major Changeset 已准备,但只能在 beta 观察期和最终评审通过后消费为 1.0.0
Stable npm publish, Tag and GitHub Release ⏳ Pending 正式 1.0 尚未发布;仍需维护者通过全部 release gates 后手工执行

Remaining release gates

  1. 手工触发只读 Verify Workflow,确认同一组 tarball 在 Node 20.19 clean consumer 中通过。
  2. 0.0.1-beta 用于代表性真实项目,在维护者约定的观察周期内记录兼容性、DX、Migration 和产物问题。
  3. 关闭所有 release blocker;非阻塞问题必须修复或明确延期并记录理由。
  4. 冻结 1.0 公共 API、Platform/Extension 契约和交付格式,完成最终 code review 与 release readiness review。
  5. 仅在以上条件全部满足后消费 major Changeset,复核生成的 1.0.0 版本、Changelog、peer range 和 lockfile,并重新运行完整验证矩阵。
  6. 手工发布九个正式包并逐个验证 Registry;全部成功后才创建 tokenroll-v1.0.0 Tag 和 GitHub Release。

Motivation

旧架构把框架能力、官方 Platform 实现和转换流程耦合在一起,存在以下问题:

  • 官方 Platform 依赖私有实现或由主包聚合导出,第三方作者无法复制相同的开发边界;
  • CLI、程序化 API 与平台转换容易形成多条执行路径,生命周期和失败语义难以统一;
  • Hooks/MCP 与平台协议耦合,缺少平台中立作者模型和显式 Adapter;
  • Artifact 来源、Document owner、输出事务、稳定报告和兼容性缺少完整的强约束;
  • Migration 与正常构建边界不够清晰,旧格式实现容易回流正式架构;
  • 公开 tarball、peer dependency、类型表面和 Node 20 消费能力缺少真实安装验证;
  • 项目品牌、Package 命名、README、API 文档和实际生态模型不一致。

Goals

  • 建立 TokenRoll 旗下统一的 ACPlugin 产品品牌与 @tokenroll/* Package 体系。
  • @tokenroll/acplugin 收敛为公开 CLI、配置入口、通用框架 SDK 和唯一运行入口。
  • 由私有 Core 固定生命周期、Canonical Scanner、兼容性、Artifact 所有权、事务和稳定报告。
  • 将六个官方 Platform 发布为第三方可仿照的独立一等生态包。
  • 将 Hooks/MCP 发布为平台中立、通过 Adapter 接入六个平台的独立 Extension 包。
  • 保证相同输入下 Artifact 与报告稳定,并在任一失败时保留上一份完整输出。
  • 隔离 Legacy Migration,只迁移能够安全映射的旧工程内容。
  • 建立覆盖源码、CLI 子进程、协议、事务、九个 tarball 和 Node 20 clean consumer 的验证体系。
  • 用 Docs、TypeDoc 和真实 Playground 对外呈现并持续验证新的公开边界。
  • 在正式 1.0 前保留明确的 beta 试用期,用真实使用反馈验证 API、兼容性、Migration 和交付格式,而不是仅凭一次测试通过即发布稳定版。

Architecture overview

acplugin.config.ts
  → @tokenroll/acplugin CLI / public SDK
  → private Core fixed lifecycle
  → Canonical Scanner
  → Platform Draft
  → Extension Platform Adapters
  → DeliveryUnit validation
  → managed dist transaction
  → deterministic BuildResult

固定生命周期:

configResolved → buildStart → Extension.discover → Scanner
→ Extension.validate/build → Platform.prepare → Adapter.apply
→ Platform.generateBundle/validateBundle → generateDistributions
→ compatibility propagation → transaction → buildEnd

架构不变量:

  • Core 不包含具体 Platform ID、Hooks、MCP 或 Migration 分支;
  • CLI 与 runProject() 只进入同一条 Core lifecycle;
  • Platform/Extension 使用 Symbol brand,不能由普通结构对象伪造;
  • Adapter 只能进行 owner-aware add-only Document patch;
  • Platform、Extension 和 Public 的文件来源与 workDir 按 owner 隔离;
  • dist 按所选目标集合全量提交,buildEnd 仍在回滚窗口内;
  • 报告和生成内容不得包含时间戳、随机值、绝对路径、临时路径或凭据值。

Package-level changes

Package Visibility Status Milestone change
@tokenroll/acplugin Public ✅ Implemented 重建为 CLI、配置加载器、init、公开 SDK、runProject() 和隔离 Migration;不再聚合官方 Platform/Extension
@acplugin/core Private ✅ Implemented 重建固定生命周期、Scanner、品牌契约、Document、Artifact、DeliveryUnit、兼容性、事务与稳定序列化
@tokenroll/acplugin-platform-claude-code Public ✅ Implemented 独立发布 Claude Code 原生 Commands/Skills/Agents、Plugin 与 Marketplace 实现
@tokenroll/acplugin-platform-codex Public ✅ Implemented 独立发布 Codex Skills、Command/Agent fallback、Plugin、Marketplace 与完整协议校验
@tokenroll/acplugin-platform-cursor Public ✅ Implemented 独立发布 Cursor 原生资源、Manifest、Logo 信任边界与 Schema 校验
@tokenroll/acplugin-platform-antigravity Public ✅ Implemented 独立发布原生 Skill 与 Command/Agent Skill fallback,只生成已确认的最小 Manifest
@tokenroll/acplugin-platform-opencode Public ✅ Implemented 独立发布 OpenCode Workspace Overlay、原生资源与按需配置文档
@tokenroll/acplugin-platform-pi Public ✅ Implemented 独立发布 Pi npm Package、Prompt/Skill 转换与合法发布 Manifest
@tokenroll/acplugin-extension-hooks Public ✅ Implemented 建立平台中立 Hook 作者协议、安全 Runner、单次 Bundle 与六平台 wire/Adapter
@tokenroll/acplugin-extension-mcp Public ✅ Implemented 建立 HTTP/stdio portable intersection、Secret 引用、stdio Bundle/协议 smoke 与六平台 Adapter
@acplugin/test Private ✅ Implemented and passing 建立跨包、CLI、Migration、架构、确定性、边界与真实发行集成测试
@acplugin/docs Private ✅ Implemented 配套提供 VitePress 内容与九个公开包的 TypeDoc API,不参与发布
@acplugin/playground Private ✅ Implemented 配套提供 llmdoc v3 主题的真实公开包消费和构建 smoke,不实现 llmdoc runtime

Detailed scope

1. Public façade and CLI

  • 主包精选公开 defineConfig()definePlatform()defineExtension()runProject()、Artifact helper、稳定序列化函数和公共类型。
  • 删除主包中的官方 Platform/Extension re-export、旧 subpath 和运行时依赖。
  • platforms 改为必填且必须显式实例化;--platform 只能筛选配置中已有实例。
  • init 默认建议 Claude Code/Codex,但会写入独立依赖、import 和 platforms 数组。
  • validateinspectbuilddev 共用唯一 pipeline,并统一 JSON、文本输出和退出码。
  • dev 监听配置的本地 import closure 和 Extension bundle module graph;重建失败时保留最后一次成功输出。
  • Migration 只通过 CLI 动态 import,正常 façade 与启动路径不加载 Legacy 子系统。

2. Core lifecycle and data model

  • Canonical Components 固定为 Commands、Skills、Agents 和 Public;不提供 Instructions Component。
  • Scanner 校验 YAML Frontmatter、kebab-case ID、非空正文、Skill auxiliary 和依赖图。
  • Platform options 深度冻结为 JSON;Extension 不读取其他 Extension 的 Built State。
  • Extension Adapter 按配置顺序运行;该顺序可观察且确定,不承诺交换律。
  • 同一 Document extension point 的 owner 冲突为 sticky failure,不能被 Adapter 捕获后绕过。
  • Artifact 只接受 bytes 或已验证普通文件,绑定 owner、mode、size 和 SHA-256。
  • 路径验证覆盖绝对路径、NUL、..、符号链接、大小写、Unicode 与跨宿主分隔符冲突。
  • 事务执行 lock → recover → stage → validate → backup/swap → reverse buildEnd → cleanup/rollback。
  • 稳定排序使用 locale-independent code-unit 语义;报告脱敏不再枚举环境值并执行自由文本替换。

3. First-class Platform ecosystem

  • 六个官方 Platform 都是独立 @tokenroll/acplugin-platform-* 公开包。
  • 每个 Platform 只通过 peer dependency 使用主包公开 SDK,不依赖私有 Core 或其他官方集成。
  • 每个 Platform 自己拥有转换器、Document、主 DeliveryUnit、可选 Distribution 和最终 Validator。
  • 每项 Canonical 资源都必须报告 nativetransformdegradedunsupported
  • 第三方 Platform 可使用任意 npm 名称和相同公开 SDK,不需要注册中心、命名强制或主包修改。

4. Hooks and MCP Extensions

  • Hook 作者只返回语义结果;平台 stdin/stdout 协议由对应 Adapter wire 负责。
  • Hook Handler 限制输入、输出和 JSON 深度,捕获顶层错误并只暴露稳定错误码。
  • MCP HTTP Secret 使用 { env } 引用,构建过程只保留变量名,不读取真实值。
  • MCP stdio 必须是完整 Server,Bundle 后在 development/production 都执行真实 initializetools/list smoke。
  • Bundle 包含第三方依赖时生成相邻 THIRD_PARTY_LICENSES.txt
  • Adapter 只能修改 Platform 声明的 extension point 或追加自有 Artifact,不能替换完整文档。

5. Migration boundary

  • Legacy Claude 工程、Plugin、Marketplace 和受支持 GitHub 来源只通过 acplugin migrate 进入隔离迁移流程。
  • Migration 不原地改写源工程;不能安全映射的内容进入 .acplugin-migration/unmapped/ 和稳定报告。
  • ID 分配按稳定源路径统一决策,避免大小写、显式后缀和多 workspace 冲突覆盖。
  • 不把 Instructions、raw Hooks 或外部命令 MCP 伪装成 Canonical 资源。
  • 不恢复旧 converter、writer、CLI 或 TUI 到正式架构。

6. Toolchain, testing and release

  • Monorepo 使用 pnpm、ESM-only、TypeScript 7、tsdown、Vitest;不引入 Turborepo。
  • 仓库构建环境使用 Node 22.18.0,九个公开包通过真实 clean consumer 验证 Node 20.19.0
  • Release verifier 从同一 revision pack 九个 tarball,执行 publint、类型解析、manifest、peer rewrite、ESM 图和私有依赖泄漏检查。
  • clean consumer 同时验证官方 Platform、Extension 和使用 definePlatform() 创建的第三方形态。
  • PR Check 执行 lint、typecheck 及 Docs/Playground 检查;手工 Verify Workflow 只读验证 tarball。
  • 发行仍由维护者手工完成,不自动 publish、修改 dist-tag、创建 Tag 或 GitHub Release。
  • 当前 0.0.1-beta 只承担试用与观察;正式 1.0.0 必须等待真实使用周期结束、release blocker 清零、API/格式冻结和完整验证矩阵复跑。

7. Supporting documentation and branding

  • Docs 和 Playground 与其他 workspace 同级,但均为 private 且不进入 Changesets 或 tarball。
  • VitePress 按 Guide、Config、Platforms、Extensions、Ecosystem、Playground、Resources 和 API 组织内容。
  • TypeDoc 自动扫描九个公开根入口,并拒绝 private package 或绝对路径进入生成结果。
  • Playground 使用真实公开包验证 Commands、Skill auxiliary、Agents、Hooks、Public 与 Claude Code/Codex 交付。
  • 展示品牌统一为 ACPlugin,提供香蕉形 C Logo、香蕉黄色主题、浅深色代码可读性和响应式全宽表格。
  • Docs/Playground 是架构验证与上手配套,不是该里程碑的核心运行时交付。

Public package model

@tokenroll/acplugin
@tokenroll/acplugin-platform-claude-code
@tokenroll/acplugin-platform-codex
@tokenroll/acplugin-platform-cursor
@tokenroll/acplugin-platform-antigravity
@tokenroll/acplugin-platform-opencode
@tokenroll/acplugin-platform-pi
@tokenroll/acplugin-extension-hooks
@tokenroll/acplugin-extension-mcp

九个公开包独立版本化。八个官方集成包使用 @tokenroll/acplugin 的正常 semver peer range;主包不依赖或重新导出它们。Core、Test、Docs 和 Playground 保持私有。

当前九个公开包和全部私有 Workspace Package 均使用 0.0.1-beta。已准备的 major Changeset 代表未来正式 1.0 发布,不应在 beta 观察期结束前消费;满足全部 release gates 后,它会把九个公开包统一晋升为 1.0.0

Breaking changes

  • 旧的主包 Platform 聚合导出和 ./platforms/* subpath 被删除。
  • 用户配置必须显式安装、导入并传入至少一个 Platform 实例。
  • 旧 converter/writer API 不属于新的公共 façade。
  • Instructions 不再是 Canonical Component;Hooks/MCP 必须使用正式 Extension 作者格式。
  • dist 成为框架完整托管目录,构建成功时按目标集合整体替换。
  • 正式包仅支持 ESM,并声明经过 clean consumer 验证的 Node 运行范围。
  • 旧工程如需接入新模型,应通过隔离 Migration 或人工重写,而不是依赖隐式兼容层。

Non-goals

  • 不实现 whole-execution 增量更新、跨运行缓存或 lifecycle 跳过。
  • 不新增 Extension enforceorder、依赖图或并行 Adapter 协议。
  • 不建立 Platform/Extension 中央 Registry、自动发现或自动安装机制。
  • 不要求第三方包使用 TokenRoll scope 或跟随官方版本。
  • 不恢复 Instructions Component 或 Legacy 多平台转换架构。
  • 不实现在线 Playground、多语言、遥测、文档自动部署或版本站点。
  • 不自动 publish/unpublish、修改 dist-tag、创建 Tag 或 GitHub Release。

Acceptance criteria

Architecture and package boundaries

  • 主包只导出公共框架 SDK、CLI 与配置能力,不导出官方 Platform/Extension。
  • Core 不 import 具体 Platform、Hooks、MCP 或 Migration。
  • 六个 Platform 和两个 Extension 只依赖主包公开 SDK,并声明正常 peer dependency。
  • 九个公开 tarball 均不包含 @acplugin/* 运行时依赖、源码、测试或私有 workspace 文件。
  • 第三方 definePlatform() 实例与官方集成能够通过同一个主包 peer 和 Symbol brand 工作。

Runtime correctness and safety

  • CLI 与 runProject() 只运行同一固定 lifecycle。
  • owner-aware add-only、Artifact 来源隔离和完整 DeliveryUnit 元数据均被保留。
  • 任一阶段或 buildEnd 失败时保留上一份完整输出,并通过 fault injection 验证。
  • 相同确定性输入产生相同 Artifact 和报告字节。
  • 稳定输出不包含 timestamp、随机值、绝对/临时路径、环境值或凭据。
  • 路径、符号链接、大小写和 Unicode 冲突均在提交前拒绝。

Platforms and Extensions

  • 六个平台为每个资源生成明确兼容性结论,并通过代表性 golden/validator 测试。
  • Hooks 只暴露平台中立语义,Runner 和 Adapter wire 均有边界测试。
  • MCP HTTP 构建不读取 Secret;stdio 在所有模式通过真实协议 smoke。
  • 两个 Extension 写同一扩展点时稳定失败,写不同扩展点时按给定配置顺序确定执行。

CLI, Migration and release

  • init 生成独立 Platform 依赖、import 和显式配置。
  • dev 能观察配置依赖和 Extension 模块图,失败后仍保留最后成功输出。
  • Migration 不覆盖冲突资源、不原地写入、不伪造不可移植能力。
  • 九个 tarball 通过 publint、类型表面、peer rewrite、模块图和 clean consumer 验证。
  • Node 20.19 clean consumer 能安装 tarball、加载配置并完成真实 build。
  • 验证 Workflow 不包含自动发布、Tag、Release 或写权限;其 Node 20.19 job 仍待实际触发验证。

Developer experience

  • 根 README、Package README、架构知识和公开 API 使用一致的 TokenRoll/ACPlugin 品牌与包边界。
  • TypeDoc 只生成九个公开包 API;Docs/Playground 不进入任何公开 tarball。
  • Playground 只通过公开包完成真实 validate/build,并拒绝未列入白名单的兼容性回退。
  • Logo、主题、代码块和表格在浅色/深色及桌面/移动端均清晰可读。

Beta observation and stable 1.0 release

  • 全部 Workspace Package、CLI 版本常量、脚手架依赖和 beta tarball 已统一为 0.0.1-beta
  • 本地完整测试、构建、tarball clean consumer、Docs 和 Playground 验证已通过。
  • 0.0.1-beta 已在代表性真实项目中完成维护者约定的持续使用周期。
  • Beta 期间发现的 release blocker 已全部关闭;其余问题已修复或明确延期。
  • 公共 API、生命周期、Platform/Extension 契约、兼容性和交付格式已完成 1.0 冻结评审。
  • major Changeset 已在观察期结束后消费,并正确生成九个 1.0.0 包、Changelog、peer range 和 lockfile。
  • 1.0.0 的完整验证矩阵和 Node 20.19 Verify Workflow 已重新通过。
  • 九个正式包已由维护者手工发布并逐个验证 Registry,随后才创建 tokenroll-v1.0.0 Tag 和 GitHub Release。

Validation plan

pnpm install --frozen-lockfile
pnpm run lint
pnpm run typecheck
pnpm run test
pnpm run build
pnpm run release:verify
pnpm run docs:check

当前执行结果:

以下结果证明当前 beta 候选满足本地技术质量门,不代表真实使用观察期或正式 1.0 发布门已经完成。

Command Result
pnpm run lint ✅ Passed
pnpm run typecheck ✅ Passed
pnpm run test ✅ Passed:Core 82/82、主包 6/6、跨包集成 72/72,其余包测试全部通过
pnpm run build ✅ Passed(由 pretestdocs:check 实际执行)
pnpm run release:verify ✅ Passed:九个独立 0.0.1-beta tarball 与本地 clean consumer 通过
pnpm run docs:check ✅ Passed:TypeDoc、VitePress、Docs verifier 与 Playground 全部通过
GitHub Verify / Node 20.19 ⏳ Not run in this snapshot

人工复核:

  • 从九个真实 tarball 安装 clean consumer,验证官方和第三方 Platform 形态;
  • 检查主包正常入口不会加载 Migration 或官方集成;
  • 对比不同工程根目录和无关环境变量下的完整产物与报告字节;
  • 注入事务与 buildEnd 失败,确认旧输出完整恢复;
  • 检查六个平台交付结构、Hooks/MCP Adapter 和兼容性报告;
  • 检查 README、Docs、API 和 Package 命名是否一致表达新的 TokenRoll 生态边界。

Risks and mitigations

Risk Mitigation
Breaking API 导致旧用户无法直接升级 明确列出删除入口,提供隔离 Migration 和人工迁移边界
主包与生态包出现双 Core/Symbol brand 集成包只 peer 主包,并在 clean tarball consumer 验证实例互操作
平台独立发布后格式或兼容性漂移 每个平台拥有 Validator、golden、兼容性矩阵和独立测试
Adapter 绕过 owner 或吞掉冲突 Core sticky invalid、来源授权和跨 Extension 冲突测试
事务清理失败留下半成品 backup 保留到逆序 buildEnd 完成,并覆盖逐阶段 fault injection
Node 声明与真实依赖不一致 分离仓库工具链范围,并用 Node 20.19 安装确切 tarball
Migration 把 Legacy 行为重新带回 Core 动态 import、目录隔离、架构测试和 unmapped 输出
重构范围被 Docs/品牌视觉掩盖 Issue、PR 和 Release Notes 以 Package/架构变化为首要叙事
一次测试通过后过早承诺 1.0 稳定性 保留 beta 观察期,以真实项目反馈、release blocker 清零和最终契约冻结作为正式发布前置条件

Delivery strategy

  1. 固化 1.0 Core lifecycle、确定性、事务和安全契约。
  2. 重建主包公开 façade、CLI、配置、init 与 Migration 隔离。
  3. 逐包完成六个平台转换、Validator 和兼容性测试。
  4. 完成 Hooks/MCP 作者协议、Bundle、安全 Runner 和六平台 Adapter。
  5. 将 Platform/Extension 调整为独立公开 peer package,验证第三方形态。
  6. 完成跨包测试、九 tarball release verifier、Node 20 consumer 和只读 Workflow。
  7. 最后同步 TokenRoll/ACPlugin 品牌、README、Docs、TypeDoc 和 Playground。
  8. 发布或分发 0.0.1-beta 供代表性项目试用,在约定周期内收集并处理反馈。
  9. Beta 无阻塞问题后冻结 1.0 契约,消费 major Changeset 并重新验证 1.0.0 tarball。
  10. 由维护者手工完成正式包发布、Registry 核验、tokenroll-v1.0.0 Tag 和 GitHub Release。

每个实施 PR 应保持可独立审查,使用关联 Issue,并在合并前运行与其风险匹配的定向测试;最终里程碑统一运行完整验证矩阵。

Pull request requirements

建议总 PR 标题:

feat!: rebuild ACPlugin as the TokenRoll plugin ecosystem

总 PR 或分阶段 PR 应:

  • 在描述中使用 Closes #<issue-number>Refs #<milestone-issue-number>
  • 包含 Summary、Motivation、Package changes、Breaking changes、Testing、Release impact 和 Documentation;
  • 明确列出新增/删除的公开入口、依赖关系和迁移方式;
  • 为受影响的公开包提供指向 1.0.0 的 major Changeset,并在 beta 观察期结束前保持未消费状态;
  • 不提交生成 API、sidebar、Docs dist/cache 或 Playground dist;
  • 不包含自动 npm publish、dist-tag、Tag 或 GitHub Release;
  • 附上完整质量门结果;涉及文档视觉的 PR 另附浅色/深色和桌面/移动端截图。

Checklist

  • 已在 GitHub 关联里程碑 Issue、设计规格和相关 ADR。
  • 已按 package 列出实现、公共 API 和依赖边界变化。
  • 已说明 Breaking changes、旧工程迁移方式与明确 Non-goals。
  • 已实现并定向验证生命周期、owner、Artifact、事务和确定性不变量。
  • 已修复 generated cache 导致的 Package 边界测试失败,并让完整 pnpm run test 通过。
  • 已通过 GitHub Verify Workflow 验证九个真实 tarball 和 Node 20.19 consumer。
  • 已提供覆盖九个公开包的有效 Changeset;README、架构说明和公开 API 文档已经完成。
  • 已确认 Verify Workflow 不存在自动发布、Tag、Release 或额外写权限。
  • 已完成 0.0.1-beta 的真实项目使用周期并处理全部 release blocker。
  • 已冻结 1.0 契约、消费 major Changeset 并重新验证九个 1.0.0 tarball。
  • 已由维护者完成最终 code review 和 release readiness review。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions