mcpField
J
jackin-release-check

jackin-release-check

github.com/jackin-projectテスト・品質3469 回インストール4 週間前に更新
リポジトリ

jackin-release-check について

jackinプロジェクトのリリース準備状況を確認するスキルです。CI、フォーマット、静的解析、テスト、文書リンク、TODO、セキュリティ例外、コミット監査を実行し、合格・阻止・警告・スキップを報告します。

主な機能

  1. 01変更パスに応じたCIの確認
  2. 02フォーマットと静的解析の実行
  3. 03テストスイートの実行
  4. 04ドキュメント内リンクの検証
  5. 05TODOの鮮度とセキュリティ例外の確認
  6. 06コミットとマージ済みPRの照合

活用シーン

  1. 01リリース前の準備状況確認
  2. 02CI・静的解析・テストの阻害要因特定
  3. 03文書リンクと古いTODOの確認
  4. 04リリース前のセキュリティ例外確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jackin-project/jackin-dev --skill jackin-release-check

インストール後、Claude Code で/jackin-release-checkを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

jackin-release-check

リリース準備状況のゲートを実行します。各ゲートは二択で、緑は合格、赤はブロックを意味します。すべてのゲートが緑の場合にのみリリース準備完了となります(警告は表示されますが、ブロックはしません)。コマンドには、リポジトリ独自のもの(CONTRIBUTING.md のマージ準備チェックと .github/workflows/ci.yml から取得)を使います。簡略化した代替コマンドは使いません。

使用するタイミング

  • リリースを作成する前、またはプロジェクトがリリース可能かどうかをオペレーターから尋ねられたとき。

使用しないタイミング

  • リリース自体を作成するとき → jackin-release(最初のゲートとしてこのスキルを実行します)。

プロセス

各ゲートを順番に実行し、ゲートごとに緑/赤/スキップの判定を集めて、各ゲート1行のレポートにまとめます。

  1. CI ゲート。 gh run list --workflow=ci.yml --branch=main --limit=1 --json conclusion --jq '.[0].conclusion' — success の場合のみ緑です。前回のタグ以降に docker/construct/** または docs/** が変更されている場合(git diff --name-only <last-tag>..HEAD -- <path>)、construct.yml/docs.yml も main で緑である必要があります。

    完了条件 変更されたパスを対象とする CI ワークフローがすべて緑であること。

  2. 静的チェックゲート。 cargo fmt --check;cargo clippy --all-targets --all-features -- -D warnings。違反が1つでもあれば赤です。

    完了条件 両方の終了コードが 0 であること。

  3. テストゲート。 cargo nextest run --all-features;cargo nextest run -p jackin --features e2e --profile docker-e2e。失敗が1つでもあれば赤です。

    完了条件 両方のテストスイートが合格すること。

  4. ドキュメントリンクゲート。 docs/content/docs/ 配下の内部リンク(相対パスと hrefs)をたどり、各リンク先のファイルが存在することを確認します。公開済みページへのリンク切れのみ赤とし、アクセスできない外部 URL には警告を出します。

    完了条件 すべての内部リンクが解決されること。

  5. TODO の鮮度確認。 TODO.md と todo/ を読み、完了済みの作業を参照している項目や、最近の活動が見られない項目を洗い出します。警告を出しますが、ブロックはしません。

    完了条件 すべての TODO 項目が有効であるか、古い項目としてフラグ付けされていること。

  6. セキュリティ例外。 SECURITY_EXCEPTIONS.md を読み、各項目が現在も有効かどうかをオペレーターに確認します。確認されるか、ファイルを更新して再読込するまではレビュー中(ブロック)とします。

    完了条件 オペレーターがカタログを確認すること。

  7. 直接コミット監査。 git log <last-tag>..HEAD --oneline --no-merges を実行し、各コミットについて gh pr list --state merged --search "<sha>" を実行します。PR が見つからないコミットには警告を出しますが、ブロックはしません。

    完了条件 前回のタグ以降のすべての非マージコミットが PR に紐付けられているか、未分類として一覧に記載されていること。

レポート

ゲートごとに1行で記載します。✓ は緑、✗ は赤(ブロック)、⚠ は警告、- はスキップです。赤のゲートがあるとリリースは停止します。警告がある場合はオペレーターに提示し、受け入れるか修正してもらいます。

よくある間違い

  • cargo test --locked や cargo clippy -- -D warnings(フラグを省略したコマンド)を実行する — これらはリポジトリのゲートではありません。正しいコマンドには --all-targets --all-features が含まれ、nextest を使用します。
  • 警告をブロックとして扱ったり、赤のゲートを警告として扱ったりする。
  • 前回のタグ以降に docker/ または docs/ が変更されているのに、パス固有の CI ワークフローをスキップする。
  • 実際の docs/content/docs/ ツリーをたどらず、独自のドキュメントリンクチェックを作る。

コメント