@newpeak/barista-cli 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.ja.md +209 -620
  2. package/README.md +206 -755
  3. package/README.vi.md +206 -623
  4. package/README.zh.md +340 -0
  5. package/dist/commands/liberica/orgs/batch-delete.d.ts +3 -0
  6. package/dist/commands/liberica/orgs/batch-delete.d.ts.map +1 -0
  7. package/dist/commands/liberica/orgs/batch-delete.js +109 -0
  8. package/dist/commands/liberica/orgs/batch-delete.js.map +1 -0
  9. package/dist/commands/liberica/orgs/create.d.ts +3 -0
  10. package/dist/commands/liberica/orgs/create.d.ts.map +1 -0
  11. package/dist/commands/liberica/orgs/create.js +131 -0
  12. package/dist/commands/liberica/orgs/create.js.map +1 -0
  13. package/dist/commands/liberica/orgs/disable.d.ts +3 -0
  14. package/dist/commands/liberica/orgs/disable.d.ts.map +1 -0
  15. package/dist/commands/liberica/orgs/disable.js +98 -0
  16. package/dist/commands/liberica/orgs/disable.js.map +1 -0
  17. package/dist/commands/liberica/orgs/enable.d.ts +3 -0
  18. package/dist/commands/liberica/orgs/enable.d.ts.map +1 -0
  19. package/dist/commands/liberica/orgs/enable.js +98 -0
  20. package/dist/commands/liberica/orgs/enable.js.map +1 -0
  21. package/dist/commands/liberica/orgs/get.d.ts +3 -0
  22. package/dist/commands/liberica/orgs/get.d.ts.map +1 -0
  23. package/dist/commands/liberica/orgs/get.js +79 -0
  24. package/dist/commands/liberica/orgs/get.js.map +1 -0
  25. package/dist/commands/liberica/orgs/index.d.ts.map +1 -1
  26. package/dist/commands/liberica/orgs/index.js +15 -21
  27. package/dist/commands/liberica/orgs/index.js.map +1 -1
  28. package/dist/commands/liberica/orgs/list.d.ts +3 -0
  29. package/dist/commands/liberica/orgs/list.d.ts.map +1 -0
  30. package/dist/commands/liberica/orgs/list.js +51 -0
  31. package/dist/commands/liberica/orgs/list.js.map +1 -0
  32. package/dist/commands/liberica/orgs/update.d.ts +3 -0
  33. package/dist/commands/liberica/orgs/update.d.ts.map +1 -0
  34. package/dist/commands/liberica/orgs/update.js +136 -0
  35. package/dist/commands/liberica/orgs/update.js.map +1 -0
  36. package/dist/core/api/client.d.ts +7 -1
  37. package/dist/core/api/client.d.ts.map +1 -1
  38. package/dist/core/api/client.js +128 -0
  39. package/dist/core/api/client.js.map +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/types/org.d.ts +38 -0
  42. package/dist/types/org.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/README.en.md +0 -757
package/README.ja.md CHANGED
@@ -1,498 +1,268 @@
1
1
  # ☕ Barista CLI
2
2
 
3
- <p align="center">
4
- <a href="./README.md"><img src="https://img.shields.io/badge/-简体中文-green?style=flat-square" alt="简体中文"></a>
5
- <a href="./README.en.md"><img src="https://img.shields.io/badge/-English-blue?style=flat-square" alt="English"></a>
6
- <a href="./README.ja.md"><img src="https://img.shields.io/badge/-日本語-red?style=flat-square" alt="日本語"></a>
7
- <a href="./README.vi.md"><img src="https://img.shields.io/badge/-Tiếng%20Việt-green?style=flat-square" alt="Tiếng Việt"></a>
8
- </p>
9
-
10
- <p align="center">
11
- <img src="https://img.shields.io/badge/AI--Native-CLI-blue?style=flat-square" alt="AI-Native">
12
- <img src="https://img.shields.io/badge/Liberica-Production%20SaaS-green?style=flat-square" alt="Liberica">
13
- <img src="https://img.shields.io/badge/Arabica-Sales%20Platform-orange?style=flat-square" alt="Arabica">
14
- <img src="https://img.shields.io/badge/Node.js-18%2B-brightgreen?style=flat-square" alt="Node.js 18+">
15
- </p>
16
-
17
- <p align="center">
18
- <strong>AI-Native CLI ツール</strong> - Liberica 生産管理 SaaS と Arabica 販売プラットフォームをシームレスに連携
19
- </p>
3
+ > **AIアシスタントに生産管理システムを操作させる** — AIツール(Claude Code、OpenCode、OpenClaw)と企業向けSaaSを連携
20
4
 
