@synap-core/workspace-templates 0.12.0 → 0.23.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.
Files changed (245) hide show
  1. package/README.md +483 -0
  2. package/automations/bookmark-enrichment.automation.json +321 -0
  3. package/automations/github-pr-events.automation.json +505 -0
  4. package/automations/mail-feed.automation.json +86 -0
  5. package/automations/ship-a-change-checks-green.automation.json +106 -0
  6. package/automations/ship-a-change-checks-red.automation.json +106 -0
  7. package/automations/ship-a-change-deployed.automation.json +56 -0
  8. package/automations/ship-a-change-pr-merged.automation.json +110 -0
  9. package/automations/ship-a-change-pr-opened.automation.json +104 -0
  10. package/automations/url-bookmark-capture.automation.json +132 -0
  11. package/capabilities/agency-skills.capability.json +157 -0
  12. package/capabilities/apify.capability.json +265 -0
  13. package/capabilities/apollo.capability.json +120 -0
  14. package/capabilities/arch-backend.capability.json +97 -0
  15. package/capabilities/arch-client-intelligence.capability.json +401 -0
  16. package/capabilities/backblaze-b2.capability.json +205 -0
  17. package/capabilities/cal-com.capability.json +266 -0
  18. package/capabilities/canva.capability.json +274 -0
  19. package/capabilities/claude-code-routines.capability.json +172 -0
  20. package/capabilities/claude-managed-agents.capability.json +215 -0
  21. package/capabilities/client-comms-report.capability.json +246 -0
  22. package/capabilities/content-idea-to-production.capability.json +29 -0
  23. package/capabilities/datagouv.capability.json +315 -0
  24. package/capabilities/discord-bot.capability.json +157 -0
  25. package/capabilities/dropbox.capability.json +281 -0
  26. package/capabilities/exa.capability.json +109 -0
  27. package/capabilities/fal-ai.capability.json +83 -0
  28. package/capabilities/fal-media-lab.capability.json +158 -0
  29. package/capabilities/fireflies.capability.json +191 -0
  30. package/capabilities/freellmapi.capability.json +114 -0
  31. package/capabilities/generic-apikey.capability.json +92 -0
  32. package/capabilities/github-merge.capability.json +99 -0
  33. package/capabilities/github-read.capability.json +325 -0
  34. package/capabilities/governance-tighten-recommender.capability.json +81 -0
  35. package/capabilities/jev.capability.json +226 -0
  36. package/capabilities/lead-conversion-enrollment.capability.json +246 -0
  37. package/capabilities/mail-feed.capability.json +277 -0
  38. package/capabilities/mailgun.capability.json +52 -0
  39. package/capabilities/nango-google.capability.json +639 -0
  40. package/capabilities/notion.capability.json +417 -0
  41. package/capabilities/omniroute.capability.json +137 -0
  42. package/capabilities/posthog-analytics.capability.json +258 -0
  43. package/capabilities/postiz.capability.json +467 -0
  44. package/capabilities/proactive-digest.capability.json +190 -0
  45. package/capabilities/proton.capability.json +288 -0
  46. package/capabilities/replicate-rvm.capability.json +97 -0
  47. package/capabilities/research-methods.capability.json +57 -0
  48. package/capabilities/shopify.capability.json +395 -0
  49. package/capabilities/slack.capability.json +369 -0
  50. package/capabilities/stripe.capability.json +420 -0
  51. package/capabilities/telegram-bridge.capability.json +56 -0
  52. package/capabilities/treg.capability.json +102 -0
  53. package/capabilities/unipile-linkedin.capability.json +471 -0
  54. package/capabilities/vercel.capability.json +424 -0
  55. package/dist/define-CPS0n8BV.d.ts +1331 -0
  56. package/dist/index.d.ts +174 -900
  57. package/dist/index.js +26148 -23931
  58. package/dist/index.js.map +1 -1
  59. package/dist/wire.d.ts +222 -0
  60. package/dist/wire.js +77 -0
  61. package/dist/wire.js.map +1 -0
  62. package/package.json +27 -4
  63. package/packs/bookmark-views-pack.json +33 -0
  64. package/packs/crm-pack.json +76 -0
  65. package/packs/customer-profile.json +28 -0
  66. package/packs/deep-research.playbook.json +30 -0
  67. package/packs/event-views-pack.json +33 -0
  68. package/packs/habit-profile.json +27 -0
  69. package/packs/hr-pack.json +54 -0
  70. package/packs/invoice-profile.json +28 -0
  71. package/packs/knowledge-base-pack.json +56 -0
  72. package/packs/meeting-profile.json +29 -0
  73. package/packs/product-profile.json +30 -0
  74. package/packs/project-management-pack.json +49 -0
  75. package/packs/recipe-profile.json +29 -0
  76. package/packs/task-views-pack.json +39 -0
  77. package/retired.yaml +136 -0
  78. package/skills/app-factory-build-slice/SKILL.md +70 -0
  79. package/skills/app-factory-build-slice.catalog.json +17 -0
  80. package/skills/app-factory-design-canvas/SKILL.md +96 -0
  81. package/skills/app-factory-design-canvas.catalog.json +17 -0
  82. package/skills/app-factory-design-review/SKILL.md +99 -0
  83. package/skills/app-factory-design-review.catalog.json +18 -0
  84. package/skills/app-factory-research/SKILL.md +123 -0
  85. package/skills/app-factory-research.catalog.json +17 -0
  86. package/skills/bookmark-enrichment/SKILL.md +40 -0
  87. package/skills/carousel-format/carousel-format.skill.json +18 -0
  88. package/skills/collage-broll/collage-broll.skill.json +20 -0
  89. package/skills/content-taste/content-taste.skill.json +18 -0
  90. package/skills/creative-director/creative-director.skill.json +18 -0
  91. package/skills/design-critique/SKILL.md +135 -0
  92. package/skills/design-critique.catalog.json +12 -0
  93. package/skills/designing-with-real-components/SKILL.md +140 -0
  94. package/skills/designing-with-real-components.catalog.json +12 -0
  95. package/skills/edit-loop/edit-loop.skill.json +25 -0
  96. package/skills/facecam-edit/facecam-edit.skill.json +24 -0
  97. package/skills/mapping-the-server/SKILL.md +54 -0
  98. package/skills/math-explainer-manimgx/math-explainer-manimgx.skill.json +20 -0
  99. package/skills/motion-quality-gates/motion-quality-gates.skill.json +20 -0
  100. package/skills/open-design-edit/open-design-edit.skill.json +24 -0
  101. package/skills/reading-client-progress/SKILL.md +65 -0
  102. package/skills/routing-to-channels/SKILL.md +54 -0
  103. package/skills/stellar-scf-grants-advisor/ASSOCIATE-CHEATSHEET.md +133 -0
  104. package/skills/stellar-scf-grants-advisor/ASSOCIATE-ONBOARDING-GUIDE.md +761 -0
  105. package/skills/stellar-scf-grants-advisor/CLIENT-FAQ.md +181 -0
  106. package/skills/stellar-scf-grants-advisor/PARTNER-HANDOVER.md +130 -0
  107. package/skills/stellar-scf-grants-advisor/SKILL.md +102 -0
  108. package/skills/stellar-scf-grants-advisor/examples/README.md +43 -0
  109. package/skills/stellar-scf-grants-advisor/examples/chat-summary-templates.md +158 -0
  110. package/skills/stellar-scf-grants-advisor/examples/corpus-comparable-rows.md +136 -0
  111. package/skills/stellar-scf-grants-advisor/examples/q10-team-rewrites.md +109 -0
  112. package/skills/stellar-scf-grants-advisor/examples/q2-description-rewrites.md +88 -0
  113. package/skills/stellar-scf-grants-advisor/examples/q6-integration-rewrites.md +107 -0
  114. package/skills/stellar-scf-grants-advisor/examples/tranche-structures.md +176 -0
  115. package/skills/stellar-scf-grants-advisor/reference/01-methodology.md +96 -0
  116. package/skills/stellar-scf-grants-advisor/reference/02-scoring-framework.md +199 -0
  117. package/skills/stellar-scf-grants-advisor/reference/03-rejection-patterns.md +241 -0
  118. package/skills/stellar-scf-grants-advisor/reference/04-winner-patterns.md +120 -0
  119. package/skills/stellar-scf-grants-advisor/reference/05-comeback-patterns.md +92 -0
  120. package/skills/stellar-scf-grants-advisor/reference/06-budget-benchmarks.md +125 -0
  121. package/skills/stellar-scf-grants-advisor/reference/07-integration-list.md +147 -0
  122. package/skills/stellar-scf-grants-advisor/reference/08-abstract-fields.md +258 -0
  123. package/skills/stellar-scf-grants-advisor/reference/09-build-fields.md +259 -0
  124. package/skills/stellar-scf-grants-advisor/reference/10-corpus-winners.md +135 -0
  125. package/skills/stellar-scf-grants-advisor/reference/11-corpus-rejects.md +267 -0
  126. package/skills/stellar-scf-grants-advisor/reference/12-client-communication.md +131 -0
  127. package/skills/stellar-scf-grants-advisor/reference/13-excel-output-spec.md +199 -0
  128. package/skills/stellar-scf-grants-advisor/reference/14-worked-examples.md +160 -0
  129. package/skills/stellar-scf-grants-advisor/templates/abstract-review-builder.py +253 -0
  130. package/skills/stellar-scf-grants-advisor/templates/build-review-builder.py +213 -0
  131. package/skills/video-direction/video-direction.skill.json +20 -0
  132. package/skills/video-style-vocabulary/video-style-vocabulary.skill.json +20 -0
  133. package/skills/video-toolbox/video-toolbox.skill.json +20 -0
  134. package/src/__fixtures__/lifecycle-presets.flat-before.json +205 -0
  135. package/src/agency-os.yaml +122 -0
  136. package/src/agent-os-skill-slugs.test.ts +65 -0
  137. package/src/apify-social-reader.test.ts +317 -0
  138. package/src/base.yaml +85 -39
  139. package/src/blockchain-ecosystem.yaml +1 -0
  140. package/src/brand-library.yaml +525 -14
  141. package/src/builder-dev-fold.template.test.ts +113 -0
  142. package/src/builder.yaml +779 -91
  143. package/src/business-model-catalog-description.test.ts +47 -0
  144. package/src/business-model-grp.template.test.ts +214 -0
  145. package/src/business-model.yaml +296 -49
  146. package/src/catalog-safety.test.ts +198 -0
  147. package/src/catalog.template-items.test.ts +75 -0
  148. package/src/catalog.ts +66 -2
  149. package/src/concept-guard.test.ts +28 -8
  150. package/src/concept-guard.ts +2 -2
  151. package/src/content-creation.template.test.ts +52 -0
  152. package/src/content-creation.yaml +192 -0
  153. package/src/content-os.edit-loop.template.test.ts +210 -0
  154. package/src/content-os.publish-due-posts.template.test.ts +261 -0
  155. package/src/content-os.template.test.ts +322 -0
  156. package/src/content-os.video-takes.template.test.ts +338 -0
  157. package/src/content-os.work-a-take.template.test.ts +125 -0
  158. package/src/content-os.yaml +1830 -39
  159. package/src/content-studio-retired.template.test.ts +82 -0
  160. package/src/corpus-flow-validity.test.ts +4 -5
  161. package/src/crm-absorbs-outreach.template.test.ts +117 -0
  162. package/src/crm-build-plan.template.test.ts +128 -0
  163. package/src/crm-lists.template.test.ts +96 -0
  164. package/src/crm-messages-cadence.template.test.ts +164 -0
  165. package/src/crm-one-send-door.template.test.ts +65 -0
  166. package/src/crm.yaml +1456 -181
  167. package/src/decisions-wave.template.test.ts +186 -0
  168. package/src/define.ts +130 -17
  169. package/src/design-to-implementation.template.test.ts +94 -0
  170. package/src/domain-template-type.test.ts +75 -0
  171. package/src/ecosystem.yaml +27 -66
  172. package/src/enterprise-os.yaml +10 -134
  173. package/src/facecam-edit.audio-studio.test.ts +188 -0
  174. package/src/fal-generate-image.test.ts +200 -0
  175. package/src/fal-media-lab-pod-files.test.ts +180 -0
  176. package/src/finance.yaml +254 -1
  177. package/src/foundation.yaml +78 -38
  178. package/src/frame-host-modules.d.mts +6 -0
  179. package/src/frame-host-modules.mjs +58 -0
  180. package/src/generate.mjs +9 -3
  181. package/src/github-merge.test.ts +210 -0
  182. package/src/grants.yaml +46 -17
  183. package/src/hr.yaml +39 -6
  184. package/src/index.ts +36 -1
  185. package/src/intent.test.ts +161 -0
  186. package/src/internal-runbook.yaml +19 -1
  187. package/src/jev.test.ts +356 -0
  188. package/src/legal.yaml +33 -1
  189. package/src/life-os.yaml +51 -240
  190. package/src/lifecycle-coverage.test.ts +124 -0
  191. package/src/lifecycle-declarations.test.ts +252 -0
  192. package/src/lifecycle-presets.test.ts +468 -0
  193. package/src/lifecycle-presets.ts +494 -0
  194. package/src/lifecycle-stuck.test.ts +46 -0
  195. package/src/lifecycle-waits.parity.test.ts +319 -0
  196. package/src/marketing.yaml +108 -4
  197. package/src/meetings-knowledge.yaml +18 -0
  198. package/src/networking.yaml +23 -2
  199. package/src/operations.yaml +304 -4
  200. package/src/pipeline-views.template.test.ts +88 -0
  201. package/src/playbook-goal-placeholders.test.ts +57 -0
  202. package/src/postiz-contract.test.ts +134 -0
  203. package/src/presentation-declarations.test.ts +174 -0
  204. package/src/process-contract.validate.test.ts +352 -0
  205. package/src/project-management.yaml +39 -740
  206. package/src/publish-body.d.mts +29 -0
  207. package/src/publish-body.mjs +74 -0
  208. package/src/publish-body.test.ts +74 -0
  209. package/src/publish-official-lib.test.ts +176 -0
  210. package/src/replicate-rvm.test.ts +504 -0
  211. package/src/research-base.yaml +119 -20
  212. package/src/research-decision.yaml +60 -3
  213. package/src/reserved-profile-slugs.test.ts +83 -0
  214. package/src/retired-goal-kinds.test.ts +58 -0
  215. package/src/role-reference-and-step-domain.test.ts +192 -0
  216. package/src/seed-obligation.test.ts +1 -6
  217. package/src/send-message-maps.test.ts +227 -0
  218. package/src/shared-role-ssot.test.ts +40 -2
  219. package/src/ship-a-change.template.test.ts +177 -0
  220. package/src/skills.test.ts +170 -0
  221. package/src/social.yaml +85 -27
  222. package/src/space-packages.freshness.test.ts +97 -0
  223. package/src/space-packages.generated.ts +40 -0
  224. package/src/space-packages.test.ts +125 -0
  225. package/src/space-packages.ts +73 -0
  226. package/src/start.test.ts +188 -0
  227. package/src/task-intents.test.ts +293 -0
  228. package/src/templates.ts +20851 -21496
  229. package/src/types.ts +443 -60
  230. package/src/unipile-publish-post.test.ts +162 -0
  231. package/src/validate-flow.drift.test.ts +2 -3
  232. package/src/validate-flow.ts +22 -2
  233. package/src/validate-onboarding.test.ts +59 -0
  234. package/src/validate.test.ts +71 -4
  235. package/src/validate.ts +1335 -7
  236. package/src/wire-core.ts +231 -0
  237. package/src/wire.test.ts +159 -0
  238. package/src/wire.ts +107 -0
  239. package/src/agent-fleet.yaml +0 -1645
  240. package/src/business-developer.template.test.ts +0 -351
  241. package/src/business-developer.yaml +0 -860
  242. package/src/content-studio.yaml +0 -361
  243. package/src/dev-dashboard.yaml +0 -990
  244. package/src/outreach-comms.yaml +0 -486
  245. package/src/the-arch.yaml +0 -201
