-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcopier.yaml
92 lines (78 loc) · 3.09 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
_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
# project_name should never get prompted, AlgoKit should always pass it by convention
project_name:
type: str
help: Name for this project.
placeholder: 'algorand-app'
author_name:
type: str
help: Package author name
placeholder: 'Your Name'
author_email:
type: str
help: Package author email
placeholder: '[email protected]'
# Preset related questions
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
ide_jetbrains:
type: bool
help: Do you want to add JetBrains configuration (primarily optimized for WebStorm)?
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_eslint_prettier:
type: bool
help: Do you want to use ESLint and Prettier for code linting and formatting?
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_tailwind:
type: bool
help: Do you want to use Tailwind CSS? A utility-first CSS framework for rapidly building custom designs.
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_daisy_ui:
type: bool
help: Do you want to use daisyUI? Framework agnostic CSS component library for building modern websites and web applications fast.
when: "{{ use_tailwind != false and preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_jest:
type: bool
help: Do you want to include unit tests (via Jest)?
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_playwright:
type: bool
help: Do you want to include end to end tests (via Playwright)?
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
use_github_actions:
type: bool
help: Do you want to include Github Actions workflows for build validation?
when: "{{ preset_name == 'custom' }}"
default: "{{ 'yes' if preset_name == 'production' else 'no' }}"
cloud_provider:
type: str
help: Pick your website hosting provider for continuous delivery
when: '{{ use_github_actions != false }}'
choices:
Netlify: 'netlify'
Vercel: 'vercel'
Skip CD setup: 'none'
default: "{{ 'netlify' if preset_name == 'production' else 'none' }}"