@@ -32,8 +32,8 @@ brew install hotdata-dev/tap/cli
3232cargo install --path .
3333```
3434
35- Stay current with ` hotdata upgrade ` , and enable tab completion with
36- ` hotdata completions bash|zsh|fish ` .
35+ Stay current with ` hotdata manage upgrade ` , and enable tab completion with
36+ ` hotdata manage completions bash|zsh|fish ` .
3737
3838## Quickstart
3939
@@ -61,7 +61,7 @@ There are two ways to make your data queryable, and they compose:
6161- ** Connect** — a live, synced view of an external source. The data stays
6262 where it is; Hotdata keeps the schema and cache fresh.
6363- ** Import** — copy data * into* a managed database, either from a file you
64- have or from an external source via ` hotdata datasource ` + ` hotdata ingest ` .
64+ have or from an external source via ` hotdata ingest sources ` + ` hotdata ingest ` .
6565
6666### Connect a live database
6767
@@ -71,14 +71,14 @@ hotdata connections new # guided wizard
7171hotdata connections create --name " prod-replica" --type postgres \
7272 --config ' {"host":"db.example.com","port":5432,"user":"reader","database":"app","password":"' " $DB_PASSWORD " ' "}'
7373
74- hotdata tables list # see what's now queryable
74+ hotdata databases tables list # see what's now queryable
7575```
7676
7777` hotdata connections create list ` shows every supported type, and
7878` hotdata connections create list <type> -o json ` prints the exact config
7979fields it takes.
8080
81- ### Import from external sources (` datasource ` + ` ingest ` )
81+ ### Import from external sources (` ingest sources ` + ` ingest ` )
8282
8383Three nouns, and each one has a stable id:
8484
@@ -88,30 +88,30 @@ Three nouns, and each one has a stable id:
8888 lands in which managed-database table, once or on a schedule.
8989- ** run** (` run_… ` ) — one execution attempt, recording the config version,
9090 selector, and destination it used. Addressed under its ingest —
91- ` ingest runs <ing_…> ` lists them, ` ingest run <run_…> ` shows one.
91+ ` ingest logs <ing_…> ` lists them, ` ingest run <run_…> ` shows one.
9292
9393``` sh
94- hotdata datasource types # browse: SQL dialects, ~150 API services,
94+ hotdata ingest sources types # browse: SQL dialects, ~150 API services,
9595 # buckets, iceberg, kafka, api
96- hotdata datasource fields sql # the fields --config, --credentials and
96+ hotdata ingest sources fields sql # the fields --config, --credentials and
9797 # --selector take for one family, and
9898 # what that family can do (-o json for
9999 # the JSON Schema)
100100
101101# 1. Check credentials without creating anything — nothing is persisted:
102- hotdata datasource validate --family sql --config @source.json
102+ hotdata ingest sources test --family sql --config @source.json
103103
104104# 2. Create the datasource. Loads no data; returns a ds_… id.
105105# On a terminal, with no --config, it asks: which source type, then that
106106# family's own fields. The questions come from the service, and secrets are
107107# never echoed. --no-input, CI and a piped stdin skip the questions.
108- hotdata datasource create
108+ hotdata ingest sources add
109109
110110# Non-interactively — keep secrets out of argv with @file.json or @- (stdin):
111- hotdata datasource create --family sql --config @source.json \
111+ hotdata ingest sources add --family sql --config @source.json \
112112 --display-name " prod postgres"
113- hotdata datasource create --family filesystem --bucket-url s3://events-prod
114- hotdata datasource list # ids, families, states
113+ hotdata ingest sources add --family filesystem --bucket-url s3://events-prod
114+ hotdata ingest sources list # ids, families, states
115115
116116# 3. Ingest — what to load, and where it lands. Once:
117117hotdata ingest create --source " prod postgres" --table orders --database-id db_123
@@ -138,7 +138,7 @@ hotdata ingest create --datasource-id ds_01J --database-id db_123 \
138138 --table order_totals # runs at the source, in its own dialect
139139
140140# 4. Watch it. --wait polls; the scheduler decides when a run starts:
141- hotdata ingest runs ing_01J # every attempt, newest first
141+ hotdata ingest logs ing_01J # every attempt, newest first
142142hotdata ingest run run_01J --wait # one attempt; exits 0 succeeded /
143143 # 1 failed / 2 in flight
144144
@@ -156,10 +156,10 @@ hotdata query --database db_123 "SELECT count(*) FROM public.orders"
156156```
157157
158158Public buckets need no credentials. Config edits and credential rotation are
159- ` hotdata datasource update-config <ds-id> ` , which appends an immutable config
159+ ` hotdata ingest sources update-config <ds-id> ` , which appends an immutable config
160160version under the same id — runs in flight keep the version they started with.
161161
162- ` hotdata ingest cancel <ing-id> ` stops the current run ** and** future ones;
162+ ` hotdata ingest pause <ing-id> ` stops the current run ** and** future ones;
163163` hotdata ingest resume <ing-id> ` clears the stop but starts nothing
164164immediately. To make the next scheduled run happen now:
165165` hotdata ingest schedule <ing-id> --next now ` .
@@ -175,16 +175,16 @@ hotdata databases load --catalog demo --table listings --file ./listings.parquet
175175## Query and explore
176176
177177``` sh
178- hotdata tables list # every queryable table, as connection.schema.table
179- hotdata tables list --connection-id < id> # with column names and types
178+ hotdata databases tables list # every queryable table, as connection.schema.table
179+ hotdata databases tables list --connection-id < id> # with column names and types
180180hotdata query " <sql>" [-o table| json| csv] # PostgreSQL dialect
181181```
182182
183183Long-running queries fall back to async and print a ` query_run_id ` — poll with
184184` hotdata query status <id> ` (exit codes: ` 0 ` done, ` 1 ` failed, ` 2 ` running).
185185Every result gets a ` result-id ` ; re-fetch past results with
186- ` hotdata results <result-id> ` instead of re-running, and browse history with
187- ` hotdata queries list ` .
186+ ` hotdata databases results get <result-id> ` instead of re-running, and browse history with
187+ ` hotdata databases queries list ` .
188188
189189## Join across sources
190190
@@ -209,17 +209,17 @@ setup needed for vector search (the column is auto-embedded, and queries use
209209the same model automatically):
210210
211211``` sh
212- hotdata indexes create --catalog demo --schema public --table trips \
213- --column notes --type bm25
214- hotdata search " airport surcharge dispute" --table demo.public.trips
212+ hotdata search create trips_notes --type text --from demo.public. trips \
213+ --column notes
214+ hotdata search " airport surcharge dispute" --index trips_notes
215215
216- hotdata indexes create --catalog demo --schema public --table trips \
217- --column notes --type vector
218- hotdata search " rides that mention lost items" --table demo.public.trips --type vector
216+ hotdata search create trips_notes_vec --type vector --from demo.public. trips \
217+ --column notes
218+ hotdata search " rides that mention lost items" --index trips_notes_vec
219219```
220220
221221System embedding providers come pre-configured; bring your own with
222- ` hotdata embedding-providers create ` .
222+ ` hotdata search embeddings add ` .
223223
224224## Use it from scripts and agents
225225
@@ -229,11 +229,9 @@ The CLI is built to be driven programmatically:
229229 script-friendly exit codes (` query status ` , ` ingest run ` ).
230230- Authenticate non-interactively with an API key: ` --api-key ` , or
231231 ` HOTDATA_API_KEY ` in the environment or a ` .env ` file.
232- - ` hotdata databases run <cmd> ` launches a child process (an agent, a script)
233- with credentials scoped to a single database.
234- - ` hotdata skills install ` installs bundled agent skills — Markdown playbooks
232+ - ` hotdata manage skills install ` installs bundled agent skills — Markdown playbooks
235233 that teach AI coding agents (Claude Code and friends) the full CLI surface.
236- - ` hotdata context push|show DATAMODEL ` stores your data model as shared,
234+ - ` hotdata databases context push|show DATAMODEL ` stores your data model as shared,
237235 server-side Markdown so humans and agents query with the same map.
238236
239237## Commands
@@ -245,20 +243,20 @@ Run `hotdata <command> --help` for full flags on any command.
245243| ` auth ` | ` login ` , ` register ` , ` status ` , ` logout ` |
246244| ` workspaces ` | List workspaces, set the active one |
247245| ` connections ` | Live external sources: create, list, refresh |
248- | ` databases ` | Managed databases: create, load parquet, attach connections, scoped ` run ` |
249- | ` tables ` | List queryable tables and columns |
246+ | ` databases ` | Managed databases: create, load parquet, attach connections |
247+ | ` databases tables` | List queryable tables and columns |
250248| ` query ` | Run SQL; ` status ` polls async runs |
251- | ` queries ` / ` results ` | Query history and stored results |
249+ | ` databases queries` / ` databases results` | Query history and stored results |
252250| ` search ` | BM25 and vector search over indexed columns |
253- | ` indexes ` | Create/list/delete ` sorted ` , ` bm25 ` , ` vector ` indexes |
254- | ` embedding-providers ` | Manage embedding providers for vector indexes |
255- | ` datasource ` | External sources: validate, create , list, update-config, delete |
256- | ` ingest ` | Saved load definitions: create, list, cancel , resume, schedule, ` runs ` (list), ` run ` (show one) |
257- | ` context ` | Shared server-side Markdown (` DATAMODEL ` , glossaries) |
251+ | ` search create ` / ` list ` / ` remove ` | Create/list/remove ` text ` , ` vector ` indexes |
252+ | ` search embeddings ` | Manage embedding providers for vector indexes |
253+ | ` ingest sources ` | External sources: test, add , list, update-config, remove |
254+ | ` ingest ` | Saved load definitions: create, list, pause , resume, schedule, ` logs ` (list), ` run ` (show one) |
255+ | ` databases context` | Shared server-side Markdown (` DATAMODEL ` , glossaries) |
258256| ` jobs ` | Background jobs (refreshes, index builds) |
259- | ` skills ` | Install/inspect the bundled agent skills |
260- | ` completions ` | Shell tab-completion scripts |
261- | ` upgrade ` | Upgrade the CLI in place |
257+ | ` manage skills` | Install/inspect the bundled agent skills |
258+ | ` manage completions` | Shell tab-completion scripts |
259+ | ` manage upgrade` | Upgrade the CLI in place |
262260
263261## Configuration
264262
0 commit comments