Skip to content

🔖 chore: release v1.0.4 + リリース手順スキル化#276

Merged
touyou merged 2 commits into
mainfrom
chore/release-1.0.4
May 20, 2026
Merged

🔖 chore: release v1.0.4 + リリース手順スキル化#276
touyou merged 2 commits into
mainfrom
chore/release-1.0.4

Conversation

@touyou
Copy link
Copy Markdown
Member

@touyou touyou commented May 20, 2026

Summary

  • v1.0.4 リリース準備: package.json bump + CHANGELOG.md 更新(v1.0.1〜v1.0.4 を一括追補)
  • リリース手順を skill 化 (.claude/skills/release-sparkle-design/) — 今後の更新漏れ対策

背景: なぜ CHANGELOG 一括追補が必要か

過去のリリース状況を調べたところ:

バージョン CHANGELOG GitHub Release Tag
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.0.4 (この PR) (この PR 後に作成) (この PR 後に作成)

CHANGELOG は v1.0.0 で止まっており、v1.0.1 以降の差分が完全に未反映でした。リリース手順が完全に手動で、ドキュメント化もされていなかったのが原因。

この PR で CHANGELOG.md を v1.0.1〜v1.0.4 まで遡って一括更新します。

リリース手順 skill 化

.claude/skills/release-sparkle-design/SKILL.md を新規作成。

  • 事前確認 / 過去リリース追補 / 新バージョン準備 / リリース PR レビュー・マージ / マージ後タグ&Release&publish までを チェックリスト形式で記述
  • 過去の漏れ事例(v1.0.1〜v1.0.3)を「このスキルが解決する問題」として明記
  • semver の判定基準 / トラブルシューティングも収録
  • sparkle-designsparkle-design-internal 両方をカバー

skill 同期の仕組み(CLAUDE.md 記載)により、マージ後は sparkle-design-internal / sparkle-design-docs にも pnpm sync:public-skills / pnpm sync:skills で伝播します。

v1.0.4 の主な変更内容

Added

Changed

Dependencies

このマージ後にやること(リリーススキルのチェックリスト準拠)

  1. v1.0.3 のリリース追補:
    • git tag v1.0.3 16a42e5 && git push origin v1.0.3
    • gh release create v1.0.3 (notes は CHANGELOG.md の v1.0.3 セクション)
  2. v1.0.4 のリリース:
    • git tag v1.0.4 && git push origin v1.0.4
    • gh release create v1.0.4
  3. gh workflow run "Publish to npm" で npm publish

Test plan

  • `tsc --noEmit` クリーン
  • vitest `unit` プロジェクト全 609 件 pass
  • CI(Vercel preview / lint-and-test)green を確認
  • マージ後の tag / Release / npm publish 作業を上記手順で実施

🤖 Generated with Claude Code

