@seanyao/roll 2.604.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## v3.0.0
4
+
5
+ ### TypeScript 重写
6
+
7
+ - **引擎从 bash 换成 TypeScript** — roll 的核心重写为 pnpm monorepo(`packages/`:spec/core/infra/cli/web 分层)。这是一次引擎替换,不是功能改版
8
+ - **命令一个不变** — `roll init` / `loop` / `status` / `backlog` / `prices` / `slides` 等全部子命令的入参、输出、副作用、退出码保持原样;升级后照旧用
9
+ - **逐层对拍迁移** — 地基、CLI、领域服务、infra、loop 各层逐条移植,每条命令写 diff-test 断言「TS 输出 == 原 bash 输出」,逐字节对齐冻结的 v2 oracle
10
+ - **1031 项 TS 测试全绿** — 单测覆盖每个公共入口 + 跨层 diff-test;`npm i -g @seanyao/roll` 装的就是这套 TS-first CLI
11
+
12
+ ### 兼容与回滚
13
+
14
+ - **bash 实现留作回落 + oracle** — `bin/roll` 随包一起发布:TS 层尚未接管的命令自动透传 bash,行为零差异;同一份 bash 也是测试套件的标准答案
15
+ - **v2 归档在 `v2` 分支** — 锚点 tag `v2-freeze-2026-06-04`,需要时一键回滚
16
+
3
17
  ## v2.604.2
4
18
 
5
19
  ### 精简
package/README.md CHANGED
@@ -1,3 +1,9 @@
1
+ > **Roll v3 — the engine is now TypeScript (`packages/`, a pnpm monorepo). The commands are unchanged.**
2
+ > **Roll v3——引擎已是 TypeScript(`packages/`,pnpm monorepo);命令保持不变。**
3
+ > The bash implementation stays in-tree as `bin/roll`: the automatic fallback for any command the TS layer doesn't yet own, and the oracle the TS suite diff-tests against. `skills/` is a git submodule → [seanyao/roll-skills](https://github.com/seanyao/roll-skills). v2 is archived on the `v2` branch (anchor tag `v2-freeze-2026-06-04`).
4
+ > bash 实现作为 `bin/roll` 留在仓内:TS 层未接管命令的自动回落,也是 TS 套件对拍的 oracle。`skills/` 是 git submodule。v2 归档在 `v2` 分支(锚点 tag `v2-freeze-2026-06-04`)。
5
+ > Build & test: `pnpm install && pnpm -r test`.
6
+
1
7
  ```
2
8
  ██████╗ ██████╗ ██╗ ██╗
3
9
  ██╔══██╗██╔═══██╗██║ ██║
package/bin/roll CHANGED
@@ -4,7 +4,7 @@ set -euo pipefail
4
4
  # Roll — AI Agent Convention Manager
5
5
  # Single source of truth for how all AI coding agents behave.
6
6
 
7
- VERSION="2.604.2"
7
+ VERSION="3.0.0"
8
8
  ROLL_HOME="${ROLL_HOME:-${HOME}/.roll}"
9
9
  ROLL_CONFIG="${ROLL_HOME}/config.yaml"
10
10
  ROLL_GLOBAL="${ROLL_HOME}/conventions/global"
@@ -1416,6 +1416,13 @@ cmd_setup() {
1416
1416
  esac
1417
1417
  done
1418
1418
 
1419
+ # P1-3.4 (v3 branch): skills/ is a git submodule — populate it for git clones
1420
+ # whose skills/ is still empty. No-op for npm/curl installs (no .gitmodules).
1421
+ if [[ -d "$ROLL_PKG_DIR/.git" ]] && [[ -f "$ROLL_PKG_DIR/.gitmodules" ]] \
1422
+ && [[ -z "$(ls -A "$ROLL_PKG_DIR/skills" 2>/dev/null)" ]]; then
1423
+ ( cd "$ROLL_PKG_DIR" && git submodule update --init --recursive --quiet ) || true
1424
+ fi
1425
+
1419
1426
  # Capture per-step outcomes for the v2 UI render at the end.
1420
1427
  local steps_buf=()
1421
1428
  _record() { steps_buf+=("$1|$2"); }