creaject creates project from templates.
create-project:
- templates(folder):
- config.yml
- project_files(folder):
before/after entry point
context to pass data among scripts and data about where path For Templates use Jinja2.
- click - module for cli.
- rich - https://github.com/Textualize/rich
- PyInquirer - https://github.com/CITGuru/PyInquirer
- pyyaml-6.0
- Jinja2 - https://pypi.org/project/Jinja2/
1. version - get version for create-project
2. new - generates project from specified template
3. template
1. init - creates new template
2. list - list of templates
3. export <template name or empty> (To which directory I should export?)
4. import <local path to template dir or a git url> - imports template from remote or local dir (where I should import?)
5. validate <path> - validate template folder specified path to create project or inner in folder.
- creaject new - create new project from template (specified path to create project or inner in folder.)
- creaject template list
- creaject template import <--path or default(current working directory)>
- creaject template export <--path default(current working directory)>
- creaject template validate <--path default(current working directory)>
- Create a project with some additional setup and teardown.
- specify info in variables and config.yml
- validation in config.yml
- must be shared context among all process creation
- before and after scripts. For example: git init.
- Add tests.
- Upgrade templates commands.