Initial reyna-cli implementation
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
# Reyna CLI
|
||||
|
||||
On-demand CLI façade for Reyna family MCP services and LAN devices. The goal is to avoid keeping every MCP server/tool schema loaded in Hermes memory while still letting Hermes call capabilities through `terminal` when needed.
|
||||
|
||||
## Phase 2 scope
|
||||
|
||||
- **Devices parent command**: All local devices are now under `reyna-cli devices`.
|
||||
- `reyna-cli devices screen ...` (ESP32 screen)
|
||||
- `reyna-cli devices iphone ...` (iPhone app)
|
||||
- `reyna-cli devices arm ...` (Robot arm)
|
||||
- **Robot Arm**: Dynamic tool resolution for `state`, `home`, `wave`, `battery`.
|
||||
- **Immich**: On-demand MCP bridge at `http://127.0.0.1:8626/mcp`.
|
||||
- **MongoDB**: On-demand MCP bridge at `http://127.0.0.1:8630/mcp`.
|
||||
- **Top-level aliases**: `reyna-cli screen`, `reyna-cli iphone`, `reyna-cli arm` still work for compatibility.
|
||||
|
||||
## Install / run
|
||||
|
||||
```bash
|
||||
uv sync
|
||||
uv run reyna-cli doctor
|
||||
```
|
||||
|
||||
## Device discovery
|
||||
|
||||
```bash
|
||||
uv run reyna-cli devices list --json
|
||||
uv run reyna-cli devices ping esp32_screen --json
|
||||
uv run reyna-cli devices tools esp32_screen --json
|
||||
uv run reyna-cli devices describe esp32_screen --for-hermes
|
||||
```
|
||||
|
||||
## Generic MCP calls
|
||||
|
||||
```bash
|
||||
uv run reyna-cli devices call esp32_screen draw_text --args '{"text":"Hello","x":10,"y":20,"size":2}' --json
|
||||
```
|
||||
|
||||
## Robot Arm
|
||||
|
||||
```bash
|
||||
uv run reyna-cli devices arm state
|
||||
uv run reyna-cli devices arm home
|
||||
uv run reyna-cli devices arm wave
|
||||
uv run reyna-cli devices arm battery --json
|
||||
```
|
||||
|
||||
## ESP32 screen & iPhone
|
||||
|
||||
```bash
|
||||
uv run reyna-cli devices screen text "Dinner is ready"
|
||||
uv run reyna-cli devices iphone battery --json
|
||||
```
|
||||
|
||||
## Immich
|
||||
|
||||
```bash
|
||||
uv run reyna-cli immich stats
|
||||
uv run reyna-cli immich albums
|
||||
uv run reyna-cli immich search "sunset" --limit 5
|
||||
uv run reyna-cli immich tools
|
||||
```
|
||||
|
||||
## MongoDB
|
||||
|
||||
```bash
|
||||
uv run reyna-cli mongo dbs
|
||||
uv run reyna-cli mongo collections my_db
|
||||
uv run reyna-cli mongo count my_db my_coll --filter '{"status":"active"}'
|
||||
uv run reyna-cli mongo find my_db my_coll --limit 5
|
||||
uv run reyna-cli mongo aggregate my_db my_coll --pipeline '[{"$match":{}}]'
|
||||
```
|
||||
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
uv run pytest -q
|
||||
```
|
||||
Reference in New Issue
Block a user