From 13bbdc2ed661307da674cf77bb1ed8f4ee3905b9 Mon Sep 17 00:00:00 2001 From: Yiorgis Gozadinos Date: Fri, 5 Sep 2025 12:04:20 +0300 Subject: [PATCH] Document autocomplete, add rm alias to delete --- docs/cli.md | 24 ++++++++++++++++++++++-- src/haiku/rag/cli.py | 4 ++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/cli.md b/docs/cli.md index 5b7d6bb6..65f5eb91 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -2,6 +2,23 @@ The `haiku-rag` CLI provides complete document management functionality. +## Shell Autocompletion + +Enable shell autocompletion for faster, error‑free usage. + +- Temporary (current shell only): + ```bash + eval "$(haiku-rag --show-completion)" + ``` +- Permanent installation: + ```bash + haiku-rag --install-completion + ``` + +What’s completed: +- `get` and `delete`/`rm`: Document IDs from the selected database (respects `--db`). +- `add-src`: Local filesystem paths (URLs can still be typed manually). + ## Document Management ### List Documents @@ -26,13 +43,16 @@ haiku-rag add-src https://example.com/article.html ### Get Document ```bash -haiku-rag get 1 +haiku-rag get +# or +haiku-rag get 3f4a... # document ID (autocomplete supported) ``` ### Delete Document ```bash -haiku-rag delete 1 +haiku-rag delete +haiku-rag rm # alias ``` ### Rebuild Database diff --git a/src/haiku/rag/cli.py b/src/haiku/rag/cli.py index e1b8f785..c9e8fde2 100644 --- a/src/haiku/rag/cli.py +++ b/src/haiku/rag/cli.py @@ -190,6 +190,10 @@ def delete_document( asyncio.run(app.delete_document(doc_id=doc_id)) +# Add alias `rm` for delete +cli.command("rm", help="Alias for delete: remove a document by its ID")(delete_document) + + @cli.command("search", help="Search for documents by a query") def search( query: str = typer.Argument(