Skip to content

Enhance manifest add command: interactive prompting for required and optional properties #173

@beeme1mr

Description

@beeme1mr

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-input flag, 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-input at 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-flag

Prompt 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-input

No 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.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions