markform 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -42
- package/dist/ai-sdk.d.mts +2 -2
- package/dist/ai-sdk.mjs +5 -5
- package/dist/{apply-BfAGTHMh.mjs → apply-C54EMAJ1.mjs} +383 -26
- package/dist/bin.mjs +6 -6
- package/dist/{cli-B3NVm6zL.mjs → cli-BhWhn6L9.mjs} +456 -141
- package/dist/cli.mjs +6 -6
- package/dist/{coreTypes-BXhhz9Iq.d.mts → coreTypes-cbNTYAcb.d.mts} +1878 -325
- package/dist/{coreTypes-Dful87E0.mjs → coreTypes-pyctKRgc.mjs} +79 -5
- package/dist/index.d.mts +146 -9
- package/dist/index.mjs +5 -5
- package/dist/session-B_stoXQn.mjs +4 -0
- package/dist/{session-Bqnwi9wp.mjs → session-uF0e6m6k.mjs} +9 -5
- package/dist/{shared-N_s1M-_K.mjs → shared-BqPnYXrn.mjs} +82 -1
- package/dist/shared-CZsyShck.mjs +3 -0
- package/dist/{src-BXRkGFpG.mjs → src-BNh7Cx9P.mjs} +801 -121
- package/docs/markform-apis.md +194 -0
- package/{DOCS.md → docs/markform-reference.md} +111 -50
- package/{SPEC.md → docs/markform-spec.md} +342 -91
- package/examples/celebrity-deep-research/celebrity-deep-research.form.md +196 -141
- package/examples/earnings-analysis/earnings-analysis.form.md +236 -226
- package/examples/movie-research/movie-research-basic.form.md +25 -21
- package/examples/movie-research/movie-research-deep.form.md +74 -62
- package/examples/movie-research/movie-research-minimal.form.md +29 -34
- package/examples/simple/simple-mock-filled.form.md +93 -29
- package/examples/simple/simple-skipped-filled.form.md +91 -29
- package/examples/simple/simple-with-skips.session.yaml +93 -25
- package/examples/simple/simple.form.md +74 -20
- package/examples/simple/simple.session.yaml +98 -25
- package/examples/startup-deep-research/startup-deep-research.form.md +108 -81
- package/examples/startup-research/startup-research-mock-filled.form.md +43 -43
- package/examples/startup-research/startup-research.form.md +24 -24
- package/package.json +18 -27
- package/dist/session-DdAtY2Ni.mjs +0 -4
- package/dist/shared-D7gf27Tr.mjs +0 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
markform:
|
|
3
3
|
spec: MF/0.1
|
|
4
4
|
title: Movie Research (Minimal)
|
|
5
|
-
description: Quick movie lookup
|
|
5
|
+
description: Quick movie lookup with just the essentials (title, year, ratings, summary).
|
|
6
6
|
roles:
|
|
7
7
|
- user
|
|
8
8
|
- agent
|
|
@@ -11,62 +11,57 @@ markform:
|
|
|
11
11
|
agent: |
|
|
12
12
|
Quickly identify the movie and fill in basic info from IMDB.
|
|
13
13
|
This is a minimal lookup - just get the core facts.
|
|
14
|
-
harness_config:
|
|
15
|
-
max_issues_per_turn: 3
|
|
16
|
-
max_patches_per_turn: 8
|
|
17
14
|
---
|
|
18
|
-
|
|
19
15
|
{% form id="movie_research_minimal" title="Movie Research (Minimal)" %}
|
|
20
16
|
|
|
21
|
-
|
|
22
|
-
A quick movie lookup for essential info: title, year, rating, and a brief summary.
|
|
23
|
-
{% /description %}
|
|
17
|
+
## Movie Research Example
|
|
24
18
|
|
|
25
19
|
{% field-group id="movie_input" title="Movie Identification" %}
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
What movie do you want to research? \[*This field is filled in by the user (`role="user"`).*\]
|
|
28
22
|
|
|
29
|
-
{%
|
|
30
|
-
Enter the movie title (add year or details
|
|
31
|
-
{% /instructions %}
|
|
23
|
+
{% field kind="string" id="movie" label="Movie" role="user" required=true minLength=1 maxLength=300 %}{% /field %}
|
|
24
|
+
{% instructions ref="movie" %}Enter the movie title (add year or details for disambiguation).{% /instructions %}
|
|
32
25
|
|
|
33
26
|
{% /field-group %}
|
|
34
27
|
|
|
35
|
-
|
|
28
|
+
## About the Movie
|
|
36
29
|
|
|
37
|
-
{%
|
|
30
|
+
{% field-group id="about_the_movie" title="About the Movie" %}
|
|
38
31
|
|
|
39
|
-
|
|
40
|
-
Official title including subtitle if any.
|
|
41
|
-
{% /instructions %}
|
|
32
|
+
**Title:**
|
|
42
33
|
|
|
43
|
-
{%
|
|
34
|
+
{% field kind="string" id="full_title" label="Full Title" role="agent" required=true %}{% /field %}
|
|
35
|
+
{% instructions ref="full_title" %}Official title, including subtitle if any.{% /instructions %}
|
|
44
36
|
|
|
45
|
-
|
|
37
|
+
**Release year:**
|
|
46
38
|
|
|
47
|
-
{% field
|
|
39
|
+
{% field kind="number" id="year" label="Release Year" role="agent" required=true min=1888 max=2030 %}{% /field %}
|
|
48
40
|
|
|
49
|
-
|
|
41
|
+
**IMDB:**
|
|
50
42
|
|
|
51
|
-
{% /field
|
|
43
|
+
{% field kind="url" id="imdb_url" label="IMDB URL" role="agent" required=true %}{% /field %}
|
|
52
44
|
|
|
53
|
-
|
|
45
|
+
**MPAA rating:**
|
|
54
46
|
|
|
55
|
-
{%
|
|
47
|
+
{% field kind="single_select" id="mpaa_rating" label="MPAA Rating" role="agent" %}
|
|
48
|
+
- [ ] G {% #g %}
|
|
49
|
+
- [ ] PG {% #pg %}
|
|
50
|
+
- [ ] PG-13 {% #pg_13 %}
|
|
51
|
+
- [ ] R {% #r %}
|
|
52
|
+
- [ ] NC-17 {% #nc_17 %}
|
|
53
|
+
- [ ] NR/Unrated {% #nr %}
|
|
54
|
+
{% /field %}
|
|
56
55
|
|
|
57
|
-
|
|
58
|
-
IMDB user rating (1.0-10.0 scale).
|
|
59
|
-
{% /instructions %}
|
|
60
|
-
|
|
61
|
-
{% /field-group %}
|
|
56
|
+
**IMDB rating:**
|
|
62
57
|
|
|
63
|
-
{% field
|
|
58
|
+
{% field kind="number" id="imdb_rating" label="IMDB Rating" role="agent" min=1.0 max=10.0 %}{% /field %}
|
|
59
|
+
{% instructions ref="imdb_rating" %}IMDB user rating (1.0-10.0 scale).{% /instructions %}
|
|
64
60
|
|
|
65
|
-
|
|
61
|
+
**Summary:**
|
|
66
62
|
|
|
67
|
-
{%
|
|
68
|
-
Brief plot summary in 1-2 sentences, no spoilers.
|
|
69
|
-
{% /instructions %}
|
|
63
|
+
{% field kind="string" id="logline" label="One-Line Summary" role="agent" maxLength=300 %}{% /field %}
|
|
64
|
+
{% instructions ref="logline" %}Brief plot summary in 1-2 sentences, no spoilers.{% /instructions %}
|
|
70
65
|
|
|
71
66
|
{% /field-group %}
|
|
72
67
|
|
|
@@ -18,33 +18,33 @@ Fill all fields using interactive prompts - no LLM API key needed.
|
|
|
18
18
|
|
|
19
19
|
{% field-group id="basic_fields" title="Basic Fields" %}
|
|
20
20
|
|
|
21
|
-
{%
|
|
21
|
+
{% field kind="string" id="name" label="Name" role="user" required=true minLength=2 maxLength=50 placeholder="Enter your name" examples=["John Smith", "Jane Doe"] %}
|
|
22
22
|
```value
|
|
23
23
|
Alice Johnson
|
|
24
24
|
```
|
|
25
|
-
{% /
|
|
25
|
+
{% /field %}
|
|
26
26
|
|
|
27
27
|
{% instructions ref="name" %}
|
|
28
28
|
Enter your full name (2-50 characters).
|
|
29
29
|
{% /instructions %}
|
|
30
30
|
|
|
31
|
-
{%
|
|
31
|
+
{% field kind="string" id="email" label="Email" role="user" required=true pattern="^[^@]+@[^@]+\\.[^@]+$" placeholder="email@example.com" examples=["alice@company.com", "bob@example.org"] %}
|
|
32
32
|
```value
|
|
33
33
|
alice@example.com
|
|
34
34
|
```
|
|
35
|
-
{% /
|
|
35
|
+
{% /field %}
|
|
36
36
|
|
|
37
|
-
{%
|
|
37
|
+
{% field kind="number" id="age" label="Age" role="user" required=true min=0 max=150 integer=true placeholder="25" examples=["18", "30", "45"] %}
|
|
38
38
|
```value
|
|
39
39
|
32
|
|
40
40
|
```
|
|
41
|
-
{% /
|
|
41
|
+
{% /field %}
|
|
42
42
|
|
|
43
|
-
{%
|
|
43
|
+
{% field kind="number" id="score" label="Score" role="user" min=0.0 max=100.0 placeholder="85.5" examples=["75.0", "90.5", "100.0"] %}
|
|
44
44
|
```value
|
|
45
45
|
87.5
|
|
46
46
|
```
|
|
47
|
-
{% /
|
|
47
|
+
{% /field %}
|
|
48
48
|
|
|
49
49
|
{% instructions ref="score" %}
|
|
50
50
|
Enter a score between 0 and 100 (optional).
|
|
@@ -54,13 +54,13 @@ Enter a score between 0 and 100 (optional).
|
|
|
54
54
|
|
|
55
55
|
{% field-group id="list_fields" title="List Fields" %}
|
|
56
56
|
|
|
57
|
-
{%
|
|
57
|
+
{% field kind="string_list" id="tags" label="Tags" role="user" required=true minItems=1 maxItems=5 itemMinLength=2 uniqueItems=true %}
|
|
58
58
|
```value
|
|
59
59
|
typescript
|
|
60
60
|
testing
|
|
61
61
|
forms
|
|
62
62
|
```
|
|
63
|
-
{% /
|
|
63
|
+
{% /field %}
|
|
64
64
|
|
|
65
65
|
{% instructions ref="tags" %}
|
|
66
66
|
Add 1-5 unique tags (each at least 2 characters).
|
|
@@ -70,43 +70,43 @@ Add 1-5 unique tags (each at least 2 characters).
|
|
|
70
70
|
|
|
71
71
|
{% field-group id="selection_fields" title="Selection Fields" %}
|
|
72
72
|
|
|
73
|
-
{%
|
|
73
|
+
{% field kind="single_select" id="priority" label="Priority" role="user" required=true %}
|
|
74
74
|
- [ ] Low {% #low %}
|
|
75
75
|
- [x] Medium {% #medium %}
|
|
76
76
|
- [ ] High {% #high %}
|
|
77
|
-
{% /
|
|
77
|
+
{% /field %}
|
|
78
78
|
|
|
79
|
-
{%
|
|
79
|
+
{% field kind="multi_select" id="categories" label="Categories" role="user" required=true minSelections=1 maxSelections=3 %}
|
|
80
80
|
- [x] Frontend {% #frontend %}
|
|
81
81
|
- [x] Backend {% #backend %}
|
|
82
82
|
- [ ] Database {% #database %}
|
|
83
83
|
- [ ] DevOps {% #devops %}
|
|
84
|
-
{% /
|
|
84
|
+
{% /field %}
|
|
85
85
|
|
|
86
86
|
{% /field-group %}
|
|
87
87
|
|
|
88
88
|
{% field-group id="checkbox_fields" title="Checkbox Fields" %}
|
|
89
89
|
|
|
90
|
-
{% checkboxes id="tasks_multi" label="Tasks (Multi Mode)" role="user" checkboxMode="multi" required=true %}
|
|
90
|
+
{% field kind="checkboxes" id="tasks_multi" label="Tasks (Multi Mode)" role="user" checkboxMode="multi" required=true %}
|
|
91
91
|
- [x] Research {% #research %}
|
|
92
92
|
- [x] Design {% #design %}
|
|
93
93
|
- [x] Implement {% #implement %}
|
|
94
94
|
- [-] Test {% #test %}
|
|
95
|
-
{% /
|
|
95
|
+
{% /field %}
|
|
96
96
|
|
|
97
97
|
{% instructions ref="tasks_multi" %}
|
|
98
98
|
Track task progress. All must reach done or na state to complete.
|
|
99
99
|
{% /instructions %}
|
|
100
100
|
|
|
101
|
-
{% checkboxes id="tasks_simple" label="Agreements (Simple Mode)" role="user" checkboxMode="simple" required=true %}
|
|
101
|
+
{% field kind="checkboxes" id="tasks_simple" label="Agreements (Simple Mode)" role="user" checkboxMode="simple" required=true %}
|
|
102
102
|
- [x] I have read the guidelines {% #read_guidelines %}
|
|
103
103
|
- [x] I agree to the terms {% #agree_terms %}
|
|
104
|
-
{% /
|
|
104
|
+
{% /field %}
|
|
105
105
|
|
|
106
|
-
{% checkboxes id="confirmations" label="Confirmations (Explicit Mode)" role="user" checkboxMode="explicit" required=true %}
|
|
106
|
+
{% field kind="checkboxes" id="confirmations" label="Confirmations (Explicit Mode)" role="user" checkboxMode="explicit" required=true %}
|
|
107
107
|
- [y] Data has been backed up {% #backed_up %}
|
|
108
108
|
- [n] Stakeholders notified {% #notified %}
|
|
109
|
-
{% /
|
|
109
|
+
{% /field %}
|
|
110
110
|
|
|
111
111
|
{% instructions ref="confirmations" %}
|
|
112
112
|
Answer yes or no for each confirmation. All must be explicitly answered.
|
|
@@ -116,23 +116,23 @@ Answer yes or no for each confirmation. All must be explicitly answered.
|
|
|
116
116
|
|
|
117
117
|
{% field-group id="url_fields" title="URL Fields" %}
|
|
118
118
|
|
|
119
|
-
{%
|
|
119
|
+
{% field kind="url" id="website" label="Website" role="user" required=true placeholder="https://example.com" examples=["https://github.com/user/repo", "https://company.com"] %}
|
|
120
120
|
```value
|
|
121
121
|
https://alice.dev
|
|
122
122
|
```
|
|
123
|
-
{% /
|
|
123
|
+
{% /field %}
|
|
124
124
|
|
|
125
125
|
{% instructions ref="website" %}
|
|
126
126
|
Enter your website URL (must be http or https).
|
|
127
127
|
{% /instructions %}
|
|
128
128
|
|
|
129
|
-
{%
|
|
129
|
+
{% field kind="url_list" id="references" label="References" role="user" minItems=1 maxItems=5 uniqueItems=true placeholder="https://docs.example.com" examples=["https://wikipedia.org/wiki/Example", "https://docs.github.com/en"] %}
|
|
130
130
|
```value
|
|
131
131
|
https://docs.example.com/guide
|
|
132
132
|
https://github.com/example/project
|
|
133
133
|
https://medium.com/article-about-forms
|
|
134
134
|
```
|
|
135
|
-
{% /
|
|
135
|
+
{% /field %}
|
|
136
136
|
|
|
137
137
|
{% instructions ref="references" %}
|
|
138
138
|
Add 1-5 unique reference URLs for sources or documentation.
|
|
@@ -140,30 +140,94 @@ Add 1-5 unique reference URLs for sources or documentation.
|
|
|
140
140
|
|
|
141
141
|
{% /field-group %}
|
|
142
142
|
|
|
143
|
+
{% field-group id="date_fields" title="Date and Year Fields" %}
|
|
144
|
+
|
|
145
|
+
{% field kind="date" id="event_date" label="Event Date" role="user" required=true min="2020-01-01" max="2030-12-31" %}
|
|
146
|
+
```value
|
|
147
|
+
2025-06-15
|
|
148
|
+
```
|
|
149
|
+
{% /field %}
|
|
150
|
+
|
|
151
|
+
{% instructions ref="event_date" %}
|
|
152
|
+
Enter the event date (YYYY-MM-DD format, between 2020 and 2030).
|
|
153
|
+
{% /instructions %}
|
|
154
|
+
|
|
155
|
+
{% field kind="year" id="founded_year" label="Founded Year" role="user" required=true min=1900 max=2030 %}
|
|
156
|
+
```value
|
|
157
|
+
2020
|
|
158
|
+
```
|
|
159
|
+
{% /field %}
|
|
160
|
+
|
|
161
|
+
{% instructions ref="founded_year" %}
|
|
162
|
+
Enter the year the company was founded (1900-2030).
|
|
163
|
+
{% /instructions %}
|
|
164
|
+
|
|
165
|
+
{% /field-group %}
|
|
166
|
+
|
|
167
|
+
{% field-group id="table_fields" title="Table Fields" %}
|
|
168
|
+
|
|
169
|
+
{% field kind="table" id="team_members" label="Team Members" role="user" minRows=0 maxRows=5
|
|
170
|
+
columnIds=["name", "role", "start_date"]
|
|
171
|
+
columnTypes=[{type: "string", required: true}, "string", "date"] %}
|
|
172
|
+
| Name | Role | Start Date |
|
|
173
|
+
|------|------|------------|
|
|
174
|
+
| Alice | Engineer | 2024-01-15 |
|
|
175
|
+
| Bob | Designer | 2023-06-01 |
|
|
176
|
+
{% /field %}
|
|
177
|
+
|
|
178
|
+
{% instructions ref="team_members" %}
|
|
179
|
+
Add team members with their name (required), role, and start date.
|
|
180
|
+
{% /instructions %}
|
|
181
|
+
|
|
182
|
+
{% field kind="table" id="project_tasks" label="Project Tasks" role="user" minRows=0 maxRows=10
|
|
183
|
+
columnIds=["task", "estimate_hrs", "link"]
|
|
184
|
+
columnTypes=[{type: "string", required: true}, "number", "url"] %}
|
|
185
|
+
| Task | Estimate (hrs) | Link |
|
|
186
|
+
|------|----------------|------|
|
|
187
|
+
{% /field %}
|
|
188
|
+
|
|
189
|
+
{% instructions ref="project_tasks" %}
|
|
190
|
+
Optionally add project tasks with estimated hours and reference links.
|
|
191
|
+
{% /instructions %}
|
|
192
|
+
|
|
193
|
+
{% /field-group %}
|
|
194
|
+
|
|
143
195
|
{% field-group id="optional_fields" title="Optional Fields" %}
|
|
144
196
|
|
|
145
|
-
{%
|
|
197
|
+
{% field kind="string" id="notes" label="Notes" role="user" %}
|
|
146
198
|
```value
|
|
147
199
|
This is a test note.
|
|
148
200
|
```
|
|
149
|
-
{% /
|
|
201
|
+
{% /field %}
|
|
150
202
|
|
|
151
203
|
{% instructions ref="notes" %}
|
|
152
204
|
Add any relevant notes or observations (optional).
|
|
153
205
|
{% /instructions %}
|
|
154
206
|
|
|
155
|
-
{%
|
|
207
|
+
{% field kind="number" id="optional_number" label="Optional Number" role="user" %}{% /field %}
|
|
156
208
|
|
|
157
|
-
{%
|
|
209
|
+
{% field kind="url" id="related_url" label="Related URL" role="user" %}
|
|
158
210
|
```value
|
|
159
211
|
https://markform.dev/docs
|
|
160
212
|
```
|
|
161
|
-
{% /
|
|
213
|
+
{% /field %}
|
|
162
214
|
|
|
163
215
|
{% instructions ref="related_url" %}
|
|
164
216
|
Optionally add a URL to related documentation or resources.
|
|
165
217
|
{% /instructions %}
|
|
166
218
|
|
|
219
|
+
{% field kind="date" id="optional_date" label="Optional Date" role="user" %}{% /field %}
|
|
220
|
+
|
|
221
|
+
{% instructions ref="optional_date" %}
|
|
222
|
+
Optionally add a date (YYYY-MM-DD format).
|
|
223
|
+
{% /instructions %}
|
|
224
|
+
|
|
225
|
+
{% field kind="year" id="optional_year" label="Optional Year" role="user" %}{% /field %}
|
|
226
|
+
|
|
227
|
+
{% instructions ref="optional_year" %}
|
|
228
|
+
Optionally add a year.
|
|
229
|
+
{% /instructions %}
|
|
230
|
+
|
|
167
231
|
{% /field-group %}
|
|
168
232
|
|
|
169
233
|
{% note id="note-review" ref="simple_test" role="user" %}
|
|
@@ -18,33 +18,33 @@ Fill all fields using interactive prompts - no LLM API key needed.
|
|
|
18
18
|
|
|
19
19
|
{% field-group id="basic_fields" title="Basic Fields" %}
|
|
20
20
|
|
|
21
|
-
{%
|
|
21
|
+
{% field kind="string" id="name" label="Name" maxLength=50 minLength=2 required=true role="user" placeholder="Enter your name" examples=["John Smith", "Jane Doe"] %}
|
|
22
22
|
```value
|
|
23
23
|
Test User
|
|
24
24
|
```
|
|
25
|
-
{% /
|
|
25
|
+
{% /field %}
|
|
26
26
|
|
|
27
27
|
{% instructions ref="name" %}
|
|
28
28
|
Enter your full name (2-50 characters).
|
|
29
29
|
{% /instructions %}
|
|
30
30
|
|
|
31
|
-
{%
|
|
31
|
+
{% field kind="string" id="email" label="Email" pattern="^[^@]+@[^@]+\\.[^@]+$" required=true role="user" placeholder="email@example.com" examples=["alice@company.com", "bob@example.org"] %}
|
|
32
32
|
```value
|
|
33
33
|
test@example.com
|
|
34
34
|
```
|
|
35
|
-
{% /
|
|
35
|
+
{% /field %}
|
|
36
36
|
|
|
37
|
-
{%
|
|
37
|
+
{% field kind="number" id="age" integer=true label="Age" max=150 min=0 required=true role="user" placeholder="25" examples=["18", "30", "45"] %}
|
|
38
38
|
```value
|
|
39
39
|
25
|
|
40
40
|
```
|
|
41
|
-
{% /
|
|
41
|
+
{% /field %}
|
|
42
42
|
|
|
43
|
-
{%
|
|
43
|
+
{% field kind="number" id="score" label="Score" max=100 min=0 role="user" state="skipped" placeholder="85.5" examples=["75.0", "90.5", "100.0"] %}
|
|
44
44
|
```value
|
|
45
45
|
%SKIP% (Not needed for this test)
|
|
46
46
|
```
|
|
47
|
-
{% /
|
|
47
|
+
{% /field %}
|
|
48
48
|
|
|
49
49
|
{% instructions ref="score" %}
|
|
50
50
|
Enter a score between 0 and 100 (optional).
|
|
@@ -54,12 +54,12 @@ Enter a score between 0 and 100 (optional).
|
|
|
54
54
|
|
|
55
55
|
{% field-group id="list_fields" title="List Fields" %}
|
|
56
56
|
|
|
57
|
-
{%
|
|
57
|
+
{% field kind="string_list" id="tags" itemMinLength=2 label="Tags" maxItems=5 minItems=1 required=true role="user" uniqueItems=true %}
|
|
58
58
|
```value
|
|
59
59
|
typescript
|
|
60
60
|
testing
|
|
61
61
|
```
|
|
62
|
-
{% /
|
|
62
|
+
{% /field %}
|
|
63
63
|
|
|
64
64
|
{% instructions ref="tags" %}
|
|
65
65
|
Add 1-5 unique tags (each at least 2 characters).
|
|
@@ -69,43 +69,43 @@ Add 1-5 unique tags (each at least 2 characters).
|
|
|
69
69
|
|
|
70
70
|
{% field-group id="selection_fields" title="Selection Fields" %}
|
|
71
71
|
|
|
72
|
-
{%
|
|
72
|
+
{% field kind="single_select" id="priority" label="Priority" required=true role="user" %}
|
|
73
73
|
- [ ] Low {% #low %}
|
|
74
74
|
- [ ] Medium {% #medium %}
|
|
75
75
|
- [x] High {% #high %}
|
|
76
|
-
{% /
|
|
76
|
+
{% /field %}
|
|
77
77
|
|
|
78
|
-
{%
|
|
78
|
+
{% field kind="multi_select" id="categories" label="Categories" maxSelections=3 minSelections=1 required=true role="user" %}
|
|
79
79
|
- [x] Frontend {% #frontend %}
|
|
80
80
|
- [x] Backend {% #backend %}
|
|
81
81
|
- [ ] Database {% #database %}
|
|
82
82
|
- [ ] DevOps {% #devops %}
|
|
83
|
-
{% /
|
|
83
|
+
{% /field %}
|
|
84
84
|
|
|
85
85
|
{% /field-group %}
|
|
86
86
|
|
|
87
87
|
{% field-group id="checkbox_fields" title="Checkbox Fields" %}
|
|
88
88
|
|
|
89
|
-
{% checkboxes id="tasks_multi" label="Tasks (Multi Mode)" required=true role="user" %}
|
|
89
|
+
{% field kind="checkboxes" id="tasks_multi" label="Tasks (Multi Mode)" required=true role="user" %}
|
|
90
90
|
- [x] Research {% #research %}
|
|
91
91
|
- [x] Design {% #design %}
|
|
92
92
|
- [x] Implement {% #implement %}
|
|
93
93
|
- [-] Test {% #test %}
|
|
94
|
-
{% /
|
|
94
|
+
{% /field %}
|
|
95
95
|
|
|
96
96
|
{% instructions ref="tasks_multi" %}
|
|
97
97
|
Track task progress. All must reach done or na state to complete.
|
|
98
98
|
{% /instructions %}
|
|
99
99
|
|
|
100
|
-
{% checkboxes checkboxMode="simple" id="tasks_simple" label="Agreements (Simple Mode)" required=true role="user" %}
|
|
100
|
+
{% field kind="checkboxes" checkboxMode="simple" id="tasks_simple" label="Agreements (Simple Mode)" required=true role="user" %}
|
|
101
101
|
- [x] I have read the guidelines {% #read_guidelines %}
|
|
102
102
|
- [x] I agree to the terms {% #agree_terms %}
|
|
103
|
-
{% /
|
|
103
|
+
{% /field %}
|
|
104
104
|
|
|
105
|
-
{% checkboxes checkboxMode="explicit" id="confirmations" label="Confirmations (Explicit Mode)" required=true role="user" %}
|
|
105
|
+
{% field kind="checkboxes" checkboxMode="explicit" id="confirmations" label="Confirmations (Explicit Mode)" required=true role="user" %}
|
|
106
106
|
- [y] Data has been backed up {% #backed_up %}
|
|
107
107
|
- [n] Stakeholders notified {% #notified %}
|
|
108
|
-
{% /
|
|
108
|
+
{% /field %}
|
|
109
109
|
|
|
110
110
|
{% instructions ref="confirmations" %}
|
|
111
111
|
Answer yes or no for each confirmation. All must be explicitly answered.
|
|
@@ -115,21 +115,21 @@ Answer yes or no for each confirmation. All must be explicitly answered.
|
|
|
115
115
|
|
|
116
116
|
{% field-group id="url_fields" title="URL Fields" %}
|
|
117
117
|
|
|
118
|
-
{%
|
|
118
|
+
{% field kind="url" id="website" label="Website" required=true role="user" placeholder="https://example.com" examples=["https://github.com/user/repo", "https://company.com"] %}
|
|
119
119
|
```value
|
|
120
120
|
https://test.example.com
|
|
121
121
|
```
|
|
122
|
-
{% /
|
|
122
|
+
{% /field %}
|
|
123
123
|
|
|
124
124
|
{% instructions ref="website" %}
|
|
125
125
|
Enter your website URL (must be http or https).
|
|
126
126
|
{% /instructions %}
|
|
127
127
|
|
|
128
|
-
{%
|
|
128
|
+
{% field kind="url_list" id="references" label="References" maxItems=5 minItems=1 role="user" uniqueItems=true placeholder="https://docs.example.com" examples=["https://wikipedia.org/wiki/Example", "https://docs.github.com/en"] %}
|
|
129
129
|
```value
|
|
130
130
|
https://docs.example.com
|
|
131
131
|
```
|
|
132
|
-
{% /
|
|
132
|
+
{% /field %}
|
|
133
133
|
|
|
134
134
|
{% instructions ref="references" %}
|
|
135
135
|
Add 1-5 unique reference URLs for sources or documentation.
|
|
@@ -137,30 +137,92 @@ Add 1-5 unique reference URLs for sources or documentation.
|
|
|
137
137
|
|
|
138
138
|
{% /field-group %}
|
|
139
139
|
|
|
140
|
+
{% field-group id="date_fields" title="Date and Year Fields" %}
|
|
141
|
+
|
|
142
|
+
{% field kind="date" id="event_date" label="Event Date" max="2030-12-31" min="2020-01-01" required=true role="user" %}
|
|
143
|
+
```value
|
|
144
|
+
2025-03-15
|
|
145
|
+
```
|
|
146
|
+
{% /field %}
|
|
147
|
+
|
|
148
|
+
{% instructions ref="event_date" %}
|
|
149
|
+
Enter the event date (YYYY-MM-DD format, between 2020 and 2030).
|
|
150
|
+
{% /instructions %}
|
|
151
|
+
|
|
152
|
+
{% field kind="year" id="founded_year" label="Founded Year" max=2030 min=1900 required=true role="user" %}
|
|
153
|
+
```value
|
|
154
|
+
2021
|
|
155
|
+
```
|
|
156
|
+
{% /field %}
|
|
157
|
+
|
|
158
|
+
{% instructions ref="founded_year" %}
|
|
159
|
+
Enter the year the company was founded (1900-2030).
|
|
160
|
+
{% /instructions %}
|
|
161
|
+
|
|
162
|
+
{% /field-group %}
|
|
163
|
+
|
|
164
|
+
{% field-group id="table_fields" title="Table Fields" %}
|
|
165
|
+
|
|
166
|
+
{% field kind="table" id="team_members" label="Team Members" role="user" minRows=0 maxRows=5 state="skipped"
|
|
167
|
+
columnIds=["name", "role", "start_date"]
|
|
168
|
+
columnTypes=[{type: "string", required: true}, "string", "date"] %}
|
|
169
|
+
| Name | Role | Start Date |
|
|
170
|
+
|------|------|------------|
|
|
171
|
+
{% /field %}
|
|
172
|
+
|
|
173
|
+
{% instructions ref="team_members" %}
|
|
174
|
+
Add team members with their name (required), role, and start date.
|
|
175
|
+
{% /instructions %}
|
|
176
|
+
|
|
177
|
+
{% field kind="table" id="project_tasks" label="Project Tasks" role="user" minRows=0 maxRows=10 state="skipped"
|
|
178
|
+
columnIds=["task", "estimate_hrs", "link"]
|
|
179
|
+
columnTypes=[{type: "string", required: true}, "number", "url"] %}
|
|
180
|
+
| Task | Estimate (hrs) | Link |
|
|
181
|
+
|------|----------------|------|
|
|
182
|
+
{% /field %}
|
|
183
|
+
|
|
184
|
+
{% instructions ref="project_tasks" %}
|
|
185
|
+
Optionally add project tasks with estimated hours and reference links.
|
|
186
|
+
{% /instructions %}
|
|
187
|
+
|
|
188
|
+
{% /field-group %}
|
|
189
|
+
|
|
140
190
|
{% field-group id="optional_fields" title="Optional Fields" %}
|
|
141
191
|
|
|
142
|
-
{%
|
|
192
|
+
{% field kind="string" id="notes" label="Notes" role="user" state="skipped" %}
|
|
143
193
|
```value
|
|
144
194
|
%SKIP% (No notes required)
|
|
145
195
|
```
|
|
146
|
-
{% /
|
|
196
|
+
{% /field %}
|
|
147
197
|
|
|
148
198
|
{% instructions ref="notes" %}
|
|
149
199
|
Add any relevant notes or observations (optional).
|
|
150
200
|
{% /instructions %}
|
|
151
201
|
|
|
152
|
-
{%
|
|
202
|
+
{% field kind="number" id="optional_number" label="Optional Number" role="user" state="skipped" %}{% /field %}
|
|
153
203
|
|
|
154
|
-
{%
|
|
204
|
+
{% field kind="url" id="related_url" label="Related URL" role="user" state="skipped" %}
|
|
155
205
|
```value
|
|
156
206
|
%SKIP% (No related URL needed)
|
|
157
207
|
```
|
|
158
|
-
{% /
|
|
208
|
+
{% /field %}
|
|
159
209
|
|
|
160
210
|
{% instructions ref="related_url" %}
|
|
161
211
|
Optionally add a URL to related documentation or resources.
|
|
162
212
|
{% /instructions %}
|
|
163
213
|
|
|
214
|
+
{% field kind="date" id="optional_date" label="Optional Date" role="user" state="skipped" %}{% /field %}
|
|
215
|
+
|
|
216
|
+
{% instructions ref="optional_date" %}
|
|
217
|
+
Optionally add a date (YYYY-MM-DD format).
|
|
218
|
+
{% /instructions %}
|
|
219
|
+
|
|
220
|
+
{% field kind="year" id="optional_year" label="Optional Year" role="user" state="skipped" %}{% /field %}
|
|
221
|
+
|
|
222
|
+
{% instructions ref="optional_year" %}
|
|
223
|
+
Optionally add a year.
|
|
224
|
+
{% /instructions %}
|
|
225
|
+
|
|
164
226
|
{% /field-group %}
|
|
165
227
|
|
|
166
228
|
{% note id="note-summary" ref="simple_test" role="user" %}
|