@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.
- package/README.ja.md +209 -620
- package/README.md +206 -755
- package/README.vi.md +206 -623
- package/README.zh.md +340 -0
- package/dist/commands/liberica/orgs/batch-delete.d.ts +3 -0
- package/dist/commands/liberica/orgs/batch-delete.d.ts.map +1 -0
- package/dist/commands/liberica/orgs/batch-delete.js +109 -0
- package/dist/commands/liberica/orgs/batch-delete.js.map +1 -0
- package/dist/commands/liberica/orgs/create.d.ts +3 -0
- package/dist/commands/liberica/orgs/create.d.ts.map +1 -0
- package/dist/commands/liberica/orgs/create.js +131 -0
- package/dist/commands/liberica/orgs/create.js.map +1 -0
- package/dist/commands/liberica/orgs/disable.d.ts +3 -0
- package/dist/commands/liberica/orgs/disable.d.ts.map +1 -0
- package/dist/commands/liberica/orgs/disable.js +98 -0
- package/dist/commands/liberica/orgs/disable.js.map +1 -0
- package/dist/commands/liberica/orgs/enable.d.ts +3 -0
- package/dist/commands/liberica/orgs/enable.d.ts.map +1 -0
- package/dist/commands/liberica/orgs/enable.js +98 -0
- package/dist/commands/liberica/orgs/enable.js.map +1 -0
- package/dist/commands/liberica/orgs/get.d.ts +3 -0
- package/dist/commands/liberica/orgs/get.d.ts.map +1 -0
- package/dist/commands/liberica/orgs/get.js +79 -0
- package/dist/commands/liberica/orgs/get.js.map +1 -0
- package/dist/commands/liberica/orgs/index.d.ts.map +1 -1
- package/dist/commands/liberica/orgs/index.js +15 -21
- package/dist/commands/liberica/orgs/index.js.map +1 -1
- package/dist/commands/liberica/orgs/list.d.ts +3 -0
- package/dist/commands/liberica/orgs/list.d.ts.map +1 -0
- package/dist/commands/liberica/orgs/list.js +51 -0
- package/dist/commands/liberica/orgs/list.js.map +1 -0
- package/dist/commands/liberica/orgs/update.d.ts +3 -0
- package/dist/commands/liberica/orgs/update.d.ts.map +1 -0
- package/dist/commands/liberica/orgs/update.js +136 -0
- package/dist/commands/liberica/orgs/update.js.map +1 -0
- package/dist/core/api/client.d.ts +7 -1
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +128 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/types/org.d.ts +38 -0
- package/dist/types/org.d.ts.map +1 -1
- package/package.json +1 -1
- package/README.en.md +0 -757
package/README.ja.md
CHANGED
|
@@ -1,498 +1,268 @@
|
|
|
1
1
|
# ☕ Barista CLI
|
|
2
2
|
|
|
3
|
-
|
|
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
|
+
[](https://www.npmjs.com/package/@newpeak/barista-cli)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://www.npmjs.com/package/@newpeak/barista-cli)
|
|
8
|
+
[](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
|
-
#
|
|
80
|
-
barista
|
|
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
|
-
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
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
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
-
|
|
225
|
-
ユーザー名とパスワードを使用した完全な認証フローで、トークンを自動的に取得・保存します:
|
|
96
|
+
すべてのJSONレスポンスは以下の構造に従います:
|
|
226
97
|
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
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
|
-
|
|
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
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
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
|
-
|
|
267
|
-
|
|
268
|
-
### Liberica コマンド
|
|
130
|
+
### Claude Code用スキル
|
|
269
131
|
|
|
270
|
-
|
|
132
|
+
再利用者スキルファイルをインストール:
|
|
271
133
|
|
|
272
134
|
```bash
|
|
273
|
-
#
|
|
274
|
-
barista
|
|
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
|
-
|
|
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
|
-
|
|
306
|
-
# 生産スケジュールを表示
|
|
307
|
-
barista liberica production schedule [--start-date <date>] [--end-date <date>]
|
|
149
|
+
### AIファースト設計
|
|
308
150
|
|
|
309
|
-
|
|
310
|
-
|
|
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
|
-
|
|
161
|
+
| サービス | 機能 |
|
|
162
|
+
|---------|------|
|
|
163
|
+
| ☕ **Liberica** | 注文、商品、在庫、倉庫、生産計画 |
|
|
164
|
+
| 🛒 **Arabica** | サブスクリプションプラン、請求、請求書、企業管理 |
|
|
165
|
+
| 🔗 **クロスサービス** | 注文から見積、システム間同期 |
|
|
317
166
|
|
|
318
|
-
|
|
167
|
+
### 運用安全
|
|
319
168
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
barista
|
|
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
|
-
###
|
|
214
|
+
### 1. 常にまずドライランを実行
|
|
385
215
|
|
|
386
|
-
|
|
216
|
+
```typescript
|
|
217
|
+
// ❌ 間違い — 盲目的に実行
|
|
218
|
+
await $`barista liberica orders cancel 12345`
|
|
387
219
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
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
|
-
|
|
408
|
-
|
|
409
|
-
以下の破壊的な操作はデフォルトで Dry-Run モードが有効で、明示的な確認が必要です:
|
|
410
|
-
|
|
411
|
-
- オーダーキャンセル
|
|
412
|
-
- 製品削除
|
|
413
|
-
- バッチ更新
|
|
226
|
+
### 2. 続行前に成功を確認
|
|
414
227
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
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
|
-
###
|
|
445
|
-
|
|
446
|
-
Barista CLI はデータ分析と Excel 処理に適した CSV 形式のエクスポートをサポートしています:
|
|
236
|
+
### 3. デバッグにリクエストIDを使用
|
|
447
237
|
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
|
|
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
|
-
|
|
243
|
+
### 4. レート制限を遵守
|
|
244
|
+
|
|
245
|
+
- 一括操作間に遅延を追加
|
|
246
|
+
- 一括取得には`--size 100`を使用
|
|
247
|
+
- 適切な場面でレスポンスをキャッシュ
|
|
460
248
|
|
|
461
249
|
---
|
|
462
250
|
|
|
463
|
-
##
|
|
251
|
+
## ⚙️ 設定
|
|
464
252
|
|
|
465
|
-
###
|
|
253
|
+
### ファイル場所
|
|
466
254
|
|
|
467
|
-
|
|
255
|
+
`~/.barista/config.yaml`
|
|
468
256
|
|
|
469
|
-
|
|
470
|
-
# Barista CLI 設定ファイル
|
|
257
|
+
### クイック設定
|
|
471
258
|
|
|
472
|
-
|
|
259
|
+
```yaml
|
|
473
260
|
defaults:
|
|
474
|
-
env:
|
|
475
|
-
tenant:
|
|
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
|
|
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
|
|
281
|
+
# 認証状態確認
|
|
282
|
+
barista auth status
|
|
532
283
|
|
|
533
|
-
#
|
|
534
|
-
barista
|
|
284
|
+
# ログアウト
|
|
285
|
+
barista auth logout --service liberica --env prod-cn
|
|
535
286
|
```
|
|
536
287
|
|
|
537
288
|
---
|
|
538
289
|
|
|
539
|
-
##
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
#
|
|
669
|
-
|
|
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
|
-
#
|
|
685
|
-
|
|
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
|
-
|
|
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 | 生産管理
|
|
736
|
-
| 🖥️ Liberica Frontend | 生産管理
|
|
737
|
-
| 📱 Liberica Mobile |
|
|
738
|
-
| 🛒 Arabica Backend |
|
|
739
|
-
| 🌐 Arabica Frontend |
|
|
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>
|