Skip to content

refactor(sdk): remove public run_cli and tool description kwarg - #4

Open
svemyh wants to merge 1 commit into
mainfrom
feat/remove-run-cli-and-tool-description-sdk
Open

svemyh wants to merge 1 commit into
mainfrom
feat/remove-run-cli-and-tool-description-sdk

Conversation

@svemyh

@svemyh svemyh commented Apr 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • remove run_cli from the public ara_sdk export surface and switch standalone CLI dispatch to internal _run_app_cli
  • remove description from App.tool(...) and derive tool descriptions from function docstrings only
  • update README examples and targeted tests to use the reduced API surface

Test plan

  • uv run --with pytest pytest tests/test_manifest.py::test_tool_manifest_shape tests/test_manifest.py::test_tool_supports_multiline_decorator_arguments tests/test_standalone_cli.py::test_standalone_cli_dispatches_command_to_app_cli -q
  • uv run --with pytest pytest tests/test_manifest.py tests/test_standalone_cli.py -q (has pre-existing env-dependent failures in this shell due ambient credentials)

Made with Cursor


Note

Medium Risk
Medium risk because this is a breaking API-surface change: run_cli is no longer publicly exported and App.tool(..., description=...) is removed, which can change tool manifests and require downstream code updates.

Overview
Reduces the public SDK surface by removing run_cli from ara_sdk exports and switching standalone CLI dispatch (python -m ara_sdk / ara) to an internal _run_app_cli.

Changes tool manifest generation by dropping the description parameter from App.tool(...) and always deriving the tool function.description from the tool function’s docstring. Examples/README and affected tests are updated to reflect docstring-based descriptions and the renamed internal CLI function.

Reviewed by Cursor Bugbot for commit 8837d8f. Bugbot is set up for automated code reviews on this repo. Configure here.


Summary by cubic

Remove run_cli from the public ara_sdk API and drop the description kwarg from App.tool. Tool descriptions now come from function docstrings, and app-script CLI dispatch is handled internally.

  • Refactors

    • Removed run_cli from ara_sdk exports; __main__ now uses internal _run_app_cli.
    • App.tool(..., description=...) is no longer supported; descriptions are derived from the function docstring.
    • Updated README, examples, and tests to match the reduced API.
  • Migration

    • Remove from ara_sdk import run_cli and any run_cli(app) usage. Run app commands via: python -m ara_sdk path/to/app.py <command>.
    • Replace @app.tool(id="...", description="...") with @app.tool(id="...") and add a clear docstring to the tool function for its description.

Written for commit 8837d8f. Summary will update on new commits.

Simplify the SDK surface by removing exported run_cli and treating app-script CLI dispatch as internal-only, while making tool descriptions docstring-driven instead of accepting a decorator description argument. Update docs, examples, and tests to match the reduced API contract.

Made-with: Cursor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 8 files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant