@kvell007/embed-labs-cli 0.1.0-alpha.9 → 0.1.0-alpha.91

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.md CHANGED
@@ -22,8 +22,8 @@ names.
22
22
  - Auth token login, logout, and status commands.
23
23
  - Account registration, API key issue/list, token usage metering, and billing
24
24
  statement preview commands.
25
- - Server-side application source generation through Cloud API agents, followed by
26
- task artifacts and downloads.
25
+ - Board knowledge/method discovery through Cloud API, plus local-first
26
+ toolchain installation, validation, compile, and hardware handoff.
27
27
  - Debug tool, device, serial, SSH, and flash commands routed through the local
28
28
  bridge.
29
29
  - Project, task, artifact, and cloud status commands routed through the cloud
@@ -41,12 +41,49 @@ public SDK until a versioned API contract is approved.
41
41
  Current experimental npm install:
42
42
 
43
43
  ```bash
44
- npm install -g @kvell007/embed-labs-cli@alpha
44
+ npm install -g embedlabs@latest
45
45
  embedlabs --help
46
46
  embedlabs help getting-started
47
+ embedlabs local toolchain list
48
+ embedlabs plugin update check
47
49
  embedlabs plugin install all
48
50
  ```
49
51
 
52
+ Clean reinstall:
53
+
54
+ ```bash
55
+ npm uninstall -g embedlabs
56
+ npm install -g embedlabs@latest
57
+ embedlabs plugin install all --force
58
+ ```
59
+
60
+ Trae users can install only the Trae MCP integration:
61
+
62
+ ```bash
63
+ embedlabs auth login --token <your_token>
64
+ embedlabs plugin install trae
65
+ ```
66
+
67
+ The Trae installer writes Trae's `mcp.json`, configures
68
+ `embedlabs mcp start`, copies the Embed Labs icon, and creates the local
69
+ Gallery metadata Trae uses for MCP icons. Restart Trae after installation.
70
+
71
+ For IDEs that support MCP but do not have an automatic installer yet, generate
72
+ the correct manual MCP config:
73
+
74
+ ```bash
75
+ embedlabs mcp config
76
+ embedlabs mcp config --client cursor
77
+ embedlabs mcp config --client trae
78
+ ```
79
+
80
+ If an early test build was installed under legacy alias names, remove those
81
+ aliases once with:
82
+
83
+ ```bash
84
+ npm uninstall -g embedlabs-cli embedboard embedboard-cli
85
+ ```
86
+
50
87
  Future organization-scope install after final release approval:
51
88
 
52
89
  ```bash
@@ -81,32 +118,60 @@ embedlabs doctor
81
118
  embedlabs auth login --token <token>
82
119
  ```
83
120
 
121
+ If a cloud or plugin command reaches a protected API before a token is
122
+ configured, the CLI returns `auth_token_missing` with the registration URL and
123
+ these setup options:
124
+
125
+ ```bash
126
+ open https://api.embedboard.com/dashboard
127
+ embedlabs auth login --token <your_token>
128
+ # or for automation:
129
+ export EMBED_API_TOKEN=<your_token>
130
+ embedlabs auth status
131
+ ```
132
+
133
+ If `.embed-labs/auth.json` was copied from another computer, protected Cloud
134
+ requests fail before network I/O with `tool_integrity_check_failed` and the
135
+ message `工具完整性校验失败,请在当前电脑重新执行 embedlabs auth login --token <key>`.
136
+
84
137
  For the current public API plus local TaishanPi verification path, see
85
138
  `docs/runbooks/PUBLIC_CLI_USER_VERIFICATION.md`.
86
139
 
87
- For the cloud build path:
140
+ For board knowledge and local toolchain work:
88
141
 
