コンテンツにスキップ

CLI

todoke CLI を使うと、ターミナルからアプリ・API キーの管理や通知送信ができます。

Terminal window
# todoke モノレポを clone した後
bun install
cd apps/cli
bun run build

ビルドすると apps/cli/dist/index.js が生成されます(package.jsonbin フィールドで todoke に紐付けられています)。次のいずれかの方法で実行してください。

Terminal window
# 直接実行
node apps/cli/dist/index.js <command>
# もしくは apps/cli で bun link しグローバルに `todoke` として実行
cd apps/cli
bun link
todoke <command>

以降の例では todoke <command> の形式で表記します。

Terminal window
todoke login --api-key pk_xxxxxxxxxxxxxxxx
# ✔ ログインしました。設定を /Users/you/.todoke.json に保存しました。
  • --api-key <key>: 必須。ダッシュボードで発行した API キー
  • --api-url <url>: 省略可。省略時は https://api.todoke.dev

ログイン時に API キーの有効性を確認するため、内部で GET /api/v1/apps を呼び出します。認証に失敗すると次のように表示され、設定は保存されません。

Terminal window
todoke login --api-key pk_invalid
# ✖ 認証に失敗しました: <APIからのエラーメッセージ>

設定ファイルは ~/.todoke.jsonos.homedir() 配下)にパーミッション 0600 で保存されます。apiKeyapiUrl が平文の JSON として書き込まれるため、取り扱いに注意してください。

Terminal window
todoke logout
# ログアウトしました。

未ログイン状態で logout を実行すると ログインしていません。(グレー表示)と出力されます。

オプション必須説明
--api-key <key>必須API キー(pk_ で始まる文字列)
--api-url <url>省略可API URL(デフォルト: https://api.todoke.dev

上記「ログイン」セクションを参照してください。

保存した認証情報(~/.todoke.json)を削除します。

Terminal window
todoke logout
# ログアウトしました。

ログイン中のキーが属するアプリを表示します(引数なし)。

Terminal window
todoke apps list
#
# アプリ一覧 (1件)
#
# my-app 3f29a1d2-4b7d-4a91-9c3e-1f2b3a4d5e6f

アプリが 0 件の場合は アプリがありません。(グレー表示)と出力されます。

アプリの統計(アクティブ購読者・総送信数・失敗数・今月の送信数)を表示します。

Terminal window
todoke apps stats 3f29a1d2-4b7d-4a91-9c3e-1f2b3a4d5e6f
#
# アクティブ購読者: 42
# 総送信数: 1234
# 失敗数: 3
# 今月の送信数: 567

アプリを削除します。

Terminal window
todoke apps delete 3f29a1d2-4b7d-4a91-9c3e-1f2b3a4d5e6f
# ✔ 削除しました。

アプリに紐づく API キー一覧(スコープ・最終使用日時)を表示します。

Terminal window
todoke keys list 3f29a1d2-4b7d-4a91-9c3e-1f2b3a4d5e6f
#
# APIキー一覧 (1件)
#
# backend-key notify 最終使用: 2026/7/2 10:00:00
# 8e1c2d3f-...

キーが 0 件の場合は APIキーがありません。(グレー表示)と出力されます。

API キーを作成します。

オプション必須説明
-n, --name <name>必須キー名
-s, --scope <scope>省略可スコープ(subscribe_only / notify / full)。省略時は notify
Terminal window
todoke keys add 3f29a1d2-4b7d-4a91-9c3e-1f2b3a4d5e6f -n backend-key -s notify
# ✔ 作成しました: backend-key (notify)
#
# APIキー: pk_a1b2c3d4e5f6...
# ※ このキーは一度しか表示されません。必ずコピーしてください。

API キーを削除します。

Terminal window
todoke keys rm 3f29a1d2-4b7d-4a91-9c3e-1f2b3a4d5e6f 8e1c2d3f-0000-0000-0000-000000000000
# ✔ 削除しました。

通知を送信します。

オプション必須説明
-t, --title <title>必須通知タイトル
-b, --body <body>必須通知本文
-u, --url <url>省略可クリック時の遷移先 URL(https:// のみ)
-e, --endpoint <endpoint>省略可特定の購読者のエンドポイントを指定

詳細は次の「通知の送信」セクションを参照してください。

Terminal window
todoke notify 3f29a1d2-4b7d-4a91-9c3e-1f2b3a4d5e6f -t "お知らせ" -b "新しいメッセージがあります"
# ✔ 通知を送信しました: "お知らせ"

-u/--url を指定すると通知クリック時の遷移先を、-e/--endpoint を指定すると特定の購読者のみへの送信を設定できます。

未ログイン状態で login / logout 以外のコマンドを実行すると、次のメッセージを表示して終了コード 1 で終了します。

Terminal window
todoke apps list
# ログインしていません。`todoke login --api-key <key>` を実行してください。

その他のエラー(API キーが無効・スコープ不足・リソースが見つからない等)は、API からのエラーメッセージがそのまま表示され、終了コードは 1 になります。エラーコードの一覧は エラーコード・制限値 を参照してください。