- package.json を 1.0.4 に bump
- CHANGELOG.md を v1.0.1 〜 v1.0.4 まで遡って一括更新
  - v1.0.1(Security/Changed)/ v1.0.2(README から internal 言及削除)
  - v1.0.3(Input 再利用フックの named export + triggerProps による属性フォワード)
  - v1.0.4(Button forwardRef 対応 / #275 closes #270、他依存更新)
- リリース手順を skill 化(.claude/skills/release-sparkle-design/)
  - 過去 v1.0.1〜v1.0.3 で CHANGELOG 更新漏れ + v1.0.3 では Release/Tag 未作成だった反省を反映
  - bump → CHANGELOG → PR → tag → release → publish の一連の手順をチェックリスト化
  - .gitignore の skill allowlist にも追加

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 20, 2026 01:28
@vercel
Copy link
Copy Markdown

vercel Bot commented May 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sparkle-design Ready Ready Preview, Comment May 20, 2026 1:33am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 20, 2026

Review Change Stack

Walkthrough

リリース手順を AI スキルとして新規追加し、チェックリスト(事前確認・release PR 作成・PR マージ・タグ/Release・npm publish・完了報告)とトラブルシューティング、参考リンクを記載。スキルディレクトリを git 管理対象にし、CHANGELOG に Unreleased と既存リリース履歴を追記。

Changes

Release Sparkle Design スキル

Layer / File(s) Summary
スキル定義とメタデータ
.claude/skills/release-sparkle-design/SKILL.md
スキルのフロントマター(名前・ライセンス・説明・発動条件・user-invocable)と目的、AI 実行方針(作業ディレクトリ・worktree 運用・チェックリスト順実行)を定義。
リリース手順とチェックリスト詳細
.claude/skills/release-sparkle-design/SKILL.md
「事前確認」「過去リリース追補」「新バージョン準備(package.json の version 更新、CHANGELOG 追記、lockfile 整合性・pnpm install、テスト/型/format 確認、コミット、PR 作成)」「PR レビュー・マージ(通常/--admin)」までの手順をコマンド例と確認項目付きで記載。
マージ後処理 / 公開手順
.claude/skills/release-sparkle-design/SKILL.md
マージ後の main 同期、タグ作成/push、GitHub Release 作成(notes 渡し)、GitHub Actions による npm publish 実行、公開確認、最終整合と完了報告を定義。
セマンティック バージョニング判断基準とトラブルシューティング
.claude/skills/release-sparkle-design/SKILL.md
patch/minor/major の判定基準、タグ/Release 忘れ・CHANGELOG 古い場合・npm publish 失敗(lockfile/NPM_TOKEN 等)・worktree 衝突の切り分けと対処を記載。参考リンクを追加。
スキル ファイル登録と既存履歴統合
.gitignore, CHANGELOG.md
.gitignore!.claude/skills/release-sparkle-design/ を追加してスキル配下を追跡可能にし、CHANGELOG.md の先頭に ## [Unreleased]1.0.41.0.1 のリリースノートを追記。

🎯 2 (Simple) | ⏱️ ~12 minutes

  • goodpatch/sparkle-design#271: 既存のスキル frontmatter に user-invocable: true を追加した変更と関連性が高い(同種のスキル frontmatter 更新)。

🐰 うさぎのスキルが仲間入り
リリースの道を照らす光
チェックリストに歩む道
タグと Release と npm の輪
整然たる履歴の城

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed PR title clearly references the two main changes: v1.0.4 release and skill-ization of release procedure. The emoji and bilingual phrasing are concise and specific.
Description check ✅ Passed PR description is comprehensive with clear sections for summary, background, skill implementation, v1.0.4 changes, post-merge actions, and test plan. However, it deviates from the template structure significantly.
Linked Issues check ✅ Passed The PR fully addresses #270 by implementing React.forwardRef for the Button component, as documented in CHANGELOG.md and PR objectives.
Out of Scope Changes check ✅ Passed All changes are within scope: SKILL.md (release procedure documentation), .gitignore (exception rule), and CHANGELOG.md (version history). All align with v1.0.4 release and procedure documentation objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/release-1.0.4

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9f841ceddf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +103 to +104
git tag vX.Y.Z
git push origin vX.Y.Z
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Tag the release commit explicitly

The checklist uses git tag vX.Y.Z without a target SHA, which tags the current HEAD at execution time. If main advances between PR merge and this step, the tag (and subsequent gh workflow run ... --ref vX.Y.Z) can include unrelated commits and publish the wrong code. Since this section already asks the operator to identify the release commit SHA, the command should tag that exact SHA (for example git tag vX.Y.Z <release_sha>).

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

v1.0.4 のリリース準備として、パッケージバージョンの更新と CHANGELOG の追補、および今後の更新漏れ防止のためのリリース手順スキル(チェックリスト)を追加する PR です。

Changes:

  • package.json の version を 1.0.4 に更新
  • CHANGELOG.md に v1.0.1〜v1.0.4 のセクションを追補
  • .claude/skills/release-sparkle-design/ を追加し、.gitignore の skills allowlist に反映

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
package.json v1.0.4 リリースに向けた version bump
CHANGELOG.md v1.0.1〜v1.0.4 の変更履歴を追補
.gitignore 新規 release スキルディレクトリを追跡対象に追加
.claude/skills/release-sparkle-design/SKILL.md リリース手順のチェックリストをスキルとして追加

Comment thread CHANGELOG.md
Comment on lines +32 to +34
- **Input まわりの再利用フックを named export** (#263)
- `useInputContainerFocus` / `useMergeRefs` を public API として公開
- **`Input.triggerProps` による ARIA / HTML 属性フォワード** (#268)
### npm publish が失敗する場合

- `pnpm-lock.yaml` の整合性が崩れていないか確認(`pnpm install --frozen-lockfile` を試す)
- `pnpm.overrides` は pnpm 10+ では `pnpm-workspace.yaml` に書く必要がある(package.json では読まれない)
公開 OSS リポジトリのスキルなので、sparkle-design-internal(社内パッケージ)
の存在を露出しないよう書き直す。

- description / trigger phrase から internal 言及を削除
- npm publish 節を sparkle-design(npmjs.org)一本に統一
- 公開確認・consumer 更新の節からも internal を削除
- リポジトリ選択 / sparkle ワークスペース構造の説明を簡素化

internal 向け release skill が必要になれば、CLAUDE.md のスキル同期ルール
「internal 専用スキルは sparkle-design-internal で直接編集して OK」に沿って
向こうで別途追加する想定。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
.claude/skills/release-sparkle-design/SKILL.md (1)

80-80: ⚡ Quick win

lockfile 整合性チェックには --frozen-lockfile を使用してください。

pnpm install だけでは lockfile が更新される可能性があります。リリース PR で lockfile の整合性を確認する目的であれば、pnpm install --frozen-lockfile を使用することで、lockfile に変更が必要な場合にエラーで失敗し、意図しない更新を防げます。

♻️ 推奨される修正
-- [ ] `pnpm install` で lockfile が壊れていないか確認
+- [ ] `pnpm install --frozen-lockfile` で lockfile の整合性を確認
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/skills/release-sparkle-design/SKILL.md at line 80, Update the
lockfile-check step that currently references running `pnpm install` so it uses
`pnpm install --frozen-lockfile` instead; locate the checklist item line
containing the text "`pnpm install` で lockfile が壊れていないか確認" and change the
command to include `--frozen-lockfile` so the CI/PR check fails if the lockfile
requires changes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.claude/skills/release-sparkle-design/SKILL.md:
- Line 42: Add a short, explicit policy entry describing the
`.claude/worktrees/<name>` convention to the project documentation (e.g., in
CLAUDE.md or a CONTRIBUTING section) that explains the required directory
structure, when to create a worktree, naming rules for `<name>`,
permissions/ownership expectations, and how to clean up or remove worktrees;
reference the existing mention in SKILL.md and point readers to the canonical
doc for details so AI/maintainers follow the single source of truth about
`.claude/worktrees/<name>`.

---

Nitpick comments:
In @.claude/skills/release-sparkle-design/SKILL.md:
- Line 80: Update the lockfile-check step that currently references running
`pnpm install` so it uses `pnpm install --frozen-lockfile` instead; locate the
checklist item line containing the text "`pnpm install` で lockfile が壊れていないか確認"
and change the command to include `--frozen-lockfile` so the CI/PR check fails
if the lockfile requires changes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f02579f1-19c9-4aa9-a2c0-432b7f2cc323

📥 Commits

Reviewing files that changed from the base of the PR and between 9f841ce and 52d7646.

📒 Files selected for processing (1)
  • .claude/skills/release-sparkle-design/SKILL.md

2. **`sparkle-design` リポジトリのルートで作業する**

- 編集・テスト・git 操作はすべて `sparkle-design` のチェックアウトディレクトリで実行
- worktree を使う場合は `.claude/worktrees/<name>` 配下で作業
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check if worktree convention is documented

# Search for worktree path convention in project docs
rg -n -C2 '\.claude/worktrees' --type=md
rg -n -C2 'worktree' CLAUDE.md

Repository: goodpatch/sparkle-design

Length of output: 50


.claude/worktrees/<name> の規約をドキュメントに追加してください。

.claude/worktrees/<name> というworktree配置の規約がSKILL.mdで言及されていますが、CLAUDE.mdを含むプロジェクト内のドキュメントに記載されていません。AI やメンテナーが混乱する可能性があるため、この規約をプロジェクトドキュメントで明確に定義する必要があります。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/skills/release-sparkle-design/SKILL.md at line 42, Add a short,
explicit policy entry describing the `.claude/worktrees/<name>` convention to
the project documentation (e.g., in CLAUDE.md or a CONTRIBUTING section) that
explains the required directory structure, when to create a worktree, naming
rules for `<name>`, permissions/ownership expectations, and how to clean up or
remove worktrees; reference the existing mention in SKILL.md and point readers
to the canonical doc for details so AI/maintainers follow the single source of
truth about `.claude/worktrees/<name>`.

@touyou touyou merged commit a531159 into main May 20, 2026
4 checks passed
@touyou touyou deleted the chore/release-1.0.4 branch May 20, 2026 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

♻️ refactor: Button を React.forwardRef 対応にしてほしい(PopoverTrigger 等で asChild 合成するため)

2 participants