fix(cli): ensure "cagent new" always generates a YAML stub when model call fails (fixes #106) #113
+74
−1
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.
This PR fixes #106
, where cagent new could fail silently (or with confusing provider errors) and leave the user without any generated YAML file.
✅ Changes
Added fallback logic in root.NewNewCmd to always write a stub YAML if model generation fails.
Added creator.WriteStubAgentFile helper that:
Creates a minimal valid YAML.
Selects sensible defaults (openai/gpt-4o-mini, anthropic/claude-sonnet-4-0, google/gemini-2.5-flash, or dmr/ai/qwen3:latest) based on available credentials.
Improved error messaging so users know both why generation failed and that a stub file was created.
Reproduction (before fix)
Behavior (after fix)
Generated stub:
Why this matters
Users are no longer left “empty-handed” if the model call fails.
Greatly improves onboarding UX: cagent new always leaves a file users can edit.