@synap-core/workspace-templates 0.2.2 → 0.4.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/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +5284 -4420
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +25 -15
- package/src/agent-fleet.yaml +38 -398
- package/src/brand-library.yaml +68 -44
- package/src/builder.yaml +75 -18
- package/src/content-os.yaml +31 -391
- package/src/content-studio.yaml +70 -22
- package/src/crm.yaml +112 -423
- package/src/dev-dashboard.yaml +37 -393
- package/src/finance.yaml +485 -0
- package/src/foundation.yaml +34 -8
- package/src/hr.yaml +474 -0
- package/src/legal.yaml +495 -0
- package/src/life-os.yaml +42 -89
- package/src/marketing.yaml +67 -15
- package/src/operations.yaml +496 -0
- package/src/personal.yaml +68 -6
- package/src/project-management.yaml +38 -378
- package/src/radar.yaml +34 -11
- package/src/templates.ts +5284 -4420
- package/src/types.ts +27 -0
package/src/legal.yaml
ADDED
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
# Legal workspace template
|
|
2
|
+
# The company's LEGAL operating system, modeled the way a startup general counsel
|
|
3
|
+
# actually works: the entities you incorporate, the contracts you sign, the
|
|
4
|
+
# compliance obligations you must not miss, the IP you own, the policies you set,
|
|
5
|
+
# and the matters/disputes you manage. Pod-visible provider of the `legal` domain.
|
|
6
|
+
|
|
7
|
+
meta:
|
|
8
|
+
slug: legal
|
|
9
|
+
name: Legal
|
|
10
|
+
description: The company's legal operating system — contracts, compliance, IP, entities, and matters.
|
|
11
|
+
icon: scale
|
|
12
|
+
color: "#4338CA"
|
|
13
|
+
tags: [legal, contracts, compliance, ip]
|
|
14
|
+
isPublic: true
|
|
15
|
+
|
|
16
|
+
workspace:
|
|
17
|
+
name: Legal
|
|
18
|
+
description: The company's legal command center — legal entities, contracts and renewals, compliance obligations, intellectual property, internal policies, and matters.
|
|
19
|
+
proposalId: legal-v1
|
|
20
|
+
subtype: legal
|
|
21
|
+
visibility: members
|
|
22
|
+
workspaceType: operational
|
|
23
|
+
capabilities:
|
|
24
|
+
- legal.contracts
|
|
25
|
+
- legal.compliance
|
|
26
|
+
- legal.ip
|
|
27
|
+
sourceRoles:
|
|
28
|
+
legal: provider
|
|
29
|
+
|
|
30
|
+
profiles:
|
|
31
|
+
- slug: legal-entity
|
|
32
|
+
displayName: Legal Entity
|
|
33
|
+
icon: landmark
|
|
34
|
+
color: indigo
|
|
35
|
+
description: "A company legal entity — a corporation, subsidiary, or branch in a given jurisdiction."
|
|
36
|
+
properties:
|
|
37
|
+
- slug: entityType
|
|
38
|
+
label: Entity Type
|
|
39
|
+
valueType: string
|
|
40
|
+
inputType: select
|
|
41
|
+
enumValues: [c-corp, s-corp, llc, ltd, gmbh, sas, subsidiary, branch, other]
|
|
42
|
+
- slug: jurisdiction
|
|
43
|
+
label: Jurisdiction
|
|
44
|
+
valueType: string
|
|
45
|
+
inputType: text
|
|
46
|
+
placeholder: e.g. Delaware, USA
|
|
47
|
+
- slug: registrationNumber
|
|
48
|
+
label: Registration Number
|
|
49
|
+
valueType: string
|
|
50
|
+
inputType: text
|
|
51
|
+
- slug: status
|
|
52
|
+
label: Status
|
|
53
|
+
valueType: string
|
|
54
|
+
inputType: select
|
|
55
|
+
enumValues: [in-formation, active, dormant, dissolved]
|
|
56
|
+
constraints: { defaultValue: active }
|
|
57
|
+
- slug: incorporationDate
|
|
58
|
+
label: Incorporation Date
|
|
59
|
+
valueType: date
|
|
60
|
+
inputType: date
|
|
61
|
+
- slug: registeredAgent
|
|
62
|
+
label: Registered Agent
|
|
63
|
+
valueType: string
|
|
64
|
+
inputType: text
|
|
65
|
+
- slug: notes
|
|
66
|
+
label: Notes
|
|
67
|
+
valueType: string
|
|
68
|
+
inputType: textarea
|
|
69
|
+
|
|
70
|
+
- slug: contract
|
|
71
|
+
displayName: Contract
|
|
72
|
+
icon: file-signature
|
|
73
|
+
color: violet
|
|
74
|
+
description: "A legal agreement with a counterparty — its status, term, and renewal."
|
|
75
|
+
properties:
|
|
76
|
+
- slug: contractType
|
|
77
|
+
label: Type
|
|
78
|
+
valueType: string
|
|
79
|
+
inputType: select
|
|
80
|
+
enumValues: [nda, msa, saas-subscription, employment, contractor, lease, partnership, financing, dpa, other]
|
|
81
|
+
- slug: status
|
|
82
|
+
label: Status
|
|
83
|
+
valueType: string
|
|
84
|
+
inputType: select
|
|
85
|
+
enumValues: [draft, in-review, negotiation, signed, active, expired, terminated]
|
|
86
|
+
constraints: { defaultValue: draft }
|
|
87
|
+
- slug: counterparty
|
|
88
|
+
label: Counterparty
|
|
89
|
+
valueType: string
|
|
90
|
+
inputType: text
|
|
91
|
+
- slug: effectiveDate
|
|
92
|
+
label: Effective Date
|
|
93
|
+
valueType: date
|
|
94
|
+
inputType: date
|
|
95
|
+
- slug: expirationDate
|
|
96
|
+
label: Expiration Date
|
|
97
|
+
valueType: date
|
|
98
|
+
inputType: date
|
|
99
|
+
- slug: renewalType
|
|
100
|
+
label: Renewal
|
|
101
|
+
valueType: string
|
|
102
|
+
inputType: select
|
|
103
|
+
enumValues: [none, auto-renew, manual]
|
|
104
|
+
constraints: { defaultValue: none }
|
|
105
|
+
- slug: renewalDate
|
|
106
|
+
label: Renewal / Notice Date
|
|
107
|
+
valueType: date
|
|
108
|
+
inputType: date
|
|
109
|
+
- slug: value
|
|
110
|
+
label: Contract Value
|
|
111
|
+
valueType: number
|
|
112
|
+
inputType: number
|
|
113
|
+
- slug: owner
|
|
114
|
+
label: Owner
|
|
115
|
+
valueType: string
|
|
116
|
+
inputType: text
|
|
117
|
+
- slug: notes
|
|
118
|
+
label: Notes
|
|
119
|
+
valueType: string
|
|
120
|
+
inputType: textarea
|
|
121
|
+
|
|
122
|
+
- slug: compliance-item
|
|
123
|
+
displayName: Compliance Item
|
|
124
|
+
icon: shield-check
|
|
125
|
+
color: cyan
|
|
126
|
+
description: "A regulatory or legal obligation with an owner and a deadline."
|
|
127
|
+
properties:
|
|
128
|
+
- slug: obligationType
|
|
129
|
+
label: Obligation Type
|
|
130
|
+
valueType: string
|
|
131
|
+
inputType: select
|
|
132
|
+
enumValues: [regulatory-filing, tax, data-privacy, license, certification, corporate-governance, employment, other]
|
|
133
|
+
- slug: status
|
|
134
|
+
label: Status
|
|
135
|
+
valueType: string
|
|
136
|
+
inputType: select
|
|
137
|
+
enumValues: [not-started, in-progress, submitted, complete, overdue]
|
|
138
|
+
constraints: { defaultValue: not-started }
|
|
139
|
+
- slug: jurisdiction
|
|
140
|
+
label: Jurisdiction
|
|
141
|
+
valueType: string
|
|
142
|
+
inputType: text
|
|
143
|
+
- slug: dueDate
|
|
144
|
+
label: Due Date
|
|
145
|
+
valueType: date
|
|
146
|
+
inputType: date
|
|
147
|
+
- slug: frequency
|
|
148
|
+
label: Frequency
|
|
149
|
+
valueType: string
|
|
150
|
+
inputType: select
|
|
151
|
+
enumValues: [one-time, monthly, quarterly, annual]
|
|
152
|
+
constraints: { defaultValue: one-time }
|
|
153
|
+
- slug: owner
|
|
154
|
+
label: Owner
|
|
155
|
+
valueType: string
|
|
156
|
+
inputType: text
|
|
157
|
+
- slug: notes
|
|
158
|
+
label: Notes
|
|
159
|
+
valueType: string
|
|
160
|
+
inputType: textarea
|
|
161
|
+
|
|
162
|
+
- slug: ip-asset
|
|
163
|
+
displayName: IP Asset
|
|
164
|
+
icon: badge-check
|
|
165
|
+
color: amber
|
|
166
|
+
description: "An intellectual property asset — trademark, patent, copyright, or trade secret."
|
|
167
|
+
properties:
|
|
168
|
+
- slug: assetType
|
|
169
|
+
label: Type
|
|
170
|
+
valueType: string
|
|
171
|
+
inputType: select
|
|
172
|
+
enumValues: [trademark, patent, copyright, trade-secret, domain, other]
|
|
173
|
+
- slug: status
|
|
174
|
+
label: Status
|
|
175
|
+
valueType: string
|
|
176
|
+
inputType: select
|
|
177
|
+
enumValues: [idea, filed, pending, registered, granted, abandoned, expired]
|
|
178
|
+
constraints: { defaultValue: idea }
|
|
179
|
+
- slug: jurisdiction
|
|
180
|
+
label: Jurisdiction
|
|
181
|
+
valueType: string
|
|
182
|
+
inputType: text
|
|
183
|
+
- slug: registrationNumber
|
|
184
|
+
label: Registration Number
|
|
185
|
+
valueType: string
|
|
186
|
+
inputType: text
|
|
187
|
+
- slug: filingDate
|
|
188
|
+
label: Filing Date
|
|
189
|
+
valueType: date
|
|
190
|
+
inputType: date
|
|
191
|
+
- slug: renewalDate
|
|
192
|
+
label: Renewal Date
|
|
193
|
+
valueType: date
|
|
194
|
+
inputType: date
|
|
195
|
+
- slug: owner
|
|
196
|
+
label: Owner
|
|
197
|
+
valueType: string
|
|
198
|
+
inputType: text
|
|
199
|
+
- slug: notes
|
|
200
|
+
label: Notes
|
|
201
|
+
valueType: string
|
|
202
|
+
inputType: textarea
|
|
203
|
+
|
|
204
|
+
- slug: policy
|
|
205
|
+
displayName: Policy
|
|
206
|
+
icon: book-lock
|
|
207
|
+
color: slate
|
|
208
|
+
description: "An internal policy — the rules the company commits to and publishes."
|
|
209
|
+
properties:
|
|
210
|
+
- slug: policyArea
|
|
211
|
+
label: Area
|
|
212
|
+
valueType: string
|
|
213
|
+
inputType: select
|
|
214
|
+
enumValues: [privacy, security, hr, code-of-conduct, data-retention, finance, acceptable-use, other]
|
|
215
|
+
- slug: status
|
|
216
|
+
label: Status
|
|
217
|
+
valueType: string
|
|
218
|
+
inputType: select
|
|
219
|
+
enumValues: [draft, in-review, approved, published, archived]
|
|
220
|
+
constraints: { defaultValue: draft }
|
|
221
|
+
- slug: version
|
|
222
|
+
label: Version
|
|
223
|
+
valueType: string
|
|
224
|
+
inputType: text
|
|
225
|
+
placeholder: e.g. 1.0
|
|
226
|
+
- slug: effectiveDate
|
|
227
|
+
label: Effective Date
|
|
228
|
+
valueType: date
|
|
229
|
+
inputType: date
|
|
230
|
+
- slug: reviewDate
|
|
231
|
+
label: Next Review
|
|
232
|
+
valueType: date
|
|
233
|
+
inputType: date
|
|
234
|
+
- slug: owner
|
|
235
|
+
label: Owner
|
|
236
|
+
valueType: string
|
|
237
|
+
inputType: text
|
|
238
|
+
- slug: summary
|
|
239
|
+
label: Summary
|
|
240
|
+
valueType: string
|
|
241
|
+
inputType: textarea
|
|
242
|
+
|
|
243
|
+
- slug: legal-matter
|
|
244
|
+
displayName: Legal Matter
|
|
245
|
+
icon: gavel
|
|
246
|
+
color: rose
|
|
247
|
+
description: "A dispute, investigation, or transaction the legal team is managing."
|
|
248
|
+
properties:
|
|
249
|
+
- slug: matterType
|
|
250
|
+
label: Type
|
|
251
|
+
valueType: string
|
|
252
|
+
inputType: select
|
|
253
|
+
enumValues: [litigation, dispute, investigation, employment, ip-enforcement, regulatory, m-and-a, financing, other]
|
|
254
|
+
- slug: status
|
|
255
|
+
label: Status
|
|
256
|
+
valueType: string
|
|
257
|
+
inputType: select
|
|
258
|
+
enumValues: [open, active, on-hold, settled, closed]
|
|
259
|
+
constraints: { defaultValue: open }
|
|
260
|
+
- slug: priority
|
|
261
|
+
label: Priority
|
|
262
|
+
valueType: string
|
|
263
|
+
inputType: select
|
|
264
|
+
enumValues: [low, medium, high, critical]
|
|
265
|
+
constraints: { defaultValue: medium }
|
|
266
|
+
- slug: counterparty
|
|
267
|
+
label: Counterparty
|
|
268
|
+
valueType: string
|
|
269
|
+
inputType: text
|
|
270
|
+
- slug: counsel
|
|
271
|
+
label: Outside Counsel
|
|
272
|
+
valueType: string
|
|
273
|
+
inputType: text
|
|
274
|
+
- slug: openedDate
|
|
275
|
+
label: Opened
|
|
276
|
+
valueType: date
|
|
277
|
+
inputType: date
|
|
278
|
+
- slug: targetResolution
|
|
279
|
+
label: Target Resolution
|
|
280
|
+
valueType: date
|
|
281
|
+
inputType: date
|
|
282
|
+
- slug: exposure
|
|
283
|
+
label: Exposure
|
|
284
|
+
valueType: number
|
|
285
|
+
inputType: number
|
|
286
|
+
- slug: notes
|
|
287
|
+
label: Notes
|
|
288
|
+
valueType: string
|
|
289
|
+
inputType: textarea
|
|
290
|
+
|
|
291
|
+
views:
|
|
292
|
+
- name: Contracts
|
|
293
|
+
slug: contracts
|
|
294
|
+
type: table
|
|
295
|
+
scopeProfileSlug: contract
|
|
296
|
+
description: Every agreement, its counterparty, status, and term.
|
|
297
|
+
defaultView: true
|
|
298
|
+
config:
|
|
299
|
+
columns: [title, contractType, status, counterparty, effectiveDate, expirationDate, value, owner]
|
|
300
|
+
- name: Renewals
|
|
301
|
+
slug: renewals
|
|
302
|
+
type: kanban
|
|
303
|
+
scopeProfileSlug: contract
|
|
304
|
+
groupBy: status
|
|
305
|
+
description: Contracts by lifecycle stage — catch renewals and expirations before they bite.
|
|
306
|
+
config:
|
|
307
|
+
groupBy: status
|
|
308
|
+
cardFields: [counterparty, renewalType, renewalDate, expirationDate, value]
|
|
309
|
+
- name: Compliance
|
|
310
|
+
slug: compliance
|
|
311
|
+
type: kanban
|
|
312
|
+
scopeProfileSlug: compliance-item
|
|
313
|
+
groupBy: status
|
|
314
|
+
description: Obligations by status — nothing goes overdue.
|
|
315
|
+
config:
|
|
316
|
+
groupBy: status
|
|
317
|
+
cardFields: [obligationType, jurisdiction, dueDate, frequency, owner]
|
|
318
|
+
- name: IP Assets
|
|
319
|
+
slug: ip-assets
|
|
320
|
+
type: table
|
|
321
|
+
scopeProfileSlug: ip-asset
|
|
322
|
+
description: Trademarks, patents, copyrights, and trade secrets the company owns.
|
|
323
|
+
config:
|
|
324
|
+
columns: [title, assetType, status, jurisdiction, registrationNumber, renewalDate, owner]
|
|
325
|
+
- name: Matters
|
|
326
|
+
slug: matters
|
|
327
|
+
type: table
|
|
328
|
+
scopeProfileSlug: legal-matter
|
|
329
|
+
description: Disputes, investigations, and transactions in flight.
|
|
330
|
+
config:
|
|
331
|
+
columns: [title, matterType, status, priority, counterparty, counsel, targetResolution, exposure]
|
|
332
|
+
- name: Legal Entities
|
|
333
|
+
slug: legal-entities
|
|
334
|
+
type: table
|
|
335
|
+
scopeProfileSlug: legal-entity
|
|
336
|
+
description: The corporate structure — entities, jurisdictions, and status.
|
|
337
|
+
config:
|
|
338
|
+
columns: [title, entityType, jurisdiction, registrationNumber, status, incorporationDate]
|
|
339
|
+
|
|
340
|
+
# Schema-level relations — give the relation picker domain-specific links from day one.
|
|
341
|
+
entityLinks:
|
|
342
|
+
- sourceProfileSlug: contract
|
|
343
|
+
targetProfileSlug: legal-entity
|
|
344
|
+
type: party_to
|
|
345
|
+
label: Party to
|
|
346
|
+
- sourceProfileSlug: ip-asset
|
|
347
|
+
targetProfileSlug: legal-entity
|
|
348
|
+
type: owned_by
|
|
349
|
+
label: Owned by
|
|
350
|
+
- sourceProfileSlug: compliance-item
|
|
351
|
+
targetProfileSlug: legal-entity
|
|
352
|
+
type: applies_to
|
|
353
|
+
label: Applies to
|
|
354
|
+
- sourceProfileSlug: compliance-item
|
|
355
|
+
targetProfileSlug: policy
|
|
356
|
+
type: governed_by
|
|
357
|
+
label: Governed by
|
|
358
|
+
- sourceProfileSlug: legal-matter
|
|
359
|
+
targetProfileSlug: contract
|
|
360
|
+
type: concerns
|
|
361
|
+
label: Concerns
|
|
362
|
+
|
|
363
|
+
onboarding:
|
|
364
|
+
goal: Capture the company's real legal footprint — its entities, live contracts, compliance obligations, and IP — so the workspace reflects the actual legal posture, not a generic checklist.
|
|
365
|
+
framing: >
|
|
366
|
+
THE GENERAL COUNSEL: Act as a pragmatic startup general counsel. Map the legal
|
|
367
|
+
reality first — which entities exist and where, what's actually signed and when it
|
|
368
|
+
renews, what filings and obligations have deadlines, and what IP is worth protecting.
|
|
369
|
+
Be precise about dates and counterparties; flag risk plainly; never invent legal
|
|
370
|
+
conclusions. Turn their answers into entities, contracts, compliance items, and IP assets.
|
|
371
|
+
expertise:
|
|
372
|
+
starters:
|
|
373
|
+
- >
|
|
374
|
+
Start by mapping the corporate skeleton, then hang contracts off it. Ask what the
|
|
375
|
+
top-level entity is, where it's incorporated (Delaware C-corp? a local Ltd/GmbH?),
|
|
376
|
+
and whether any subsidiaries or branches exist — because a contract's counterparty
|
|
377
|
+
and an IP asset's owner only mean something once you know which entity signed or
|
|
378
|
+
holds it. Seed the entities first; everything else references them.
|
|
379
|
+
- >
|
|
380
|
+
For each contract they name, capture the RENEWAL and NOTICE dates, not just the
|
|
381
|
+
signing date. The dangerous field is the auto-renew clause with a 30/60/90-day
|
|
382
|
+
notice window — that's what silently locks a company into another year. Propose
|
|
383
|
+
the renewal date and renewal type up front so the workspace can surface it before
|
|
384
|
+
the window closes.
|
|
385
|
+
- >
|
|
386
|
+
Frame the whole session as surfacing RISK, not giving advice. Capture what exists
|
|
387
|
+
and flag what's missing for a real lawyer to review — never state whether something
|
|
388
|
+
is enforceable, compliant, or "fine". Turn "is this okay?" into a captured gap:
|
|
389
|
+
"contract with no signed copy on file — flag for counsel", not a legal opinion.
|
|
390
|
+
blindSpots:
|
|
391
|
+
- >
|
|
392
|
+
The handshake-deal risk: real obligations — a vendor arrangement, a co-founder
|
|
393
|
+
split, a customer commitment — exist with no signed paper behind them. Ask
|
|
394
|
+
explicitly what agreements are operating verbally or by email only, and capture
|
|
395
|
+
each as a contract in "draft" with a flag; an unpapered deal is a dispute waiting
|
|
396
|
+
to happen, and it's invisible unless you go looking for it.
|
|
397
|
+
- >
|
|
398
|
+
Missing IP assignment is the classic startup landmine: founders, early employees,
|
|
399
|
+
and especially contractors who wrote code or designed the brand without a signed
|
|
400
|
+
IP-assignment / work-for-hire clause. The company may not legally own its own
|
|
401
|
+
product. Probe for it directly — "did every contributor sign IP assignment?" — and
|
|
402
|
+
log any gap as a high-priority matter, because it kills fundraises and acquisitions.
|
|
403
|
+
- >
|
|
404
|
+
Renewal, expiry, and filing dates that nobody owns: trademark renewals, annual
|
|
405
|
+
registered-agent/franchise-tax filings, insurance and license expirations, data-
|
|
406
|
+
privacy obligations. These lapse silently and are expensive to revive. Every date
|
|
407
|
+
captured needs an OWNER and a deadline — an unowned deadline is a missed one.
|
|
408
|
+
bar: >
|
|
409
|
+
A GREAT result is an accurate, date-aware risk map: the real legal entities and
|
|
410
|
+
where they sit, the live contracts with their renewal/notice dates and owners, the
|
|
411
|
+
compliance obligations with deadlines and owners, and the IP the company actually
|
|
412
|
+
needs to own — with every gap and unpapered deal explicitly FLAGGED for a real
|
|
413
|
+
lawyer, and not one invented legal conclusion anywhere in it.
|
|
414
|
+
collect:
|
|
415
|
+
- profileSlug: legal-entity
|
|
416
|
+
what: The company's legal entities and the jurisdictions they operate in.
|
|
417
|
+
cardinality: few
|
|
418
|
+
keyFields: [entityType, jurisdiction, status]
|
|
419
|
+
- profileSlug: contract
|
|
420
|
+
what: The key live agreements — the ones with real obligations, value, or renewal dates.
|
|
421
|
+
cardinality: several
|
|
422
|
+
keyFields: [contractType, status, counterparty, renewalDate]
|
|
423
|
+
- profileSlug: compliance-item
|
|
424
|
+
what: Compliance obligations and filings with real deadlines.
|
|
425
|
+
cardinality: several
|
|
426
|
+
keyFields: [obligationType, dueDate, owner]
|
|
427
|
+
- profileSlug: ip-asset
|
|
428
|
+
what: Intellectual property worth tracking and protecting.
|
|
429
|
+
cardinality: few
|
|
430
|
+
keyFields: [assetType, status, jurisdiction]
|
|
431
|
+
openingQuestions:
|
|
432
|
+
- "Which legal entities does the company have, and in which jurisdictions?"
|
|
433
|
+
- "What are your most important signed contracts right now — and do any auto-renew?"
|
|
434
|
+
- "What compliance obligations or filings have deadlines you can't miss?"
|
|
435
|
+
doneWhen: at least one legal entity, one key contract, and one compliance obligation with a deadline are captured.
|
|
436
|
+
|
|
437
|
+
app:
|
|
438
|
+
kind: stored
|
|
439
|
+
cellKey: entity-detail
|
|
440
|
+
|
|
441
|
+
layout:
|
|
442
|
+
defaultView: Contracts
|
|
443
|
+
defaultApp: null
|
|
444
|
+
pinnedApps: [dashboard, data, intelligence]
|
|
445
|
+
sidebarItems:
|
|
446
|
+
- kind: view
|
|
447
|
+
viewName: Contracts
|
|
448
|
+
label: Contracts
|
|
449
|
+
icon: file-signature
|
|
450
|
+
- kind: view
|
|
451
|
+
viewName: Renewals
|
|
452
|
+
label: Renewals
|
|
453
|
+
icon: refresh-cw
|
|
454
|
+
- kind: view
|
|
455
|
+
viewName: Compliance
|
|
456
|
+
label: Compliance
|
|
457
|
+
icon: shield-check
|
|
458
|
+
- kind: view
|
|
459
|
+
viewName: IP Assets
|
|
460
|
+
label: IP Assets
|
|
461
|
+
icon: badge-check
|
|
462
|
+
- kind: view
|
|
463
|
+
viewName: Matters
|
|
464
|
+
label: Matters
|
|
465
|
+
icon: gavel
|
|
466
|
+
- kind: view
|
|
467
|
+
viewName: Legal Entities
|
|
468
|
+
label: Entities
|
|
469
|
+
icon: landmark
|
|
470
|
+
- kind: app
|
|
471
|
+
appId: data
|
|
472
|
+
label: All Data
|
|
473
|
+
icon: database
|
|
474
|
+
|
|
475
|
+
bento:
|
|
476
|
+
viewName: Legal Command Center
|
|
477
|
+
blocks:
|
|
478
|
+
- kind: view
|
|
479
|
+
viewName: Contracts
|
|
480
|
+
pos: { x: 0, y: 0, w: 8, h: 4 }
|
|
481
|
+
- kind: view
|
|
482
|
+
viewName: Legal Entities
|
|
483
|
+
pos: { x: 8, y: 0, w: 4, h: 4 }
|
|
484
|
+
- kind: view
|
|
485
|
+
viewName: Compliance
|
|
486
|
+
pos: { x: 0, y: 4, w: 6, h: 4 }
|
|
487
|
+
- kind: view
|
|
488
|
+
viewName: Renewals
|
|
489
|
+
pos: { x: 6, y: 4, w: 6, h: 4 }
|
|
490
|
+
- kind: view
|
|
491
|
+
viewName: IP Assets
|
|
492
|
+
pos: { x: 0, y: 8, w: 6, h: 4 }
|
|
493
|
+
- kind: view
|
|
494
|
+
viewName: Matters
|
|
495
|
+
pos: { x: 6, y: 8, w: 6, h: 4 }
|
package/src/life-os.yaml
CHANGED
|
@@ -1122,95 +1122,6 @@ entityLinks:
|
|
|
1122
1122
|
type: said-by
|
|
1123
1123
|
label: Said by
|
|
1124
1124
|
|
|
1125
|
-
seedEntities:
|
|
1126
|
-
- profileSlug: area
|
|
1127
|
-
title: Learning & Growth
|
|
1128
|
-
properties:
|
|
1129
|
-
description: Continuous learning, skill building, reading.
|
|
1130
|
-
status: active
|
|
1131
|
-
- profileSlug: area
|
|
1132
|
-
title: Work & Career
|
|
1133
|
-
properties:
|
|
1134
|
-
description: Professional projects, skills, and relationships.
|
|
1135
|
-
status: active
|
|
1136
|
-
- profileSlug: area
|
|
1137
|
-
title: Health & Wellbeing
|
|
1138
|
-
properties:
|
|
1139
|
-
description: Physical health, mental clarity, energy.
|
|
1140
|
-
status: active
|
|
1141
|
-
- profileSlug: project
|
|
1142
|
-
title: Build My Second Brain
|
|
1143
|
-
properties:
|
|
1144
|
-
status: active
|
|
1145
|
-
outcome: Have a fully functional PKM system capturing and connecting my knowledge.
|
|
1146
|
-
area: Learning & Growth
|
|
1147
|
-
- profileSlug: concept
|
|
1148
|
-
title: Zettelkasten
|
|
1149
|
-
properties:
|
|
1150
|
-
definition: A note-taking method using atomic, interconnected notes — each idea on its own card, linked to related ones.
|
|
1151
|
-
domain: Knowledge Management
|
|
1152
|
-
maturity: evergreen
|
|
1153
|
-
- profileSlug: concept
|
|
1154
|
-
title: Progressive Summarization
|
|
1155
|
-
properties:
|
|
1156
|
-
definition: Highlighting and condensing notes in multiple passes — first bold, then highlight, then summary — to surface the most valuable ideas.
|
|
1157
|
-
domain: Knowledge Management
|
|
1158
|
-
maturity: growing
|
|
1159
|
-
- profileSlug: book
|
|
1160
|
-
title: Building a Second Brain
|
|
1161
|
-
properties:
|
|
1162
|
-
author: Tiago Forte
|
|
1163
|
-
status: reading
|
|
1164
|
-
genre: Productivity
|
|
1165
|
-
pages: 272
|
|
1166
|
-
- profileSlug: book
|
|
1167
|
-
title: How to Take Smart Notes
|
|
1168
|
-
properties:
|
|
1169
|
-
author: Sönke Ahrens
|
|
1170
|
-
status: want-to-read
|
|
1171
|
-
genre: Learning
|
|
1172
|
-
pages: 170
|
|
1173
|
-
- profileSlug: person
|
|
1174
|
-
title: Tiago Forte
|
|
1175
|
-
properties:
|
|
1176
|
-
role: Author & Creator
|
|
1177
|
-
relationship: author
|
|
1178
|
-
notes: Creator of the Second Brain methodology. Author of Building a Second Brain.
|
|
1179
|
-
- profileSlug: person
|
|
1180
|
-
title: Sönke Ahrens
|
|
1181
|
-
properties:
|
|
1182
|
-
role: Author & Researcher
|
|
1183
|
-
relationship: author
|
|
1184
|
-
notes: Author of How to Take Smart Notes. Proponent of the Zettelkasten method.
|
|
1185
|
-
- profileSlug: quote
|
|
1186
|
-
title: Your mind is for having ideas
|
|
1187
|
-
properties:
|
|
1188
|
-
text: Your mind is for having ideas, not holding them.
|
|
1189
|
-
author: David Allen
|
|
1190
|
-
resonance: 5
|
|
1191
|
-
- profileSlug: note
|
|
1192
|
-
title: Why I'm building a Second Brain
|
|
1193
|
-
properties:
|
|
1194
|
-
status: inbox
|
|
1195
|
-
content: Capture everything. Review regularly. Connect the dots. Let the system hold the complexity so your mind stays clear.
|
|
1196
|
-
|
|
1197
|
-
suggestedRelations:
|
|
1198
|
-
- sourceRef: "book:Building a Second Brain"
|
|
1199
|
-
targetRef: "person:Tiago Forte"
|
|
1200
|
-
type: authored-by
|
|
1201
|
-
- sourceRef: "book:How to Take Smart Notes"
|
|
1202
|
-
targetRef: "person:Sönke Ahrens"
|
|
1203
|
-
type: authored-by
|
|
1204
|
-
- sourceRef: "note:Why I'm building a Second Brain"
|
|
1205
|
-
targetRef: "project:Build My Second Brain"
|
|
1206
|
-
type: feeds-into
|
|
1207
|
-
- sourceRef: "concept:Zettelkasten"
|
|
1208
|
-
targetRef: "concept:Progressive Summarization"
|
|
1209
|
-
type: related-to
|
|
1210
|
-
- sourceRef: "project:Build My Second Brain"
|
|
1211
|
-
targetRef: "area:Learning & Growth"
|
|
1212
|
-
type: belongs-to
|
|
1213
|
-
|
|
1214
1125
|
# Workspace home dashboard (maps from source bentoLayout + bentoViewBlocks)
|
|
1215
1126
|
bento:
|
|
1216
1127
|
blocks:
|
|
@@ -1419,6 +1330,44 @@ profileEntityBentoTemplates:
|
|
|
1419
1330
|
onboarding:
|
|
1420
1331
|
goal: Capture the shape of the user's life — their areas of focus, current goals, active projects, key people, and what they're reading or learning — so the second brain starts grounded in who they actually are.
|
|
1421
1332
|
framing: Act as a thoughtful personal-knowledge coach. Gently tease out the domains they care about, what they're working toward, what's in motion, who matters to them, and what they're consuming. Translate that into areas, goals, projects, people, and books.
|
|
1333
|
+
expertise:
|
|
1334
|
+
starters:
|
|
1335
|
+
- >
|
|
1336
|
+
Lead with their AREAS, not a note dump. Ask them to name the handful of life
|
|
1337
|
+
domains they're permanently responsible for — Health, Finances, Career,
|
|
1338
|
+
Relationships, a side project — and seed one Area each. Areas are the PARA-style
|
|
1339
|
+
shelves everything else hangs off; without them the second brain is a flat pile.
|
|
1340
|
+
Skip the GTD jargon ("contexts", "tickler files") — nobody thinks in those.
|
|
1341
|
+
- >
|
|
1342
|
+
For every goal they mention, propose it WITH a linked project or a concrete next
|
|
1343
|
+
action attached. "Get fit" alone is a wish; "Get fit → project: 3x gym/week
|
|
1344
|
+
through March" is trackable. If they can't name the first move, capture it as an
|
|
1345
|
+
Area standard to maintain rather than a Goal to hit.
|
|
1346
|
+
- >
|
|
1347
|
+
When they name something in motion, decide OUT LOUD whether it's an Area (ongoing,
|
|
1348
|
+
no finish line — "stay healthy") or a Project (finite, has a done state — "run a
|
|
1349
|
+
half-marathon in May"), and file it accordingly. Getting this split right on day
|
|
1350
|
+
one is what keeps the system from rotting into an undifferentiated to-do heap.
|
|
1351
|
+
blindSpots:
|
|
1352
|
+
- >
|
|
1353
|
+
The "capture everything, revisit nothing" trap: people hoard highlights, articles,
|
|
1354
|
+
and notes into an inbox they never process. Capture is worthless without a review
|
|
1355
|
+
loop — surface it early. Propose an inbox-zero-style status flow (inbox →
|
|
1356
|
+
processing → evergreen) and a weekly review habit, not just more collection.
|
|
1357
|
+
- >
|
|
1358
|
+
Goals with no next action are wishes, not goals. People list aspirations
|
|
1359
|
+
("learn Spanish", "write more") with no project or first step behind them, then
|
|
1360
|
+
wonder why nothing moves. Flag any goal that isn't wired to a project or an action.
|
|
1361
|
+
- >
|
|
1362
|
+
People conflate Areas with Projects and drown finite work inside never-ending
|
|
1363
|
+
buckets — or worse, treat a lifelong responsibility as a project they can "finish"
|
|
1364
|
+
and abandon. If "Health" shows up as a Project or "launch the app" as an Area,
|
|
1365
|
+
catch it: the confusion is the single most common reason PARA-style systems fail.
|
|
1366
|
+
bar: >
|
|
1367
|
+
A GREAT result is a small, LIVING skeleton, not an exhaustive archive: 3-5 real
|
|
1368
|
+
Areas covering their actual life, each with 1-2 current Goals or Projects hanging
|
|
1369
|
+
off it, a few key people, and what they're reading right now — every goal wired to
|
|
1370
|
+
a next action, and a review habit named so the system gets revisited, not just fed.
|
|
1422
1371
|
collect:
|
|
1423
1372
|
- profileSlug: area
|
|
1424
1373
|
what: The ongoing areas of life / responsibility they want to keep standards in
|
|
@@ -1428,6 +1377,10 @@ onboarding:
|
|
|
1428
1377
|
what: The goals they're currently working toward
|
|
1429
1378
|
cardinality: few
|
|
1430
1379
|
keyFields: [title, target-date, area, progress]
|
|
1380
|
+
- profileSlug: project
|
|
1381
|
+
what: The active projects in motion (the concrete efforts that advance their goals)
|
|
1382
|
+
cardinality: few
|
|
1383
|
+
keyFields: [title, status]
|
|
1431
1384
|
- profileSlug: person
|
|
1432
1385
|
what: The key people in their world
|
|
1433
1386
|
cardinality: several
|