# Takumi Guard Setup Script Healthcheck Subcommand Released

Takumi Guard's setup script (`setup.sh` / `setup.ps1`) now includes a **`healthcheck`** subcommand that verifies Guard is correctly configured and actively blocking malicious packages — all without modifying any files or requiring API credentials.

## Overview {#overview}

After running `setup.sh install`, there was no automated way to confirm Guard was working end-to-end. The user guide provided manual verification steps (e.g. `npm install @panda-guard/test-malicious`), but these were easy to skip and not scriptable.

The `healthcheck` subcommand closes this gap. It runs a 3-phase verification for each supported ecosystem:

1. **Config check** — verifies the package manager is pointing to the Guard proxy
2. **Connectivity check** — confirms the Guard proxy is reachable
3. **Block test** — attempts to install a known-blocked test package and verifies it is rejected

The subcommand is completely read-only and requires no API credentials (`TG_BOT_API_KEY` / `TG_BOT_ID` are not needed).

## Getting Started {#getting-started}

Run the healthcheck after completing `setup.sh install`:

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

To check a specific ecosystem:

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

### Exit codes

The healthcheck uses exit codes to signal the result, making it easy to integrate into management tool workflows and automation:

| Exit code | Meaning                                          |
| --------- | ------------------------------------------------ |
| `0`       | All checks passed                                |
| `1`       | One or more checks failed                        |
| `2`       | Inconclusive (e.g. CLI not found, network issue) |

### Example output

```
$ ./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
```

## Supported Ecosystems {#ecosystems}

The healthcheck currently supports npm, RubyGems, and Go. PyPI support will be added in a future update once a test package is published.

| Ecosystem | Scope argument | Test package                                      |
| --------- | -------------- | ------------------------------------------------- |
| 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`         | _(coming soon)_                                   |

For full documentation on the healthcheck subcommand, see the [Admin Deployment — Healthcheck](/docs/t/guard/features/admin-deployment#healthcheck) section of the user guide.
