@synap-core/workspace-templates 0.5.0 → 0.6.0

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/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@synap-core/workspace-templates",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "packageManager": "pnpm@9.15.4",
6
6
  "description": "Canonical workspace definitions — YAML source + typed exports for browser, backend, CLI, and marketplace",
7
7
  "exports": {
8
8
  ".": {
9
- "types": "./src/index.ts",
9
+ "types": "./dist/index.d.ts",
10
10
  "node": "./dist/index.js",
11
- "default": "./src/index.ts"
11
+ "default": "./dist/index.js"
12
12
  }
13
13
  },
14
14
  "files": [
@@ -18,10 +18,10 @@
18
18
  "scripts": {
19
19
  "type-check": "tsc --noEmit",
20
20
  "build:yaml": "node build.mjs",
21
- "build": "node build.mjs && tsc -p tsconfig.build.json",
21
+ "build": "node build.mjs && tsup",
22
22
  "provision": "node scripts/provision.mjs",
23
23
  "eval": "node scripts/eval-standard.mjs",
24
- "prepublishOnly": "node build.mjs && tsc -p tsconfig.build.json"
24
+ "prepublishOnly": "node build.mjs && tsup"
25
25
  },
26
26
  "dependencies": {
27
27
  "zod": "^3.0.0",
@@ -30,6 +30,7 @@
30
30
  "devDependencies": {
31
31
  "@types/js-yaml": "^4.0.9",
32
32
  "@types/node": "^22.0.0",
33
+ "tsup": "^8.0.0",
33
34
  "typescript": "^5.5.0"
34
35
  },
35
36
  "publishConfig": {
@@ -0,0 +1,372 @@
1
+ # Blockchain Ecosystem — PRIVATE OVERLAY on the Ecosystem workspace.
2
+ # AI-generation-friendly YAML. Validated against types.ts at build time.
3
+ #
4
+ # This is an OVERLAY, not a standalone workspace: it `compose`s onto the
5
+ # Ecosystem base and layers its web3 market actors (market-makers, auditors,
6
+ # dev-shops, KOLs, agencies), the actor↔actor relations, and a couple of curated
7
+ # views ADDITIVELY onto that base. No separate workspace is created.
8
+ #
9
+ # Overlay-safety: subtype MATCHES the base (`ecosystem`, a no-op on the additive
10
+ # reconcile), and workspace `visibility`/`capabilities` are OMITTED so the base
11
+ # Ecosystem keeps its own identity (the reconcile REPLACES those when set).
12
+ # The 6 web3 role-profiles are moved here verbatim from grants.yaml. company/person
13
+ # are NOT redeclared — the reconcile resolves base profiles the overlay references.
14
+
15
+ meta:
16
+ slug: blockchain-ecosystem
17
+ name: Blockchain Ecosystem
18
+ description: "Web3 market actors — market-makers, auditors, dev shops, KOLs — and how they connect. Overlays the Ecosystem workspace."
19
+ icon: boxes
20
+ color: "#8B5CF6"
21
+ tags: [blockchain, web3, ecosystem, market-makers]
22
+ isPublic: false
23
+
24
+ # OVERLAY on Ecosystem — composes additively onto the base workspace.
25
+ dependencies:
26
+ - slug: ecosystem
27
+ kind: workspace
28
+ relation: compose
29
+ reason: "Adds web3 market actors + relations onto your Ecosystem."
30
+
31
+ workspace:
32
+ name: Ecosystem
33
+ description: "Web3 market actors and the relationships between them, layered onto your Ecosystem."
34
+ subtype: ecosystem
35
+
36
+ profiles:
37
+ # ── Web3 actor roles (facets on company/person) ─────────────────────────────
38
+ # Moved here VERBATIM from grants.yaml — web3-specific service roles an actor
39
+ # plays. `scope: shared` dedups to the ONE pod-wide role profile.
40
+
41
+ # ── Market Maker (liquidity provider for a token) ─────────────────────────
42
+ - slug: market-maker
43
+ displayName: Market Maker
44
+ icon: candlestick-chart
45
+ color: sky
46
+ description: A liquidity provider — makes markets and provides depth for a token.
47
+ scope: shared
48
+ profileKind: role
49
+ applicableKinds:
50
+ - company
51
+ - person
52
+ properties:
53
+ - slug: status
54
+ label: Status
55
+ valueType: string
56
+ inputType: select
57
+ enumValues:
58
+ - prospect
59
+ - active
60
+ - paused
61
+ - churned
62
+ - slug: exchanges
63
+ label: Exchanges / Venues
64
+ valueType: array
65
+ inputType: text
66
+ - slug: engagementStartDate
67
+ label: Engagement Start
68
+ valueType: date
69
+ inputType: date
70
+ - slug: notes
71
+ label: Notes
72
+ valueType: string
73
+ inputType: textarea
74
+
75
+ # ── Security Auditor (smart-contract / protocol audits) ───────────────────
76
+ - slug: security-auditor
77
+ displayName: Security Auditor
78
+ icon: shield-check
79
+ color: red
80
+ description: A security firm or individual that audits smart contracts and protocols.
81
+ scope: shared
82
+ profileKind: role
83
+ applicableKinds:
84
+ - company
85
+ - person
86
+ properties:
87
+ - slug: status
88
+ label: Status
89
+ valueType: string
90
+ inputType: select
91
+ enumValues:
92
+ - prospect
93
+ - active
94
+ - paused
95
+ - churned
96
+ - slug: specialty
97
+ label: Specialty
98
+ valueType: string
99
+ inputType: text
100
+ - slug: engagementStartDate
101
+ label: Engagement Start
102
+ valueType: date
103
+ inputType: date
104
+ - slug: notes
105
+ label: Notes
106
+ valueType: string
107
+ inputType: textarea
108
+
109
+ # ── Dev Shop (outsourced engineering / build partner) ─────────────────────
110
+ - slug: dev-shop
111
+ displayName: Dev Shop
112
+ icon: code
113
+ color: violet
114
+ description: An outsourced engineering studio or build partner.
115
+ scope: shared
116
+ profileKind: role
117
+ applicableKinds:
118
+ - company
119
+ - person
120
+ properties:
121
+ - slug: status
122
+ label: Status
123
+ valueType: string
124
+ inputType: select
125
+ enumValues:
126
+ - prospect
127
+ - active
128
+ - paused
129
+ - churned
130
+ - slug: specialty
131
+ label: Specialty
132
+ valueType: string
133
+ inputType: text
134
+ - slug: engagementStartDate
135
+ label: Engagement Start
136
+ valueType: date
137
+ inputType: date
138
+ - slug: notes
139
+ label: Notes
140
+ valueType: string
141
+ inputType: textarea
142
+
143
+ # ── Marketing Agency (brand / growth / content marketing) ─────────────────
144
+ - slug: marketing-agency
145
+ displayName: Marketing Agency
146
+ icon: megaphone
147
+ color: pink
148
+ description: A brand, growth, or content marketing agency.
149
+ scope: shared
150
+ profileKind: role
151
+ applicableKinds:
152
+ - company
153
+ - person
154
+ properties:
155
+ - slug: status
156
+ label: Status
157
+ valueType: string
158
+ inputType: select
159
+ enumValues:
160
+ - prospect
161
+ - active
162
+ - paused
163
+ - churned
164
+ - slug: specialty
165
+ label: Specialty
166
+ valueType: string
167
+ inputType: text
168
+ - slug: engagementStartDate
169
+ label: Engagement Start
170
+ valueType: date
171
+ inputType: date
172
+ - slug: notes
173
+ label: Notes
174
+ valueType: string
175
+ inputType: textarea
176
+
177
+ # ── Paid-Ads Agency (performance / paid media buying) ─────────────────────
178
+ - slug: paid-ads-agency
179
+ displayName: Paid-Ads Agency
180
+ icon: badge-dollar-sign
181
+ color: orange
182
+ description: A performance / paid-media buying agency.
183
+ scope: shared
184
+ profileKind: role
185
+ applicableKinds:
186
+ - company
187
+ - person
188
+ properties:
189
+ - slug: status
190
+ label: Status
191
+ valueType: string
192
+ inputType: select
193
+ enumValues:
194
+ - prospect
195
+ - active
196
+ - paused
197
+ - churned
198
+ - slug: channels
199
+ label: Channels
200
+ valueType: array
201
+ inputType: text
202
+ - slug: engagementStartDate
203
+ label: Engagement Start
204
+ valueType: date
205
+ inputType: date
206
+ - slug: notes
207
+ label: Notes
208
+ valueType: string
209
+ inputType: textarea
210
+
211
+ # ── KOL (key opinion leader / influencer) ─────────────────────────────────
212
+ - slug: kol
213
+ displayName: KOL
214
+ icon: star
215
+ color: yellow
216
+ description: A key opinion leader or influencer who amplifies reach.
217
+ scope: shared
218
+ profileKind: role
219
+ applicableKinds:
220
+ - company
221
+ - person
222
+ properties:
223
+ - slug: status
224
+ label: Status
225
+ valueType: string
226
+ inputType: select
227
+ enumValues:
228
+ - prospect
229
+ - active
230
+ - paused
231
+ - churned
232
+ - slug: platform
233
+ label: Primary Platform
234
+ valueType: string
235
+ inputType: text
236
+ - slug: audienceSize
237
+ label: Audience Size
238
+ valueType: number
239
+ inputType: number
240
+ - slug: notes
241
+ label: Notes
242
+ valueType: string
243
+ inputType: textarea
244
+
245
+ # Web3 actor↔actor relations (company→company). `company` resolves from the
246
+ # Ecosystem base — not redeclared here.
247
+ entityLinks:
248
+ - sourceProfileSlug: company
249
+ targetProfileSlug: company
250
+ type: audited_by
251
+ label: Audited by
252
+ - sourceProfileSlug: company
253
+ targetProfileSlug: company
254
+ type: makes_market_for
255
+ label: Makes market for
256
+ - sourceProfileSlug: company
257
+ targetProfileSlug: company
258
+ type: built_by
259
+ label: Built by
260
+ - sourceProfileSlug: company
261
+ targetProfileSlug: company
262
+ type: advises
263
+ label: Advises
264
+
265
+ # Curated views over the web3 roles (companies wearing each role).
266
+ views:
267
+ - name: Market Makers
268
+ slug: market-makers
269
+ type: table
270
+ scopeProfileSlug: market-maker
271
+ description: Liquidity providers you work with, by status.
272
+ config:
273
+ columns: [title, status, exchanges, engagementStartDate]
274
+ - name: Auditors
275
+ slug: auditors
276
+ type: table
277
+ scopeProfileSlug: security-auditor
278
+ description: Security auditors you work with, by status.
279
+ config:
280
+ columns: [title, status, specialty, engagementStartDate]
281
+ - name: Dev Shops
282
+ slug: dev-shops
283
+ type: table
284
+ scopeProfileSlug: dev-shop
285
+ description: Build partners and engineering studios you work with.
286
+ config:
287
+ columns: [title, status, specialty, engagementStartDate]
288
+
289
+ onboarding:
290
+ goal: >
291
+ Map the web3 service ecosystem — which market-makers, auditors, dev-shops,
292
+ and KOLs you work with, and how they connect to the projects and companies in
293
+ your Ecosystem — so the map shows not just the players but the service graph
294
+ around them.
295
+ framing: |
296
+ THE WEB3 ECOSYSTEM LEAD: Act as a sharp web3 ecosystem lead who knows the
297
+ service layer of the market — who provides liquidity, who audits, who ships
298
+ code, who moves attention. Push for REAL named firms and the concrete edges
299
+ between them: who audits whom, who makes markets for which token, who built
300
+ which product. Tag the role onto the real company, then draw the edge — a list
301
+ of service providers with no relationships is just a directory.
302
+ expertise:
303
+ starters:
304
+ - >
305
+ Tag the role onto the real company, don't spin up a new one. A market-maker
306
+ or auditor is a HAT a company wears — attach the role to the existing
307
+ Ecosystem company (match on domain / name first) rather than creating a
308
+ second entity for the same firm.
309
+ - >
310
+ The service layer is a graph, not a list. For every provider you log,
311
+ propose at least one real edge — audited_by, makes_market_for, built_by,
312
+ advises — because the value is in who serves whom, not in the roster alone.
313
+ blindSpots:
314
+ - >
315
+ Founders track the loud KOLs and forget the load-bearing providers — the
316
+ auditor gating a launch, the market-maker holding the book. Surface the
317
+ quiet, critical relationships, not just the visible ones.
318
+ - >
319
+ A service provider with no engagement status and no edge is a bookmark, not
320
+ a relationship. Force the status (prospect/active/paused/churned) and at
321
+ least one connection to a real project or company.
322
+ bar: >
323
+ The web3 service graph reads true: named firms wearing the right role
324
+ (market-maker, auditor, dev-shop, KOL), each with an engagement status and at
325
+ least one real edge to the company or project it serves — so a glance shows
326
+ who's providing liquidity, who's auditing, who's building, and who's amplifying.
327
+ collect:
328
+ - profileSlug: market-maker
329
+ what: The market-makers / liquidity providers you work with, tagged onto the real company.
330
+ cardinality: few
331
+ keyFields: [status, exchanges]
332
+ - profileSlug: security-auditor
333
+ what: The security auditors you work with, tagged onto the real firm.
334
+ cardinality: few
335
+ keyFields: [status, specialty]
336
+ openingQuestions:
337
+ - "Which market-makers or liquidity providers are in your orbit, and are they active?"
338
+ - "Who audits the projects you work with — which security firms do you trust?"
339
+ - "Which dev-shops or KOLs are part of your ecosystem, and how do they connect to your projects?"
340
+ doneWhen: a couple of web3 actors tagged onto real companies with an engagement status.
341
+
342
+ app:
343
+ kind: stored
344
+ cellKey: entity-detail
345
+
346
+ layout:
347
+ defaultView: Market Makers
348
+ defaultApp: null
349
+ pinnedApps: [dashboard, data]
350
+ sidebarItems:
351
+ - kind: view
352
+ viewName: Market Makers
353
+ label: Market Makers
354
+ icon: candlestick-chart
355
+ - kind: view
356
+ viewName: Auditors
357
+ label: Auditors
358
+ icon: shield-check
359
+ - kind: view
360
+ viewName: Dev Shops
361
+ label: Dev Shops
362
+ icon: code
363
+
364
+ bento:
365
+ viewName: Market Makers
366
+ blocks:
367
+ - kind: view
368
+ viewName: Market Makers
369
+ pos: { x: 0, y: 0, w: 6, h: 5 }
370
+ - kind: view
371
+ viewName: Auditors
372
+ pos: { x: 6, y: 0, w: 6, h: 5 }