---
title: CLI
description: Node.js 版の hakoniwa コマンドで、ゲームの開始・終了、ターンの操作、バックアップを行います。
sidebar:
  label: CLI (Node.js)
---

`@hakoniwajs/node` をインストールした環境では、`npx hakoniwa <command>` で次の操作ができます。環境変数 (`HAKONIWA_DB_PATH` など) はサーバーと同じものを指定してください。

```sh
npx hakoniwa --help
```

## サーバー

| コマンド | 説明 |
| --- | --- |
| `serve` | HTTP サーバーを起動する |

## ゲーム

| コマンド | 説明 |
| --- | --- |
| `game new` | 新しいゲームを開始する (現在のゲームが進行中なら失敗) |
| `game new --name 第2回 --start-at 2026-10-01T21:00:00+09:00 --final-turn 100 --unit-time 6h30m` | 名前・開始日時・最終ターン・1 ターンの長さを指定して開始する |
| `game finish` | 現在のゲームを終了する |
| `game list` | ゲーム一覧 (現在と過去) を表示する |
| `game set-final-turn <N\|none>` | 現在のゲームの最終ターン数を変更する (`none` で無期限) |
| `game set-unit-time <値>` | 1 ターンの長さを変更する (次のターン境界から反映。`6h`、`90m`、`1h30m`、`3600` (数字のみは秒) を受け付ける) |

## データベース

| コマンド | 説明 |
| --- | --- |
| `db init` | ゲームが無いときだけ新しいゲームを開始する (`game new` のエイリアス。同じオプションを受け付ける) |
| `db status` | 現在のゲームの名前・状態・ターン数・最終更新時刻・開始時刻・最終ターン・1 ターンの長さ・島数・過去のゲーム数などを表示する |
| `db reset --yes` | すべてのゲームを削除する |

## ターンと時刻

| コマンド | 説明 |
| --- | --- |
| `turn check` | 期限が来ていればターンを進める |
| `turn advance` | 強制的に 1 ターン進める (終了後は何もしない) |
| `time set <unix\|ISO8601>` | 最終更新時刻を変更する |

## バックアップ

| コマンド | 説明 |
| --- | --- |
| `backup list` | バックアップの一覧 |
| `backup create [label]` | バックアップを作成する |
| `backup restore <label>` | バックアップから復元する |
| `backup delete <label>` | バックアップを削除する |

Cloudflare 版には CLI はありません。同じ操作は管理画面から行えます。
