@newpeak/barista-cli 0.1.5 → 0.1.7

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