markform 0.1.0 → 0.1.2
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/DOCS.md +546 -0
- package/README.md +484 -45
- package/SPEC.md +2779 -0
- package/dist/ai-sdk.d.mts +2 -2
- package/dist/ai-sdk.mjs +5 -3
- package/dist/{apply-C0vjijlP.mjs → apply-BfAGTHMh.mjs} +1044 -593
- package/dist/bin.mjs +6 -3
- package/dist/cli-B3NVm6zL.mjs +3904 -0
- package/dist/cli.mjs +6 -3
- package/dist/{coreTypes-T7dAuewt.d.mts → coreTypes-BXhhz9Iq.d.mts} +2795 -685
- package/dist/coreTypes-Dful87E0.mjs +537 -0
- package/dist/index.d.mts +196 -18
- package/dist/index.mjs +5 -3
- package/dist/session-Bqnwi9wp.mjs +110 -0
- package/dist/session-DdAtY2Ni.mjs +4 -0
- package/dist/shared-D7gf27Tr.mjs +3 -0
- package/dist/shared-N_s1M-_K.mjs +176 -0
- package/dist/src-BXRkGFpG.mjs +7587 -0
- package/examples/celebrity-deep-research/celebrity-deep-research.form.md +912 -0
- package/examples/earnings-analysis/earnings-analysis.form.md +6 -1
- package/examples/earnings-analysis/earnings-analysis.valid.ts +119 -59
- package/examples/movie-research/movie-research-basic.form.md +164 -0
- package/examples/movie-research/movie-research-deep.form.md +486 -0
- package/examples/movie-research/movie-research-minimal.form.md +73 -0
- package/examples/simple/simple-mock-filled.form.md +52 -12
- package/examples/simple/simple-skipped-filled.form.md +170 -0
- package/examples/simple/simple-with-skips.session.yaml +189 -0
- package/examples/simple/simple.form.md +34 -12
- package/examples/simple/simple.session.yaml +80 -37
- package/examples/startup-deep-research/startup-deep-research.form.md +456 -0
- package/examples/startup-research/startup-research-mock-filled.form.md +307 -0
- package/examples/startup-research/startup-research.form.md +211 -0
- package/package.json +11 -5
- package/dist/cli-9fvFySww.mjs +0 -2564
- package/dist/src-DBD3Dt4f.mjs +0 -1785
- package/examples/political-research/political-research.form.md +0 -233
- package/examples/political-research/political-research.mock.lincoln.form.md +0 -355
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
---
|
|
2
|
+
markform:
|
|
3
|
+
spec: "MF/0.1"
|
|
4
|
+
roles:
|
|
5
|
+
- user
|
|
6
|
+
- agent
|
|
7
|
+
role_instructions:
|
|
8
|
+
user: "Enter the name of the startup company you want to research."
|
|
9
|
+
agent: |
|
|
10
|
+
Research and fill in all company information for the specified startup.
|
|
11
|
+
Guidelines:
|
|
12
|
+
1. Start with Crunchbase - The company's Crunchbase page is the primary source
|
|
13
|
+
2. Verify with company website and press releases
|
|
14
|
+
3. Use official formats - Dates as YYYY-MM-DD, funding as USD amounts
|
|
15
|
+
4. Fill funding rounds chronologically - Most recent first
|
|
16
|
+
5. Include all relevant URLs - Website, LinkedIn, press coverage
|
|
17
|
+
6. Leave unknown fields empty - Don't guess or fabricate information
|
|
18
|
+
7. Keep descriptions concise - Aim for 100-200 words max
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
{% form id="startup_research" title="Startup Research Form" %}
|
|
22
|
+
|
|
23
|
+
{% description ref="startup_research" %}
|
|
24
|
+
A comprehensive research form for startup companies. This form demonstrates URL field types
|
|
25
|
+
for capturing company websites, funding sources, press coverage, and other web references.
|
|
26
|
+
The user provides the company name, and the agent researches and fills all remaining fields.
|
|
27
|
+
{% /description %}
|
|
28
|
+
|
|
29
|
+
{% documentation ref="startup_research" %}
|
|
30
|
+
**Workflow:**
|
|
31
|
+
1. User enters the startup company name
|
|
32
|
+
2. Agent researches and fills company information
|
|
33
|
+
3. Agent includes all relevant URLs (website, LinkedIn, press, funding sources)
|
|
34
|
+
4. Agent provides source citations
|
|
35
|
+
|
|
36
|
+
**Data Sources:**
|
|
37
|
+
- Crunchbase profiles
|
|
38
|
+
- Company websites
|
|
39
|
+
- Press releases
|
|
40
|
+
- LinkedIn company pages
|
|
41
|
+
- Tech news publications
|
|
42
|
+
{% /documentation %}
|
|
43
|
+
|
|
44
|
+
{% field-group id="basic_info" title="Company Information" %}
|
|
45
|
+
|
|
46
|
+
{% string-field id="company_name" label="Company Name" role="user" required=true minLength=2 maxLength=200 %}
|
|
47
|
+
```value
|
|
48
|
+
Anthropic
|
|
49
|
+
```
|
|
50
|
+
{% /string-field %}
|
|
51
|
+
|
|
52
|
+
{% instructions ref="company_name" %}
|
|
53
|
+
Enter the official name of the startup company you want to research (e.g., "Stripe", "OpenAI").
|
|
54
|
+
{% /instructions %}
|
|
55
|
+
|
|
56
|
+
{% url-field id="company_website" label="Company Website" required=true %}
|
|
57
|
+
```value
|
|
58
|
+
https://www.anthropic.com
|
|
59
|
+
```
|
|
60
|
+
{% /url-field %}
|
|
61
|
+
|
|
62
|
+
{% instructions ref="company_website" %}
|
|
63
|
+
The official company website URL.
|
|
64
|
+
{% /instructions %}
|
|
65
|
+
|
|
66
|
+
{% url-field id="linkedin_page" label="LinkedIn Company Page" %}
|
|
67
|
+
```value
|
|
68
|
+
https://www.linkedin.com/company/anthropic
|
|
69
|
+
```
|
|
70
|
+
{% /url-field %}
|
|
71
|
+
|
|
72
|
+
{% instructions ref="linkedin_page" %}
|
|
73
|
+
LinkedIn company page URL if available.
|
|
74
|
+
{% /instructions %}
|
|
75
|
+
|
|
76
|
+
{% string-field id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" %}
|
|
77
|
+
```value
|
|
78
|
+
2021
|
|
79
|
+
```
|
|
80
|
+
{% /string-field %}
|
|
81
|
+
|
|
82
|
+
{% instructions ref="founded_date" %}
|
|
83
|
+
Format: YYYY, YYYY-MM, or YYYY-MM-DD (e.g., 2010, 2010-06, 2010-06-15)
|
|
84
|
+
{% /instructions %}
|
|
85
|
+
|
|
86
|
+
{% string-field id="headquarters" label="Headquarters Location" %}
|
|
87
|
+
```value
|
|
88
|
+
San Francisco, California
|
|
89
|
+
```
|
|
90
|
+
{% /string-field %}
|
|
91
|
+
|
|
92
|
+
{% instructions ref="headquarters" %}
|
|
93
|
+
Format: City, State/Country (e.g., "San Francisco, California")
|
|
94
|
+
{% /instructions %}
|
|
95
|
+
|
|
96
|
+
{% string-field id="company_description" label="Company Description" multiline=true maxLength=1000 %}
|
|
97
|
+
```value
|
|
98
|
+
Anthropic is an AI safety company focused on building reliable, interpretable, and steerable AI systems. Founded by former members of OpenAI, the company develops large language models with an emphasis on safety research and alignment. Their flagship product is Claude, an AI assistant designed to be helpful, harmless, and honest.
|
|
99
|
+
```
|
|
100
|
+
{% /string-field %}
|
|
101
|
+
|
|
102
|
+
{% instructions ref="company_description" %}
|
|
103
|
+
Brief description of what the company does. 100-200 words max.
|
|
104
|
+
{% /instructions %}
|
|
105
|
+
|
|
106
|
+
{% /field-group %}
|
|
107
|
+
|
|
108
|
+
{% field-group id="funding_info" title="Funding Information" %}
|
|
109
|
+
|
|
110
|
+
{% string-field id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}
|
|
111
|
+
```value
|
|
112
|
+
$7.6B
|
|
113
|
+
```
|
|
114
|
+
{% /string-field %}
|
|
115
|
+
|
|
116
|
+
{% instructions ref="total_funding" %}
|
|
117
|
+
Format: $X.XB, $XXM, or $XXK (e.g., "$1.5B", "$50M", "$500K")
|
|
118
|
+
{% /instructions %}
|
|
119
|
+
|
|
120
|
+
{% string-field id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}
|
|
121
|
+
```value
|
|
122
|
+
$18.4B
|
|
123
|
+
```
|
|
124
|
+
{% /string-field %}
|
|
125
|
+
|
|
126
|
+
{% instructions ref="latest_valuation" %}
|
|
127
|
+
Format: $X.XB, $XXM, or $XXK (e.g., "$10B")
|
|
128
|
+
{% /instructions %}
|
|
129
|
+
|
|
130
|
+
{% single-select id="funding_stage" label="Funding Stage" %}
|
|
131
|
+
- [ ] Pre-seed {% #pre_seed %}
|
|
132
|
+
- [ ] Seed {% #seed %}
|
|
133
|
+
- [ ] Series A {% #series_a %}
|
|
134
|
+
- [ ] Series B {% #series_b %}
|
|
135
|
+
- [ ] Series C {% #series_c %}
|
|
136
|
+
- [x] Series D+ {% #series_d_plus %}
|
|
137
|
+
- [ ] Public {% #public %}
|
|
138
|
+
{% /single-select %}
|
|
139
|
+
|
|
140
|
+
{% string-list id="key_investors" label="Key Investors" maxItems=10 %}
|
|
141
|
+
```value
|
|
142
|
+
Google
|
|
143
|
+
Spark Capital
|
|
144
|
+
Salesforce Ventures
|
|
145
|
+
Amazon
|
|
146
|
+
Sound Ventures
|
|
147
|
+
```
|
|
148
|
+
{% /string-list %}
|
|
149
|
+
|
|
150
|
+
{% instructions ref="key_investors" %}
|
|
151
|
+
List notable investors (VCs, angels), one per line.
|
|
152
|
+
{% /instructions %}
|
|
153
|
+
|
|
154
|
+
{% url-list id="funding_announcements" label="Funding Announcement URLs" maxItems=5 uniqueItems=true %}
|
|
155
|
+
```value
|
|
156
|
+
https://www.anthropic.com/news/anthropic-raises-series-c
|
|
157
|
+
https://techcrunch.com/2023/09/25/amazon-to-invest-up-to-4-billion-in-anthropic/
|
|
158
|
+
```
|
|
159
|
+
{% /url-list %}
|
|
160
|
+
|
|
161
|
+
{% instructions ref="funding_announcements" %}
|
|
162
|
+
URLs to press releases or articles about funding rounds.
|
|
163
|
+
{% /instructions %}
|
|
164
|
+
|
|
165
|
+
{% /field-group %}
|
|
166
|
+
|
|
167
|
+
{% field-group id="people" title="Key People" %}
|
|
168
|
+
|
|
169
|
+
{% string-field id="ceo" label="CEO / Founder" %}
|
|
170
|
+
```value
|
|
171
|
+
Dario Amodei
|
|
172
|
+
```
|
|
173
|
+
{% /string-field %}
|
|
174
|
+
|
|
175
|
+
{% instructions ref="ceo" %}
|
|
176
|
+
Name of CEO or primary founder.
|
|
177
|
+
{% /instructions %}
|
|
178
|
+
|
|
179
|
+
{% url-field id="ceo_linkedin" label="CEO LinkedIn" %}
|
|
180
|
+
```value
|
|
181
|
+
https://www.linkedin.com/in/dario-amodei
|
|
182
|
+
```
|
|
183
|
+
{% /url-field %}
|
|
184
|
+
|
|
185
|
+
{% instructions ref="ceo_linkedin" %}
|
|
186
|
+
LinkedIn profile URL of the CEO/founder.
|
|
187
|
+
{% /instructions %}
|
|
188
|
+
|
|
189
|
+
{% string-list id="founders" label="Founders" maxItems=5 %}
|
|
190
|
+
```value
|
|
191
|
+
Dario Amodei
|
|
192
|
+
Daniela Amodei
|
|
193
|
+
Tom Brown
|
|
194
|
+
Chris Olah
|
|
195
|
+
Sam McCandlish
|
|
196
|
+
```
|
|
197
|
+
{% /string-list %}
|
|
198
|
+
|
|
199
|
+
{% instructions ref="founders" %}
|
|
200
|
+
List all founders, one per line.
|
|
201
|
+
{% /instructions %}
|
|
202
|
+
|
|
203
|
+
{% number-field id="employee_count" label="Employee Count" min=1 integer=true %}
|
|
204
|
+
```value
|
|
205
|
+
1000
|
|
206
|
+
```
|
|
207
|
+
{% /number-field %}
|
|
208
|
+
|
|
209
|
+
{% instructions ref="employee_count" %}
|
|
210
|
+
Approximate number of employees.
|
|
211
|
+
{% /instructions %}
|
|
212
|
+
|
|
213
|
+
{% /field-group %}
|
|
214
|
+
|
|
215
|
+
{% field-group id="market_info" title="Market & Industry" %}
|
|
216
|
+
|
|
217
|
+
{% multi-select id="industry_sectors" label="Industry Sectors" minSelections=1 maxSelections=5 %}
|
|
218
|
+
- [x] AI/ML {% #ai_ml %}
|
|
219
|
+
- [ ] FinTech {% #fintech %}
|
|
220
|
+
- [ ] HealthTech {% #healthtech %}
|
|
221
|
+
- [ ] EdTech {% #edtech %}
|
|
222
|
+
- [x] SaaS {% #saas %}
|
|
223
|
+
- [ ] E-commerce {% #ecommerce %}
|
|
224
|
+
- [x] Security {% #security %}
|
|
225
|
+
- [x] Developer Tools {% #devtools %}
|
|
226
|
+
- [ ] Climate Tech {% #climatetech %}
|
|
227
|
+
- [ ] Other {% #other %}
|
|
228
|
+
{% /multi-select %}
|
|
229
|
+
|
|
230
|
+
{% string-list id="competitors" label="Competitors" maxItems=5 %}
|
|
231
|
+
```value
|
|
232
|
+
OpenAI
|
|
233
|
+
Google DeepMind
|
|
234
|
+
Cohere
|
|
235
|
+
Mistral AI
|
|
236
|
+
```
|
|
237
|
+
{% /string-list %}
|
|
238
|
+
|
|
239
|
+
{% instructions ref="competitors" %}
|
|
240
|
+
List main competitors, one per line.
|
|
241
|
+
{% /instructions %}
|
|
242
|
+
|
|
243
|
+
{% url-list id="competitor_urls" label="Competitor Website URLs" maxItems=5 uniqueItems=true %}
|
|
244
|
+
```value
|
|
245
|
+
https://openai.com
|
|
246
|
+
https://deepmind.google
|
|
247
|
+
https://cohere.com
|
|
248
|
+
https://mistral.ai
|
|
249
|
+
```
|
|
250
|
+
{% /url-list %}
|
|
251
|
+
|
|
252
|
+
{% instructions ref="competitor_urls" %}
|
|
253
|
+
Website URLs of main competitors.
|
|
254
|
+
{% /instructions %}
|
|
255
|
+
|
|
256
|
+
{% /field-group %}
|
|
257
|
+
|
|
258
|
+
{% field-group id="press_coverage" title="Press & Coverage" %}
|
|
259
|
+
|
|
260
|
+
{% url-list id="press_articles" label="Press Coverage URLs" minItems=1 maxItems=10 uniqueItems=true %}
|
|
261
|
+
```value
|
|
262
|
+
https://www.wired.com/story/anthropic-ai-claude-chatgpt-rival/
|
|
263
|
+
https://www.nytimes.com/2023/03/14/technology/anthropic-ai-chatbot.html
|
|
264
|
+
https://www.forbes.com/sites/alexkonrad/2023/09/25/anthropic-ai-amazon-investment/
|
|
265
|
+
```
|
|
266
|
+
{% /url-list %}
|
|
267
|
+
|
|
268
|
+
{% instructions ref="press_articles" %}
|
|
269
|
+
URLs to major press articles, reviews, or coverage about the company.
|
|
270
|
+
{% /instructions %}
|
|
271
|
+
|
|
272
|
+
{% url-field id="crunchbase_url" label="Crunchbase Profile" %}
|
|
273
|
+
```value
|
|
274
|
+
https://www.crunchbase.com/organization/anthropic
|
|
275
|
+
```
|
|
276
|
+
{% /url-field %}
|
|
277
|
+
|
|
278
|
+
{% instructions ref="crunchbase_url" %}
|
|
279
|
+
Crunchbase company profile URL.
|
|
280
|
+
{% /instructions %}
|
|
281
|
+
|
|
282
|
+
{% url-field id="pitchbook_url" label="PitchBook Profile" %}{% /url-field %}
|
|
283
|
+
|
|
284
|
+
{% instructions ref="pitchbook_url" %}
|
|
285
|
+
PitchBook company profile URL if available.
|
|
286
|
+
{% /instructions %}
|
|
287
|
+
|
|
288
|
+
{% /field-group %}
|
|
289
|
+
|
|
290
|
+
{% field-group id="sources_section" title="Research Sources" %}
|
|
291
|
+
|
|
292
|
+
{% url-list id="sources" label="Source URLs" minItems=1 uniqueItems=true %}
|
|
293
|
+
```value
|
|
294
|
+
https://www.crunchbase.com/organization/anthropic
|
|
295
|
+
https://www.anthropic.com
|
|
296
|
+
https://www.linkedin.com/company/anthropic
|
|
297
|
+
https://en.wikipedia.org/wiki/Anthropic
|
|
298
|
+
```
|
|
299
|
+
{% /url-list %}
|
|
300
|
+
|
|
301
|
+
{% instructions ref="sources" %}
|
|
302
|
+
List all source URLs used for this research. Include Crunchbase, company website, and any additional sources consulted.
|
|
303
|
+
{% /instructions %}
|
|
304
|
+
|
|
305
|
+
{% /field-group %}
|
|
306
|
+
|
|
307
|
+
{% /form %}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
markform:
|
|
3
|
+
spec: MF/0.1
|
|
4
|
+
roles:
|
|
5
|
+
- user
|
|
6
|
+
- agent
|
|
7
|
+
role_instructions:
|
|
8
|
+
user: "Enter the name of the startup company you want to research."
|
|
9
|
+
agent: |
|
|
10
|
+
Research and fill in all company information for the specified startup.
|
|
11
|
+
Guidelines:
|
|
12
|
+
1. Start with Crunchbase - The company's Crunchbase page is the primary source
|
|
13
|
+
2. Verify with company website and press releases
|
|
14
|
+
3. Use official formats - Dates as YYYY-MM-DD, funding as USD amounts
|
|
15
|
+
4. Fill funding rounds chronologically - Most recent first
|
|
16
|
+
5. Include all relevant URLs - Website, LinkedIn, press coverage
|
|
17
|
+
6. Leave unknown fields empty - Don't guess or fabricate information
|
|
18
|
+
7. Keep descriptions concise - Aim for 100-200 words max
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
{% form id="startup_research" title="Startup Research Form" %}
|
|
22
|
+
|
|
23
|
+
{% description ref="startup_research" %}
|
|
24
|
+
A comprehensive research form for startup companies. This form demonstrates URL field types
|
|
25
|
+
for capturing company websites, funding sources, press coverage, and other web references.
|
|
26
|
+
The user provides the company name, and the agent researches and fills all remaining fields.
|
|
27
|
+
{% /description %}
|
|
28
|
+
|
|
29
|
+
{% documentation ref="startup_research" %}
|
|
30
|
+
**Workflow:**
|
|
31
|
+
1. User enters the startup company name
|
|
32
|
+
2. Agent researches and fills company information
|
|
33
|
+
3. Agent includes all relevant URLs (website, LinkedIn, press, funding sources)
|
|
34
|
+
4. Agent provides source citations
|
|
35
|
+
|
|
36
|
+
**Data Sources:**
|
|
37
|
+
- Crunchbase profiles
|
|
38
|
+
- Company websites
|
|
39
|
+
- Press releases
|
|
40
|
+
- LinkedIn company pages
|
|
41
|
+
- Tech news publications
|
|
42
|
+
{% /documentation %}
|
|
43
|
+
|
|
44
|
+
{% field-group id="basic_info" title="Company Information" %}
|
|
45
|
+
|
|
46
|
+
{% string-field id="company_name" label="Company Name" role="user" required=true minLength=2 maxLength=200 %}{% /string-field %}
|
|
47
|
+
|
|
48
|
+
{% instructions ref="company_name" %}
|
|
49
|
+
Enter the official name of the startup company you want to research (e.g., "Stripe", "OpenAI").
|
|
50
|
+
{% /instructions %}
|
|
51
|
+
|
|
52
|
+
{% url-field id="company_website" label="Company Website" required=true %}{% /url-field %}
|
|
53
|
+
|
|
54
|
+
{% instructions ref="company_website" %}
|
|
55
|
+
The official company website URL.
|
|
56
|
+
{% /instructions %}
|
|
57
|
+
|
|
58
|
+
{% url-field id="linkedin_page" label="LinkedIn Company Page" %}{% /url-field %}
|
|
59
|
+
|
|
60
|
+
{% instructions ref="linkedin_page" %}
|
|
61
|
+
LinkedIn company page URL if available.
|
|
62
|
+
{% /instructions %}
|
|
63
|
+
|
|
64
|
+
{% string-field id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" %}{% /string-field %}
|
|
65
|
+
|
|
66
|
+
{% instructions ref="founded_date" %}
|
|
67
|
+
Format: YYYY, YYYY-MM, or YYYY-MM-DD (e.g., 2010, 2010-06, 2010-06-15)
|
|
68
|
+
{% /instructions %}
|
|
69
|
+
|
|
70
|
+
{% string-field id="headquarters" label="Headquarters Location" %}{% /string-field %}
|
|
71
|
+
|
|
72
|
+
{% instructions ref="headquarters" %}
|
|
73
|
+
Format: City, State/Country (e.g., "San Francisco, California")
|
|
74
|
+
{% /instructions %}
|
|
75
|
+
|
|
76
|
+
{% string-field id="company_description" label="Company Description" multiline=true maxLength=1000 %}{% /string-field %}
|
|
77
|
+
|
|
78
|
+
{% instructions ref="company_description" %}
|
|
79
|
+
Brief description of what the company does. 100-200 words max.
|
|
80
|
+
{% /instructions %}
|
|
81
|
+
|
|
82
|
+
{% /field-group %}
|
|
83
|
+
|
|
84
|
+
{% field-group id="funding_info" title="Funding Information" %}
|
|
85
|
+
|
|
86
|
+
{% string-field id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}{% /string-field %}
|
|
87
|
+
|
|
88
|
+
{% instructions ref="total_funding" %}
|
|
89
|
+
Format: $X.XB, $XXM, or $XXK (e.g., "$1.5B", "$50M", "$500K")
|
|
90
|
+
{% /instructions %}
|
|
91
|
+
|
|
92
|
+
{% string-field id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}{% /string-field %}
|
|
93
|
+
|
|
94
|
+
{% instructions ref="latest_valuation" %}
|
|
95
|
+
Format: $X.XB, $XXM, or $XXK (e.g., "$10B")
|
|
96
|
+
{% /instructions %}
|
|
97
|
+
|
|
98
|
+
{% single-select id="funding_stage" label="Funding Stage" %}
|
|
99
|
+
- [ ] Pre-seed {% #pre_seed %}
|
|
100
|
+
- [ ] Seed {% #seed %}
|
|
101
|
+
- [ ] Series A {% #series_a %}
|
|
102
|
+
- [ ] Series B {% #series_b %}
|
|
103
|
+
- [ ] Series C {% #series_c %}
|
|
104
|
+
- [ ] Series D+ {% #series_d_plus %}
|
|
105
|
+
- [ ] Public {% #public %}
|
|
106
|
+
{% /single-select %}
|
|
107
|
+
|
|
108
|
+
{% string-list id="key_investors" label="Key Investors" maxItems=10 %}{% /string-list %}
|
|
109
|
+
|
|
110
|
+
{% instructions ref="key_investors" %}
|
|
111
|
+
List notable investors (VCs, angels), one per line.
|
|
112
|
+
{% /instructions %}
|
|
113
|
+
|
|
114
|
+
{% url-list id="funding_announcements" label="Funding Announcement URLs" maxItems=5 uniqueItems=true %}{% /url-list %}
|
|
115
|
+
|
|
116
|
+
{% instructions ref="funding_announcements" %}
|
|
117
|
+
URLs to press releases or articles about funding rounds.
|
|
118
|
+
{% /instructions %}
|
|
119
|
+
|
|
120
|
+
{% /field-group %}
|
|
121
|
+
|
|
122
|
+
{% field-group id="people" title="Key People" %}
|
|
123
|
+
|
|
124
|
+
{% string-field id="ceo" label="CEO / Founder" %}{% /string-field %}
|
|
125
|
+
|
|
126
|
+
{% instructions ref="ceo" %}
|
|
127
|
+
Name of CEO or primary founder.
|
|
128
|
+
{% /instructions %}
|
|
129
|
+
|
|
130
|
+
{% url-field id="ceo_linkedin" label="CEO LinkedIn" %}{% /url-field %}
|
|
131
|
+
|
|
132
|
+
{% instructions ref="ceo_linkedin" %}
|
|
133
|
+
LinkedIn profile URL of the CEO/founder.
|
|
134
|
+
{% /instructions %}
|
|
135
|
+
|
|
136
|
+
{% string-list id="founders" label="Founders" maxItems=5 %}{% /string-list %}
|
|
137
|
+
|
|
138
|
+
{% instructions ref="founders" %}
|
|
139
|
+
List all founders, one per line.
|
|
140
|
+
{% /instructions %}
|
|
141
|
+
|
|
142
|
+
{% number-field id="employee_count" label="Employee Count" min=1 integer=true %}{% /number-field %}
|
|
143
|
+
|
|
144
|
+
{% instructions ref="employee_count" %}
|
|
145
|
+
Approximate number of employees.
|
|
146
|
+
{% /instructions %}
|
|
147
|
+
|
|
148
|
+
{% /field-group %}
|
|
149
|
+
|
|
150
|
+
{% field-group id="market_info" title="Market & Industry" %}
|
|
151
|
+
|
|
152
|
+
{% multi-select id="industry_sectors" label="Industry Sectors" minSelections=1 maxSelections=5 %}
|
|
153
|
+
- [ ] AI/ML {% #ai_ml %}
|
|
154
|
+
- [ ] FinTech {% #fintech %}
|
|
155
|
+
- [ ] HealthTech {% #healthtech %}
|
|
156
|
+
- [ ] EdTech {% #edtech %}
|
|
157
|
+
- [ ] SaaS {% #saas %}
|
|
158
|
+
- [ ] E-commerce {% #ecommerce %}
|
|
159
|
+
- [ ] Security {% #security %}
|
|
160
|
+
- [ ] Developer Tools {% #devtools %}
|
|
161
|
+
- [ ] Climate Tech {% #climatetech %}
|
|
162
|
+
- [ ] Other {% #other %}
|
|
163
|
+
{% /multi-select %}
|
|
164
|
+
|
|
165
|
+
{% string-list id="competitors" label="Competitors" maxItems=5 %}{% /string-list %}
|
|
166
|
+
|
|
167
|
+
{% instructions ref="competitors" %}
|
|
168
|
+
List main competitors, one per line.
|
|
169
|
+
{% /instructions %}
|
|
170
|
+
|
|
171
|
+
{% url-list id="competitor_urls" label="Competitor Website URLs" maxItems=5 uniqueItems=true %}{% /url-list %}
|
|
172
|
+
|
|
173
|
+
{% instructions ref="competitor_urls" %}
|
|
174
|
+
Website URLs of main competitors.
|
|
175
|
+
{% /instructions %}
|
|
176
|
+
|
|
177
|
+
{% /field-group %}
|
|
178
|
+
|
|
179
|
+
{% field-group id="press_coverage" title="Press & Coverage" %}
|
|
180
|
+
|
|
181
|
+
{% url-list id="press_articles" label="Press Coverage URLs" minItems=1 maxItems=10 uniqueItems=true %}{% /url-list %}
|
|
182
|
+
|
|
183
|
+
{% instructions ref="press_articles" %}
|
|
184
|
+
URLs to major press articles, reviews, or coverage about the company.
|
|
185
|
+
{% /instructions %}
|
|
186
|
+
|
|
187
|
+
{% url-field id="crunchbase_url" label="Crunchbase Profile" %}{% /url-field %}
|
|
188
|
+
|
|
189
|
+
{% instructions ref="crunchbase_url" %}
|
|
190
|
+
Crunchbase company profile URL.
|
|
191
|
+
{% /instructions %}
|
|
192
|
+
|
|
193
|
+
{% url-field id="pitchbook_url" label="PitchBook Profile" %}{% /url-field %}
|
|
194
|
+
|
|
195
|
+
{% instructions ref="pitchbook_url" %}
|
|
196
|
+
PitchBook company profile URL if available.
|
|
197
|
+
{% /instructions %}
|
|
198
|
+
|
|
199
|
+
{% /field-group %}
|
|
200
|
+
|
|
201
|
+
{% field-group id="sources_section" title="Research Sources" %}
|
|
202
|
+
|
|
203
|
+
{% url-list id="sources" label="Source URLs" minItems=1 uniqueItems=true %}{% /url-list %}
|
|
204
|
+
|
|
205
|
+
{% instructions ref="sources" %}
|
|
206
|
+
List all source URLs used for this research. Include Crunchbase, company website, and any additional sources consulted.
|
|
207
|
+
{% /instructions %}
|
|
208
|
+
|
|
209
|
+
{% /field-group %}
|
|
210
|
+
|
|
211
|
+
{% /form %}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markform",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Markdown forms for token-friendly workflows",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"author": "Joshua Levy",
|
|
7
7
|
"repository": {
|
|
@@ -47,10 +47,13 @@
|
|
|
47
47
|
},
|
|
48
48
|
"files": [
|
|
49
49
|
"dist",
|
|
50
|
-
"examples"
|
|
50
|
+
"examples",
|
|
51
|
+
"DOCS.md",
|
|
52
|
+
"README.md",
|
|
53
|
+
"SPEC.md"
|
|
51
54
|
],
|
|
52
55
|
"engines": {
|
|
53
|
-
"node": ">=
|
|
56
|
+
"node": ">=20"
|
|
54
57
|
},
|
|
55
58
|
"dependencies": {
|
|
56
59
|
"@ai-sdk/deepseek": "^2.0.1",
|
|
@@ -63,6 +66,7 @@
|
|
|
63
66
|
"commander": "^13.0.0",
|
|
64
67
|
"dotenv": "^17.2.3",
|
|
65
68
|
"jiti": "^2.4.0",
|
|
69
|
+
"js-sha256": "^0.11.1",
|
|
66
70
|
"picocolors": "^1.1.0",
|
|
67
71
|
"yaml": "^2.7.0",
|
|
68
72
|
"zod": "^3.24.0"
|
|
@@ -86,13 +90,15 @@
|
|
|
86
90
|
"vitest": "^3.0.0"
|
|
87
91
|
},
|
|
88
92
|
"scripts": {
|
|
89
|
-
"
|
|
93
|
+
"copy-docs": "cp ../../README.md . && cp ../../SPEC.md .",
|
|
94
|
+
"build": "pnpm run copy-docs && tsdown",
|
|
90
95
|
"dev": "tsdown --watch",
|
|
91
96
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
92
97
|
"test": "vitest run",
|
|
93
98
|
"test:watch": "vitest",
|
|
94
99
|
"test:unit": "vitest run tests/unit",
|
|
95
100
|
"test:golden": "vitest run tests/golden",
|
|
101
|
+
"test:golden:regen": "npx tsx scripts/regen-golden-sessions.ts",
|
|
96
102
|
"test:coverage": "vitest run --coverage",
|
|
97
103
|
"test:coverage:html": "vitest run --coverage && open coverage/index.html",
|
|
98
104
|
"publint": "publint"
|