89
142
  ```bash
90
- embed build template list
91
- embed build template show <template_id>
92
- embed build workspace provision --account <account_id> --project <project_id> --template <template_id>
93
- embed build workspace source put <workspace_id> --file ./main.c:src/main.c
94
- embed build application generate --workspace <workspace_id> --prompt "Create a minimal Linux app"
95
- embed cloud task artifacts <task_id>
96
- embed artifact download <artifact_id> --output ./artifact.bin
143
+ embed board registry list
144
+ embed board methods taishanpi-1m-rk3566
145
+ embed board knowledge search taishanpi-1m-rk3566 --query "UART pinout"
146
+ embed local toolchain list
147
+ embed local toolchain latest --board taishanpi-1m-rk3566
148
+ embed local toolchain validate --board taishanpi-1m-rk3566 --mode minimal
149
+ embed local compile taishanpi --source ./main.c --output ./.embed-labs/build/main
97
150
  ```
98
151
 
152
+ Server-side user workspaces and server Docker builds are disabled in the
153
+ local-first product mode. The server remains responsible for accounts, API
154
+ keys, model routing, billing, plugin releases, SDK/download metadata, and small
155
+ image/DTB/logo package generation.
156
+
99
157
  For local hardware access:
100
158
 
101
159
  ```bash
102
160
  embed bridge start
103
161
  embed device list
104
162
  embed tool call wifi.scan --input-json '{"host":"198.19.77.2","user":"root"}'
163
+ embed tool call rp2350.monitor.capabilities --json
164
+ embed tool call rp2350.monitor.gpio.read --input-json '{"pins":[16,17],"pull":"none"}' --approve
165
+ embed tool call rp2350.monitor.spi.transfer --input-json '{"hex":"a55a3cc3"}' --approve
166
+ embed tool call rp2350.monitor.uart.write --input-json '{"baud":115200,"text":"hello","line_ending":"lf"}' --approve
167
+ embed tool call rp2350.monitor.i2c.transfer --input-json '{"address":"0x50","write":"00","read_len":4}' --approve
168
+ embed tool call rp2350.monitor.wifi.manage --input-json '{"action":"scan"}' --approve
169
+ embed tool call rp2350.monitor.probe.debug --input-json '{"action":"status"}' --approve
105
170
  embed tool call chip.temperature --input-json '{"host":"198.19.77.2","user":"root"}'
106
171
  embed flash plan --board <rp2350|taishanpi> --artifact ./artifact.bin
107
172
  ```
108
173
 
109
- For cloud API workflows, point the CLI at a running cloud API service:
174
+ For local Cloud API development, override the production default:
110
175
 