@@ -1,990 +0,0 @@
1
- # Dev Dashboard workspace template — Infrastructure Command Center
2
- # Internal DevOps inventory product. Union of:
3
- # synap-backend/templates/packages/dev-dashboard.package.json (primary)
4
- # synap-control-plane-api/templates/Synap Dev Dashboard.json (cross-check, richer seed data)
5
- # Validated against types.ts at build time.
6
- # NOTE: distinct from builder.yaml (the DevPlane + agent layer). Both are kept.
7
-
8
- meta:
9
- slug: dev-dashboard
10
- domain: build
11
- name: "Synap Dev — Infrastructure Command Center"
12
- description: "Internal DevOps dashboard for monitoring Synap infrastructure. Tracks services, vendors, and environments with health status, architecture flow map, and quick access to admin panels."
13
- icon: server
14
- color: "#3B82F6"
15
- tags: [devops, infrastructure, monitoring, services, vendors, credentials]
16
- isPublic: false
17
-
18
- workspace:
19
- name: "Synap Dev — Infrastructure Command Center"
20
- description: "Internal DevOps dashboard for monitoring Synap infrastructure. Tracks services, vendors, and environments with health status, architecture flow map, and quick access to admin panels."
21
- proposalId: dev-dashboard-v1
22
- subtype: infrastructure
23
- workspaceType: operational
24
-
25
- profiles:
26
- - slug: service
27
- displayName: Service
28
- icon: server
29
- color: "#3B82F6"
30
- description: "A Synap infrastructure service or application with monitoring, deployment, and connection details."
31
- scope: WORKSPACE
32
- properties:
33
- - slug: service-type
34
- label: Service Type
35
- valueType: string
36
- inputType: select
37
- enumValues: [Frontend, Backend API, Worker, Bridge, Landing Page]
38
- - slug: service-url
39
- label: Service URL
40
- valueType: string
41
- placeholder: "https://..."
42
- constraints:
43
- format: url
44
- - slug: github-url
45
- label: GitHub URL
46
- valueType: string
47
- placeholder: "https://github.com/..."
48
- constraints:
49
- format: url
50
- - slug: health-endpoint
51
- label: Health Check URL
52
- valueType: string
53
- placeholder: "https://.../health"
54
- constraints:
55
- format: url
56
- - slug: deploy-url
57
- label: Deploy Dashboard URL
58
- valueType: string
59
- placeholder: "https://..."
60
- constraints:
61
- format: url
62
- - slug: server-host
63
- label: Server Host (SSH)
64
- valueType: string
65
- placeholder: "user@host"
66
- - slug: admin-panel-url
67
- label: Admin Panel URL
68
- valueType: string
69
- placeholder: "https://..."
70
- constraints:
71
- format: url
72
- - slug: monitoring-url
73
- label: Monitoring URL
74
- valueType: string
75
- placeholder: "https://..."
76
- constraints:
77
- format: url
78
- - slug: docs-url
79
- label: Documentation URL
80
- valueType: string
81
- placeholder: "https://..."
82
- constraints:
83
- format: url
84
- - slug: health-status
85
- label: Health Status
86
- valueType: string
87
- inputType: select
88
- enumValues: [Healthy, Degraded, Down, Unknown]
89
- - slug: tech-stack
90
- label: Tech Stack
91
- valueType: array
92
- - slug: port
93
- label: Port
94
- valueType: number
95
- placeholder: "3000"
96
- - slug: environment
97
- label: Environment
98
- valueType: string
99
- inputType: select
100
- enumValues: [Production, Staging, Development]
101
- - slug: deployment-branch
102
- label: Deployment Branch
103
- valueType: string
104
- placeholder: "main"
105
- - slug: last-deploy
106
- label: Last Deploy
107
- valueType: date
108
- - slug: service-notes
109
- label: Notes
110
- valueType: string
111
- inputType: textarea
112
-
113
- - slug: vendor
114
- displayName: Vendor
115
- icon: package
116
- color: "#8B5CF6"
117
- description: "External services, tools, and providers used by the Synap platform."
118
- scope: WORKSPACE
119
- profileKind: role
120
- applicableKinds:
121
- - company
122
- properties:
123
- - slug: vendor-type
124
- label: Vendor Type
125
- valueType: string
126
- inputType: select
127
- enumValues:
128
- [Hosting, AI, Auth, Database, Monitoring, CI/CD, DNS, Email, Other]
129
- - slug: vendor-url
130
- label: Vendor URL
131
- valueType: string
132
- placeholder: "https://..."
133
- constraints:
134
- format: url
135
- - slug: admin-url
136
- label: Admin Console URL
137
- valueType: string
138
- placeholder: "https://..."
139
- constraints:
140
- format: url
141
- - slug: docs-url
142
- label: Documentation URL
143
- valueType: string
144
- placeholder: "https://..."
145
- constraints:
146
- format: url
147
- - slug: status-page-url
148
- label: Status Page URL
149
- valueType: string
150
- placeholder: "https://status.example.com"
151
- constraints:
152
- format: url
153
- - slug: api-key-ref
154
- label: API Key
155
- valueType: string
156
- - slug: pricing-model
157
- label: Pricing Model
158
- valueType: string
159
- inputType: select
160
- enumValues: [Free, Pay-as-you-go, Monthly, Annual]
161
- - slug: monthly-cost
162
- label: "Monthly Cost (€)"
163
- valueType: number
164
- placeholder: "0"
165
- - slug: vendor-status
166
- label: Status
167
- valueType: string
168
- inputType: select
169
- enumValues: [Active, Trial, Deprecated]
170
- - slug: vendor-notes
171
- label: Notes
172
- valueType: string
173
- inputType: textarea
174
-
175
- - slug: environment
176
- displayName: Environment
177
- icon: cloud
178
- color: "#10B981"
179
- description: "Deployment environments for Synap services (production, staging, dev)."
180
- scope: WORKSPACE
181
- properties:
182
- - slug: env-type
183
- label: Environment Type
184
- valueType: string
185
- inputType: select
186
- enumValues: [Production, Staging, Development, Preview]
187
- - slug: env-url
188
- label: Base URL
189
- valueType: string
190
- placeholder: "https://..."
191
- constraints:
192
- format: url
193
- - slug: branch
194
- label: Deployed Branch
195
- valueType: string
196
- placeholder: "main"
197
- - slug: last-deploy
198
- label: Last Deploy
199
- valueType: date
200
- - slug: env-status
201
- label: Status
202
- valueType: string
203
- inputType: select
204
- enumValues: [Active, Maintenance, Down]
205
- - slug: env-notes
206
- label: Notes
207
- valueType: string
208
- inputType: textarea
209
-
210
- - slug: repository
211
- displayName: Repository
212
- icon: git-branch
213
- color: "#F97316"
214
- description: "A Git repository with branch info, CI status, and contributor activity."
215
- scope: WORKSPACE
216
- properties:
217
- - slug: repo-url
218
- label: Repository URL
219
- valueType: string
220
- placeholder: "https://github.com/..."
221
- constraints:
222
- format: url
223
- - slug: main-branch
224
- label: Main Branch
225
- valueType: string
226
- placeholder: "main"
227
- - slug: active-branches
228
- label: Active Branches
229
- valueType: array
230
- - slug: ci-status
231
- label: CI Status
232
- valueType: string
233
- inputType: select
234
- enumValues: [Passing, Failing, Pending, Unknown]
235
- - slug: ci-url
236
- label: CI Dashboard URL
237
- valueType: string
238
- placeholder: "https://github.com/.../actions"
239
- constraints:
240
- format: url
241
- - slug: last-commit
242
- label: Last Commit
243
- valueType: string
244
- - slug: last-commit-date
245
- label: Last Commit Date
246
- valueType: date
247
- - slug: language
248
- label: Primary Language
249
- valueType: string
250
- inputType: select
251
- enumValues: [TypeScript, JavaScript, Python, Rust, Go, Other]
252
- - slug: package-manager
253
- label: Package Manager
254
- valueType: string
255
- inputType: select
256
- enumValues: [pnpm, npm, yarn, bun, cargo, pip]
257
- - slug: monorepo
258
- label: Monorepo
259
- valueType: boolean
260
- - slug: repo-notes
261
- label: Notes
262
- valueType: string
263
- inputType: textarea
264
-
265
- - slug: credential
266
- displayName: Credential
267
- icon: key
268
- color: "#F59E0B"
269
- description: "API keys, SSH keys, and secrets linked to vault items"
270
- scope: WORKSPACE
271
- properties:
272
- - slug: credential-type
273
- label: Type
274
- valueType: string
275
- inputType: select
276
- enumValues:
277
- [api_key, ssh_key, password, token, certificate, env_variable, other]
278
- placeholder: "Select credential type"
279
- - slug: service-name
280
- label: Service
281
- valueType: string
282
- inputType: text
283
- placeholder: "e.g. Hetzner, Stripe, GitHub"
284
- - slug: vault-ref
285
- label: Vault Item Name
286
- valueType: string
287
- inputType: text
288
- placeholder: "Name of the vault item storing this secret"
289
- - slug: last-rotated
290
- label: Last Rotated
291
- valueType: date
292
- inputType: date
293
- - slug: expires-at
294
- label: Expires At
295
- valueType: date
296
- inputType: date
297
- - slug: environment
298
- label: Environment
299
- valueType: string
300
- inputType: select
301
- enumValues: [production, staging, development, all]
302
- placeholder: "Environment"
303
- - slug: notes
304
- label: Notes
305
- valueType: string
306
- inputType: textarea
307
- placeholder: "Permissions, rotation policy, who has access..."
308
-
309
- views:
310
- - name: Infrastructure Map
311
- type: flow
312
- scopeProfileSlug: service
313
- config:
314
- nodes:
315
- - id: browser
316
- type: entity
317
- position: { x: 0, y: 0 }
318
- label: Browser
319
- data: { entityIndex: 8 }
320
- - id: control-plane
321
- type: entity
322
- position: { x: 0, y: 250 }
323
- label: Control Plane
324
- data: { entityIndex: 3 }
325
- - id: synap-app
326
- type: entity
327
- position: { x: 400, y: 0 }
328
- label: Synap App
329
- data: { entityIndex: 0 }
330
- - id: control-plane-api
331
- type: entity
332
- position: { x: 400, y: 250 }
333
- label: Control Plane API
334
- data: { entityIndex: 2 }
335
- - id: synap-backend
336
- type: entity
337
- position: { x: 400, y: 500 }
338
- label: Synap Backend
339
- data: { entityIndex: 1 }
340
- - id: intelligence-service
341
- type: entity
342
- position: { x: 800, y: 0 }
343
- label: Intelligence Service
344
- data: { entityIndex: 4 }
345
- - id: zeroclaw-bridge
346
- type: entity
347
- position: { x: 800, y: 250 }
348
- label: ZeroClaw Bridge
349
- data: { entityIndex: 7 }
350
- - id: life-feed
351
- type: entity
352
- position: { x: 800, y: 500 }
353
- label: Life Feed
354
- data: { entityIndex: 6 }
355
- - id: landing-page
356
- type: entity
357
- position: { x: 400, y: 750 }
358
- label: Landing Page
359
- data: { entityIndex: 5 }
360
- edges:
361
- - id: e-browser-app
362
- source: browser
363
- target: synap-app
364
- label: "embeds workspace"
365
- animated: false
366
- - id: e-cp-cpapi
367
- source: control-plane
368
- target: control-plane-api
369
- label: "frontend → API"
370
- animated: false
371
- - id: e-app-backend
372
- source: synap-app
373
- target: synap-backend
374
- label: "API calls"
375
- animated: true
376
- - id: e-app-intel
377
- source: synap-app
378
- target: intelligence-service
379
- label: "AI features"
380
- animated: true
381
- - id: e-cpapi-backend
382
- source: control-plane-api
383
- target: synap-backend
384
- label: "pod management"
385
- animated: false
386
- - id: e-backend-intel
387
- source: synap-backend
388
- target: intelligence-service
389
- label: "agent orchestration"
390
- animated: true
391
- - id: e-backend-zeroclaw
392
- source: synap-backend
393
- target: zeroclaw-bridge
394
- label: "security scanning"
395
- animated: false
396
- - id: e-zeroclaw-intel
397
- source: zeroclaw-bridge
398
- target: intelligence-service
399
- label: "AI analysis"
400
- animated: false
401
- - id: e-app-lifefeed
402
- source: synap-app
403
- target: life-feed
404
- label: "real-time events"
405
- animated: false
406
-
407
- - name: Service Health
408
- type: kanban
409
- scopeProfileSlug: service
410
- config:
411
- groupByField: health-status
412
-
413
- - name: Architecture Graph
414
- type: graph
415
- scopeProfileSlugs: [service, vendor, repository]
416
- config:
417
- layout: force
418
- showRelations: true
419
-
420
- - name: Deploy Timeline
421
- type: table
422
- scopeProfileSlug: service
423
- config:
424
- visibleColumns:
425
- [
426
- service-type,
427
- environment,
428
- deployment-branch,
429
- last-deploy,
430
- health-status,
431
- ]
432
- sortBy: last-deploy
433
- sortDirection: desc
434
-
435
- - name: Vendor Costs
436
- type: table
437
- scopeProfileSlug: vendor
438
- config:
439
- visibleColumns: [vendor-type, pricing-model, monthly-cost, vendor-status]
440
- sortBy: monthly-cost
441
- sortDirection: desc
442
-
443
- - name: Services by Type
444
- type: kanban
445
- scopeProfileSlug: service
446
- config:
447
- groupByField: service-type
448
-
449
- - name: All Services
450
- type: table
451
- scopeProfileSlug: service
452
- config:
453
- columns:
454
- - { key: service-type }
455
- - { key: environment }
456
- - { key: health-status }
457
- - { key: tech-stack }
458
- - { key: service-url }
459
- sort:
460
- field: service-type
461
- direction: asc
462
-
463
- - name: Vendors
464
- type: table
465
- scopeProfileSlug: vendor
466
- config:
467
- columns:
468
- - { key: vendor-type }
469
- - { key: pricing-model }
470
- - { key: monthly-cost }
471
- - { key: vendor-status }
472
- - { key: vendor-url }
473
- sort:
474
- field: monthly-cost
475
- direction: desc
476
-
477
- - name: Repositories
478
- type: table
479
- scopeProfileSlug: repository
480
- config:
481
- columns:
482
- - { key: language }
483
- - { key: package-manager }
484
- - { key: monorepo }
485
- - { key: ci-status }
486
- - { key: main-branch }
487
- sort:
488
- field: language
489
- direction: asc
490
-
491
- - name: Services Dashboard
492
- type: bento
493
- config:
494
- layout: fixed
495
- blocks:
496
- - id: platform-metrics
497
- kind: widget
498
- widgetType: dev-platform-metrics
499
- pos: { x: 0, y: 0, w: 12, h: 3 }
500
- config: {}
501
- - id: intelligence-usage
502
- kind: widget
503
- widgetType: dev-intelligence-usage
504
- pos: { x: 0, y: 3, w: 6, h: 4 }
505
- config: {}
506
- - id: service-health
507
- kind: widget
508
- widgetType: dev-service-health
509
- pos: { x: 6, y: 3, w: 6, h: 4 }
510
- config: {}
511
- - id: agent-activity
512
- kind: widget
513
- widgetType: dev-agent-activity
514
- pos: { x: 0, y: 7, w: 4, h: 5 }
515
- config: {}
516
- - id: pod-status
517
- kind: widget
518
- widgetType: dev-pod-status
519
- pos: { x: 4, y: 7, w: 4, h: 5 }
520
- config: {}
521
- - id: quick-links
522
- kind: widget
523
- widgetType: dev-quick-links
524
- pos: { x: 8, y: 7, w: 4, h: 5 }
525
- config: {}
526
- - id: cost-summary
527
- kind: widget
528
- widgetType: dev-cost-summary
529
- pos: { x: 0, y: 12, w: 12, h: 3 }
530
- config: {}
531
-
532
- - name: Credentials
533
- type: table
534
- scopeProfileSlug: credential
535
- config: {}
536
-
537
- entityLinks:
538
- - sourceProfileSlug: service
539
- targetProfileSlug: vendor
540
- type: uses
541
- - sourceProfileSlug: service
542
- targetProfileSlug: environment
543
- type: deployed_on
544
- - sourceProfileSlug: service
545
- targetProfileSlug: service
546
- type: depends_on
547
- - sourceProfileSlug: environment
548
- targetProfileSlug: vendor
549
- type: hosted_on
550
- - sourceProfileSlug: repository
551
- targetProfileSlug: service
552
- type: powers
553
- - sourceProfileSlug: repository
554
- targetProfileSlug: repository
555
- type: depends_on
556
-
557
- displayTemplates:
558
- - name: Service Card
559
- description: "Infrastructure service with health status, stack, and links"
560
- entityType: service
561
- targetType: entity
562
- isDefault: true
563
- config:
564
- layout:
565
- structure:
566
- header:
567
- enabled: true
568
- slots: [health-status, service-type]
569
- layout: horizontal
570
- sidebar:
571
- enabled: true
572
- slots: [environment, port, deployment-branch, last-deploy]
573
- position: right
574
- width: "260px"
575
- layout: vertical
576
- content:
577
- enabled: true
578
- slots: [tech-stack, service-url, github-url, health-endpoint]
579
- layout: vertical
580
- fieldMapping:
581
- health-status:
582
- slot: health-status
583
- renderer: { type: badge, size: md }
584
- showLabel: false
585
- order: 1
586
- service-type:
587
- slot: service-type
588
- renderer: { type: badge, size: sm }
589
- showLabel: false
590
- order: 2
591
- environment:
592
- slot: environment
593
- renderer: { type: badge, size: sm }
594
- label: Environment
595
- order: 3
596
- port:
597
- slot: port
598
- renderer: { type: number }
599
- label: Port
600
- order: 4
601
- deployment-branch:
602
- slot: deployment-branch
603
- renderer: { type: text }
604
- label: Branch
605
- order: 5
606
- last-deploy:
607
- slot: last-deploy
608
- renderer: { type: date, format: relative }
609
- label: Last Deploy
610
- order: 6
611
- tech-stack:
612
- slot: tech-stack
613
- renderer: { type: badge }
614
- label: Tech Stack
615
- order: 7
616
- service-url:
617
- slot: service-url
618
- renderer: { type: link }
619
- label: Service URL
620
- order: 8
621
- github-url:
622
- slot: github-url
623
- renderer: { type: link }
624
- label: GitHub
625
- order: 9
626
- health-endpoint:
627
- slot: health-endpoint
628
- renderer: { type: link }
629
- label: Health Check
630
- order: 10
631
- colors:
632
- accent: "#3B82F6"
633
- styling:
634
- borderRadius: "10px"
635
-
636
- - name: Vendor Card
637
- description: "External vendor with pricing, status, and admin links"
638
- entityType: vendor
639
- targetType: entity
640
- isDefault: true
641
- config:
642
- layout:
643
- structure:
644
- header:
645
- enabled: true
646
- slots: [vendor-status, vendor-type]
647
- layout: horizontal
648
- sidebar:
649
- enabled: true
650
- slots: [pricing-model, monthly-cost]
651
- position: right
652
- width: "240px"
653
- layout: vertical
654
- content:
655
- enabled: true
656
- slots: [vendor-url, admin-url, docs-url, status-page-url]
657
- layout: vertical
658
- fieldMapping:
659
- vendor-status:
660
- slot: vendor-status
661
- renderer: { type: badge, size: md }
662
- showLabel: false
663
- order: 1
664
- vendor-type:
665
- slot: vendor-type
666
- renderer: { type: badge, size: sm }
667
- showLabel: false
668
- order: 2
669
- pricing-model:
670
- slot: pricing-model
671
- renderer: { type: badge, size: sm }
672
- label: Pricing
673
- order: 3
674
- monthly-cost:
675
- slot: monthly-cost
676
- renderer: { type: number, format: currency }
677
- label: Monthly Cost
678
- order: 4
679
- vendor-url:
680
- slot: vendor-url
681
- renderer: { type: link }
682
- label: Website
683
- order: 5
684
- admin-url:
685
- slot: admin-url
686
- renderer: { type: link }
687
- label: Admin Console
688
- order: 6
689
- docs-url:
690
- slot: docs-url
691
- renderer: { type: link }
692
- label: Documentation
693
- order: 7
694
- status-page-url:
695
- slot: status-page-url
696
- renderer: { type: link }
697
- label: Status Page
698
- order: 8
699
- colors:
700
- accent: "#8B5CF6"
701
- styling:
702
- borderRadius: "10px"
703
-
704
- - name: Environment Card
705
- description: "Deployment environment with status and branch info"
706
- entityType: environment
707
- targetType: entity
708
- isDefault: true
709
- config:
710
- layout:
711
- structure:
712
- header:
713
- enabled: true
714
- slots: [env-status, env-type]
715
- layout: horizontal
716
- sidebar:
717
- enabled: true
718
- slots: [branch, last-deploy]
719
- position: right
720
- width: "240px"
721
- layout: vertical
722
- content:
723
- enabled: true
724
- slots: [env-url]
725
- layout: vertical
726
- fieldMapping:
727
- env-status:
728
- slot: env-status
729
- renderer: { type: badge, size: md }
730
- showLabel: false
731
- order: 1
732
- env-type:
733
- slot: env-type
734
- renderer: { type: badge, size: sm }
735
- showLabel: false
736
- order: 2
737
- branch:
738
- slot: branch
739
- renderer: { type: text }
740
- label: Branch
741
- order: 3
742
- last-deploy:
743
- slot: last-deploy
744
- renderer: { type: date, format: relative }
745
- label: Last Deploy
746
- order: 4
747
- env-url:
748
- slot: env-url
749
- renderer: { type: link }
750
- label: URL
751
- order: 5
752
- colors:
753
- accent: "#10B981"
754
- styling:
755
- borderRadius: "10px"
756
-
757
- - name: Repository Card
758
- description: "Git repository with CI status and branch info"
759
- entityType: repository
760
- targetType: entity
761
- isDefault: true
762
- config:
763
- layout:
764
- structure:
765
- header:
766
- enabled: true
767
- slots: [ci-status, language]
768
- layout: horizontal
769
- sidebar:
770
- enabled: true
771
- slots: [main-branch, package-manager, monorepo]
772
- position: right
773
- width: "240px"
774
- layout: vertical
775
- content:
776
- enabled: true
777
- slots: [repo-url, ci-url]
778
- layout: vertical
779
- fieldMapping:
780
- ci-status:
781
- slot: ci-status
782
- renderer: { type: badge, size: md }
783
- showLabel: false
784
- order: 1
785
- language:
786
- slot: language
787
- renderer: { type: badge, size: sm }
788
- showLabel: false
789
- order: 2
790
- main-branch:
791
- slot: main-branch
792
- renderer: { type: text }
793
- label: Main Branch
794
- order: 3
795
- package-manager:
796
- slot: package-manager
797
- renderer: { type: badge, size: sm }
798
- label: Package Manager
799
- order: 4
800
- monorepo:
801
- slot: monorepo
802
- renderer: { type: checkbox }
803
- label: Monorepo
804
- order: 5
805
- repo-url:
806
- slot: repo-url
807
- renderer: { type: link }
808
- label: Repository
809
- order: 6
810
- ci-url:
811
- slot: ci-url
812
- renderer: { type: link }
813
- label: CI Dashboard
814
- order: 7
815
- colors:
816
- accent: "#F97316"
817
- styling:
818
- borderRadius: "10px"
819
-
820
- # Top-level workspace dashboard (from bentoLayout + bentoViewBlocks union)
821
- bento:
822
- blocks:
823
- - kind: widget
824
- widgetType: welcome-header
825
- pos: { x: 0, y: 0, w: 12, h: 2 }
826
- config: {}
827
- - kind: widget
828
- widgetType: entity-count
829
- pos: { x: 0, y: 2, w: 3, h: 2 }
830
- config:
831
- profileSlug: service
832
- label: Services
833
- - kind: widget
834
- widgetType: entity-count
835
- pos: { x: 3, y: 2, w: 3, h: 2 }
836
- config:
837
- profileSlug: vendor
838
- label: Vendors
839
- - kind: widget
840
- widgetType: entity-count
841
- pos: { x: 6, y: 2, w: 3, h: 2 }
842
- config:
843
- profileSlug: service
844
- label: Healthy
845
- filter:
846
- health-status: Healthy
847
- - kind: widget
848
- widgetType: entity-count
849
- pos: { x: 9, y: 2, w: 3, h: 2 }
850
- config:
851
- profileSlug: environment
852
- label: Environments
853
- - kind: widget
854
- widgetType: dev-service-health
855
- pos: { x: 0, y: 4, w: 3, h: 3 }
856
- config: {}
857
- - kind: widget
858
- widgetType: dev-cost-summary
859
- pos: { x: 3, y: 4, w: 3, h: 3 }
860
- config: {}
861
- - kind: widget
862
- widgetType: dev-quick-links
863
- pos: { x: 6, y: 4, w: 6, h: 3 }
864
- config:
865
- title: Quick Links
866
- links:
867
- - {
868
- label: GitHub,
869
- url: "https://github.com/synapsh",
870
- color: "#24292E",
871
- }
872
- - {
873
- label: Hetzner Console,
874
- url: "https://console.hetzner.cloud",
875
- color: "#D50C2D",
876
- }
877
- - {
878
- label: Vercel Dashboard,
879
- url: "https://vercel.com/dashboard",
880
- color: "#000000",
881
- }
882
- - {
883
- label: Ory Console,
884
- url: "https://console.ory.sh",
885
- color: "#5528FF",
886
- }
887
- - {
888
- label: Cloudflare,
889
- url: "https://dash.cloudflare.com",
890
- color: "#F38020",
891
- }
892
- - {
893
- label: OpenRouter,
894
- url: "https://openrouter.ai/dashboard",
895
- color: "#6366F1",
896
- }
897
- - kind: widget
898
- widgetType: entity-list
899
- pos: { x: 0, y: 7, w: 6, h: 5 }
900
- config:
901
- profileSlug: service
902
- title: All Services
903
- limit: 10
904
- - kind: widget
905
- widgetType: entity-list
906
- pos: { x: 6, y: 7, w: 3, h: 5 }
907
- config:
908
- profileSlug: vendor
909
- title: Vendors
910
- limit: 8
911
- - kind: widget
912
- widgetType: feed
913
- pos: { x: 9, y: 7, w: 3, h: 5 }
914
- config: {}
915
- - kind: view
916
- viewName: Deploy Timeline
917
- pos: { x: 0, y: 12, w: 12, h: 4 }
918
- - kind: view
919
- viewName: Vendor Costs
920
- pos: { x: 0, y: 16, w: 6, h: 4 }
921
- - kind: view
922
- viewName: Service Health
923
- pos: { x: 6, y: 16, w: 6, h: 4 }
924
-
925
- onboarding:
926
- goal: "Capture the user's infrastructure surface — the services they run, the repositories behind them, their environments, the vendors they depend on, and their credentials inventory — so the command center reflects their real stack."
927
- framing: "Act as a staff platform engineer doing an infra walkthrough. Tease out what's running in production, where the code lives, how environments are laid out, which third parties they depend on, and what secrets need tracking. Translate that into services, repositories, environments, vendors, and credentials."
928
- expertise:
929
- starters:
930
- - >
931
- Start from what's serving live traffic RIGHT NOW, not the architecture diagram. Walk the
932
- request path: what does a user hit first, and what does that call, and what does THAT call?
933
- Capture each hop as a service with its host and health-check URL. The production edge is the
934
- map's anchor; everything else hangs off it.
935
- - >
936
- For every third party, capture the cost AND who owns the account. Propose logging each
937
- vendor with its pricing model and monthly spend the moment you name it — the €12/mo that
938
- became €400/mo is always a vendor nobody was watching. An untracked line item is a future
939
- surprise on the card.
940
- - >
941
- Inventory credentials by their EXPIRY, not their existence. For each secret, capture where
942
- it's stored (vault ref), what it unlocks, and when it expires or was last rotated. The
943
- credential nobody wrote down is the one that expires at 3am and takes prod with it.
944
- blindSpots:
945
- - >
946
- The untracked credential is the classic infra time-bomb: the SSH key on one laptop, the API
947
- token in someone's .env, the cert that auto-renewed until it didn't. Teams track services
948
- obsessively and secrets not at all — surface expiry dates and rotation policy proactively,
949
- because the outage is silent until the exact moment it isn't.
950
- - >
951
- Vendor cost creep has no owner. Each SaaS was signed up "just to try," and now the monthly
952
- bill is a mystery no single person can explain line by line. Force a monthly-cost number and
953
- an owner on every vendor — the sum is almost always higher than anyone guessed.
954
- - >
955
- "Works on my machine" is environment drift, and it hides until deploy day. Staging runs a
956
- different Node, prod has an env var dev doesn't, the migration ran here but not there. Map
957
- each environment EXPLICITLY with its branch and base URL so the deltas between prod, staging,
958
- and dev are visible instead of discovered during an incident.
959
- bar: >
960
- A great result is a command center where you can answer, without SSHing anywhere: what's
961
- serving traffic and is it healthy, which credential expires next and who rotates it, what each
962
- vendor costs and who owns it, and exactly how prod differs from staging. The value is in the
963
- facts nobody keeps in one place — expiry dates, cost owners, environment deltas — surfaced
964
- before they become incidents.
965
- collect:
966
- - profileSlug: service
967
- what: "The services / apps they run and their stack"
968
- cardinality: several
969
- keyFields: [title, service-type, service-url, tech-stack]
970
- - profileSlug: repository
971
- what: "The repositories behind those services"
972
- cardinality: several
973
- keyFields: [title, repo-url, main-branch, language]
974
- - profileSlug: environment
975
- what: "Their deployment environments (prod, staging, etc.)"
976
- cardinality: few
977
- keyFields: [title, env-type, env-url, branch]
978
- - profileSlug: vendor
979
- what: "The third-party vendors / SaaS they depend on and their cost"
980
- cardinality: several
981
- keyFields: [title, vendor-type, monthly-cost, vendor-url]
982
- - profileSlug: credential
983
- what: "The credentials / secrets that need tracking and rotation"
984
- cardinality: few
985
- keyFields: [title, credential-type, service-name, expires-at]
986
- openingQuestions:
987
- - "What services are running in production right now, and what's each built on?"
988
- - "Where does the code live, and how are your environments laid out?"
989
- - "Which vendors do you depend on, and what credentials need tracking?"
990
- doneWhen: "Their running services and repositories exist, environments are mapped, key vendors are captured with cost, and the credentials inventory is started."