config-packager
~/.claude/設定ファイルを監査・サニタイズし、バージョニングされたリリースとして配布可能なリポジトリにパッケージ化できます。公開agentic-configリポジトリの更新、ローカル変更の同期、リリース作成、PII監査の際に使用します。クロスプラットフォーム対応のインストールスクリプトとセマンティックバージョニングに対応しています。
description の原文を見る
Audit, sanitize, and package ~/.claude/ configuration into a distributable repository with versioned releases. Use when updating the public agentic-config repo, syncing local changes, creating releases, or auditing for PII. Handles cross-platform install scripts and semantic versioning.
SKILL.md 本文
config-packager
設定は、他の人がそれを採用できなければ役に立ちません。このスキルはあなたの設定を共有可能にします。
カプセル: DistributableConfig
不変性 配布可能な設定は、元の作成者の環境に関する知識がまったくない新しいマシンで動作する必要があります。
例
/home/username/.claude/hooks/git-safety.sh がハードコードされた settings.json は、他のすべてのマシンで失敗します。配布可能なバージョンは $HOME/.claude/hooks/git-safety.sh を使用します。
//BOUNDARY: 個人情報を削除することは、意見を削除することを意味しません。主張のある設定がその本質です。個人情報はそうではありません。
詳細度
- 区別: 「汎用」は退色したという意味ではなく、プラットフォームに依存しず、アイデンティティから自由であることを意味します
- これではない: すべての具体的なツール推奨を「自分で選んでください」に置き換える—これは価値を削除します
- トレードオフ: 過度なサニタイゼーションは目的を損ないます; 不十分なサニタイゼーションは個人識別情報を漏らします
- 参照:
references/sanitization-rules.md
カプセル: SanitizationIsNotOptional
不変性 パッケージャーを通過するすべてのファイルはサニタイズされます。例外はありません。公開された設定で見落とされたAPIキーはセキュリティインシデントです。
例 2段階のアプローチ: 最初に、各ファイルに対するパターンベースの置換。次に、出力全体にわたるRegex検証スイープ。両方がコミット前にパスする必要があります。 //BOUNDARY: サニタイゼーションはシークレットとアイデンティティについてのものです。設定を有用にするツール固有またはドメイン固有のコンテンツを削除することについてではありません。
詳細度
- 検証パスは置換パスが見落としたものをキャッチします
- パッケージング中に発見された新しい個人識別情報パターンは、すぐに
references/sanitization-rules.mdに追加する必要があります - 参照:
references/sanitization-rules.md
ハード制約
- パッケージしない:
.credentials.json、history.jsonl、stats-cache.json、mcp-needs-auth-cache.json、session-journal.md、projects/、settings.local.json、plugins/、file-history/、telemetry/、statsig/、cache/、debug/、image-cache/、paste-cache/、session-env/、shell-snapshots/、ide/、plans/、tasks/、teams/、backups/、.claude.zip - 配布しない: 実際のAPIキー、シークレット、認証情報の値
- 配布しない: 個人用パス—
/home/<username>を$HOMEに置き換える - 配布しない: 累積されたパーミッション許可リスト—マシン固有のアーティファクト
- 配布しない: 実際のコンテンツを含む
inner-ally—テンプレートスケルトンのみ - 配布しない: 任意のスキルの
meta/ディレクトリ—オーサリングアーティファクト、消費者コンテンツではない - 常に検証: コミット前にサニタイゼーションRegexセットに対して出力を検証する
- 常に生成: 最後のパッケージング実行以降の変更を示すdiffレポート
- 常に実行: デフォルトでインタラクティブモード—レビューなしで自動コミットしない
パッケージングプロセス
ステップはこの順序で実行する必要があります。スキップまたは並び替えるとデータ漏洩または壊れた出力が発生します。
1. 監査
scripts/package.sh --audit を実行して ~/.claude/ をインベントリ化します。
-> 検証: 出力は各ファイルを分類(含める/サニタイズしてから含める/除外する)とともにリストアップします
-> 失敗した場合: ファイルパーミッションを確認し、~/.claude/ が読み取り可能であることを確認します
2. Diff
現在の状態を最後にパッケージ化されたバージョンと比較します。
-> 検証: 出力は最後の実行以降に新規、変更、削除されたファイルを表示します -> 失敗した場合: 前の実行が存在しない場合、すべてを「新規」として扱います
3. レビュー
diffをユーザーに提示します。続行する前に確認を一時停止します。
-> 検証: ユーザーがファイルリストを明示的に承認します -> 失敗した場合: ユーザーのフィードバックに従って含める/除外するリストを調整し、再監査します
4. サニタイズとコピー
scripts/package.sh --package を実行して、各ファイルをサニタイゼーションパイプラインを通して処理し、配布リポジトリにコピーします。
-> 検証: すべてのファイルがコピーされ、サニタイゼーションパターンが適用されます -> 失敗した場合: サニタイゼーションルールのRegexエラーを確認します
5. 検証
出力ディレクトリに対して scripts/validate.sh を実行します。
-> 検証: 個人識別情報の違反が検出されません -> 失敗した場合: ソースのサニタイゼーションルールを修正し、ステップ4-5を再実行します
6. アーティファクト生成
scripts/generate-readme.sh を実行してREADMEを更新し、インストールスクリプトが最新であることを確認します。
-> 検証: READMEは現在のスキルインベントリとティア構造を反映しています -> 失敗した場合: スキルfrontmatterのパースを確認します
7. コミット
変更をステージし、diffをレビューし、説明的なメッセージでコミットします。
-> 検証: git diff --staged はサニタイズされたコンテンツのみを表示します
-> 失敗した場合: コミットしないでください。ステップ4に戻ります。
スキルティア
| ティア | カテゴリ | インストールデフォルト |
|---|---|---|
| Core | 誰もが使える汎用スキル | 常にインストール |
| Game Dev | ソロゲーム開発 + ADHD ワークフロースキル | オプション |
| Infra | Kubernetes ホームラブスキル | オプション |
| Templates | 個人カスタマイズ用のスケルトンスキル | オプション |
完全なティア割り当て: references/file-inventory.md
クロスプラットフォーム
配布リポジトリは Linux、macOS、Windows で動作する必要があります。パス、パーミッション、行末、フックスクリプトのプラットフォーム固有の処理については、references/cross-platform.md を参照してください。
配布リポジトリ
ターゲット: your-github-username/agentic-config (パブリック GitHub リポジトリ)
ローカルパス: $HOME/repos/agentic-config/
構造: references/distribution-repo.md
同期とリリース
パッケージングプロセスを拡張して、バージョン管理された GitHub リリースを追加します。1つのコマンド: 変更を検出、パッケージ化、検証、コミット、タグ付け、プッシュ、リリース。
クイック使用方法
# インタラクティブ (推奨)
scripts/sync-release.sh
# 特定のバージョンバンプを強制
scripts/sync-release.sh --minor
# 実行せずにプレビュー
scripts/sync-release.sh --dry-run
# 完全自動化
scripts/sync-release.sh --auto
プロセス
ステップはこの順序で実行する必要があります。スクリプトは自動的にこれを適用します。
- 前飛行チェック — gh CLI、gitリポジトリ、メインブランチ、兄弟スクリプトを確認します
- パッケージ化 —
package.sh --package --autoを実行してサニタイズし、コピーします - 検出 — リポジトリで
git diffを使用して実際に変更されたものを見つけます - 検証 —
validate.shを実行します—個人識別情報の違反がゼロである必要があります。これが失敗すると、リリースがブロックされます。 - README 再生成 —
generate-readme.shを実行します - 分類 — semverバンプのために変更を分類します
- バージョン決定 — ヒューリスティックスまたはユーザーオーバーライドを適用します
- リリースノート生成 — 変更タイプから自動生成します
- プレビュー — サマリーを表示し、確認を一時停止します
- コミット、タグ、プッシュ — リリースコミットとバージョンタグを作成します
- GitHub リリース —
gh release createを使用してリリースを作成します
バージョンルール
変更はセマンティックバージョニング用に分類されます:
- メジャー: スキルが削除された、構造が変更された、破壊的なインストール変更
- マイナー: 新しいスキル、新しい設定タイプ、新しい参照、新しいフック
- パッチ: コンテンツ更新、タイプミス修正、表現の改善
完全なルール: references/semver-rules.md
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- gavinmcfall
- ライセンス
- MIT
- 最終更新
- 2026/4/2
Source: https://github.com/gavinmcfall/agentic-config / ライセンス: MIT