feat(cli): add non-interactive flags and help examples for agent readiness#252
Draft
MarioCadenas wants to merge 4 commits intomainfrom
Draft
feat(cli): add non-interactive flags and help examples for agent readiness#252MarioCadenas wants to merge 4 commits intomainfrom
MarioCadenas wants to merge 4 commits intomainfrom
Conversation
…iness Phase 1: Add flag-based non-interactive paths to `plugin create` and `plugin add-resource` so agents can invoke them headlessly. Includes --placement, --path, --name, --description, --resources, --resources-json, --force for create; --type, --required/--no-required, --resource-key, --permission, --fields-json, --dry-run for add-resource. Phase 2: Add Examples sections via addHelpText to all CLI commands so agents can pattern-match correct invocations from --help output. Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
- generate-types: print info message to stderr when warehouse ID is missing (exit 0 preserved for template hook compatibility), add success message after generation - list: suggest --manifest or --dir when manifest not found - setup: show install commands when no packages found - sync: suggest --plugins-dir when no plugins discovered Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
- sync --json: outputs the full TemplatePluginsManifest JSON to stdout, suppresses human-readable progress lines (works in both preview and write modes) - validate --json: outputs status-only JSON array with path, valid, and errors fields; exit code still reflects overall validity Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
Test buildResourceFromType, parseResourcesShorthand, and parseResourcesJson — the pure functions backing the new flag-based non-interactive path for `appkit plugin create`. Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.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
plugin createandplugin add-resourceso coding agents can invoke them headlessly without Clack promptsExamples:sections to--helpoutput on all CLI commands so agents can pattern-match correct invocationsplugin createnow accepts--placement,--path,--name,--description,--resources/--resources-json,--forceplugin add-resourcenow accepts--type,--required/--no-required,--resource-key,--permission,--fields-json,--dry-runTest plan
appkit plugin create --placement in-repo --path plugins/test --name test --description "Test" --forcescaffolds without promptsappkit plugin create --name test(partial flags) exits 1 with clear error listing missing flagsappkit plugin create(no flags) falls back to interactive Clack flow unchanged--resources sql_warehouse,volumeand--resources-json '[{"type":"sql_warehouse"}]'both produce correct manifests--resourcesand--resources-jsontogether are rejected by Commander conflictappkit plugin add-resource --path <dir> --type sql_warehouseadds resource non-interactivelyappkit plugin add-resource --type volume --no-required --dry-runpreviews without writing--fields-jsonoverrides default env var mappings--helpnow includes anExamples:section