npm package: @kyaukyuai/mono-cli
Description: CLI tool for mono — growth platform for indie developers
Latest version: 0.1.9

# @kyaukyuai/mono-cli

mono（個人開発者のためのグロースプラットフォーム）のコマンドラインツール。

作品・記事・質問・プロフィールの管理をターミナルから行えます。

## インストール

```bash
npm install -g @kyaukyuai/mono-cli
```

インストール後、`mono` コマンドで実行できます。

## クイックスタート

```bash
# 1. Webダッシュボード（設定 → APIトークン）でトークンを作成

# 2. ログイン
mono auth login --pat mono_xxxxxxxx...

# 3. 確認
mono auth whoami --json

# 4. 作品一覧
mono works list --json

# 5. 接続確認
mono status --json
```

## AIエージェント向け

### Skillのインストール

```bash
npx skills add kyaukyuai/mono-cli-skill
```

### 構造化出力の推奨

- 解析には `--json` / `--ndjson` を使用
- リストは `--fields` で最小化
- ミューテーションは `--dry-run` で検証

## コマンド

| グループ | コマンド | 説明 |
|---------|---------|------|
| `auth` | `login`, `logout`, `whoami` | 認証管理 |
| `works` | `list`, `get`, `create`, `update`, `delete` | 作品のCRUD |
| `articles` | `list`, `get`, `create`, `update`, `delete`, `publish`, `search`, `stats` | 記事のCRUD + 公開切替 |
| `questions` (`qa`) | `list`, `get`, `create`, `update`, `delete`, `answer`, `search` | Q&AのCRUD + 回答 |
| `profile` | `get`, `update` | プロフィール取得・更新 |
| `upload` (`images`) | `<file>` | 画像アップロード → URL取得 |
| `tags` | `list`, `create` | タグ管理 |
| `schema` | `<resource>` / `--all` | JSON Schema表示 |
| `status` |  | API接続・認証状態 |
| `config` | `get`, `set`, `list`, `path` | 設定管理 |
| `completions` | `<shell>` | シェル補完生成 |

## グローバルオプション

```
--json          JSON出力
--ndjson        NDJSON出力（リスト向け）
--output-format 出力形式 (table|json|ndjson|csv)
--fields <f>    フィールドマスク（カンマ区切り）
--dry-run       バリデーションのみ（APIコールなし）
--base-url <u>  APIベースURL上書き
--token <pat>   トークン上書き
--verbose       デバッグ出力
--timeout <ms>  タイムアウト (ms)
--retry <n>     リトライ回数
--retry-wait <ms> リトライ待機 (ms)
--print-curl    curlコマンドを出力
--no-mask-token print-curl のトークンマスクを無効化
--quiet         標準出力を最小化
--no-color      カラー出力を無効化
```

## 使用例

```bash
# 作品を作成（事前検証 → 本番実行）
mono works create --json-data '{"title":"My App","category":"Webアプリ","description":"素晴らしいアプリです"}' --dry-run
mono works create --json-data '{"title":"My App","category":"Webアプリ","description":"素晴らしいアプリです"}' --json

# JSONファイル/標準入力
mono works create --json-file ./work.json --json
cat ./work.json | mono works create --json-stdin --json

# 作品一覧の絞り込み
mono works list --status live --limit 20 --offset 0 --sort created_at:desc --json

# 自分の記事のみ取得
mono articles list --mine --json

# 記事一覧の絞り込み
mono articles list --status draft --json

# 記事検索
mono articles search "Claude Code" --fields id,title,excerpt --json

# 作品検索
mono works search "React" --json

# 質問検索
mono questions search "デプロイ" --json

# 記事を作成して公開
mono articles create --json-data '{"title":"開発日記","body":"本文..."}' --json
mono articles create --json-data '{"title":"開発日記"}' --file ./article.md --json
mono articles create --file ./article.md --category development --json
# frontmatter (title/category/excerpt/coverImageUrl) と H1 は自動で反映されます
# 二重フロントマター（Basic Memory等）も自動マージされます
# frontmatter title と重複する H1 行は自動除去されます
mono articles publish <id> --json

# タグ
mono tags list --json
mono tags create --name "AI" --json
mono articles create --file ./article.md --tags "AI,Claude Code" --json

# 質問に回答
mono questions answer <id> --json-data '{"body":"回答の本文を20文字以上で記述してください"}' --json

# 削除（確認が必要）
mono works delete <id> --yes --json

# プロフィール更新
mono profile update --json-data '{"bio":"新しい自己紹介"}' --json

# 画像アップロード → 作品作成
mono upload ./screenshot.png --json
# => { "url": "https://...", "fileName": "...", "size": 12345, "type": "image/png" }
mono works create --json-data '{"title":"My App","category":"Webアプリ","description":"素晴らしいアプリです","thumbnailUrl":"https://..."}' --json

# スキーマ確認
mono schema works.create
mono schema --all

# 記事/作品の統計
mono articles stats --json
mono articles stats --ranking --sort views --limit 5 --json
mono works stats --json

# 接続チェック
mono status --json

# 設定
mono config set base-url https://www.mono.style
mono config set fields id,title,status
mono config list --json

# 補完
mono completions bash > /usr/local/etc/bash_completion.d/mono
```

## 認証

Personal Access Token (PAT) を使用。優先順位:

1. `--token <PAT>` フラグ
2. `MONO_TOKEN` 環境変数
3. `~/.mono/config.json`

デフォルトの API ベースURL は `https://www.mono.style` です。
`mono config set base-url <url>` で永続的に上書きできます。

## 設定ファイル

設定は `~/.mono/config.json` に保存されます。パス確認:

```bash
mono config path
```

## Exit Code

```
0  成功
1  認証エラー
2  バリデーションエラー
3  ネットワーク/接続エラー
4  APIエラー (4xx/5xx)
```

## 開発

```bash
npm run build    # TypeScriptコンパイル
npm run dev      # watchモード
npm run clean    # dist/ 削除
```

## ライセンス

MIT