Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
run_clifrom the publicara_sdkexport surface and switch standalone CLI dispatch to internal_run_app_clidescriptionfromApp.tool(...)and derive tool descriptions from function docstrings onlyTest 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 -quv 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_cliis no longer publicly exported andApp.tool(..., description=...)is removed, which can change tool manifests and require downstream code updates.Overview
Reduces the public SDK surface by removing
run_clifromara_sdkexports and switching standalone CLI dispatch (python -m ara_sdk/ara) to an internal_run_app_cli.Changes tool manifest generation by dropping the
descriptionparameter fromApp.tool(...)and always deriving the toolfunction.descriptionfrom 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_clifrom the publicara_sdkAPI and drop thedescriptionkwarg fromApp.tool. Tool descriptions now come from function docstrings, and app-script CLI dispatch is handled internally.Refactors
run_clifromara_sdkexports;__main__now uses internal_run_app_cli.App.tool(..., description=...)is no longer supported; descriptions are derived from the function docstring.Migration
from ara_sdk import run_cliand anyrun_cli(app)usage. Run app commands via:python -m ara_sdk path/to/app.py <command>.@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.