Close agent-UX gaps to make milo the ultimate vibe-coding CLI framework#56
Merged
Close agent-UX gaps to make milo the ultimate vibe-coding CLI framework#56
Conversation
Six shipped sprints, each independently reviewable, closing the seams between milo's excellent core and agents who need to use it without reading source: - docs/agent-quickstart.md: 5-step walkthrough from @cli.command to a verified Claude MCP tool call, plus error-data contract reference. - examples/greet/: minimal CLI template with tests/ covering schema, direct dispatch, and MCP dispatch layers. docs/testing.md points at it. - MiloError: new argument/constraint kwargs; _call_tool returns structured errorData with argument name, reason, suggestion, and tool schema on TypeError (missing/unexpected kwargs) and MiloError paths. - llms.txt: params render as required/optional with inline defaults. - form_schema(*specs): JSON Schema introspection helper so agents can inspect interactive forms without running the TUI. - function_to_schema docstring now explains Context-param skip. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Coverage Report✅ 87.6% overall coverage
|
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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
Six independently-reviewable sprints that close the seams between milo's
excellent core and coding agents who need to use it without reading source.
docs/agent-quickstart.md— 5-step walkthrough from@cli.commandto averified Claude MCP tool call, plus an error-data contract agents can parse.
examples/greet/— minimal CLI template withtests/covering the threetest layers (schema, direct dispatch, MCP dispatch).
docs/testing.mdpointsat it as the copy-paste template.
MiloErrorgainsargument/constraintkwargs;
_call_toolnow returnserrorDatawithargument,reason,suggestion, andschemaonTypeError(missing/unexpected kwargs) and onMiloErrorpaths, so agents can repair calls without guessing.form_schema(*specs)— new JSON Schema introspection helper so agentscan inspect interactive forms without running the TUI.
llms.txtclarity — params render asrequired/optional, default: "latest"with inline defaults.function_to_schemanow explains whyContext-typedparams are intentionally skipped from generated schemas.
Ruff clean, 1374 pytest + 8 greet-template tests passing, 85% coverage.
Test plan
uv run pytest— 1374 passed, 1 skippeduv run pytest examples/greet/tests/— 8 passeduv run ruff check— cleanuv run python examples/greet/app.py greet --name Alice→Hello, Alice!--llms-txtoutput shows(string, **required**)/(boolean, optional, default: False)🤖 Generated with Claude Code