"""everos CLI root entry point. Exposed as the ``everos`` console script in ``pyproject.toml``. Subcommand groups live under :mod:`everos.entrypoints.cli.commands` and are registered here. CLI subcommands run **in-process** — they call into the service layer directly rather than through the HTTP API. The HTTP API and CLI are two sibling surfaces over the same service layer. """ from __future__ import annotations import typer from .commands import cascade, init_cmd, server app = typer.Typer( name="everos", help="everos — md-first memory extraction framework", no_args_is_help=True, add_completion=False, ) app.add_typer(server.app, name="server") app.add_typer(cascade.app, name="cascade") # ``init`` is a top-level leaf command (not a Typer group) — match the # idiomatic ``alembic init`` / ``django-admin startproject`` shape. init_cmd.register(app) if __name__ == "__main__": app()