Introduce Command Structure for CLI with New Generate, Info, and Validate Commands #5
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.
Overview:
This pull request refactors and enhances the command-line interface (CLI) of the project by introducing a structured command system. The main additions include the implementation of new commands—
generate
,info
, andvalidate
—which provide better organization and flexibility for interacting with the project’s structure generation capabilities.Changes:
GenerateCommand
to handle the creation of project structures based on a YAML configuration file.InfoCommand
to display information about the package.ValidateCommand
to validate the YAML configuration file used for structure generation.struct_module/main.py
) to support subcommands using the argparse module.utils.py
file, consolidating the responsibilities into the newly created command classes.setup.py
to reflect the new command structure, ensuring that the correct entry points are used.generate
subcommand.Justification:
This refactor significantly improves the maintainability and extensibility of the CLI, making it easier to introduce new commands and features in the future. By organizing commands into distinct classes, we enhance the clarity and separation of concerns within the codebase.
Impact:
generate
,info
, andvalidate
subcommands.