paintress 0.5.0 → 0.5.1

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/README.md CHANGED
@@ -116,18 +116,19 @@ paintress mcp-config cursor # print the exact snippet instead of editing files
116
116
 
117
117
  ## Release (maintainers)
118
118
 
119
- Publishing is tag-driven: a `v*` tag makes `.github/workflows/publish.yml` build, test and `npm publish --provenance` through OIDC trusted publishing. Do not publish from a laptop.
119
+ Publishing is tag-driven: a `v*` tag makes `.github/workflows/publish.yml` first check that **ci passed for the same commit**, then build, verify the package contents and run `npm publish --provenance` through OIDC trusted publishing. Tests run once, in `ci.yml`; publishing does not re-run them. Do not publish from a laptop.
120
120
 
121
121
  ```bash
122
122
  pnpm release patch # 0.3.1 → 0.3.2
123
123
  pnpm release minor # 0.3.1 → 0.4.0
124
124
  pnpm release major # 0.3.1 → 1.0.0
125
125
  pnpm release patch --dry-run # print the plan only
126
+ pnpm release --retag # after a failed release: move the unpublished tag and re-publish
126
127
  ```
127
128
 
128
129
  The script refuses to run on a dirty worktree or a non-default branch, verifies the tag is free, runs typecheck (server + ui), the test suite, the build and the package-contents check, then commits `chore(release): vX.Y.Z`, tags it, pushes branch + tag, and finally waits until the version is actually on npm (a green run that published nothing is reported as a failure, not a success).
129
130
 
130
- `--prepare-only` stops after the local commit and tag; `--no-wait` returns right after the push; `--local` publishes from this machine as an emergency path and skips the CI checks.
131
+ `--prepare-only` stops after the local commit and tag; `--no-wait` returns right after the push; `--local` publishes from this machine as an emergency path and skips the CI checks. `--retag` is the recovery path after a failed release: once it confirms the version is not on npm yet, it moves the existing tag to the current commit and re-publishes under the same version number; an already published version is refused.
131
132
 
132
133
  ## License
133
134
 
package/README.zh-CN.md CHANGED
@@ -112,18 +112,19 @@ paintress mcp-config cursor # 只打印片段,不改文件
112
112
 
113
113
  ## 发版(维护者)
114
114
 
115
- 发布由 tag 驱动:`v*` tag 会让 `.github/workflows/publish.yml` 构建、测试并通过 OIDC trusted publishing 执行 `npm publish --provenance`。不要在笔记本上直接发布。
115
+ 发布由 tag 驱动:`v*` tag 会让 `.github/workflows/publish.yml` 先校验**同一提交的 ci 已通过**,再构建、自检包内容并通过 OIDC trusted publishing 执行 `npm publish --provenance`。测试只在 `ci.yml` 跑一次,发布不重跑。不要在笔记本上直接发布。
116
116
 
117
117
  ```bash
118
118
  pnpm release patch # 0.3.1 → 0.3.2
119
119
  pnpm release minor # 0.3.1 → 0.4.0
120
120
  pnpm release major # 0.3.1 → 1.0.0
121
121
  pnpm release patch --dry-run # 只打印计划
122
+ pnpm release --retag # 发版失败后:把未发布的 tag 移到当前提交重发
122
123
  ```
123
124
 
124
125
  脚本会拒绝在脏工作区或非默认分支上发版,确认 tag 未被占用,跑类型检查(服务端 + ui)、测试、构建与包内容自检,然后提交 `chore(release): vX.Y.Z`、打 tag、推分支与 tag,最后等到版本真的出现在 npm 上才算完(CI 绿了但什么都没发出去,会如实报成失败)。
125
126
 
126
- `--prepare-only` 停在本地提交与 tag;`--no-wait` 推完就返回;`--local` 本机直接发布,是应急路径,会跳过 CI 的检查。
127
+ `--prepare-only` 停在本地提交与 tag;`--no-wait` 推完就返回;`--local` 本机直接发布,是应急路径,会跳过 CI 的检查。`--retag` 是发版失败后的恢复路径:确认该版本还没上 npm 后,把已有 tag 移到当前提交重发(版本号不变);已发布的版本会被拒绝。
127
128
 
128
129
  ## 许可
129
130
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paintress",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Design-document operation layer for AI agents: read, query, edit, render",
5
5
  "type": "module",
6
6
  "license": "MIT",