---
name: Project Init (pi)
author: Vanessa McHale <vamchale@gmail.com>
about: Initialize projects from a template.
after_help: See 'man pi' for more information
subcommands:
- git:
visible_alias: "g"
about: Fetch a template from github.
args:
- repo:
index: 1
value_name: USER/REPO
help: User and repository name where the template is located
takes_value: true
required: true
- name:
value_name: NAME
help: Project name to be used for project directory
index: 2
takes_value: true
required: true
- force:
short: f
long: force
help: Initialize project even if directory already exists.
- list:
visible_alias: "l"
about: List available templates. User templates can be added by placing them in ~/.pi_templates
- update:
visible_alias: "u"
about: Update pi (only works on UNIX)
args:
- force:
short: f
long: force
help: Force installation even when binary already exists.
- init:
about: Use a template from a folder
alias: "i"
args:
- directory:
value_name: TEMPLATE_DIR
help: Directory containing your template, either in the current directory or in $HOME/.pi_templates/
index: 1
takes_value: true
required: true
- name:
value_name: NAME
help: Project name to be used for project directory
index: 2
takes_value: true
required: true
- force:
short: f
long: force
help: Initialize project even if directory already exists.
- new:
about: Use a built-in template
alias: "n"
args:
- template:
index: 1
takes_value: true
required: true
help: Template to be used
long_help: Template to used. Currently supported are Rust, Haskell, Idris, Elm, Python, Vimscript, Miso, and Julia.
- name:
value_name: NAME
help: Project name to be used for project directory
index: 2
takes_value: true
required: true
- force:
short: f
long: force
help: Initialize project even if directory already exists.