@synap-core/workspace-templates 0.2.1
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/dist/define.d.ts +97 -0
- package/dist/define.d.ts.map +1 -0
- package/dist/define.js +91 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/templates.d.ts +7 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +23354 -0
- package/dist/types.d.ts +328 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/package.json +37 -0
- package/src/agent-fleet.yaml +1434 -0
- package/src/brand-library.yaml +627 -0
- package/src/builder.yaml +1355 -0
- package/src/content-os.yaml +1424 -0
- package/src/content-studio.yaml +312 -0
- package/src/crm.yaml +2606 -0
- package/src/define.ts +184 -0
- package/src/dev-dashboard.yaml +1309 -0
- package/src/foundation.yaml +343 -0
- package/src/index.ts +62 -0
- package/src/life-os.yaml +1443 -0
- package/src/marketing.yaml +244 -0
- package/src/personal.yaml +114 -0
- package/src/project-management.yaml +1119 -0
- package/src/radar.yaml +274 -0
- package/src/templates.ts +23363 -0
- package/src/types.ts +426 -0
package/src/radar.yaml
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
# Radar workspace template
|
|
2
|
+
# The EXTERNAL WORLD: competitors, market segments, trends, and inspirations.
|
|
3
|
+
# Feeds the Foundation (positioning/audience evidence) and the CRM (segments).
|
|
4
|
+
|
|
5
|
+
meta:
|
|
6
|
+
slug: radar
|
|
7
|
+
name: Radar
|
|
8
|
+
description: Track the outside world — competitors, market segments, trends, and inspirations — that informs strategy.
|
|
9
|
+
icon: radar
|
|
10
|
+
color: "#0891B2"
|
|
11
|
+
tags: [market, competitors, research, trends]
|
|
12
|
+
isPublic: true
|
|
13
|
+
|
|
14
|
+
workspace:
|
|
15
|
+
name: Radar
|
|
16
|
+
description: Track the outside world — competitors, market segments, trends, and inspirations — that informs strategy.
|
|
17
|
+
proposalId: radar-v1
|
|
18
|
+
subtype: radar
|
|
19
|
+
visibility: pod_visible
|
|
20
|
+
capabilities:
|
|
21
|
+
- radar.signals
|
|
22
|
+
sourceRoles:
|
|
23
|
+
radar: provider
|
|
24
|
+
|
|
25
|
+
profiles:
|
|
26
|
+
- slug: competitor
|
|
27
|
+
displayName: Competitor
|
|
28
|
+
icon: crosshair
|
|
29
|
+
color: red
|
|
30
|
+
description: A rival or alternative a buyer would compare you to.
|
|
31
|
+
properties:
|
|
32
|
+
- slug: positioning
|
|
33
|
+
label: Positioning
|
|
34
|
+
valueType: string
|
|
35
|
+
inputType: textarea
|
|
36
|
+
- slug: strengths
|
|
37
|
+
label: Strengths
|
|
38
|
+
valueType: string
|
|
39
|
+
inputType: textarea
|
|
40
|
+
- slug: weaknesses
|
|
41
|
+
label: Weaknesses
|
|
42
|
+
valueType: string
|
|
43
|
+
inputType: textarea
|
|
44
|
+
- slug: pricing
|
|
45
|
+
label: Pricing
|
|
46
|
+
valueType: string
|
|
47
|
+
inputType: text
|
|
48
|
+
- slug: url
|
|
49
|
+
label: URL
|
|
50
|
+
valueType: string
|
|
51
|
+
inputType: url
|
|
52
|
+
- slug: status
|
|
53
|
+
label: Status
|
|
54
|
+
valueType: string
|
|
55
|
+
inputType: select
|
|
56
|
+
enumValues: [watching, active-threat, adjacent, archived]
|
|
57
|
+
constraints: { defaultValue: watching }
|
|
58
|
+
|
|
59
|
+
- slug: market-segment
|
|
60
|
+
displayName: Market Segment
|
|
61
|
+
icon: pie-chart
|
|
62
|
+
color: blue
|
|
63
|
+
description: A slice of the market with its own size, maturity, and dynamics.
|
|
64
|
+
properties:
|
|
65
|
+
- slug: description
|
|
66
|
+
label: Description
|
|
67
|
+
valueType: string
|
|
68
|
+
inputType: textarea
|
|
69
|
+
- slug: tam
|
|
70
|
+
label: TAM
|
|
71
|
+
valueType: string
|
|
72
|
+
inputType: text
|
|
73
|
+
- slug: sam
|
|
74
|
+
label: SAM
|
|
75
|
+
valueType: string
|
|
76
|
+
inputType: text
|
|
77
|
+
- slug: som
|
|
78
|
+
label: SOM
|
|
79
|
+
valueType: string
|
|
80
|
+
inputType: text
|
|
81
|
+
- slug: ocean
|
|
82
|
+
label: Ocean
|
|
83
|
+
valueType: string
|
|
84
|
+
inputType: select
|
|
85
|
+
enumValues: [blue, red]
|
|
86
|
+
- slug: maturity
|
|
87
|
+
label: Maturity
|
|
88
|
+
valueType: string
|
|
89
|
+
inputType: select
|
|
90
|
+
enumValues: [emerging, growing, mature, declining]
|
|
91
|
+
|
|
92
|
+
- slug: trend
|
|
93
|
+
displayName: Trend
|
|
94
|
+
icon: trending-up
|
|
95
|
+
color: violet
|
|
96
|
+
description: A directional shift in the market, tech, or behavior worth tracking.
|
|
97
|
+
properties:
|
|
98
|
+
- slug: description
|
|
99
|
+
label: Description
|
|
100
|
+
valueType: string
|
|
101
|
+
inputType: textarea
|
|
102
|
+
- slug: direction
|
|
103
|
+
label: Direction
|
|
104
|
+
valueType: string
|
|
105
|
+
inputType: select
|
|
106
|
+
enumValues: [rising, steady, fading]
|
|
107
|
+
- slug: sources
|
|
108
|
+
label: Sources
|
|
109
|
+
valueType: array
|
|
110
|
+
inputType: text
|
|
111
|
+
- slug: relevance
|
|
112
|
+
label: Relevance
|
|
113
|
+
valueType: string
|
|
114
|
+
inputType: select
|
|
115
|
+
enumValues: [low, medium, high]
|
|
116
|
+
constraints: { defaultValue: medium }
|
|
117
|
+
|
|
118
|
+
- slug: inspiration
|
|
119
|
+
displayName: Inspiration
|
|
120
|
+
icon: sparkles
|
|
121
|
+
color: amber
|
|
122
|
+
description: A brand, founder, product, or campaign worth learning from.
|
|
123
|
+
properties:
|
|
124
|
+
- slug: kind
|
|
125
|
+
label: Kind
|
|
126
|
+
valueType: string
|
|
127
|
+
inputType: select
|
|
128
|
+
enumValues: [brand, founder, product, campaign]
|
|
129
|
+
- slug: why
|
|
130
|
+
label: Why
|
|
131
|
+
valueType: string
|
|
132
|
+
inputType: textarea
|
|
133
|
+
- slug: url
|
|
134
|
+
label: URL
|
|
135
|
+
valueType: string
|
|
136
|
+
inputType: url
|
|
137
|
+
|
|
138
|
+
views:
|
|
139
|
+
- name: Competitors
|
|
140
|
+
slug: competitors
|
|
141
|
+
type: table
|
|
142
|
+
scopeProfileSlug: competitor
|
|
143
|
+
description: Rivals and alternatives, with positioning and threat status.
|
|
144
|
+
defaultView: true
|
|
145
|
+
config:
|
|
146
|
+
columns: [title, positioning, status, pricing, url]
|
|
147
|
+
- name: Market Segments
|
|
148
|
+
slug: market-segments
|
|
149
|
+
type: kanban
|
|
150
|
+
scopeProfileSlug: market-segment
|
|
151
|
+
groupBy: ocean
|
|
152
|
+
description: Market slices grouped by blue/red ocean.
|
|
153
|
+
config:
|
|
154
|
+
groupBy: ocean
|
|
155
|
+
cardFields: [tam, maturity]
|
|
156
|
+
- name: Trends
|
|
157
|
+
slug: trends
|
|
158
|
+
type: table
|
|
159
|
+
scopeProfileSlug: trend
|
|
160
|
+
description: Directional shifts to track, by relevance.
|
|
161
|
+
config:
|
|
162
|
+
columns: [title, direction, relevance, description]
|
|
163
|
+
- name: Inspirations
|
|
164
|
+
slug: inspirations
|
|
165
|
+
type: grid
|
|
166
|
+
scopeProfileSlug: inspiration
|
|
167
|
+
description: Brands, founders, products, and campaigns to learn from.
|
|
168
|
+
- name: Radar Map
|
|
169
|
+
slug: radar-map
|
|
170
|
+
type: graph
|
|
171
|
+
scopeProfileSlugs: [competitor, market-segment, trend, inspiration]
|
|
172
|
+
description: The landscape as a connected map of signals.
|
|
173
|
+
|
|
174
|
+
# Schema-level relations — give the Radar Map and the relation picker
|
|
175
|
+
# domain-specific links from day one (not just pod defaults).
|
|
176
|
+
entityLinks:
|
|
177
|
+
- sourceProfileSlug: competitor
|
|
178
|
+
targetProfileSlug: market-segment
|
|
179
|
+
type: competes_in
|
|
180
|
+
label: Competes in
|
|
181
|
+
- sourceProfileSlug: trend
|
|
182
|
+
targetProfileSlug: market-segment
|
|
183
|
+
type: shapes
|
|
184
|
+
label: Shapes
|
|
185
|
+
|
|
186
|
+
onboarding:
|
|
187
|
+
goal: Map the competitive and market landscape so strategy is grounded in the real outside world.
|
|
188
|
+
framing: |
|
|
189
|
+
THE SCOUT: Act as a sharp market scout. Curious, factual, neutral. Surface who
|
|
190
|
+
else plays here, where the market is moving, and who's worth learning from.
|
|
191
|
+
Always cite a source when you can.
|
|
192
|
+
collect:
|
|
193
|
+
- profileSlug: competitor
|
|
194
|
+
what: Rivals and alternatives a buyer would seriously compare you to.
|
|
195
|
+
cardinality: several
|
|
196
|
+
keyFields: [positioning, strengths]
|
|
197
|
+
- profileSlug: market-segment
|
|
198
|
+
what: The market slices you play in, with rough size and ocean.
|
|
199
|
+
cardinality: few
|
|
200
|
+
keyFields: [tam, ocean]
|
|
201
|
+
- profileSlug: trend
|
|
202
|
+
what: Directional shifts in tech, market, or behavior that affect you.
|
|
203
|
+
cardinality: several
|
|
204
|
+
keyFields: [direction, relevance]
|
|
205
|
+
- profileSlug: inspiration
|
|
206
|
+
what: Brands, founders, products, or campaigns worth learning from.
|
|
207
|
+
cardinality: few
|
|
208
|
+
keyFields: [kind, why]
|
|
209
|
+
openingQuestions:
|
|
210
|
+
- "Who are the 3 closest alternatives a buyer would compare you to?"
|
|
211
|
+
- "Which market segment matters most to you right now — and is it a blue or red ocean?"
|
|
212
|
+
- "What's one trend that's quietly reshaping your space?"
|
|
213
|
+
doneWhen: At least 3 competitors + 1 market segment + 2 trends captured.
|
|
214
|
+
|
|
215
|
+
app:
|
|
216
|
+
kind: stored
|
|
217
|
+
cellKey: entity-detail
|
|
218
|
+
|
|
219
|
+
layout:
|
|
220
|
+
defaultView: Competitors
|
|
221
|
+
defaultApp: null
|
|
222
|
+
pinnedApps: [dashboard, data, intelligence]
|
|
223
|
+
sidebarItems:
|
|
224
|
+
- kind: view
|
|
225
|
+
viewName: Competitors
|
|
226
|
+
label: Competitors
|
|
227
|
+
icon: crosshair
|
|
228
|
+
- kind: view
|
|
229
|
+
viewName: Market Segments
|
|
230
|
+
label: Segments
|
|
231
|
+
icon: pie-chart
|
|
232
|
+
- kind: view
|
|
233
|
+
viewName: Trends
|
|
234
|
+
label: Trends
|
|
235
|
+
icon: trending-up
|
|
236
|
+
- kind: view
|
|
237
|
+
viewName: Inspirations
|
|
238
|
+
label: Inspirations
|
|
239
|
+
icon: sparkles
|
|
240
|
+
- kind: view
|
|
241
|
+
viewName: Radar Map
|
|
242
|
+
label: Radar Map
|
|
243
|
+
icon: radar
|
|
244
|
+
- kind: app
|
|
245
|
+
appId: data
|
|
246
|
+
label: Data
|
|
247
|
+
icon: database
|
|
248
|
+
|
|
249
|
+
bento:
|
|
250
|
+
viewName: Radar Command Center
|
|
251
|
+
blocks:
|
|
252
|
+
- kind: view
|
|
253
|
+
viewName: Competitors
|
|
254
|
+
pos: { x: 0, y: 0, w: 7, h: 4 }
|
|
255
|
+
- kind: view
|
|
256
|
+
viewName: Trends
|
|
257
|
+
pos: { x: 7, y: 0, w: 5, h: 4 }
|
|
258
|
+
- kind: view
|
|
259
|
+
viewName: Market Segments
|
|
260
|
+
pos: { x: 0, y: 4, w: 6, h: 4 }
|
|
261
|
+
- kind: view
|
|
262
|
+
viewName: Inspirations
|
|
263
|
+
pos: { x: 6, y: 4, w: 6, h: 4 }
|
|
264
|
+
|
|
265
|
+
seedEntities:
|
|
266
|
+
- profileSlug: competitor
|
|
267
|
+
title: "Example Competitor (replace me)"
|
|
268
|
+
properties:
|
|
269
|
+
positioning: "An example rival — describe how they position themselves to buyers."
|
|
270
|
+
strengths: "What they do well (brand, distribution, price, feature depth)."
|
|
271
|
+
weaknesses: "Where they fall short — your opening."
|
|
272
|
+
pricing: "e.g. $X/mo per seat"
|
|
273
|
+
url: "https://example.com"
|
|
274
|
+
status: watching
|