Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ CLI 有两类用途,本文档按此组织:
### 新机器:一条命令装好整个生态

```bash
curl -fsSL https://raw.githubusercontent.com/stack-wuh/shadow-dev-cli/v1.4.0/scripts/bootstrap.sh | bash -s claude-code
curl -fsSL https://raw.githubusercontent.com/stack-wuh/shadow-dev-cli/v1.5.0/scripts/bootstrap.sh | bash -s claude-code
```

这条命令做三件事:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "shadow-dev-cli",
"version": "1.4.0",
"version": "1.5.0",
"description": "Deterministic scaffolding CLI for the Shadow dev workflow: brief lifecycle, plan/execute with plan hashes, git and GitHub operations.",
"type": "module",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion scripts/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# SHADOW_WORKFLOW_HOME 宿主 home 根(bind 域,~/.claude/skills 等由此解析)
set -euo pipefail

TAG="v1.4.0"
TAG="v1.5.0"
HOST="${1:-claude-code}"
BIN="${SD_BIN:-$HOME/.local/bin}"
TMP="$(mktemp -d)"
Expand Down
89 changes: 89 additions & 0 deletions shadow-docs/changes/20261009-chore-release-v150/brief.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
{
"schema": "shadow-dev/v1",
"name": "20261009-chore-release-v150",
"type": "chore",
"scope": "packaging,install",
"status": "published",
"baseBranch": "main",
"branch": "chore/20261009-chore-release-v150",
"files": [
"README.md",
"package.json",
"scripts/bootstrap.sh"
],
"github": {
"repository": null,
"issue": null,
"issueUrl": null,
"pullRequest": 48,
"pullRequestUrl": "https://github.com/stack-wuh/shadow-dev-cli/pull/48"
},
"review": {
"conclusion": "passed",
"verifiedCommit": "0be15e953ca8a8bc943667e3e860470f0382e2ec",
"verifiedAt": "2026-10-09T14:11:37.246Z"
},
"workflow": {
"operation": null,
"checkpoint": "pr:48",
"planHash": "1ad4d8dcd1b91d0179f0a924dd70d5a0f5fdbe1e3419050ebce7f663a8272762",
"updatedAt": null,
"lastError": null,
"release": {
"files": [
"shadow-docs/changes/20261009-chore-release-v150/brief.md"
],
"message": "docs(shadow): review passed(S 级:diff 走查 + 结构扫描 + version 冒烟)",
"title": "chore(release): v1.5.0 发版准备(版本号三处同源 bump)",
"body": ""
}
},
"knowledge": {
"action": "无需变更",
"target": null,
"reason": "纯版本号与安装 URL/TAG 三处同源同步,未产生新的长期事实;发布动作按 release 第 4 步委托用户/CI"
}
}
---

# 发版准备:v1.5.0 版本号与安装面三处同源 bump

## 动机
PR #47 已把「产物能力契约(requiresCommands 落盘前断言)+ worktree 域 + `.shadow-dev` 配置域 + blog publish 域」合入 main,但最新 release 仍是 v1.4.0——用户侧与 workflow 仓 pin 拿不到这些能力,change 2(workflow 仓删 `cliVersion` pin / SessionStart hook)也就没有地基。本 change 只做发版前的版本号同步,发布动作本身按 release 第 4 步委托执行。

## 复杂度评级
- **评级:** S
- **理由:** 三要素——①契约变更:无(版本号与安装 URL/标签字符串,行为已由 PR #47 定稿并有 CI 9/9 背书);②触及面:纯声明式资产(package.json、README 安装段、bootstrap.sh 的 TAG);③可发现性:装错版本立刻可见。
- **期望验证深度:** code-read(diff 走查 + 结构/残留扫描 + 两条冒烟)

## 引用规范
- `shadow-docs/knowledge/install-distribution.md`
- 当前结论: 命令面/options/退出码与布局在两处同源登记,改行为必须同步改注释;bootstrap.sh 编排三段装机(CLI → workflow → bind);跨仓演进顺序=消费方先行兼容、生产方随后声明(本 change 正是「发布」这一环)。
- 适用 scope: package.json, README.md, scripts/bootstrap.sh
- `norms/tdd-verification.md`
- 当前结论: S 级不创建测试,验证=diff 走查 + 结构/引用/残留扫描;进度可见性仍适用。
- 适用 scope: 全流程

## 决策
- **选型:** 三处一起 bump(`1.4.0 → 1.5.0`),不留版本号分裂面。
- **对比方案:** 只改 package.json、让 bootstrap 的 `TAG` 继续指 v1.4.0——未选,那会让「一键装机」永远装到旧版,正是本项目反复出现的漂移形状;把 tag/release 也塞进本 change——未选,release 不作为 brief task(既有教训:会造成机械门禁死锁),且发布执行权在用户/CI。
- **理由:** 版本号唯一事实源是 package.json,README 安装 URL 与 bootstrap TAG 是它的两处投影,必须在同一提交里同步。

## 任务
### Phase 1
- [x] 版本号三处同源 bump — `package.json`, `README.md`, `scripts/bootstrap.sh` — 1.4.0→1.5.0;随后 grep 扫描全仓(排除 changes/archive 历史记录)确认无 v1.4.0 残留
- [x] 冒烟与结构验证 — `scripts/bootstrap.sh` — `bash -n` 语法过;`node cli.mjs version --json` 回 1.5.0;`node cli.mjs workflow status --json` 与 `help workflow --json` 结构正常

## 非目标
- 不执行 `git tag` / `gh release create`(合并后由用户按 release 第 4 步执行)
- 不动 workflow 仓(删 pin/hook/vendored installer、`adapters/codex.json`、`requiresCommands` 声明)——下一个 change

## 结果
- 实际耗时: —
- 验证: —

## 知识评估
- **预期影响:** 无需变更
- **候选卡片:** 无
- **理由:** 版本号与安装 URL 属一次性发布事实,卡片承载的是稳定机制(双轨/断言/同源登记),已在 PR #47 更新到位;把「v1.5.0 已发布」写进 Knowledge 就是把变更历史塞进执行真相源。
Loading