# Takumi Guard のセットアップスクリプトにヘルスチェック機能を追加

Takumi Guard のセットアップスクリプト（`setup.sh` / `setup.ps1`）に **`healthcheck`** サブコマンドを追加しました。Guard が正しく設定されているか、および悪性パッケージが実際にブロックされるかを自動で検証できます。設定ファイルの変更や API クレデンシャルは不要です。

## 概要 {#overview}

従来、`setup.sh install` の実行後に Guard がエンドツーエンドで正しく動作しているかを確認する自動化された手段がありませんでした。ユーザーガイドには手動の検証手順（例：`npm install @panda-guard/test-malicious`）を記載していましたが、手順が省略されやすく、スクリプトへの組み込みにも対応していませんでした。

`healthcheck` サブコマンドはこの課題を解決します。サポート対象のエコシステムごとに、以下の 3 段階で検証を行います。

1. **設定確認**：パッケージマネージャーが Guard プロキシを参照しているかを検証する
2. **接続確認**：Guard プロキシへの到達性を確認する
3. **ブロックテスト**：ブロック対象のテスト用パッケージのインストールを試行し、拒否されることを検証する

このサブコマンドは読み取り専用であり、API クレデンシャル（`TG_BOT_API_KEY` / `TG_BOT_ID`）は不要です。

## 利用方法 {#getting-started}

`setup.sh install` の完了後にヘルスチェックを実行します。

```bash
./setup.sh healthcheck
```

特定のエコシステムのみを確認する場合は、引数でスコープを指定します。

```bash
./setup.sh healthcheck golang
```

### 終了コード

ヘルスチェックは終了コードで結果を返すため、管理ツールによる定期実行や自動化に組み込むことができます。

| 終了コード | 意味                                                   |
| ---------- | ------------------------------------------------------ |
| `0`        | すべてのチェックに成功                                 |
| `1`        | 1 つ以上のチェックに失敗                               |
| `2`        | 判定不能（CLI が見つからない、ネットワークの問題など） |

### 出力例

```
$ ./setup.sh healthcheck golang

[OK] go: GOPROXY → https://golang.flatt.tech
[OK] go: Guard proxy reachable
go: creating new go.mod: module healthcheck-tmp
[OK] go: sentinel module hola-takumi-go@v0.1.0 correctly blocked

[OK] All healthchecks passed
```

## サポート対象のエコシステム {#ecosystems}

ヘルスチェックは現在 npm、RubyGems、Go に対応しています。PyPI については、テスト用パッケージの公開後に対応予定です。

| エコシステム | スコープ引数 | テスト用パッケージ                                |
| ------------ | ------------ | ------------------------------------------------- |
| npm          | `npm`        | `@panda-guard/test-malicious`                     |
| RubyGems     | `rubygems`   | `hola-takumi` v0.1.0                              |
| Go           | `golang`     | `github.com/flatt-security/hola-takumi-go` v0.1.0 |
| PyPI         | `pypi`       | _（対応予定）_                                    |

ヘルスチェックサブコマンドの詳細については、ユーザーガイドの[管理ツールによる一括セットアップ — ヘルスチェック](/docs/ja/t/guard/features/admin-deployment#healthcheck)を参照してください。
