変更履歴
ドキュメントサイトで変更履歴セクションを管理する方法。
zudo-docには、リリースノートとバージョン履歴を追跡するための変更履歴セクションが含まれています。変更履歴は降順のサイドバーソートを使用するため、最新のエントリが常に先頭に表示されます。
ディレクトリ構造
変更履歴のエントリは専用のコンテンツディレクトリに格納されます:
src/content/docs/
└── changelog/
├── _category_.json # 降順ソート付きカテゴリ設定
├── index.mdx # カテゴリインデックスページ
├── 0.2.0.mdx # 新しいエントリ (sidebar_position: 2)
└── 0.1.0.mdx # 古いエントリ (sidebar_position: 1)
カテゴリ設定
_category_.jsonファイルで降順ソートを設定し、新しいエントリがサイドバーの先頭に表示されるようにします:
{
"label": "Changelog",
"position": 10,
"sortOrder": "desc"
}
sortOrder: "desc"を設定すると、sidebar_positionの値が大きいエントリが先に表示されます。これにより、新しいバージョンが自然に先頭にソートされます。
新しいエントリの追加
新しい変更履歴エントリを追加するには:
src/content/docs/changelog/にバージョン名のMDXファイルを作成(例:0.2.0.mdx)sidebar_positionを前のエントリより大きい値に設定- 日本語コンテンツディレクトリ(
src/content/docs-ja/changelog/)にファイルをミラー
---
title: "0.2.0"
description: このリリースの概要。
sidebar_position: 2
---
このリリースの変更概要。
### 機能
- 機能A
- 機能B
### バグ修正
- 問題Xの修正
💡 Tip
新しいバージョンごとにsidebar_positionの値を増やしてください。カテゴリ設定のsortOrder: "desc"と組み合わせることで、最新のエントリが常にサイドバーの先頭に表示されます。
エントリのフォーマット
各変更履歴エントリは標準的なMDXファイルです。推奨される構造:
- タイトル:バージョン番号(例:
"0.2.0") - 説明:リリースの簡単な概要
- コンテンツセクション:機能、バグ修正、破壊的変更など
強制的なフォーマットはありません。プロジェクトに合った構造を使用してください。上記の例はKeep a Changelogに似た一般的な規約に従っています。
バージョンバンプスクリプト
zudo-docにはバージョン管理を自動化するscripts/version-bump.shスクリプトが含まれています:
# バージョンをバンプして変更履歴エントリを作成
./scripts/version-bump.sh 0.2.0
# バージョンをバンプして変更履歴エントリを作成し、現在のドキュメントをスナップショット
./scripts/version-bump.sh 1.0.0 --snapshot
スクリプトは以下のステップを実行します:
package.jsonのversionフィールドを更新- 英語と日本語の両方のディレクトリに変更履歴エントリMDXファイルを作成
- 正しい
sidebar_positionを自動的に設定(既存エントリからインクリメント)
ドキュメントスナップショット
--snapshotフラグを使用すると、バンプ前に現在のドキュメントをバージョン付きスナップショットとしてアーカイブします。これはzudo-docのバージョニングシステムと連携します:
src/content/docs/をsrc/content/docs-v{old}/にコピーsrc/content/docs-ja/をsrc/content/docs-v{old}-ja/にコピーsrc/config/settings.tsに追加するバージョン設定エントリを表示
📝 Note
--snapshotフラグは新しいバージョンではなく、古いバージョンのドキュメントをアーカイブします。スクリプト実行後、src/content/docs/は新しいバージョンを表し、スナップショットは以前の状態を保持します。
バージョンバンプスキル
Claude Codeユーザー向けに、zudo-docにはリリースワークフロー全体をオーケストレーションする/zudo-doc-version-bumpスキルが含まれています。スクリプトを手動で実行する代わりに、スキルがすべてをエンドツーエンドで処理します:
- 最後のgitタグ以降のコミットを分析し、カテゴリ分け(破壊的変更、機能、修正、その他)
- 変更内容に基づいてバージョンバンプの種類(major/minor/patch)を提案
version-bump.shを実行してpackage.jsonを更新し、変更履歴エントリを作成- 変更履歴テンプレートに実際のコミット内容を記入(英語・日本語の両方)
pnpm b4pushを実行してビルドを検証- コミット、プッシュ、CI待機
- gitタグとGitHubリリースを作成
- npm公開のガイド(プライベートパッケージの場合はスキップ)
# Claude Codeでスキルを実行
/zudo-doc-version-bump
# 提案ステップをスキップしてバンプの種類を指定
/zudo-doc-version-bump patch
📝 Note
スキルを使用するには、少なくとも1つのv*タグが存在する必要があります。初回リリースの場合は、手動で初期タグを作成してください:git tag v0.1.0 && git push --tags。
ヘッダーナビゲーション
変更履歴セクションはヘッダーナビゲーションからリンクされています。これはsrc/config/settings.tsで設定されます:
headerNav: [
// ...その他のアイテム
{ label: "Changelog", labelKey: "nav.changelog", path: "/docs/changelog", categoryMatch: "changelog" },
],
i18n
翻訳されたリリースノートを提供するために、変更履歴エントリを日本語コンテンツディレクトリ(src/content/docs-ja/changelog/)にミラーしてください。_category_.jsonとディレクトリ構造は英語版と一致させる必要があります。