@newpeak/barista-cli 0.1.15 → 0.1.17
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/LICENSE +21 -0
- 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/employees/update.d.ts.map +1 -1
- package/dist/commands/liberica/employees/update.js +9 -1
- package/dist/commands/liberica/employees/update.js.map +1 -1
- 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/employee.d.ts +1 -0
- package/dist/types/employee.d.ts.map +1 -1
- package/dist/types/org.d.ts +38 -0
- package/dist/types/org.d.ts.map +1 -1
- package/package.json +25 -2
- package/README.en.md +0 -757
package/README.vi.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>Công cụ CLI AI-Native</strong> - Kết nối liền mạch giữa Liberica SaaS Quản lý Sản xuất và Nền tảng Bán hàng Arabica
|
|
19
|
-
</p>
|
|
3
|
+
> **Để AI assistants điều khiển hệ thống quản lý sản xuất** — Kết nối AI tools (Claude Code, OpenCode, OpenClaw) với SaaS doanh nghiệp
|
|
20
4
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- [Giới thiệu Dự án](#giới-thiệu-dự-án)
|
|
26
|
-
- [Bắt đầu Nhanh](#bắt-đầu-nhanh)
|
|
27
|
-
- [Thiết kế Kiến trúc](#thiết-kế-kiến-trúc)
|
|
28
|
-
- [Tài liệu Lệnh](#tài-liệu-lệnh)
|
|
29
|
-
- [Tính năng Nâng cao](#tính-năng-nâng-cao)
|
|
30
|
-
- [Cấu hình](#cấu-hình)
|
|
31
|
-
- [Tích hợp AI](#tích-hợp-ai)
|
|
32
|
-
- [Hướng dẫn Phát triển](#hướng-dẫn-phát-triển)
|
|
33
|
-
- [Hướng dẫn Đóng góp](#hướng-dẫn-đóng-góp)
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Giới thiệu Dự án
|
|
38
|
-
|
|
39
|
-
Barista CLI là công cụ dòng lệnh AI-Native được thiết kế đặc biệt cho hệ sinh thái Newpeak. Nó cung cấp giao diện thống nhất để quản lý Liberica SaaS Quản lý Sản xuất và Nền tảng Bán hàng Arabica.
|
|
40
|
-
|
|
41
|
-
### Tính năng Cốt lõi
|
|
42
|
-
|
|
43
|
-
| Tính năng | Mô tả |
|
|
44
|
-
|-----------|-------|
|
|
45
|
-
| 🌍 **Hỗ trợ Đa Môi trường** | Chuyển đổi liền mạch giữa 4 môi trường dev, test, prod-cn, và prod-jp |
|
|
46
|
-
| 🏢 **Kiến trúc Đa Ngưới thuê** | Hỗ trợ cấu hình và cách ly môi trường đa ngưới thuê |
|
|
47
|
-
| 🔐 **Xác thực Token** | Lưu trữ an toàn trong chuỗi khóa hệ thống, cách ly môi trường |
|
|
48
|
-
| 🧪 **Chế độ Dry-Run** | Tất cả thao tác ghi đều hỗ trợ xem trước để tránh lỗi |
|
|
49
|
-
| 🤖 **Tích hợp AI** | Định dạng đầu ra JSON được tối ưu hóa cho Claude Code |
|
|
50
|
-
| 🔄 **Thao tác Liên dịch vụ** | Đồng bộ dữ liệu giữa Liberica và Arabica |
|
|
51
|
-
|
|
52
|
-
### Các trường hợp Sử dụng
|
|
53
|
-
|
|
54
|
-
- **Quản lý Kế hoạch Sản xuất**: Tạo, truy vấn và hủy đơn hàng sản xuất
|
|
55
|
-
- **Quản lý Dữ liệu Sản phẩm**: Tìm kiếm sản phẩm đa nền tảng, đồng bộ thông tin
|
|
56
|
-
- **Thao tác Khách hàng**: Truy vấn thông tin khách hàng và tạo báo giá
|
|
57
|
-
- **Tự động hóa AI**: Tự động hóa quy trình kinh doanh thông qua Claude Code
|
|
5
|
+
[](https://www.npmjs.com/package/@newpeak/barista-cli)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://www.npmjs.com/package/@newpeak/barista-cli)
|
|
8
|
+
[](https://nodejs.org/)
|
|
58
9
|
|
|
59
10
|
---
|
|
60
11
|
|
|
61
|
-
##
|
|
12
|
+
## ⚡ Khởi Đầu Nhanh
|
|
62
13
|
|
|
63
|
-
### Cài
|
|
14
|
+
### 1. Cài Đặt
|
|
64
15
|
|
|
65
16
|
```bash
|
|
66
|
-
# Cài đặt qua npm
|
|
67
17
|
npm install -g @newpeak/barista-cli
|
|
68
|
-
|
|
69
|
-
# Hoặc qua yarn
|
|
70
|
-
yarn global add @newpeak/barista-cli
|
|
71
|
-
|
|
72
|
-
# Xác minh cài đặt
|
|
73
|
-
barista --version
|
|
74
18
|
```
|
|
75
19
|
|
|
76
|
-
###
|
|
20
|
+
### 2. Xác Thực
|
|
77
21
|
|
|
78
22
|
```bash
|
|
79
|
-
#
|
|
80
|
-
barista
|
|
81
|
-
|
|
82
|
-
# 2. Đăng nhập bằng thông tin đăng nhập (phương pháp khuyến nghị, tự động đặt môi trường và người thuê)
|
|
83
|
-
barista liberica auth login dev your-tenant your-username your-password
|
|
23
|
+
# AI cần credentials để hoạt động thay mặt người dùng
|
|
24
|
+
barista liberica auth login prod-cn your-tenant your-username your-password
|
|
84
25
|
|
|
85
|
-
#
|
|
26
|
+
# Đăng nhập tương tác (nhắc nhập thông tin còn thiếu)
|
|
86
27
|
barista liberica auth login
|
|
87
|
-
|
|
88
|
-
# 3. Xác minh trạng thái đăng nhập
|
|
89
|
-
barista auth status
|
|
90
|
-
|
|
91
|
-
# 4. Xem ngữ cảnh hiện tại (xác nhận môi trường đã được đặt tự động)
|
|
92
|
-
barista context show
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
**Lưu ý**: Sau khi sử dụng `barista liberica auth login`, hệ thống tự động đặt ngữ cảnh môi trường hiện tại, vì vậy các lệnh tiếp theo không cần chỉ định tham số `--env` và `--tenant`.
|
|
96
|
-
|
|
97
|
-
### Ví dụ Sử dụng Cơ bản
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
# Xem ngữ cảnh hiện tại
|
|
101
|
-
barista context show
|
|
102
|
-
|
|
103
|
-
# Liệt kê tất cả đơn hàng (Liberica)
|
|
104
|
-
barista liberica orders list
|
|
105
|
-
|
|
106
|
-
# Tìm kiếm sản phẩm (hỗ trợ tìm kiếm mờ)
|
|
107
|
-
barista liberica products search --keyword "máy cà phê"
|
|
108
|
-
|
|
109
|
-
# Xem danh mục sản phẩm Arabica
|
|
110
|
-
barista arabica products public-catalog
|
|
111
|
-
|
|
112
|
-
# Tạo đơn hàng sản xuất (chế độ xem trước dry-run)
|
|
113
|
-
barista liberica orders create --product-id 123 --quantity 100 --dry-run
|
|
114
28
|
```
|
|
115
29
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
## Thiết kế Kiến trúc
|
|
119
|
-
|
|
120
|
-
### Ánh xạ Môi trường
|
|
121
|
-
|
|
122
|
-
#### Liberica (SaaS Quản lý Sản xuất)
|
|
123
|
-
|
|
124
|
-
| Môi trường | Định dạng Tên miền | Mô tả |
|
|
125
|
-
|------------|-------------------|-------|
|
|
126
|
-
| dev | `{tenant}-dev.newpeaksh.com` | Môi trường Phát triển |
|
|
127
|
-
| test | `{tenant}-test.newpeaksh.com` | Môi trường Kiểm thử |
|
|
128
|
-
| prod-cn | `{tenant}.newpeaksh.com` | Môi trường Sản xuất Trung Quốc |
|
|
129
|
-
| prod-jp | `{tenant}.newpeakjp.com` | Môi trường Sản xuất Nhật Bản |
|
|
130
|
-
|
|
131
|
-
#### Arabica (Nền tảng Bán hàng)
|
|
132
|
-
|
|
133
|
-
| Môi trường | Tên miền | Mô tả |
|
|
134
|
-
|------------|----------|-------|
|
|
135
|
-
| dev | `arabica-dev.newpeaksh.com` | Môi trường Phát triển |
|
|
136
|
-
| test | `arabica-test.newpeaksh.com` | Môi trường Kiểm thử |
|
|
137
|
-
| prod-cn | `www.newpeaksh.com` | Môi trường Sản xuất Trung Quốc |
|
|
138
|
-
| prod-jp | `members.newpeakjp.com` | Môi trường Sản xuất Nhật Bản |
|
|
139
|
-
|
|
140
|
-
### Cơ chế Xác thực
|
|
30
|
+
### 3. Tích Hợp AI
|
|
141
31
|
|
|
142
|
-
|
|
32
|
+
```typescript
|
|
33
|
+
// Trong 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
|
-
│ • Yêu cầu ĐN │ │ • Xác minh TT │ │ • Xác minh Token│
|
|
149
|
-
│ • Lưu Token │◀────│ • Cấp JWT │◀────│ • Trả dữ liệu │
|
|
150
|
-
│ (Chuỗi khóa) │ │ │ │ │
|
|
151
|
-
└─────────────────┘ └──────────────────┘ └─────────────────┘
|
|
37
|
+
// AI phân tích và xử lý dữ liệu
|
|
38
|
+
if (data.items.length > 0) {
|
|
39
|
+
console.log(`Found ${data.pagination.total} orders`)
|
|
40
|
+
}
|
|
152
41
|
```
|
|
153
42
|
|
|
154
|
-
**
|
|
155
|
-
|
|
156
|
-
- **Lưu trữ Chuỗi khóa**: Token được lưu trữ an toàn trong chuỗi khóa hệ thống (macOS Keychain, Windows Credential, Linux Secret Service)
|
|
157
|
-
- **Tự động Bỏ qua Xác thực**: Các giao diện công khai (như truy vấn danh mục sản phẩm) không cần xác thực
|
|
158
|
-
- **Cách ly Môi trường**: Mỗi môi trường và ngưới thuê sử dụng Token độc lập
|
|
159
|
-
- **Làm mới Token**: Hỗ trợ tự động làm mới Token sắp hết hạn
|
|
43
|
+
**[Xem ví dụ tích hợp AI →](#ai-integration)**
|
|
160
44
|
|
|
161
45
|
---
|
|
162
46
|
|
|
163
|
-
##
|
|
164
|
-
|
|
165
|
-
> **Tham chiếu Lệnh Đầy đủ**: Để xem tham chiếu đầy đủ về tất cả các lệnh (bao gồm đã triển khai và đang phát triển), vui lòng xem [Tham chiếu Lệnh](./docs/commands/REFERENCE.md).
|
|
166
|
-
|
|
167
|
-
### Cấu trúc Lệnh
|
|
47
|
+
## 🤖 Tích Hợp AI
|
|
168
48
|
|
|
169
|
-
|
|
170
|
-
barista <service> <resource> <action> [options]
|
|
171
|
-
```
|
|
49
|
+
Barista CLI được thiết kế cho AI coding assistants. Mọi đầu ra đều có cấu trúc, mọi lỗi đều có thể xử lý.
|
|
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
|
+
### Các AI Tools Được Hỗ Trợ
|
|
179
52
|
|
|
180
|
-
|
|
53
|
+
| AI Tool | Phương Thức Tích Hợp | Trạng Thái |
|
|
54
|
+
|---------|----------------------|------------|
|
|
55
|
+
| **Claude Code** | `$` backticks + `--json` | ✅ Đã xác minh |
|
|
56
|
+
| **OpenCode** | Shell command + JSON parse | ✅ Đã xác minh |
|
|
57
|
+
| **OpenClaw** | Shell command + JSON parse | ✅ Đã xác minh |
|
|
58
|
+
| **Cursor** | Terminal integration | ✅ Tương thích |
|
|
59
|
+
| **Continue** | CLI subprocess | ✅ Tương thích |
|
|
181
60
|
|
|
182
|
-
|
|
183
|
-
|----------|-------|-------|
|
|
184
|
-
| `--env` | Chỉ định môi trường | `--env prod-cn` |
|
|
185
|
-
| `--tenant` | Chỉ định ngưới thuê | `--tenant electionjp` |
|
|
186
|
-
| `--service` | Chỉ định dịch vụ | `--service liberica` |
|
|
187
|
-
| `--dry-run` | Chế độ xem trước | `--dry-run` |
|
|
188
|
-
| `--json` | Đầu ra JSON | `--json` |
|
|
189
|
-
| `--help` | Hiển thị trợ giúp | `--help` |
|
|
61
|
+
### Mẫu Tích Hợp
|
|
190
62
|
|
|
191
|
-
|
|
63
|
+
```typescript
|
|
64
|
+
// 1. Thực thi lệnh với đầu ra 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. Phân tích phản hồi có cấu trúc
|
|
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. Xử lý dữ liệu
|
|
81
|
+
const pendingOrders = data.items
|
|
82
|
+
console.log(`Found ${data.pagination.total} pending orders`)
|
|
194
83
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
84
|
+
// 4. Thực thi thao tác an toàn
|
|
85
|
+
for (const order of pendingOrders) {
|
|
86
|
+
// Luôn chạy dry-run trước (an toàn cho AI)
|
|
87
|
+
const preview = await $`barista liberica orders cancel ${order.id} --dry-run`
|
|
198
88
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
# ├─────────────┼─────────────────┤
|
|
203
|
-
# │ Môi trường │ dev │
|
|
204
|
-
# │ Ngưới thuê │ electionjp │
|
|
205
|
-
# │ Dịch vụ │ liberica │
|
|
206
|
-
# │ Trạng thái │ Đã đăng nhập │
|
|
207
|
-
# │ Hết hạn │ 2024-12-31 │
|
|
208
|
-
# └─────────────┴─────────────────┘
|
|
209
|
-
|
|
210
|
-
# Chuyển đổi môi trường
|
|
211
|
-
barista context use-env [dev|test|prod-cn|prod-jp]
|
|
212
|
-
|
|
213
|
-
# Chuyển đổi ngưới thuê
|
|
214
|
-
barista context use-tenant <tenant-name>
|
|
215
|
-
|
|
216
|
-
# Chuyển đổi dịch vụ mặc định
|
|
217
|
-
barista context use-service [liberica|arabica]
|
|
89
|
+
// Phân tích preview, xác minh, rồi thực thi với --force
|
|
90
|
+
// ...
|
|
91
|
+
}
|
|
218
92
|
```
|
|
219
93
|
|
|
220
|
-
###
|
|
221
|
-
|
|
222
|
-
Barista CLI cung cấp hai phương pháp đăng nhập:
|
|
94
|
+
### Response Envelope
|
|
223
95
|
|
|
224
|
-
|
|
225
|
-
Sử dụng tên người dùng và mật khẩu cho quy trình xác thực hoàn chỉnh, tự động lấy và lưu Token:
|
|
96
|
+
Tất cả phản hồi JSON đều theo cấu trúc này:
|
|
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
|
-
Phù hợp cho các trường hợp đã có JWT Token (ví dụ: lấy từ nguồn khác):
|
|
242
|
-
|
|
243
|
-
```bash
|
|
244
|
-
# Lưu trữ Token trực tiếp
|
|
245
|
-
barista auth login --service <service> --env <env> [--tenant <tenant>]
|
|
246
|
-
|
|
247
|
-
# Ví dụ: Lưu trữ Token môi trường phát triển Liberica
|
|
248
|
-
barista auth login --service liberica --env dev --tenant electionjp
|
|
249
|
-
# Lời nhắc: Nhập token của bạn: [nhập Token hiện có]
|
|
250
|
-
|
|
251
|
-
# Kiểm tra trạng thái đăng nhập
|
|
252
|
-
barista auth status
|
|
253
|
-
|
|
254
|
-
# Ví dụ đầu ra:
|
|
255
|
-
# ✓ Liberica (dev) - Đã đăng nhập (Hết hạn: 2024-12-31)
|
|
256
|
-
# ✗ Liberica (test) - Chưa đăng nhập
|
|
257
|
-
# ✓ Arabica (prod-cn) - Đã đăng nhập (Hết hạn: 2024-12-30)
|
|
258
|
-
|
|
259
|
-
# Đăng xuất (xóa Token)
|
|
260
|
-
barista auth logout --service <service> --env <env>
|
|
114
|
+
**Định dạng lỗi:**
|
|
261
115
|
|
|
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
|
-
|
|
130
|
+
### Skills cho Claude Code
|
|
267
131
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
#### Quản lý Đơn hàng
|
|
132
|
+
Cài đặt các file skill có thể tái sử dụng:
|
|
271
133
|
|
|
272
134
|
```bash
|
|
273
|
-
#
|
|
274
|
-
barista
|
|
275
|
-
|
|
276
|
-
# Lấy chi tiết đơn hàng
|
|
277
|
-
barista liberica orders get <order-id>
|
|
278
|
-
|
|
279
|
-
# Tạo đơn hàng
|
|
280
|
-
barista liberica orders create \
|
|
281
|
-
--product-id <id> \
|
|
282
|
-
--quantity <n> \
|
|
283
|
-
[--delivery-date <date>] \
|
|
284
|
-
[--note <text>]
|
|
285
|
-
|
|
286
|
-
# Hủy đơn hàng
|
|
287
|
-
barista liberica orders cancel <order-id> [--reason <text>]
|
|
135
|
+
# Skills nằm tại ~/.barista/claude/skills/
|
|
136
|
+
barista skills install
|
|
288
137
|
```
|
|
289
138
|
|
|
290
|
-
|
|
139
|
+
**Các skills có sẵn:**
|
|
140
|
+
- `orders.md` — Quy trình quản lý đơn hàng
|
|
141
|
+
- `products.md` — Tìm kiếm và đồng bộ sản phẩm
|
|
142
|
+
- `warehouses.md` — Thao tác kho hàng
|
|
143
|
+
- `subscriptions.md` — Quản lý đăng ký Arabica
|
|
291
144
|
|
|
292
|
-
|
|
293
|
-
# Tìm kiếm sản phẩm
|
|
294
|
-
barista liberica products search --keyword <keyword> [--category <id>]
|
|
145
|
+
---
|
|
295
146
|
|
|
296
|
-
|
|
297
|
-
barista liberica products get <product-id>
|
|
147
|
+
## 🚀 Tính Năng
|
|
298
148
|
|
|
299
|
-
|
|
300
|
-
barista liberica products public-list [--category <id>] [--page <n>]
|
|
301
|
-
```
|
|
149
|
+
### Thiết Kế AI-First
|
|
302
150
|
|
|
303
|
-
|
|
151
|
+
| Tính Năng | Mô Tả |
|
|
152
|
+
|-----------|--------|
|
|
153
|
+
| 🤖 **JSON-First Output** | Tất cả lệnh hỗ trợ `--json` để AI phân tích |
|
|
154
|
+
| 📦 **Structured Responses** | Cấu trúc nhất quán `{success, data, meta}` |
|
|
155
|
+
| 🔄 **Idempotent Operations** | An toàn cho AI retry loops |
|
|
156
|
+
| 🛡️ **Dry-Run by Default** | Xem trước các thao tác nguy hiểm trước khi thực thi |
|
|
157
|
+
| 🔐 **Secure Storage** | Credentials lưu trong system keychain, không phải env vars |
|
|
304
158
|
|
|
305
|
-
|
|
306
|
-
# Xem lịch sản xuất
|
|
307
|
-
barista liberica production schedule [--start-date <date>] [--end-date <date>]
|
|
159
|
+
### Kết Nối Doanh Nghiệp
|
|
308
160
|
|
|
309
|
-
|
|
310
|
-
|
|
161
|
+
| Dịch Vụ | Khả Năng |
|
|
162
|
+
|---------|----------|
|
|
163
|
+
| ☕ **Liberica** | Đơn hàng, sản phẩm, tồn kho, kho hàng, lập kế hoạch sản xuất |
|
|
164
|
+
| 🛒 **Arabica** | Gói đăng ký, thanh toán, hóa đơn, quản lý doanh nghiệp |
|
|
165
|
+
| 🔗 **Cross-Service** | Báo giá từ đơn hàng, đồng bộ giữa các hệ thống |
|
|
311
166
|
|
|
312
|
-
|
|
313
|
-
barista liberica production capacity [--date <date>] [--line <line-id>]
|
|
314
|
-
```
|
|
167
|
+
### An Toàn Vận Hành
|
|
315
168
|
|
|
316
|
-
|
|
169
|
+
- 📊 **Audit Trail** — Mỗi thao tác được ghi log với request ID
|
|
170
|
+
- ⚠️ **Confirmation Guards** — `--dry-run` / `--force` cho các thao tác ghi
|
|
171
|
+
- 🏢 **Multi-Tenant Isolation** — Credentials được cô lập theo từng tenant
|
|
317
172
|
|
|
318
|
-
|
|
173
|
+
---
|
|
319
174
|
|
|
320
|
-
|
|
321
|
-
# Liệt kê sản phẩm
|
|
322
|
-
barista arabica products list [--page <n>] [--size <n>] [--category <id>]
|
|
175
|
+
## 🔧 Tham Khảo Lệnh
|
|
323
176
|
|
|
324
|
-
|
|
325
|
-
barista arabica products search --keyword <keyword>
|
|
177
|
+
### Mẫu Cơ Bản
|
|
326
178
|
|
|
327
|
-
# Lấy danh mục sản phẩm (giao diện công khai)
|
|
328
|
-
barista arabica products public-catalog [--lang <zh|jp|en>]
|
|
329
179
|
```
|
|
330
|
-
|
|
331
|
-
#### Quản lý Báo giá
|
|
332
|
-
|
|
333
|
-
```bash
|
|
334
|
-
# Tính báo giá
|
|
335
|
-
barista arabica quotes calculate \
|
|
336
|
-
--product-id <id> \
|
|
337
|
-
--quantity <n> \
|
|
338
|
-
[--options <json>]
|
|
339
|
-
|
|
340
|
-
# Tạo báo giá
|
|
341
|
-
barista arabica quotes create \
|
|
342
|
-
--customer-id <id> \
|
|
343
|
-
--items <json> \
|
|
344
|
-
[--valid-days <n>]
|
|
180
|
+
barista <service> <resource> <action> [options]
|
|
345
181
|
```
|
|
346
182
|
|
|
347
|
-
|
|
183
|
+
### Các Tùy Chọn Toàn Cục
|
|
348
184
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
185
|
+
| Tùy Chọn | Mô Tả | Mặc Định |
|
|
186
|
+
|----------|--------|----------|
|
|
187
|
+
| `--env` | Môi trường (dev\|test\|prod-cn\|prod-jp) | `dev` |
|
|
188
|
+
| `--tenant` | Tên tenant | - |
|
|
189
|
+
| `--json` | Đầu ra JSON | `false` |
|
|
190
|
+
| `--dry-run` | Chế độ xem trước (khuyến nghị cho AI) | `false` |
|
|
191
|
+
| `--force` | Bỏ qua xác nhận | `false` |
|
|
192
|
+
| `--page` | Số trang | `1` |
|
|
193
|
+
| `--size` | Kích thước trang (tối đa) | `20` |
|
|
356
194
|
|
|
357
|
-
###
|
|
195
|
+
### Tham Khảo Nhanh
|
|
358
196
|
|
|
359
|
-
|
|
197
|
+
| Lệnh | Mô Tả |
|
|
198
|
+
|------|--------|
|
|
199
|
+
| `barista context show` | Hiển thị context env/tenant hiện tại |
|
|
200
|
+
| `barista context use-env <env>` | Chuyển đổi môi trường |
|
|
201
|
+
| `barista liberica orders list --json` | Liệt kê đơn hàng (định dạng AI) |
|
|
202
|
+
| `barista liberica orders get <id> --json` | Xem chi tiết đơn hàng |
|
|
203
|
+
| `barista liberica orders create --dry-run ...` | Xem trước tạo mới |
|
|
204
|
+
| `barista liberica products search --keyword <kw> --json` | Tìm kiếm sản phẩm |
|
|
205
|
+
| `barista arabica plans list --json` | Liệt kê gói đăng ký |
|
|
206
|
+
| `barista arabica invoices list --json` | Liệt kê hóa đơn |
|
|
360
207
|
|
|
361
|
-
|
|
362
|
-
# Tạo báo giá từ đơn hàng
|
|
363
|
-
barista cross quote-from-order <order-id> [--target-service arabica]
|
|
364
|
-
|
|
365
|
-
# Ví dụ đầu ra:
|
|
366
|
-
# ✓ Đã tạo báo giá
|
|
367
|
-
# ┌──────────┬────────────┐
|
|
368
|
-
# │ Thuộc tính│ Giá trị │
|
|
369
|
-
# ├──────────┼────────────┤
|
|
370
|
-
# │ ID ĐH │ 12345 │
|
|
371
|
-
# │ ID Báo giá│ QT-2024-001│
|
|
372
|
-
# │ Số tiền │ ¥50,000 │
|
|
373
|
-
# │ Hiệu lực │ 30 ngày │
|
|
374
|
-
# └──────────┴────────────┘
|
|
375
|
-
|
|
376
|
-
# Đồng bộ trạng thái đơn hàng sang Arabica
|
|
377
|
-
barista cross sync-order <order-id> [--direction liberica-to-arabica]
|
|
378
|
-
```
|
|
208
|
+
**[→ Tham Khảo Lệnh Chi Tiết](./docs/commands/REFERENCE.md)**
|
|
379
209
|
|
|
380
210
|
---
|
|
381
211
|
|
|
382
|
-
##
|
|
212
|
+
## 🛡️ Hướng Dẫn An Toàn AI
|
|
383
213
|
|
|
384
|
-
###
|
|
214
|
+
### 1. Luôn Chạy Dry-Run Trước
|
|
385
215
|
|
|
386
|
-
|
|
216
|
+
```typescript
|
|
217
|
+
// ❌ Sai — Thực thi mù quáng
|
|
218
|
+
await $`barista liberica orders cancel 12345`
|
|
387
219
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
# Ví dụ đầu ra:
|
|
393
|
-
# 🔍 Chế độ Dry-Run: Thao tác sẽ không được thực thi
|
|
394
|
-
# ┌─────────────────┬──────────────────────┐
|
|
395
|
-
# │ Thao tác │ Tạo đơn hàng │
|
|
396
|
-
# ├─────────────────┼──────────────────────┤
|
|
397
|
-
# │ Sản phẩm │ Máy cà phê Pro (ID: 123) │
|
|
398
|
-
# │ Số lượng │ 100 │
|
|
399
|
-
# │ Số tiền dự kiến │ ¥50,000 │
|
|
400
|
-
# │ Ngày giao dự kiến│ 2024-12-31 │
|
|
401
|
-
# │ Tác động │ Thêm 1 bản ghi đơn hàng │
|
|
402
|
-
# └─────────────────┴──────────────────────┘
|
|
403
|
-
#
|
|
404
|
-
# ⚠️ Xác nhận thực hiện? Thêm tùy chọn --confirm hoặc xóa --dry-run
|
|
220
|
+
// ✅ Đúng — Xem trước trước
|
|
221
|
+
const preview = await $`barista liberica orders cancel 12345 --dry-run`
|
|
222
|
+
// Phân tích preview, xác minh, rồi:
|
|
223
|
+
await $`barista liberica orders cancel 12345 --force`
|
|
405
224
|
```
|
|
406
225
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
Các thao tác phá hủy sau có chế độ Dry-Run được bật mặc định và yêu cầu xác nhận rõ ràng:
|
|
410
|
-
|
|
411
|
-
- Hủy đơn hàng
|
|
412
|
-
- Xóa sản phẩm
|
|
413
|
-
- Cập nhật hàng loạt
|
|
414
|
-
|
|
415
|
-
### Định dạng Đầu ra JSON
|
|
416
|
-
|
|
417
|
-
Barista CLI hỗ trợ đầu ra JSON để xử lý script và tích hợp AI:
|
|
418
|
-
|
|
419
|
-
```bash
|
|
420
|
-
barista liberica orders list --json
|
|
226
|
+
### 2. Kiểm Tra Success Trước Khi Tiếp Tục
|
|
421
227
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
{
|
|
428
|
-
"id": "12345",
|
|
429
|
-
"productName": "Máy cà phê 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
|
+
// Xử lý lỗi, không tiếp tục
|
|
232
|
+
throw new Error(result.error?.message || result.meta?.message)
|
|
441
233
|
}
|
|
442
234
|
```
|
|
443
235
|
|
|
444
|
-
###
|
|
445
|
-
|
|
446
|
-
Barista CLI hỗ trợ xuất định dạng CSV, phù hợp cho phân tích dữ liệu và xử lý Excel:
|
|
236
|
+
### 3. Sử Dụng Request ID Để Debug
|
|
447
237
|
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
# Tính năng đầu ra:
|
|
453
|
-
# • Mã hóa UTF-8 with BOM đảm bảo nhận dạng chữ Trung Quốc chính xác trong Excel
|
|
454
|
-
# • Tự động thoát ký tự đặc biệt (dấu phẩy, dấu ngoặc kép, ngắt dòng)
|
|
455
|
-
# • Hỗ trợ đường dẫn tệp đầu ra tùy chỉnh
|
|
456
|
-
# • Có thể kết hợp với --json để có cả hai định dạng đầu ra
|
|
238
|
+
```typescript
|
|
239
|
+
const { meta } = JSON.parse(stdout)
|
|
240
|
+
console.log(`Request ID: ${meta.requestId}`)
|
|
457
241
|
```
|
|
458
242
|
|
|
459
|
-
|
|
243
|
+
### 4. Tuân Thủ Rate Limits
|
|
244
|
+
|
|
245
|
+
- Thêm độ trễ giữa các thao tác hàng loạt
|
|
246
|
+
- Sử dụng `--size 100` cho fetch hàng loạt
|
|
247
|
+
- Cache responses khi phù hợp
|
|
460
248
|
|
|
461
249
|
---
|
|
462
250
|
|
|
463
|
-
## Cấu
|
|
251
|
+
## ⚙️ Cấu Hình
|
|
464
252
|
|
|
465
|
-
###
|
|
253
|
+
### Vị Trí File
|
|
466
254
|
|
|
467
|
-
|
|
255
|
+
`~/.barista/config.yaml`
|
|
468
256
|
|
|
469
|
-
|
|
470
|
-
# Tệp cấu hình Barista CLI
|
|
257
|
+
### Cấu Hình Nhanh
|
|
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
|
-
# Cấu hình môi trường
|
|
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,258 +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
|
-
# Cấu hình đầu ra
|
|
513
|
-
output:
|
|
514
|
-
format: table # table | json
|
|
515
|
-
color: true
|
|
516
|
-
timestamp: true
|
|
517
273
|
```
|
|
518
274
|
|
|
519
|
-
###
|
|
520
|
-
|
|
521
|
-
Hỗ trợ cấu hình nhiều ngưới thuê để chuyển đổi nhanh:
|
|
275
|
+
### Xác Thực
|
|
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
|
+
# Đăng nhập bằng credentials (khuyến nghị)
|
|
279
|
+
barista liberica auth login <env> <tenant> <username> <password>
|
|
529
280
|
|
|
530
|
-
#
|
|
531
|
-
barista
|
|
281
|
+
# Kiểm tra trạng thái đăng nhập
|
|
282
|
+
barista auth status
|
|
532
283
|
|
|
533
|
-
#
|
|
534
|
-
barista
|
|
284
|
+
# Đăng xuất
|
|
285
|
+
barista auth logout --service liberica --env prod-cn
|
|
535
286
|
```
|
|
536
287
|
|
|
537
288
|
---
|
|
538
289
|
|
|
539
|
-
##
|
|
540
|
-
|
|
541
|
-
Barista CLI được tối ưu hóa cho trợ lý lập trình AI, đặc biệt là Claude Code.
|
|
542
|
-
|
|
543
|
-
### Ví dụ Sử dụng Claude Code
|
|
544
|
-
|
|
545
|
-
```typescript
|
|
546
|
-
// Sử dụng Barista CLI trong Claude Code
|
|
547
|
-
// Ví dụ: Lấy danh sách đơn hàng và phân tích
|
|
548
|
-
|
|
549
|
-
const result = await $`barista liberica orders list --json --page 1 --size 10`;
|
|
550
|
-
const orders = JSON.parse(result.stdout);
|
|
551
|
-
|
|
552
|
-
// Phân tích dữ liệu đơn hàng
|
|
553
|
-
const analysis = orders.data.items.map(order => ({
|
|
554
|
-
id: order.id,
|
|
555
|
-
status: order.status,
|
|
556
|
-
amount: order.amount
|
|
557
|
-
}));
|
|
558
|
-
```
|
|
559
|
-
|
|
560
|
-
### Tệp Skills
|
|
561
|
-
|
|
562
|
-
Barista CLI cung cấp các tệp Claude Code Skills, nằm tại:
|
|
563
|
-
|
|
564
|
-
```
|
|
565
|
-
~/.barista/claude/skills/
|
|
566
|
-
├── orders.md # Kỹ năng quản lý đơn hàng
|
|
567
|
-
├── products.md # Kỹ năng quản lý sản phẩm
|
|
568
|
-
├── quotes.md # Kỹ năng quản lý báo giá
|
|
569
|
-
└── customers.md # Kỹ năng quản lý khách hàng
|
|
570
|
-
```
|
|
571
|
-
|
|
572
|
-
**Ví dụ Tệp Skills:**
|
|
290
|
+
## ❓ Xử Lý Sự Cố
|
|
573
291
|
|
|
574
|
-
|
|
575
|
-
# Kỹ năng Quản lý Đơn hàng
|
|
576
|
-
|
|
577
|
-
## Liệt kê Đơn hàng Chờ xử lý
|
|
578
|
-
|
|
579
|
-
Khi ngưới dùng hỏi về đơn hàng chờ xử lý:
|
|
580
|
-
|
|
581
|
-
1. Thực thi lệnh: barista liberica orders list --status pending --json
|
|
582
|
-
2. Phân tích JSON trả về
|
|
583
|
-
3. Tóm tắt số lượng đơn hàng và tổng số tiền
|
|
584
|
-
4. Liệt kê thông tin quan trọng của 5 đơn hàng đầu tiên
|
|
585
|
-
|
|
586
|
-
## Tạo Đơn hàng Mới
|
|
587
|
-
|
|
588
|
-
Khi ngưới dùng cần tạo đơn hàng:
|
|
589
|
-
|
|
590
|
-
1. Xác nhận ID sản phẩm và số lượng
|
|
591
|
-
2. Sử dụng dry-run để xem trước: barista liberica orders create --dry-run ...
|
|
592
|
-
3. Thực thi lệnh thực sau khi ngưới dùng xác nhận
|
|
593
|
-
```
|
|
594
|
-
|
|
595
|
-
### Đầu ra Thân thiện với AI
|
|
596
|
-
|
|
597
|
-
Tất cả lệnh đều hỗ trợ tùy chọn `--json`, trả về dữ liệu JSON có cấu trúc:
|
|
292
|
+
### Lỗi Xác Thực
|
|
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": "Máy cà phê 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
|
-
## Hướng dẫn Phát triển
|
|
295
|
+
# Kiểm tra trạng thái hiện tại
|
|
296
|
+
barista auth status
|
|
629
297
|
|
|
630
|
-
|
|
298
|
+
# Đăng nhập lại
|
|
299
|
+
barista liberica auth login prod-cn your-tenant your-username your-password
|
|
631
300
|
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
├── bin/
|
|
635
|
-
│ └── barista.js # Tệp khởi đầu
|
|
636
|
-
├── src/
|
|
637
|
-
│ ├── commands/ # Triển khai lệnh
|
|
638
|
-
│ │ ├── context/ # Lệnh quản lý ngữ cảnh
|
|
639
|
-
│ │ ├── auth/ # Lệnh xác thực
|
|
640
|
-
│ │ ├── liberica/ # Lệnh dịch vụ Liberica
|
|
641
|
-
│ │ │ ├── orders.js
|
|
642
|
-
│ │ │ ├── products.js
|
|
643
|
-
│ │ │ └── production.js
|
|
644
|
-
│ │ ├── arabica/ # Lệnh dịch vụ Arabica
|
|
645
|
-
│ │ │ ├── products.js
|
|
646
|
-
│ │ │ ├── quotes.js
|
|
647
|
-
│ │ │ └── customers.js
|
|
648
|
-
│ │ └── cross/ # Lệnh liên dịch vụ
|
|
649
|
-
│ ├── core/ # Mô-đun cốt lõi
|
|
650
|
-
│ │ ├── auth.js # Quản lý xác thực
|
|
651
|
-
│ │ ├── config.js # Quản lý cấu hình
|
|
652
|
-
│ │ ├── context.js # Quản lý ngữ cảnh
|
|
653
|
-
│ │ └── api-client.js # Client API
|
|
654
|
-
│ ├── utils/ # Hàm tiện ích
|
|
655
|
-
│ │ ├── formatter.js # Định dạng đầu ra
|
|
656
|
-
│ │ ├── validator.js # Xác thực tham số
|
|
657
|
-
│ │ └── keychain.js # Thao tác chuỗi khóa
|
|
658
|
-
│ └── templates/ # Tệp mẫu
|
|
659
|
-
├── skills/ # Claude Code Skills
|
|
660
|
-
├── tests/ # Tệp kiểm thử
|
|
661
|
-
├── package.json
|
|
662
|
-
└── README.md
|
|
301
|
+
# Kiểm tra context
|
|
302
|
+
barista context show
|
|
663
303
|
```
|
|
664
304
|
|
|
665
|
-
###
|
|
305
|
+
### Lỗi API
|
|
666
306
|
|
|
667
307
|
```bash
|
|
668
|
-
#
|
|
669
|
-
|
|
670
|
-
cd coffee-barista-cli
|
|
671
|
-
|
|
672
|
-
# 2. Cài đặt phụ thuộc
|
|
673
|
-
npm install
|
|
674
|
-
|
|
675
|
-
# 3. Liên kết toàn cục (chế độ phát triển)
|
|
676
|
-
npm link
|
|
677
|
-
|
|
678
|
-
# 4. Xác minh liên kết
|
|
679
|
-
barista --version
|
|
680
|
-
|
|
681
|
-
# 5. Chạy kiểm thử
|
|
682
|
-
npm test
|
|
308
|
+
# Luôn sử dụng --json để nhận mã lỗi
|
|
309
|
+
barista liberica orders list --json
|
|
683
310
|
|
|
684
|
-
#
|
|
685
|
-
|
|
311
|
+
# Phản hồi lỗi bao gồm requestId để debug
|
|
312
|
+
# "requestId": "req-abc123"
|
|
686
313
|
```
|
|
687
314
|
|
|
688
|
-
###
|
|
689
|
-
|
|
690
|
-
**Quan trọng**: Lệnh mới phải tuân theo [Đặc tả Thiết kế Lệnh](./docs/COMMAND_DESIGN_SPEC.md), bao gồm viết tài liệu thiết kế, đánh giá kỹ thuật và các quy trình hoàn chỉnh khác.
|
|
691
|
-
|
|
692
|
-
Tham khảo chi tiết tại:
|
|
693
|
-
- [Tham chiếu Lệnh Đầy đủ](./docs/commands/REFERENCE.md) - Danh sách tất cả lệnh và ưu tiên phát triển
|
|
694
|
-
- [Tài liệu Đặc tả Thiết kế Lệnh](./docs/COMMAND_DESIGN_SPEC.md#5-quy-trình-phát-triển-lệnh)
|
|
695
|
-
- [Hướng dẫn Phát triển Lệnh](./docs/COMMANDS.md)
|
|
696
|
-
|
|
697
|
-
---
|
|
698
|
-
|
|
699
|
-
## Hướng dẫn Đóng góp
|
|
700
|
-
|
|
701
|
-
Chúng tôi hoan nghênh mọi hình thức đóng góp, bao gồm nhưng không giới hạn ở:
|
|
702
|
-
|
|
703
|
-
- 🐛 Báo cáo lỗi
|
|
704
|
-
- 💡 Đề xuất tính năng mới
|
|
705
|
-
- 📝 Cải thiện tài liệu
|
|
706
|
-
- 🔧 Gửi bản sửa lỗi
|
|
707
|
-
- ✨ Thêm tính năng mới
|
|
708
|
-
|
|
709
|
-
### Quy ước Commit
|
|
710
|
-
|
|
711
|
-
Vui lòng tuân theo quy chuẩn [Conventional Commits](https://www.conventionalcommits.org/):
|
|
315
|
+
### Vấn Đề Timeout
|
|
712
316
|
|
|
713
317
|
```bash
|
|
714
|
-
#
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
# Thêm tính năng
|
|
718
|
-
feat: thêm lệnh truy vấn tồn kho
|
|
719
|
-
|
|
720
|
-
# Cập nhật tài liệu
|
|
721
|
-
docs: cập nhật ánh xạ môi trường trong README
|
|
318
|
+
# Chuyển sang môi trường gần hơn
|
|
319
|
+
barista context use-env dev
|
|
722
320
|
|
|
723
|
-
#
|
|
724
|
-
refactor: tái cấu trúc xử lý lỗi client API
|
|
321
|
+
# Hoặc điều chỉnh timeout trong config.yaml
|
|
725
322
|
```
|
|
726
323
|
|
|
727
|
-
### Quy trình Phát triển
|
|
728
|
-
|
|
729
|
-
1. Fork kho lưu trữ này
|
|
730
|
-
2. Tạo nhánh tính năng: `git checkout -b feature/my-feature`
|
|
731
|
-
3. Commit thay đổi: `git commit -m 'feat: add some feature'`
|
|
732
|
-
4. Push nhánh: `git push origin feature/my-feature`
|
|
733
|
-
5. Tạo Pull Request
|
|
734
|
-
|
|
735
324
|
---
|
|
736
325
|
|
|
737
|
-
## Dự
|
|
326
|
+
## 📚 Các Dự Án Liên Quan
|
|
738
327
|
|
|
739
|
-
| Dự
|
|
740
|
-
|
|
741
|
-
| ☕ Liberica Backend |
|
|
742
|
-
| 🖥️ Liberica Frontend |
|
|
743
|
-
| 📱 Liberica Mobile |
|
|
744
|
-
| 🛒 Arabica Backend |
|
|
745
|
-
| 🌐 Arabica Frontend |
|
|
328
|
+
| Dự Án | Mô Tả |
|
|
329
|
+
|--------|--------|
|
|
330
|
+
| ☕ Liberica Backend | SaaS backend quản lý sản xuất |
|
|
331
|
+
| 🖥️ Liberica Frontend | Web UI quản lý sản xuất |
|
|
332
|
+
| 📱 Liberica Mobile | Ứng dụng di động quản lý sản xuất |
|
|
333
|
+
| 🛒 Arabica Backend | SaaS backend đăng ký trực tuyến |
|
|
334
|
+
| 🌐 Arabica Frontend | Web UI đăng ký trực tuyến |
|
|
746
335
|
|
|
747
336
|
---
|
|
748
337
|
|
|
749
|
-
## Giấy
|
|
338
|
+
## 📄 Giấy Phép
|
|
750
339
|
|
|
751
340
|
[MIT](LICENSE) © Newpeak Technology
|
|
752
|
-
|
|
753
|
-
---
|
|
754
|
-
|
|
755
|
-
<p align="center">
|
|
756
|
-
Được cung cấp bởi ☕
|
|
757
|
-
</p>
|