diff --git a/pyproject.toml b/pyproject.toml index 680d8599..667214c7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,8 +61,6 @@ explicit = true [project.scripts] serena = "serena.cli:top_level" -serena-mcp-server = "serena.cli:start_mcp_server" -index-project = "serena.cli:index_project" # deprecated [project.license] text = "MIT" diff --git a/scripts/mcp_server.py b/scripts/mcp_server.py index 74d2ae52..9b5c3f5a 100644 --- a/scripts/mcp_server.py +++ b/scripts/mcp_server.py @@ -1,4 +1,4 @@ -from serena.cli import start_mcp_server +from serena.cli import top_level if __name__ == "__main__": - start_mcp_server() + top_level.start_mcp_server() diff --git a/src/serena/cli.py b/src/serena/cli.py index 7ad3fb2d..666815ee 100644 --- a/src/serena/cli.py +++ b/src/serena/cli.py @@ -1109,23 +1109,16 @@ class PromptCommands(AutoRegisteringGroup): click.echo(f"Deleted override file '{prompt_yaml_name}'.") -# Expose groups so we can reference them in pyproject.toml -mode = ModeCommands() -context = ContextCommands() -project = ProjectCommands() -config = SerenaConfigCommands() -tools = ToolCommands() -prompts = PromptCommands() +_mode = ModeCommands() +_context = ContextCommands() +_project = ProjectCommands() +_config = SerenaConfigCommands() +_tools = ToolCommands() +_prompts = PromptCommands() -# Expose toplevel commands for the same reason +# Expose so we can use this as an entrypoint top_level = TopLevelCommands() -start_mcp_server = top_level.start_mcp_server # needed for the help script to work - register all subcommands to the top-level group -for subgroup in (mode, context, project, config, tools, prompts): +for subgroup in (_mode, _context, _project, _config, _tools, _prompts): top_level.add_command(subgroup) - - -def get_help() -> str: - """Retrieve the help text for the top-level Serena CLI.""" - return top_level.get_help(click.Context(top_level, info_name="serena"))