21
- ---
22
-
23
- ## 📋 目次
24
-
25
- - [プロジェクト概要](#プロジェクト概要)
26
- - [クイックスタート](#クイックスタート)
27
- - [アーキテクチャ設計](#アーキテクチャ設計)
28
- - [コマンドドキュメント](#コマンドドキュメント)
29
- - [高度な機能](#高度な機能)
30
- - [設定説明](#設定説明)
31
- - [AI 統合](#ai-統合)
32
- - [開発ガイド](#開発ガイド)
33
- - [貢献ガイド](#貢献ガイド)
5
+ [![npm version](https://img.shields.io/npm/v/@newpeak/barista-cli.svg?style=flat-square)](https://www.npmjs.com/package/@newpeak/barista-cli)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](LICENSE)
7
+ [![Weekly Downloads](https://img.shields.io/npm/dw/@newpeak/barista-cli?style=flat-square)](https://www.npmjs.com/package/@newpeak/barista-cli)
8
+ [![Node.js](https://img.shields.io/badge/Node.js-18%2B-brightgreen?style=flat-square)](https://nodejs.org/)
34
9
 
35
10
  ---
36
11
 
37
- ## プロジェクト概要
38
-
39
- Barista CLI は、Newpeak エコシステム専用に設計された AI-Native コマンドラインツールです。Liberica 生産管理 SaaS と Arabica 販売プラットフォームを管理するための統一インターフェースを提供します。
40
-
41
- ### コア機能
42
-
43
- | 機能 | 説明 |
44
- |------|------|
45
- | 🌍 **マルチ環境サポート** | dev、test、prod-cn、prod-jp の4環境をシームレスに切り替え |
46
- | 🏢 **マルチテナントアーキテクチャ** | マルチテナント環境設定と分離をサポート |
47
- | 🔐 **トークン認証** | システムキーチェーンに安全に保存、環境分離 |
48
- | 🧪 **Dry-Run モード** | すべての書き込み操作でプレビューをサポート、誤操作防止 |
49
- | 🤖 **AI 統合** | Claude Code 向けに最適化された JSON 出力形式 |
50
- | 🔄 **クロスサービス操作** | Liberica と Arabica 間のデータ同期 |
12
+ ## ⚡ クイックスタート
51
13
 
52
- ### 使用シナリオ
53
-
54
- - **生産計画管理**: 製造オーダーの作成、照会、キャンセル
55
- - **製品データ管理**: プラットフォーム横断の製品検索、情報同期
56
- - **顧客操作**: 顧客情報の照会、見積書の生成
57
- - **AI 自動化**: Claude Code を通じた業務プロセスの自動化
58
-
59
- ---
60
-
61
- ## クイックスタート
62
-
63
- ### インストール
14
+ ### 1. インストール
64
15
 
65
16
  ```bash
66
- # npm でインストール
67
17
  npm install -g @newpeak/barista-cli
68
-
69
- # または yarn で
70
- yarn global add @newpeak/barista-cli
71
-
72
- # インストール確認
73
- barista --version
74
18
  ```
75
19
 
76
- ### 初期設定
20
+ ### 2. 認証
77
21
 
78
22
  ```bash
79
- # 1. 設定ディレクトリを初期化
80
- barista init
81
-
82
- # 2. 資格情報でログイン(推奨方法、環境とテナントを自動的に設定)
83
- barista liberica auth login dev your-tenant your-username your-password
23
+ # AIはユーザーの代わりに操作するために認証情報が必要です
24
+ barista liberica auth login prod-cn your-tenant your-username your-password
84
25
 
85
- # または対話型ログイン(システムが不足情報をプロンプト表示)
26
+ # インタラクティブログイン(不足情報の入力を促す)
86
27
  barista liberica auth login
87
-
88
- # 3. ログイン状態を確認
89
- barista auth status
90
-
91
- # 4. 現在のコンテキストを表示(環境が自動的に設定されたことを確認)
92
- barista context show
93
28
  ```
94
29
 
95
- **注意**: `barista liberica auth login` を使用した後、システムは現在の環境コンテキストを自動的に設定するため、後続のコマンドで `--env` および `--tenant` パラメータを指定する必要はありません。
96
-
97
- ### 基本的な使用例
98
-
99
- ```bash
100
- # 現在のコンテキストを表示
101
- barista context show
102
-
103
- # すべてのオーダーを一覧表示(Liberica)
104
- barista liberica orders list
105
-
106
- # 製品を検索(あいまい検索対応)
107
- barista liberica products search --keyword "コーヒー機"
30
+ ### 3. AI統合
108
31
 
109
- # Arabica 製品カタログを表示
110
- barista arabica products public-catalog
111
-
112
- # 製造オーダーを作成(dry-run モードでプレビュー)
113
- barista liberica orders create --product-id 123 --quantity 100 --dry-run
114
- ```
115
-
116
- ---
117
-
118
- ## アーキテクチャ設計
119
-
120
- ### 環境マッピング
121
-
122
- #### Liberica(生産管理 SaaS)
123
-
124
- | 環境 | ドメイン形式 | 説明 |
125
- |------|-------------|------|
126
- | dev | `{tenant}-dev.newpeaksh.com` | 開発環境 |
127
- | test | `{tenant}-test.newpeaksh.com` | テスト環境 |
128
- | prod-cn | `{tenant}.newpeaksh.com` | 中国本番環境 |
129
- | prod-jp | `{tenant}.newpeakjp.com` | 日本本番環境 |
130
-
131
- #### Arabica(販売プラットフォーム)
132
-
133
- | 環境 | ドメイン | 説明 |
134
- |------|---------|------|
135
- | dev | `arabica-dev.newpeaksh.com` | 開発環境 |
136
- | test | `arabica-test.newpeaksh.com` | テスト環境 |
137
- | prod-cn | `www.newpeaksh.com` | 中国本番環境 |
138
- | prod-jp | `members.newpeakjp.com` | 日本本番環境 |
139
-
140
- ### 認証メカニズム
141
-
142
- Barista CLI はトークンベースの認証メカニズムを採用しています:
32
+ ```typescript
33
+ // Claude Code / OpenCode / OpenClaw 内:
34
+ const orders = await $`barista liberica orders list --env prod-cn --tenant your-tenant --json`
35
+ const { success, data } = JSON.parse(orders.stdout)
143
36
 
144
- ```
145
- ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
146
- │ Barista CLI │────▶│ Auth Server │────▶│ API Servers │
147
- │ │ │ │ │ │
148
- │ • ログイン要求 │ │ • 認証情報確認 │ │ • トークン確認 │
149
- │ • トークン保存 │◀────│ • JWT 発行 │◀────│ • データ返却 │
150
- │ (キーチェーン)│ │ │ │ │
151
- └─────────────────┘ └──────────────────┘ └─────────────────┘
37
+ // AIがデータを解析して操作
38
+ if (data.items.length > 0) {
39
+ console.log(`Found ${data.pagination.total} orders`)
40
+ }
152
41
  ```
153
42
 
154
- **セキュリティ機能:**
155
-
156
- - **キーチェーン保存**: トークンはシステムキーチェーン(macOS Keychain、Windows Credential、Linux Secret Service)に安全に保存
157
- - **自動認証スキップ**: 公開インターフェース(製品カタログ照会など)は認証不要
158
- - **環境分離**: 各環境とテナントは独立したトークンを使用、相互に影響なし
159
- - **トークン更新**: 有効期限が近づいたトークンの自動更新をサポート
43
+ **[AI統合の例を見る →](#ai-integration)**
160
44
 
161
45
  ---
162
46
 
163
- ## コマンドドキュメント
164
-
165
- > **完全なコマンドリファレンス**: すべてのコマンド(実装済みおよび開発予定)の完全なリファレンスは [コマンドリファレンス](./docs/commands/REFERENCE.md) を参照してください。
166
-
167
- ### コマンド構造
47
+ ## 🤖 AI統合
168
48
 
169
- ```
170
- barista <service> <resource> <action> [options]
171
- ```
49
+ Barista CLIはAIコーディングアシスタント向けに設計されています。すべての出力は構造化され、すべてのエラーは対処可能です。
172
50
 
173
- **例:**
174
-
175
- ```bash
176
- barista liberica orders list --page 1 --size 20
177
- barista arabica quotes calculate --product-id 123 --quantity 10
178
- ```
51
+ ### 対応AIツール
179
52
 
180
- ### グローバルオプション
53
+ | AIツール | 連携方法 | ステータス |
54
+ |---------|---------|-----------|
55
+ | **Claude Code** | `$` バッククォート + `--json` | ✅ 検証済み |
56
+ | **OpenCode** | シェルコマンド + JSON解析 | ✅ 検証済み |
57
+ | **OpenClaw** | シェルコマンド + JSON解析 | ✅ 検証済み |
58
+ | **Cursor** | ターミナル連携 | ✅ 対応 |
59
+ | **Continue** | CLIサブプロセス | ✅ 対応 |
181
60
 
182
- | オプション | 説明 | 例 |
183
- |----------|------|-----|
184
- | `--env` | 環境を指定 | `--env prod-cn` |
185
- | `--tenant` | テナントを指定 | `--tenant electionjp` |
186
- | `--service` | サービスを指定 | `--service liberica` |
187
- | `--dry-run` | プレビューモード | `--dry-run` |
188
- | `--json` | JSON 出力 | `--json` |
189
- | `--help` | ヘルプを表示 | `--help` |
61
+ ### 連携パターン
190
62
 
191
- ### コンテキスト管理
63
+ ```typescript
64
+ // 1. JSON出力でコマンド実行
65
+ const result = await $`barista liberica orders list \
66
+ --env prod-cn \
67
+ --tenant your-tenant \
68
+ --status pending \
69
+ --json \
70
+ --page 1 \
71
+ --size 50`
72
+
73
+ // 2. 構造化レスポンスを解析
74
+ const { success, data, meta } = JSON.parse(result.stdout)
75
+
76
+ if (!success) {
77
+ throw new Error(`API Error: ${meta.code || meta.error?.code} - ${meta.message || meta.error?.message}`)
78
+ }
192
79
 
193
- コンテキスト管理は、作業環境を素早く切り替えるために使用され、すべてのコマンドで環境パラメータを指定する必要がありません。
80
+ // 3. データを処理
81
+ const pendingOrders = data.items
82
+ console.log(`Found ${data.pagination.total} pending orders`)
194
83
 
195
- ```bash
196
- # 現在のコンテキストを表示
197
- barista context show
84
+ // 4. 安全に変更を実行
85
+ for (const order of pendingOrders) {
86
+ // 常にまずドライラン(AI安全確保)
87
+ const preview = await $`barista liberica orders cancel ${order.id} --dry-run`
198
88
 
199
- # 出力例:
200
- # ┌─────────────┬─────────────────┐
201
- # │ 属性 │ 値 │
202
- # ├─────────────┼─────────────────┤
203
- # │ 現在の環境 │ dev │
204
- # │ 現在のテナント│ electionjp │
205
- # │ 現在のサービス│ liberica │
206
- # │ トークン状態│ ログイン済み │
207
- # │ トークン有効期限│ 2024-12-31 │
208
- # └─────────────┴─────────────────┘
209
-
210
- # 環境を切り替え
211
- barista context use-env [dev|test|prod-cn|prod-jp]
212
-
213
- # テナントを切り替え
214
- barista context use-tenant <tenant-name>
215
-
216
- # デフォルトサービスを切り替え
217
- barista context use-service [liberica|arabica]
89
+ // プレビューを解析、検証、--forceで実行
90
+ // ...
91
+ }
218
92
  ```
219
93
 
220
- ### 認証管理
221
-
222
- Barista CLI は2つのログイン方法を提供します:
94
+ ### レスポンスエンベロープ
223
95
 
224
- #### 1. 資格情報ログイン(推奨)
225
- ユーザー名とパスワードを使用した完全な認証フローで、トークンを自動的に取得・保存します:
96
+ すべてのJSONレスポンスは以下の構造に従います:
226
97
 
227
- ```bash
228
- # Liberica 資格情報ログイン
229
- barista liberica auth login <env> [tenant] [username] [password]
230
-
231
- # 例:Liberica テスト環境にログイン
232
- barista liberica auth login test electionjp admin@shanghai.newpeaksh.com 123456
233
-
234
- # 対話型ログイン(システムが不足情報をプロンプト表示)
235
- barista liberica auth login
236
-
237
- # ログイン後、現在の環境コンテキストが自動的に設定されます
98
+ ```json
99
+ {
100
+ "success": true,
101
+ "data": {
102
+ "items": [...],
103
+ "pagination": { "page": 1, "size": 20, "total": 150 }
104
+ },
105
+ "meta": {
106
+ "requestId": "req-abc123",
107
+ "timestamp": "2024-01-15T10:30:00Z",
108
+ "environment": "prod-cn",
109
+ "tenant": "your-tenant"
110
+ }
111
+ }
238
112
  ```
239
113
 
240
- #### 2. トークン直接保存
241
- 既に JWT トークンを持っている場合に適しています(例:他のソースから取得):
242
-
243
- ```bash
244
- # トークンを直接保存
245
- barista auth login --service <service> --env <env> [--tenant <tenant>]
246
-
247
- # 例:Liberica 開発環境トークンを保存
248
- barista auth login --service liberica --env dev --tenant electionjp
249
- # プロンプト: トークンを入力: [既存のトークンを入力]
250
-
251
- # ログイン状態を確認
252
- barista auth status
114
+ **エラー形式:**
253
115
 
254
- # 出力例:
255
- # ✓ Liberica (dev) - ログイン済み (有効期限: 2024-12-31)
256
- # ✗ Liberica (test) - 未ログイン
257
- # ✓ Arabica (prod-cn) - ログイン済み (有効期限: 2024-12-30)
258
-
259
- # ログアウト(トークンをクリア)
260
- barista auth logout --service <service> --env <env>
261
-
262
- # すべての環境からログアウト
263
- barista auth logout --all
116
+ ```json
117
+ {
118
+ "success": false,
119
+ "error": {
120
+ "code": "A150001",
121
+ "message": "Order not found"
122
+ },
123
+ "meta": {
124
+ "requestId": "req-xyz789",
125
+ "timestamp": "2024-01-15T10:30:00Z"
126
+ }
127
+ }
264
128
  ```
265
129
 
266
- **重要**: `barista liberica auth login` を使用した後、システムは現在の環境コンテキストを自動的に設定するため、後続のコマンドで `--env` パラメータを指定する必要はありません。
267
-
268
- ### Liberica コマンド
130
+ ### Claude Code用スキル
269
131
 
270
- #### オーダー管理
132
+ 再利用者スキルファイルをインストール:
271
133
 
272
134
  ```bash
273
- # オーダーを一覧表示(ページング)
274
- barista liberica orders list [--page <n>] [--size <n>] [--status <status>]
275
-
276
- # 単一オーダーの詳細を取得
277
- barista liberica orders get <order-id>
278
-
279
- # オーダーを作成
280
- barista liberica orders create \
281
- --product-id <id> \
282
- --quantity <n> \
283
- [--delivery-date <date>] \
284
- [--note <text>]
285
-
286
- # オーダーをキャンセル
287
- barista liberica orders cancel <order-id> [--reason <text>]
135
+ # スキルは ~/.barista/claude/skills/ に配置
136
+ barista skills install
288
137
  ```
289
138
 
290
- #### 製品管理
139
+ **利用可能なスキル:**
140
+ - `orders.md` — 注文管理ワークフロー
141
+ - `products.md` — 商品検索と同期
142
+ - `warehouses.md` — 在庫操作
143
+ - `subscriptions.md` — Arabicaサブスクリプション管理
291
144
 
292
- ```bash
293
- # 製品を検索
294
- barista liberica products search --keyword <keyword> [--category <id>]
295
-
296
- # 製品詳細を取得
297
- barista liberica products get <product-id>
298
-
299
- # 公開製品リストを取得(認証不要)
300
- barista liberica products public-list [--category <id>] [--page <n>]
301
- ```
145
+ ---
302
146
 
303
- #### 生産計画
147
+ ## 🚀 機能
304
148
 
305
- ```bash
306
- # 生産スケジュールを表示
307
- barista liberica production schedule [--start-date <date>] [--end-date <date>]
149
+ ### AIファースト設計
308
150
 
309
- # 再スケジュール
310
- barista liberica production reschedule <order-id> --new-date <date> [--dry-run]
151
+ | 機能 | 説明 |
152
+ |-----|------|
153
+ | 🤖 **JSONファースト出力** | すべてのコマンドがAI解析用に`--json`をサポート |
154
+ | 📦 **構造化レスポンス** | 一貫した`{success, data, meta}`エンベロープ |
155
+ | 🔄 **冪等操作** | AIリトライループでも安全 |
156
+ | 🛡️ **デフォルトでドライラン** | 破壊的操作は実行前にプレビュー |
157
+ | 🔐 **セキュア保存** | 認証情報はenv変数ではなくシステムキーチェーンに保存 |
311
158
 
312
- # 生産能力を照会
313
- barista liberica production capacity [--date <date>] [--line <line-id>]
314
- ```
159
+ ### 企業連携
315
160
 
316
- ### Arabica コマンド
161
+ | サービス | 機能 |
162
+ |---------|------|
163
+ | ☕ **Liberica** | 注文、商品、在庫、倉庫、生産計画 |
164
+ | 🛒 **Arabica** | サブスクリプションプラン、請求、請求書、企業管理 |
165
+ | 🔗 **クロスサービス** | 注文から見積、システム間同期 |
317
166
 
318
- #### 製品管理
167
+ ### 運用安全
319
168
 
320
- ```bash
321
- # 製品を一覧表示
322
- barista arabica products list [--page <n>] [--size <n>] [--category <id>]
169
+ - 📊 **監査証跡** — 操作ごとにリクエストIDでログ記録
170
+ - ⚠️ **確認保護** — `--dry-run` / `--force` で書き込み操作を保護
171
+ - 🏢 **マルチテナント隔離** 認証情報はテナントごとに分離
323
172
 
324
- # 製品を検索
325
- barista arabica products search --keyword <keyword>
173
+ ---
326
174
 
327
- # 製品カタログを取得(公開インターフェース)
328
- barista arabica products public-catalog [--lang <zh|jp|en>]
329
- ```
175
+ ## 🔧 コマンドリファレンス
330
176
 
331
- #### 見積管理
177
+ ### コアパターン
332
178
 
333
- ```bash
334
- # 見積を計算
335
- barista arabica quotes calculate \
336
- --product-id <id> \
337
- --quantity <n> \
338
- [--options <json>]
339
-
340
- # 見積書を作成
341
- barista arabica quotes create \
342
- --customer-id <id> \
343
- --items <json> \
344
- [--valid-days <n>]
345
179
  ```
346
-
347
- #### 顧客管理
348
-
349
- ```bash
350
- # 顧客を検索
351
- barista arabica customers search --keyword <keyword> [--type <type>]
352
-
353
- # 顧客詳細を取得
354
- barista arabica customers get <customer-id>
180
+ barista <service> <resource> <action> [options]
355
181
  ```
356
182
 
357
- ### クロスサービスコマンド
183
+ ### グローバルオプション
358
184
 
359
- クロスサービスコマンドは、Liberica Arabica 間のデータ同期と業務プロセスの連携を実現します。
360
-
361
- ```bash
362
- # オーダーから見積書を生成
363
- barista cross quote-from-order <order-id> [--target-service arabica]
364
-
365
- # 出力例:
366
- # 見積書を生成しました
367
- # ┌──────────┬────────────┐
368
- # │ 属性 │ 値 │
369
- # ├──────────┼────────────┤
370
- # │ オーダーID│ 12345 │
371
- # 見積書ID QT-2024-001│
372
- # │ 金額 │ ¥50,000 │
373
- # 有効期限 30日 │
374
- # └──────────┴────────────┘
375
-
376
- # オーダー状態を Arabica に同期
377
- barista cross sync-order <order-id> [--direction liberica-to-arabica]
378
- ```
185
+ | オプション | 説明 | デフォルト |
186
+ |-----------|------|----------|
187
+ | `--env` | 環境 (dev\|test\|prod-cn\|prod-jp) | `dev` |
188
+ | `--tenant` | テナント名 | - |
189
+ | `--json` | JSON出力 | `false` |
190
+ | `--dry-run` | プレビューモード(AI推奨) | `false` |
191
+ | `--force` | 確認スキップ | `false` |
192
+ | `--page` | ページ番号 | `1` |
193
+ | `--size` | ページサイズ(最大件数) | `20` |
194
+
195
+ ### クイックリファレンス
196
+
197
+ | コマンド | 説明 |
198
+ |---------|------|
199
+ | `barista context show` | 現在のenv/テナントコンテキストを表示 |
200
+ | `barista context use-env <env>` | 環境を切り替え |
201
+ | `barista liberica orders list --json` | 注文一覧(AI形式) |
202
+ | `barista liberica orders get <id> --json` | 注文詳細取得 |
203
+ | `barista liberica orders create --dry-run ...` | 作成プレビュー |
204
+ | `barista liberica products search --keyword <kw> --json` | 商品検索 |
205
+ | `barista arabica plans list --json` | サブスクリプションプラン一覧 |
206
+ | `barista arabica invoices list --json` | 請求書一覧 |
207
+
208
+ **[→ 詳細コマンドリファレンス](./docs/commands/REFERENCE.md)**
379
209
 
380
210
  ---
381
211
 
382
- ## 高度な機能
212
+ ## 🛡️ AI安全ガイドライン
383
213
 
384
- ### Dry-Run モード
214
+ ### 1. 常にまずドライランを実行
385
215
 
386
- Dry-Run モードを使用すると、書き込み操作を実行する前にその影響をプレビューでき、誤操作を防ぐことができます。
216
+ ```typescript
217
+ // ❌ 間違い — 盲目的に実行
218
+ await $`barista liberica orders cancel 12345`
387
219
 
388
- ```bash
389
- # すべての書き込み操作は --dry-run オプションをサポート
390
- barista liberica orders create --product-id 123 --quantity 100 --dry-run
391
-
392
- # 出力例:
393
- # 🔍 Dry-Run モード:操作は実際に実行されません
394
- # ┌─────────────────┬──────────────────────┐
395
- # │ 操作 │ オーダー作成 │
396
- # ├─────────────────┼──────────────────────┤
397
- # │ 製品 │ コーヒー機 Pro (ID: 123) │
398
- # │ 数量 │ 100 │
399
- # │ 予定金額 │ ¥50,000 │
400
- # │ 予定納期 │ 2024-12-31 │
401
- # │ 影響 │ オーダーレコードを1件追加 │
402
- # └─────────────────┴──────────────────────┘
403
- #
404
- # ⚠️ 実行を確認?--confirm オプションを追加するか --dry-run を削除してください
220
+ // ✅ 正しい — まずプレビュー
221
+ const preview = await $`barista liberica orders cancel 12345 --dry-run`
222
+ // プレビューを解析、検証してから:
223
+ await $`barista liberica orders cancel 12345 --force`
405
224
  ```
406
225
 
407
- **デフォルトで Dry-Run の操作:**
408
-
409
- 以下の破壊的な操作はデフォルトで Dry-Run モードが有効で、明示的な確認が必要です:
410
-
411
- - オーダーキャンセル
412
- - 製品削除
413
- - バッチ更新
226
+ ### 2. 続行前に成功を確認
414
227
 
415
- ### JSON 出力形式
416
-
417
- Barista CLI はスクリプト処理と AI 統合のために JSON 出力をサポートしています:
418
-
419
- ```bash
420
- barista liberica orders list --json
421
-
422
- # 出力例:
423
- {
424
- "success": true,
425
- "data": {
426
- "items": [
427
- {
428
- "id": "12345",
429
- "productName": "コーヒー機 Pro",
430
- "quantity": 100,
431
- "status": "in_production",
432
- "createdAt": "2024-01-15T10:30:00Z"
433
- }
434
- ],
435
- "pagination": {
436
- "page": 1,
437
- "size": 20,
438
- "total": 150
439
- }
440
- }
228
+ ```typescript
229
+ const result = JSON.parse(stdout)
230
+ if (!result.success) {
231
+ // エラーを処理、続行しない
232
+ throw new Error(result.error?.message || result.meta?.message)
441
233
  }
442
234
  ```
443
235
 
444
- ### CSV エクスポート形式
445
-
446
- Barista CLI はデータ分析と Excel 処理に適した CSV 形式のエクスポートをサポートしています:
236
+ ### 3. デバッグにリクエストIDを使用
447
237
 
448
- ```bash
449
- # 辞書タイプデータを CSV としてエクスポート
450
- barista liberica dict-types tenant-items --lang ja --all --csv --output ./dict-data.csv
451
-
452
- # 出力機能:
453
- # • UTF-8 with BOM エンコーディングにより、Excel での日本語文字の正しい認識を保証
454
- # • 特殊文字の自動エスケープ(カンマ、引用符、改行)
455
- # • カスタム出力ファイルパスのサポート
456
- # • --json と組み合わせて両方の出力形式を取得可能
238
+ ```typescript
239
+ const { meta } = JSON.parse(stdout)
240
+ console.log(`Request ID: ${meta.requestId}`)
457
241
  ```
458
242
 
459
- CSV ファイルは UTF-8 with BOM エンコーディングを使用しており、Microsoft Excel などのツールで日本語、中国語、ベトナム語などの Unicode 文字が正しく表示されます。
243
+ ### 4. レート制限を遵守
244
+
245
+ - 一括操作間に遅延を追加
246
+ - 一括取得には`--size 100`を使用
247
+ - 適切な場面でレスポンスをキャッシュ
460
248
 
461
249
  ---
462
250
 
463
- ## 設定説明
251
+ ## ⚙️ 設定
464
252
 
465
- ### 設定ファイル
253
+ ### ファイル場所
466
254
 
467
- 設定ファイルは `~/.barista/config.yaml` にあります:
255
+ `~/.barista/config.yaml`
468
256
 
469
- ```yaml
470
- # Barista CLI 設定ファイル
257
+ ### クイック設定
471
258
 
472
- # デフォルトコンテキスト設定
259
+ ```yaml
473
260
  defaults:
474
- env: dev
475
- tenant: electionjp
261
+ env: prod-cn
262
+ tenant: your-tenant
476
263
  service: liberica
477
264
 
478
- # 環境設定
479
265
  environments:
480
- dev:
481
- liberica:
482
- baseUrl: "https://{tenant}-dev.newpeaksh.com"
483
- timeout: 30000
484
- arabica:
485
- baseUrl: "https://arabica-dev.newpeaksh.com"
486
- timeout: 30000
487
-
488
- test:
489
- liberica:
490
- baseUrl: "https://{tenant}-test.newpeaksh.com"
491
- timeout: 30000
492
- arabica:
493
- baseUrl: "https://arabica-test.newpeaksh.com"
494
- timeout: 30000
495
-
496
266
  prod-cn:
497
267
  liberica:
498
268
  baseUrl: "https://{tenant}.newpeaksh.com"
@@ -500,252 +270,71 @@ environments:
500
270
  arabica:
501
271
  baseUrl: "https://www.newpeaksh.com"
502
272
  timeout: 60000
503
-
504
- prod-jp:
505
- liberica:
506
- baseUrl: "https://{tenant}.newpeakjp.com"
507
- timeout: 60000
508
- arabica:
509
- baseUrl: "https://members.newpeakjp.com"
510
- timeout: 60000
511
-
512
- # 出力設定
513
- output:
514
- format: table # table | json
515
- color: true
516
- timestamp: true
517
273
  ```
518
274
 
519
- ### マルチテナント設定
520
-
521
- 複数のテナントを設定し、素早く切り替えることができます:
275
+ ### 認証
522
276
 
523
277
  ```bash
524
- # テナント設定を追加
525
- barista config add-tenant \
526
- --name customer-a \
527
- --liberica-id customer-a-id \
528
- --arabica-id customer-a-arabica-id
278
+ # 認証情報ログイン(推奨)
279
+ barista liberica auth login <env> <tenant> <username> <password>
529
280
 
530
- # 設定済みテナントを一覧表示
531
- barista config list-tenants
281
+ # 認証状態確認
282
+ barista auth status
532
283
 
533
- # テナントを素早く切り替え
534
- barista context use-tenant customer-a
284
+ # ログアウト
285
+ barista auth logout --service liberica --env prod-cn
535
286
  ```
536
287
 
537
288
  ---
538
289
 
539
- ## AI 統合
540
-
541
- Barista CLI は AI プログラミングアシスタント向けに最適化されており、特に Claude Code をサポートしています。
542
-
543
- ### Claude Code 使用例
544
-
545
- ```typescript
546
- // Claude Code で Barista CLI を使用
547
- // 例:オーダーリストを取得して分析
548
-
549
- const result = await $`barista liberica orders list --json --page 1 --size 10`;
550
- const orders = JSON.parse(result.stdout);
551
-
552
- // オーダーデータを分析
553
- const analysis = orders.data.items.map(order => ({
554
- id: order.id,
555
- status: order.status,
556
- amount: order.amount
557
- }));
558
- ```
559
-
560
- ### Skills ファイル
290
+ ## トラブルシューティング
561
291
 
562
- Barista CLI は Claude Code Skills ファイルを提供しています。場所:
563
-
564
- ```
565
- ~/.barista/claude/skills/
566
- ├── orders.md # オーダー管理スキル
567
- ├── products.md # 製品管理スキル
568
- ├── quotes.md # 見積管理スキル
569
- └── customers.md # 顧客管理スキル
570
- ```
571
-
572
- **Skills ファイルの例:**
573
-
574
- ```markdown
575
- # オーダー管理スキル
576
-
577
- ## 保留中のオーダーを一覧表示
578
-
579
- ユーザーが保留中のオーダーについて尋ねた場合:
580
-
581
- 1. コマンドを実行:barista liberica orders list --status pending --json
582
- 2. 返された JSON を解析
583
- 3. オーダー数と合計金額を要約
584
- 4. 上位5件のオーダーの重要情報を一覧表示
585
-
586
- ## 新規オーダーを作成
587
-
588
- ユーザーがオーダーの作成が必要な場合:
589
-
590
- 1. 製品 ID と数量を確認
591
- 2. dry-run でプレビュー:barista liberica orders create --dry-run ...
592
- 3. ユーザー確認後に実際のコマンドを実行
593
- ```
594
-
595
- ### AI フレンドリーな出力
596
-
597
- すべてのコマンドは `--json` オプションをサポートし、構造化された JSON データを返します:
292
+ ### 認証失敗
598
293
 
599
294
  ```bash
600
- # 構造化出力で照会
601
- barista liberica orders get 12345 --json
602
-
603
- {
604
- "success": true,
605
- "data": {
606
- "id": "12345",
607
- "status": "in_production",
608
- "product": {
609
- "id": "100",
610
- "name": "コーヒー機 Pro"
611
- },
612
- "quantity": 100,
613
- "amount": 50000,
614
- "timeline": {
615
- "created": "2024-01-15T10:30:00Z",
616
- "delivery": "2024-02-15"
617
- }
618
- },
619
- "meta": {
620
- "requestId": "req-abc123",
621
- "timestamp": "2024-01-15T10:30:00Z"
622
- }
623
- }
624
- ```
625
-
626
- ---
627
-
628
- ## 開発ガイド
295
+ # 現在の状態を確認
296
+ barista auth status
629
297
 
630
- ### プロジェクト構造
298
+ # 再認証
299
+ barista liberica auth login prod-cn your-tenant your-username your-password
631
300
 
632
- ```
633
- coffee-barista-cli/
634
- ├── bin/
635
- │ └── barista.js # エントリーファイル
636
- ├── src/
637
- │ ├── commands/ # コマンド実装
638
- │ │ ├── context/ # コンテキスト管理コマンド
639
- │ │ ├── auth/ # 認証コマンド
640
- │ │ ├── liberica/ # Liberica サービスコマンド
641
- │ │ │ ├── orders.js
642
- │ │ │ ├── products.js
643
- │ │ │ └── production.js
644
- │ │ ├── arabica/ # Arabica サービスコマンド
645
- │ │ │ ├── products.js
646
- │ │ │ ├── quotes.js
647
- │ │ │ └── customers.js
648
- │ │ └── cross/ # クロスサービスコマンド
649
- │ ├── core/ # コアモジュール
650
- │ │ ├── auth.js # 認証管理
651
- │ │ ├── config.js # 設定管理
652
- │ │ ├── context.js # コンテキスト管理
653
- │ │ └── api-client.js # API クライアント
654
- │ ├── utils/ # ユーティリティ関数
655
- │ │ ├── formatter.js # 出力フォーマット
656
- │ │ ├── validator.js # パラメータ検証
657
- │ │ └── keychain.js # キーチェーン操作
658
- │ └── templates/ # テンプレートファイル
659
- ├── skills/ # Claude Code Skills
660
- ├── tests/ # テストファイル
661
- ├── package.json
662
- └── README.md
301
+ # コンテキスト確認
302
+ barista context show
663
303
  ```
664
304
 
665
- ### ローカル開発
305
+ ### APIエラー
666
306
 
667
307
  ```bash
668
- # 1. リポジトリをクローン
669
- git clone https://gitlab.newpeaksh.com/coffee/coffee-barista-cli.git
670
- cd coffee-barista-cli
671
-
672
- # 2. 依存関係をインストール
673
- npm install
674
-
675
- # 3. グローバルにリンク(開発モード)
676
- npm link
677
-
678
- # 4. リンクを確認
679
- barista --version
680
-
681
- # 5. テストを実行
682
- npm test
308
+ # 常に--jsonでエラーコードを取得
309
+ barista liberica orders list --json
683
310
 
684
- # 6. コードチェック
685
- npm run lint
311
+ # エラーレスポンスにはデバッグ用のrequestIdが含まれる
312
+ # "requestId": "req-abc123"
686
313
  ```
687
314
 
688
- ### 新しいコマンドを追加
689
-
690
- **重要**:新しいコマンドは [コマンド設計仕様](./docs/COMMAND_DESIGN_SPEC.md) に従う必要があり、設計ドキュメントの作成、技術レビューなどの完全なプロセスが含まれます。
691
-
692
- 詳細な手順については以下を参照してください:
693
- - [完全なコマンドリファレンス](./docs/commands/REFERENCE.md) - すべてのコマンドリストと開発優先度
694
- - [コマンド設計仕様ドキュメント](./docs/COMMAND_DESIGN_SPEC.md#5-コマンド開発フロー)
695
- - [コマンド開発ガイド](./docs/COMMANDS.md)
696
-
697
- ---
698
-
699
- ## 貢献ガイド
700
-
701
- バグ報告、新機能の提案、ドキュメントの改善、コード修正、新機能の追加など、あらゆる形態の貢献を歓迎します。
702
-
703
- ### コミット規約
704
-
705
- [Conventional Commits](https://www.conventionalcommits.org/) 仕様に従ってください:
315
+ ### タイムアウト
706
316
 
707
317
  ```bash
708
- # バグ修正
709
- fix: オーダーリストのページング問題を修正
710
-
711
- # 機能追加
712
- feat: 在庫照会コマンドを追加
318
+ # より近い環境に切り替え
319
+ barista context use-env dev
713
320
 
714
- # ドキュメント更新
715
- docs: README の環境マッピングを更新
716
-
717
- # コードリファクタリング
718
- refactor: API クライアントのエラー処理をリファクタリング
321
+ # またはconfig.yamlでタイムアウトを調整
719
322
  ```
720
323
 
721
- ### 開発フロー
722
-
723
- 1. このリポジトリをフォーク
724
- 2. 機能ブランチを作成:`git checkout -b feature/my-feature`
725
- 3. 変更をコミット:`git commit -m 'feat: add some feature'`
726
- 4. ブランチをプッシュ:`git push origin feature/my-feature`
727
- 5. Pull Request を作成
728
-
729
324
  ---
730
325
 
731
- ## 関連プロジェクト
326
+ ## 📚 関連プロジェクト
732
327
 
733
- | プロジェクト | 説明 | リンク |
734
- |------------|------|--------|
735
- | ☕ Liberica Backend | 生産管理 SaaS バックエンド | [coffee-liberica-end](https://gitlab.newpeaksh.com/coffee/coffee-liberica-end) |
736
- | 🖥️ Liberica Frontend | 生産管理 Web フロントエンド | [coffee-liberica-front](https://gitlab.newpeaksh.com/coffee/coffee-liberica-front) |
737
- | 📱 Liberica Mobile | 生産管理モバイル | [coffee-liberica-mobile-front](https://gitlab.newpeaksh.com/coffee/coffee-liberica-mobile-front) |
738
- | 🛒 Arabica Backend | 販売プラットフォームバックエンド | [coffee-arabica-end](https://gitlab.newpeaksh.com/coffee/coffee-arabica-end) |
739
- | 🌐 Arabica Frontend | 販売プラットフォームフロントエンド | [coffee-arabica-front](https://gitlab.newpeaksh.com/coffee/coffee-arabica-front) |
328
+ | プロジェクト | 説明 |
329
+ |------------|------|
330
+ | ☕ Liberica Backend | 生産管理SaaSバックエンド |
331
+ | 🖥️ Liberica Frontend | 生産管理Web UI |
332
+ | 📱 Liberica Mobile | 生産管理モバイルアプリ |
333
+ | 🛒 Arabica Backend | オンラインサブスクリプションSaaSバックエンド |
334
+ | 🌐 Arabica Frontend | オンラインサブスクリプションWeb UI |
740
335
 
741
336
  ---
742
337
 
743
- ## ライセンス
338
+ ## 📄 ライセンス
744
339
 
745
340
  [MIT](LICENSE) © Newpeak Technology
746
-
747
- ---
748
-
749
- <p align="center">
750
- ☕ で生産性を向上
751
- </p>