Compare commits

..

2 Commits

Author SHA1 Message Date
mrosati 5a2844c7cb document the CHROMA_FOLDER env var usage in help
build / build (push) Successful in 49s
pytest / pytest (push) Failing after 29s
2026-05-10 16:35:37 +02:00
mrosati 1da05f685a docstrings convention 2026-05-10 16:31:28 +02:00
3 changed files with 19 additions and 1 deletions
+1
View File
@@ -21,6 +21,7 @@
## Coding Style & Naming Conventions
Use Python 3.12+ syntax, type hints, and `from __future__ import annotations`. Follow the current style: 4-space indentation, snake_case functions and modules, PascalCase classes, and Typer command functions in `chromy/cli.py` that delegate to small handler functions. Keep handlers focused on CLI orchestration and user-facing output; place reusable database, chunking, embedding, query, and formatting logic in shared modules. Prefer `rich` output for user-facing CLI messages to stay consistent with the existing commands.
Docstrings follow Google coding style conventions and are always added to any function.
## Testing Guidelines
+10 -1
View File
@@ -6,6 +6,7 @@ import typer
from chromadb.errors import InternalError, NotFoundError
from rich import print
from chromy.chroma_functions import CHROMA_FOLDER_ENV_VAR
from chromy.errors import ChromaPathError
from chromy.handlers.count_collection import handle_count_collection
from chromy.handlers.create_collection import handle_create_collection
@@ -17,7 +18,15 @@ from chromy.handlers.import_data import handle_import
from chromy.handlers.list_collections import handle_list_collections
from chromy.handlers.query import handle_query
app = typer.Typer(help="Chromy, local RAG CLI based on Chromadb.")
app = typer.Typer(
help=(
"Chromy, local RAG CLI based on Chromadb.\n\n"
"Storage location:\n"
"- By default, Chromy uses Chroma's default persistent location behavior.\n"
f"- Set {CHROMA_FOLDER_ENV_VAR} to a parent directory to override it.\n"
f"- Chromy stores data in <{CHROMA_FOLDER_ENV_VAR}>/chroma."
)
)
ExitCodeHandler = Callable[[], int]
+8
View File
@@ -252,6 +252,14 @@ class CliTests(unittest.TestCase):
self.assertNotEqual(result.exit_code, 0)
self.assertIn("Missing option", result.output)
def test_cli_help_documents_chroma_folder_env_var(self) -> None:
result = _invoke(["--help"])
self.assertEqual(result.exit_code, 0)
self.assertIn("CHROMA_FOLDER", result.stdout)
self.assertIn("parent directory", result.stdout)
self.assertIn("<CHROMA_FOLDER>/chroma", result.stdout)
def test_cli_surfaces_chroma_path_errors(self) -> None:
with patch(
"chromy.handlers.list_collections.list_collections",