-
Couldn't load subscription status.
- Fork 17
Description
Summary
Improve the manifest add command to prompt users interactively for any required properties (such as --default-value) that are omitted from the initial command invocation. If an optional property (such as --description) is omitted, prompt the user as well but allow them to easily skip (e.g., press Enter).
Requirements
- When a required property is missing, prompt the user interactively during execution.
- When an optional property is missing (e.g., description), prompt with a clear way to skip.
- The CLI respects the existing
--no-inputflag, which disables all interactive prompts (including for required and optional properties). This is essential for CI and automation workflows. - Existing CLI flag behavior remains unchanged when all required flags are provided.
Motivation
- Improves usability for new and existing users.
- Encourages best practices and better documentation via optional prompts.
- Ensures the CLI remains friendly for automation and scripting.
Implementation notes
- The CLI already supports
--no-inputat the root level – ensure all new prompting logic respects this flag. - Prompt for optional properties (such as description) in a way that makes skipping easy (e.g., pressing Enter for none).
- Do not change the schema or validation logic for required/optional fields; only improve the prompting/user experience.
- Edge cases such as piping, redirection, or automation environments must continue to work as they do today.
Example user workflow
If a user runs:
openfeature manifest add my-flagPrompt for missing required properties (e.g., default-value). Also prompt for optional properties (e.g., description), but allow skipping.
If a user runs:
openfeature manifest add my-flag --default-value true --description "Flag description"No prompts are shown.
If a user runs:
openfeature manifest add my-flag --no-inputNo prompts are shown, even for missing required or optional properties.
No further work is needed to add the --no-input flag, as this already exists.