Skip to content

Commit 1f5f5ea

Browse files
committed
README: rewrite around the current CLI surface
The previous README was out of sync with the commands the CLI actually exposes — documented commands that no longer exist, and missing every command that does. This rewrite: - One-paragraph positioning of what the CLI is for - `pip install remyxai`, auth via `REMYXAI_API_KEY` - Three quickstart recipes: `papers digest`, `interests create`, `outrider init` - Single command-reference table linking to `--help` for full flag listings (rather than mirroring every flag in the README) - Concise Outrider section describing what `outrider init` does - Minimal Development + Links sections All 17 commands documented are verified against the current install via `remyxai <cmd> --help`. Net: 245 → ~100 lines.
1 parent 28d9359 commit 1f5f5ea

1 file changed

Lines changed: 62 additions & 241 deletions

File tree

README.md

Lines changed: 62 additions & 241 deletions
Original file line numberDiff line numberDiff line change
@@ -1,286 +1,107 @@
11
# Remyx AI command-line client
22

3-
## Installation
4-
To install the Remyx AI CLI in Python virtual environment, run:
3+
CLI for the Remyx AI platform. Install [Outrider](https://github.com/remyxai/outrider) on a repo, manage Research Interests, browse Gemini-ranked paper recommendations from GitRank, and search for research assets — all from the terminal.
54

6-
```
7-
pip install remyxai
8-
```
9-
10-
## Token authentication
11-
Remyx AI API requires authentication token, which can be obtained on this page: https://engine.remyx.ai/account
12-
13-
Provide api key to the CLI through an environment variable `REMYXAI_API_KEY`.
14-
```
15-
export REMYXAI_API_KEY=<your-key-here>
16-
```
17-
18-
## Usage
19-
Quickly get started with the following examples:
20-
21-
### Model
22-
List all models:
23-
* cli command:
24-
```bash
25-
$ remyxai model list
26-
```
27-
* python command:
28-
```python
29-
from remyxai.api import list_models
30-
print(list_models())
31-
```
32-
33-
Get the summary of a model:
34-
* cli command:
35-
```bash
36-
$ remyxai model summarize --model_name=<your-model-name>
37-
```
38-
* python command:
39-
```python
40-
from remyxai.api import get_model_summary
41-
print(get_model_summary(model_name))
42-
```
43-
44-
Delete a model by name:
45-
* cli command:
46-
```bash
47-
$ remyxai model delete --model_name=<your-model-name>
48-
```
49-
* python command:
50-
```python
51-
from remyxai.api import delete_model
52-
53-
model_name = "<your-model-name>"
54-
print(delete_model(model_name))
55-
```
56-
57-
Download and convert a model:
58-
* cli command:
59-
```bash
60-
# possible model formats are "blob", "onnx", or "tflite"
61-
$ remyxai model download --model_name=<your-model-name> --model_format="onnx"
62-
```
63-
* python command:
64-
```python
65-
from remyxai.api import download_model
66-
67-
model_name = "<your-model-name>"
68-
model_format = "onnx"
69-
print(download_model(model_name, model_format))
70-
```
71-
72-
### Tasks
73-
Train an image classifier:
74-
* cli command:
75-
```bash
76-
$ remyxai classify --model_name=<your-model-name> --labels="comma,separated,labels" --model_size=<int between 1-5>
77-
```
78-
79-
add the optional `--hf_dataset` if you want to train with your own image dataset on 🤗. [See the docs](https://huggingface.co/docs/datasets/v2.14.5/image_dataset#imagefolder) for more details
80-
81-
* python command:
82-
```python
83-
from remyxai.api import train_classifier
84-
85-
model_name = "<your-model-name>"
86-
labels = ["comma", "separated", "labels"]
87-
model_size = 3 # use 1 for microcontrollers
88-
89-
# Optional HF dataset
90-
hf_dataset = "your/hf-dataset"
91-
92-
print(train_classifier(model_name, labels, model_size, hf_dataset))
93-
```
94-
95-
Train an object detector:
96-
* cli command:
97-
```bash
98-
$ remyxai detect --model_name=<your-model-name> --labels="comma,separated,labels" --model_size=<int between 1-5>
99-
```
100-
101-
add the optional `--hf_dataset` if you want to train with your own image dataset on 🤗. [See the docs](https://huggingface.co/docs/datasets/v2.14.5/image_dataset#object-detection) for more details
102-
103-
* python command:
104-
```python
105-
from remyxai.api import train_detector
106-
107-
model_name = "<your-model-name>"
108-
labels = ["comma", "separated", "labels"]
109-
model_size = 3
110-
111-
# Optional HF dataset
112-
hf_dataset = "your/hf-dataset"
113-
print(train_detector(model_name, labels, model_size, hf_dataset))
114-
```
5+
## Install
1156

116-
Train a text generator:
117-
* cli command:
1187
```bash
119-
$ remyxai generate --model_name=<your-model-name> --hf_dataset=<your/hf-dataset>
8+
pip install remyxai
1209
```
12110

122-
Your Huggingface dataset should have two columns with naming conventions like:
123-
* "question", "response"
124-
* "question", "answer"
125-
* "input", "output"
126-
* "prompt", "response"
127-
128-
* python command:
129-
```python
130-
from remyxai.api import train_generator
11+
## Authenticate
13112

132-
model_name = "<your-model-name>"
133-
hf_dataset = "your/hf-dataset"
134-
135-
print(train_generator(model_name, hf_dataset))
136-
```
137-
### Deploy
138-
Launch a [Triton Server](https://developer.nvidia.com/triton-inference-server) containerized deployment for your model. Currently supported for `generate` models. More model types support coming soon!
13+
Get an API key from [engine.remyx.ai/account](https://engine.remyx.ai/account) and export it:
13914

140-
#### System requirements
141-
Please make sure you have Docker, Docker Compose, and the NVIDIA Container Toolkit are installed.
142-
* [Docker installation](https://docs.docker.com/engine/install/ubuntu/)
143-
* [Docker Compose installation](https://docs.docker.com/compose/install/linux/)
144-
* [NVIDIA Container Toolkit installation](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)
145-
146-
Deploy a model with:
147-
* cli command:
14815
```bash
149-
# Bring up
150-
remyxai deploy --model_name="<your-model-name>"
151-
152-
# Bring down
153-
remyxai deploy down --model_name="<your-model-name>"
16+
export REMYXAI_API_KEY=<your-key>
15417
```
15518

156-
* python command:
157-
```python
158-
from remyxai.api import deploy_model
19+
All commands read this environment variable.
15920

160-
model_name = "<your-model-name>"
21+
## Quickstart
16122

162-
deploy_model(model_name, action='up') # action can be "up" or "down"
163-
```
23+
**See today's paper recommendations**
16424

165-
And you can run inference with:
166-
* cli command:
16725
```bash
168-
remyxai infer --model_name="<your-model-name>" --prompt="Your prompt here"
26+
remyxai papers digest
16927
```
17028

171-
* python command:
172-
```python
173-
from remyxai.api import run_inference
174-
175-
model_name = "<your-model-name>"
176-
prompt="Your prompt here"
177-
178-
result, time_elapsed = run_inference(model_name, prompt, server_url="localhost:8000", model_version="1")
179-
print(result)
180-
```
181-
182-
### Outrider — weekly arXiv → draft PR for your repo
183-
184-
[Outrider](https://github.com/remyxai/outrider) is a GitHub Action that, on a weekly schedule, finds the most implementable recent paper for your repository and opens a draft PR wiring it into a real call site. `remyxai outrider` sets it up for you.
185-
186-
There are two ways to install it — both end with the same Action running in your repo; they differ in **who provisions it**:
29+
Shows recommended papers grouped by Research Interest. Use `remyxai papers list --interest <name-or-uuid>` for the flat view.
18730

188-
| | `outrider init` | `outrider setup-local` |
189-
|---|---|---|
190-
| **Best for** | Most users | Teams that can't grant a third-party GitHub App yet (e.g. a pending security review) |
191-
| **How it works** | The **Remyx GitHub App** provisions it server-side; PRs are authored by `remyx-ai[bot]` | The CLI uses **your own `gh`** to provision it; PRs authored by `github-actions[bot]` |
192-
| **You provide** | The Remyx App installed on the repo (the command links you to it) | An authenticated `gh` with admin on the repo |
193-
194-
Either way you'll need a **Remyx API key** (from engine.remyx.ai → Settings) and an **Anthropic API key** (from console.anthropic.com). Set the Remyx key once:
195-
196-
```bash
197-
export REMYXAI_API_KEY=... # from engine.remyx.ai → Settings
198-
```
199-
200-
#### Option A — `outrider init` (via the Remyx GitHub App) — recommended
31+
**Create a Research Interest**
20132

20233
```bash
203-
# Set up on a repo, auto-creating a research interest from it:
204-
$ remyxai outrider init --repo owner/name --auto-interest
34+
# Free-form context
35+
remyxai interests create \
36+
--name "LLM Efficiency" \
37+
--context "Quantization, speculative decoding, KV cache compression"
20538

206-
# …or use an existing research interest (UUID from engine.remyx.ai):
207-
$ remyxai outrider init --repo owner/name --interest <uuid>
39+
# Or seed from a GitHub repo (auto-extracts context)
40+
remyxai interests create --context "https://github.com/your-org/your-repo"
20841
```
20942

210-
If the Remyx App isn't installed on the repo yet, the command prints an install link and waits. Then the engine provisions the workflow, repo secrets, and a setup PR, and — in the default `auto` mode — merges it and starts the first run. Connect your Anthropic key once on the engine's Integrations page, or pass `--anthropic-key` (or set `ANTHROPIC_API_KEY`) and the CLI connects it for you.
43+
The recommendation pipeline matches new arXiv papers to your interests daily. First run takes 40-120s to populate the pool; subsequent runs are instant.
21144

212-
`--mode`: `auto` (default — set it up and start the first run), `review` (open the setup PR for you to merge), `off` (just create the research interest).
213-
214-
#### Option B — `outrider setup-local` (no GitHub App)
215-
216-
For teams that can't install a third-party App yet. The CLI uses your own authenticated `gh` to do everything — nothing new to security-review.
45+
**Install Outrider on a repo**
21746

21847
```bash
219-
$ export ANTHROPIC_API_KEY=... # stored as a repo secret by the CLI
220-
221-
$ remyxai outrider setup-local --repo owner/name --auto-interest
48+
remyxai outrider init --repo owner/name --auto-interest
22249
```
22350

224-
Using your `gh` credentials, the CLI sets the `REMYX_API_KEY` + `ANTHROPIC_API_KEY` repo secrets, writes `.github/workflows/outrider.yml`, opens a setup PR, and — in `auto` mode — merges it and dispatches the first run. So the Action can open its recommendation PRs, the CLI enables the repo's *"Allow GitHub Actions to create and approve pull requests"* setting; the Action then uses the repo's built-in `GITHUB_TOKEN` (no GitHub token is stored as a secret — only `REMYX_API_KEY` and `ANTHROPIC_API_KEY`).
225-
226-
Requires `gh` authenticated (`gh auth login`, or `$GITHUB_TOKEN` with `repo` + `workflow` scopes) and admin on the target repo.
51+
Drives the Remyx engine to install [Outrider](https://github.com/remyxai/outrider) on the target repo via the Remyx GitHub App: writes the workflow, sets the repo secrets, and opens a bot-authored setup PR. Your local git isn't touched. Requires `REMYXAI_API_KEY` and an Anthropic key for Claude Code (`--anthropic-key` or `ANTHROPIC_API_KEY`).
22752

228-
#### Common options
53+
If the Remyx GitHub App isn't installed on the target repo yet, the command surfaces the install link.
22954

230-
- `--repo owner/name` — target repo (or a GitHub URL); defaults to the current directory's git remote.
231-
- `--interest <uuid>` / `--auto-interest` — use an existing research interest, or create one from the repo.
232-
- `--mode auto|review` (`init` also has `off`) — how far to take setup.
233-
- `--dry-run` — print the plan (and, for `setup-local`, the rendered workflow) and exit without making changes.
234-
- `-y` / `--yes` — skip the confirmation prompt.
55+
## Command reference
23556

236-
Preview either path safely before committing to it:
57+
Run any command with `--help` for full flag listings and examples.
23758

238-
```bash
239-
$ remyxai outrider setup-local --repo owner/name --auto-interest --dry-run
240-
```
59+
| Command | What it does |
60+
|---|---|
61+
| `remyxai papers digest` | Recommendations grouped by Research Interest |
62+
| `remyxai papers list` | Recommendations flat view (filter by interest, period, source type) |
63+
| `remyxai papers refresh [--wait]` | Trigger a fresh Gemini re-ranking |
64+
| `remyxai papers refresh-status <task_id>` | Poll a refresh task |
65+
| `remyxai interests list` | List your Research Interests |
66+
| `remyxai interests get <name-or-uuid>` | Show one interest |
67+
| `remyxai interests create` | Create a new interest |
68+
| `remyxai interests update <id>` | Edit name / context / daily count / active state |
69+
| `remyxai interests toggle <id>` | Flip active/inactive |
70+
| `remyxai interests delete <id>` | Remove an interest |
71+
| `remyxai outrider init` | Install Outrider on a GitHub repo via the Remyx App |
72+
| `remyxai search list` | List recently added research assets (papers + Docker images) |
73+
| `remyxai search info <arxiv-id>` | Asset details |
74+
| `remyxai list-models` | List available trained models on your account |
75+
| `remyxai summarize-model <name>` | Show a model's summary |
76+
| `remyxai deploy-model <name> <up\|down>` | Bring a containerized deployment up or down |
77+
| `remyxai dataset <action> [name]` | Manage datasets (`list`, `download`, `delete`) |
24178

242-
**A note on credentials:** with `setup-local`, your `REMYXAI_API_KEY` is stored as the repo's `REMYX_API_KEY` secret so the Action can fetch recommendations — anyone with write access to the repo's workflows can consume Remyx credits on that key, so use it on repos you control. With `outrider init`, the Remyx App provisions a scoped key for you. In both paths your Anthropic key is stored as a repo secret to run the agent.
79+
## Outrider install — what happens
24380

244-
### User
81+
`remyxai outrider init` calls the Remyx engine, which uses the **Remyx GitHub App** (`remyx-ai[bot]`) to:
24582

246-
Get user profile info:
247-
* cli command:
248-
```bash
249-
$ remyxai user profile
250-
```
251-
* python command:
252-
```python
253-
from remyxai.api import get_user_profile
83+
- Write the Outrider workflow to the target repo
84+
- Set the workflow's required Actions secrets
85+
- Open a bot-authored setup PR (and merge it automatically in `--mode auto`)
86+
- Fire the first Outrider run
25487

255-
print(get_user_profile())
256-
```
88+
Your local git is not touched. The only credential you provide is your `REMYXAI_API_KEY`, which authorizes the engine to act on your behalf through the App — it is not copied into the target repo's secrets. Anthropic and GitHub credentials needed at workflow runtime are configured by the App.
25789

90+
## Development
25891

259-
Get user credit/subscription info:
260-
* cli command:
26192
```bash
262-
$ remyxai user credits
263-
```
264-
* python command:
265-
```python
266-
from remyxai.api import get_user_credits
93+
git clone https://github.com/remyxai/remyxai-cli
94+
cd remyxai-cli
95+
pip install -e .
26796

268-
print(get_user_credits())
97+
# Run tests
98+
pytest tests/
26999
```
270100

271-
### Utils
272-
Label images locally:
273-
* cli command:
274-
```bash
275-
$ remyxai utils label --labels="comma,separated,labels" --image_dir="/path/to/image/dir"
276-
```
101+
Releases: tag a `v*` release on GitHub and the `publish.yml` workflow builds + uploads to PyPI via Trusted Publishing (no API token stored).
277102

278-
* python command:
279-
```python
280-
from remyxai.utils import labeler
281-
model_name = "<your-model-name>"
282-
labels = ["comma", "separated", "labels"]
283-
image_dir = "/path/to/image/dir"
284-
print(labeler(labels, image_dir, model_name))
285-
```
103+
## Links
286104

105+
- [Outrider](https://github.com/remyxai/outrider) — the GitHub Action this CLI installs
106+
- [engine.remyx.ai](https://engine.remyx.ai) — web app, account settings, API key
107+
- [Issues](https://github.com/remyxai/remyxai-cli/issues) — bug reports and feature requests

0 commit comments

Comments
 (0)