# コマンドラインツール（oneend）

Supabase CLI や Vercel CLI のように、ターミナルと CI からこのプラットフォームを扱うツールです。同じトークンで /api/v1 を呼び出します。

```
npm install -g oneend        または npx oneend <コマンド>
oneend login                 コンソールのアカウント → API · MCP トークンで作ったトークンを入力します
oneend link                  このフォルダーをプロジェクトに接続します（.oneend/project.json）
```

```
oneend projects list|create        oneend status
oneend env ls|pull|push|set|rm     oneend deploy [--branch --commit | --dir --prod --prebuilt]
oneend deployments ls|inspect      oneend logs [--follow]     oneend rollback <id>
oneend functions ls|deploy|rm|invoke|download
oneend migration new|list|repair   oneend db push|pull
oneend gen types typescript
oneend branches list|create|merge|reset|delete
```

- トークンは `~/.config/oneend/config.json` に、本人だけが読めるように（0600）保存します。CI では `ONEEND_TOKEN` 環境変数を使ってください。
- マイグレーションファイルは `oneend/migrations/<バージョン>_<名前>.sql` で、`db push` が blackwall://migrations の `apply_migrations` を呼び出します。
- `--json` を付けると、すべてのコマンドが JSON ひとかたまりで答えます。失敗すると0以外の終了コードを返します。
- `deploy` はビルドが終わるまでログを表示し、失敗すると終了コード1になります。
- リポジトリがないとき、または `--dir` か `--upload` を付けると、`deploy` はフォルダーを圧縮してアップロードし、同じビルドを通ります（`.gitignore` と `.oneendignore` に従い、`node_modules` と `.git` は除きます）。`--prebuilt` はビルドせずそのまま、`--prod` は本番へデプロイします。

---

https://end.blackall.ai/docs/cli?lang=ja