111
176
  ```bash
112
177
  EMBED_CLOUD_API_URL=http://127.0.0.1:18100 embed cloud status
@@ -159,14 +224,25 @@ embed billing snapshot create --account <account_id> [--from <iso>] [--to <iso>]
159
224
  embed billing snapshot list --account <account_id> [--json]
160
225
  embed billing snapshot show <billing_snapshot_id> [--json]
161
226
 
227
+ embed board registry list [--json]
228
+ embed board methods <template_id> [--json]
229
+ embed board knowledge <template_id> [--json]
230
+ embed board knowledge search <template_id> --query <text> [--json]
162
231
  embed build template list [--json]
163
232
  embed build template show <template_id> [--json]
164
- embed build workspace provision --account <account_id> --project <project_id> [--template <template_id>] [--copy-mode auto|copy|symlink|skeleton] [--require-seed] [--dry-run] [--json]
165
- embed build workspace list --account <account_id> [--json]
166
- embed build workspace show <workspace_id> [--json]
167
- embed build workspace source put <workspace_id> [--account <account_id>] --file <local_path>:<source_path> [--file <local_path>:<source_path>] [--json]
168
- embed build application stub --workspace <workspace_id> [--account <account_id>] [--json]
169
- embed build application generate --workspace <workspace_id> --prompt <request> [--account <account_id>] [--target <source_path>] [--provider stub|openai|cc|claude-code] [--model <model>] [--json]
233
+ embed local toolchain list [--board <board_id>] [--json]
234
+ embed local toolchain installed [--board <board_id>] [--json]
235
+ embed local toolchain latest [--board <board_id>] [--json]
236
+ embed local toolchain current [--json]
237
+ embed local toolchain install [--board <board_id>] [--mode minimal|runtime|compile|qt|firmware|full|images] [--json]
238
+ embed local toolchain validate [--board <board_id>] [--mode minimal|runtime|compile|qt|firmware|full|images] [--json]
239
+ embed local compile taishanpi --source <main.c|main.cpp> --output <artifact> [--json]
240
+ embed local build qt-smoke --build-dir <build_dir> [--source <qt-cmake-dir>] [--target-name <executable>] [--json]
241
+
242
+ The `qt-smoke` subcommand name is kept for compatibility. When `--source` and
243
+ `--target-name` are supplied, it builds the supplied TaishanPi Qt/CMake
244
+ application, including official board-pack examples such as
245
+ `board-packs/taishanpi/examples/modbus-loop-demo/taishanpi`.
170
246
 
171
247
  embed bridge start [--host 127.0.0.1] [--port 18083]
172
248
  embed bridge status [--json]
@@ -182,6 +258,14 @@ embed tool call chip.cpu.frequency --input-json '{"host":"198.19.77.2","user":"r
182
258
  embed tool call chip.temperature --input-json '{"host":"198.19.77.2","user":"root"}' [--json]
183
259
  embed tool call qml.runtime.status --input-json '{"host":"198.19.77.2","user":"root","port":18130}' [--json]
184
260
  embed tool call qml.runtime.start --input-json '{"host":"198.19.77.2","user":"root","port":18130}' [--json]
261
+ embed tool call rp2350.monitor.capabilities [--json]
262
+ embed tool call rp2350.monitor.gpio.read --input-json '{"pins":[16,17]}' --approve [--json]
263
+ embed tool call rp2350.monitor.spi.transfer --input-json '{"hex":"a55a3cc3"}' --approve [--json]
264
+ embed tool call rp2350.monitor.uart.write --input-json '{"baud":115200,"text":"hello","line_ending":"lf"}' --approve [--json]
265
+ embed tool call rp2350.monitor.i2c.transfer --input-json '{"address":"0x50","write":"00","read_len":4}' --approve [--json]
266
+ embed tool call rp2350.monitor.wifi.manage --input-json '{"action":"scan"}' --approve [--json]
267
+ embed tool call rp2350.monitor.probe.debug --input-json '{"action":"status"}' --approve [--json]
268
+ embed tool call rp2350.monitor.operation --input-json '{"action":"logic.stop","params":{}}' --approve [--json]
185
269
 
186
270
  embed serial list [--json]
187
271
  embed serial capture --path <port> [--baud 115200] [--duration 5] [--json]
@@ -248,7 +332,7 @@ preview records; they are not invoices and do not collect payment.
248
332
  - `EMBED_BRIDGE_URL`: local bridge URL used by bridge-backed commands. Default:
249
333
  `http://127.0.0.1:18083`.
250
334
  - `EMBED_CLOUD_API_URL`: cloud API URL used by cloud-backed commands. Default:
251
- `http://127.0.0.1:18100`.
335
+ `https://api.embedboard.com`.
252
336
  - `EMBED_API_TOKEN`: auth token source for non-interactive sessions.
253
337
  - `EMBED_AUTH_PROFILE`: profile name used with `EMBED_API_TOKEN`.
254
338
  - `EMBED_AUTH_FILE`: token file path for `embed auth login`. Default:
@@ -274,10 +358,10 @@ Current local workflows are intentionally guarded:
274
358
  evidence without opening probes or starting debug sessions.
275
359
  - RP2350 UF2 flashing requires a mounted UF2 volume, a `.uf2` artifact, a ready
276
360
  flash plan, and explicit `--approve`.
277
- - TaishanPi flash planning can validate expected image files and local tool
278
- availability, but real destructive TaishanPi flashing is guarded and not
279
- enabled. `embed flash run --board taishanpi --approve` remains blocked until
280
- the exact hardware profile and Board Pack command templates are accepted.
361
+ - TaishanPi initialization image flashing resolves the installed local SDK
362
+ image set by default. `embed flash run --board taishanpi --approve` writes
363
+ through Local Bridge only after the ready plan validates `rkdeveloptool`,
364
+ `parameter.txt`, and all required images.
281
365
 
282
366
  These commands should be treated as current local evidence and planning tools,
283
367
  not broad hardware support claims.