-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcopier.yaml
105 lines (89 loc) · 3.27 KB
/
copier.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
_subdirectory: template_content
_templates_suffix: ".jinja"
use_workspace:
type: bool
when: false # never prompted to user explicitly, instead expect cli to auto fill (supported cli versions > v1.13.x)
help: Automatically filled by AlgoKit CLI (>1.13.x) - passes the --workspace/--no-workspace flag's value, can be used to reason whether this template is currently being instantiated as part of a workspace or not.
default: no
# questions
project_name:
type: str
help: Name for this project.
placeholder: "algorand-app"
author_name:
type: str
help: Package author name
placeholder: "Your Name"
default: "Your Name"
author_email:
type: str
help: Package author email
placeholder: "[email protected]"
default: "[email protected]"
contract_name:
type: str
help: Name of the default smart contract app.
placeholder: "hello_world"
default: "hello_world"
validator: >-
{% if not (contract_name | regex_search('^[a-z]+(?:_[a-z]+)*$')) %}
contract_name must be formatted in snake case.
{% endif %}
preset_name:
type: str
help: Name of the template preset to use.
choices:
"Starter - for a simpler starting point ideal for prototyping": "starter"
"Production - for confidently deploying to MainNet and/or more complex projects": "production"
"Custom - for tailoring the template output to your needs": "custom"
default: "starter"
ide_vscode:
type: bool
help: Do you want to add VSCode configuration?
when: "{{ preset_name == 'custom' }}"
default: yes
code_tours:
type: bool
help: Do you want to add interactive VSCode CodeTour walkthrough?
when: "{{ preset_name == 'custom' }}"
default: yes
ide_jetbrains:
type: bool
help: Do you want to add JetBrains configuration (primarily optimized for PyCharm CE)?
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_vitest:
type: bool
when: "{{ preset_name == 'custom' }}"
help: Do you want to include unit tests (via vitest)?
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_linter:
type: bool
help: Do you want to use a linter (via ESLint)?
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_prettier:
type: bool
help: Do you want to use a formatter (via Prettier)?
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_audit:
type: bool
when: "{{ preset_name == 'custom' }}"
help: Do you want to include dependency vulnerability scanning (via better-npm-audit)?
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_github_actions:
type: bool
when: "{{ preset_name == 'custom' }}"
help: Do you want to include Github Actions workflows for build and testnet deployment?
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_pre_commit:
type: bool
when: "{{ preset_name == 'custom' }}"
help: Do you want to include pre-commit for linting, type checking and formatting?
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_dispenser:
type: bool
when: "{{ preset_name == 'custom' }}"
help: Do you want to fund your deployment account using an optional dispenser account?
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"