# API Skill CLI

[English](https://unpkg.com/apiskill@latest/docs/cli.md) / [中文](https://unpkg.com/apiskill@latest/docs/cli.zh.md) / [한국어](https://unpkg.com/apiskill@latest/docs/cli.ko.md) / [日本語](https://unpkg.com/apiskill@latest/docs/cli.ja.md)

## インストールと実行

プロジェクトルートで実行します。

```bash
npm install
npm run cli -- --help
```

実行ファイルを直接実行することもできます。

```bash
node scripts/apiskill-cli.mjs --help
```

## ドキュメントのインポート

利用可能なキャッシュがあるか確認します。

```bash
npm run cli -- check
npm run cli -- check --json
```

利用可能なキャッシュがない場合、`check` はインポート例を出力します。

```bash
npm run cli -- import https://example.com/openapi.json
npm run cli -- crawl https://example.com/swagger
npm run cli -- import-file ./openapi.yaml
npm run cli -- import-curl --file ./request.curl
```

ドキュメントのエンドポイントに basic auth が必要な場合は、`import` または `crawl` に `--auth username:password` を追加します。

## ゼロからドキュメントを作成

まだ上流 OpenAPI ドキュメントがない場合は、空白のローカルドキュメントバージョンを作成します。

```bash
npm run cli -- document create --title "My API" --doc-version 1.0.0
npm run cli -- document create --title "My API" --doc-version 1.0.0 --description "Internal service contract" --json
```

作成されたドキュメントは最新キャッシュバージョンとして保存されます。その後、`api create --version <versionId>` でエンドポイントを追加できます。空白ドキュメントがすでに最新バージョンなら `--version` は省略できます。

## バージョンと API の照会

```bash
npm run cli -- versions
npm run cli -- versions --json
npm run cli -- query /admin/api/v1/user/list --method GET
npm run cli -- query user --method POST --limit 10
npm run cli -- api list --query user --method post
npm run cli -- api query GET /api/v1/user --format cli
```

`query` は MCP の `apiskill_query_api` ツールと同じ動作です。正確な単一一致では 1 つの API 設定を返し、複数一致では候補一覧を返します。

## 手動 API の作成、編集、削除

```bash
npm run cli -- api create --file ./api-config.yaml
npm run cli -- api edit GET /api/v1/user --file ./api-config.json --version 20260429T000000Z-manual-user
npm run cli -- api delete GET /api/v1/user --version 20260429T000000Z-manual-user
```

CLI 設定は JSON または YAML を使用でき、ルートキーとして `api`、`config`、`operation` をサポートします。

最小 JSON 例:

```json
{
  "api": {
    "method": "post",
    "path": "/api/v1/example",
    "summary": "例を作成",
    "responses": [
      {
        "status": "200",
        "description": "Success"
      }
    ]
  }
}
```
