vybekiit 0.7.28 → 0.7.29

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 (230) hide show
  1. package/dist/bin.js +14408 -15108
  2. package/dist/global-guidance/language.md +6 -6
  3. package/dist/global-skills/add-ai/SKILL.md +6 -0
  4. package/dist/global-skills/add-analytics/SKILL.md +6 -0
  5. package/dist/global-skills/add-blog/SKILL.md +6 -0
  6. package/dist/global-skills/add-crud/SKILL.md +8 -0
  7. package/dist/global-skills/add-files/SKILL.md +6 -0
  8. package/dist/global-skills/add-images/SKILL.md +6 -0
  9. package/dist/global-skills/add-language/SKILL.md +6 -0
  10. package/dist/global-skills/add-notifications/SKILL.md +6 -0
  11. package/dist/global-skills/add-realtime/SKILL.md +6 -0
  12. package/dist/global-skills/add-route/SKILL.md +6 -0
  13. package/dist/global-skills/add-search/SKILL.md +6 -0
  14. package/dist/global-skills/add-signin/SKILL.md +6 -0
  15. package/dist/global-skills/add-teams/SKILL.md +10 -3
  16. package/dist/global-skills/add-upload/SKILL.md +6 -0
  17. package/dist/global-skills/back-up-my-code/SKILL.md +16 -5
  18. package/dist/global-skills/buy-domain/SKILL.md +6 -0
  19. package/dist/global-skills/check-safety/SKILL.md +6 -0
  20. package/dist/global-skills/configure-capabilities/SKILL.md +6 -0
  21. package/dist/global-skills/connect-account/SKILL.md +6 -0
  22. package/dist/global-skills/connect-account-backend/SKILL.md +6 -0
  23. package/dist/global-skills/design-my-data/SKILL.md +12 -5
  24. package/dist/global-skills/doctor/SKILL.md +16 -9
  25. package/dist/global-skills/go-live/SKILL.md +6 -0
  26. package/dist/global-skills/harden/SKILL.md +8 -0
  27. package/dist/global-skills/manifest.json +3 -0
  28. package/dist/global-skills/onboarding/SKILL.md +33 -17
  29. package/dist/global-skills/plan-my-idea/SKILL.md +6 -0
  30. package/dist/global-skills/publish-app/SKILL.md +6 -0
  31. package/dist/global-skills/publish-extension/SKILL.md +6 -0
  32. package/dist/global-skills/reset-password/SKILL.md +6 -0
  33. package/dist/global-skills/save-data/SKILL.md +48 -16
  34. package/dist/global-skills/setup-email/SKILL.md +6 -0
  35. package/dist/global-skills/setup-payments/SKILL.md +10 -4
  36. package/dist/global-skills/setup-sms/SKILL.md +6 -0
  37. package/dist/global-skills/sign-in-with-email-link/SKILL.md +6 -0
  38. package/dist/global-skills/sign-in-with-google/SKILL.md +6 -0
  39. package/dist/global-skills/sign-in-with-phone/SKILL.md +6 -0
  40. package/dist/global-skills/track-errors/SKILL.md +6 -0
  41. package/dist/global-skills/update-kit/SKILL.md +6 -0
  42. package/dist/global-skills/validate-my-idea/SKILL.md +6 -0
  43. package/dist/global-skills/vybekiit-feedback/SKILL.md +6 -0
  44. package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +42 -0
  45. package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +17 -0
  46. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-agent.json +12 -0
  47. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-firebase.json +8 -0
  48. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-mongodb.json +12 -0
  49. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-neon.json +8 -0
  50. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-paypal.json +8 -0
  51. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-posthog.json +17 -0
  52. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-local.json +8 -0
  53. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-remote.json +7 -0
  54. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-sentry.json +7 -0
  55. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +131 -0
  56. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-supabase.json +7 -0
  57. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-alpha.json +8 -0
  58. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-docs.json +7 -0
  59. package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +44 -0
  60. package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +28 -0
  61. package/dist/global-skills/vybekiitReferences/backend/language.md +440 -0
  62. package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +26 -0
  63. package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +127 -0
  64. package/dist/global-skills/vybekiitReferences/backend/platform-skills/mcp-tools-vybekiit.md +87 -0
  65. package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +34 -0
  66. package/dist/global-skills/vybekiitReferences/backend/platform-skills/railway-postgres-vybekiit.md +24 -0
  67. package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +80 -0
  68. package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +27 -0
  69. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-agent.json +14 -0
  70. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-posthog.json +17 -0
  71. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-sentry.json +7 -0
  72. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +102 -0
  73. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-alpha.json +13 -0
  74. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-docs.json +7 -0
  75. package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +44 -0
  76. package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +28 -0
  77. package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +30 -0
  78. package/dist/global-skills/vybekiitReferences/extension/language.md +433 -0
  79. package/dist/global-skills/vybekiitReferences/extension/platform-skills/README.md +32 -0
  80. package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +36 -0
  81. package/dist/global-skills/vybekiitReferences/extension/platform-skills/chrome-extension-vybekiit.md +28 -0
  82. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ci-vybekiit.md +26 -0
  83. package/dist/global-skills/vybekiitReferences/extension/platform-skills/client-state-vybekiit.md +25 -0
  84. package/dist/global-skills/vybekiitReferences/extension/platform-skills/code-hygiene-vybekiit.md +38 -0
  85. package/dist/global-skills/vybekiitReferences/extension/platform-skills/data-model-vybekiit.md +29 -0
  86. package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +20 -0
  87. package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +127 -0
  88. package/dist/global-skills/vybekiitReferences/extension/platform-skills/format-lint-vybekiit.md +33 -0
  89. package/dist/global-skills/vybekiitReferences/extension/platform-skills/github-vybekiit.md +47 -0
  90. package/dist/global-skills/vybekiitReferences/extension/platform-skills/i18n-vybekiit.md +39 -0
  91. package/dist/global-skills/vybekiitReferences/extension/platform-skills/mcp-tools-vybekiit.md +87 -0
  92. package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +36 -0
  93. package/dist/global-skills/vybekiitReferences/extension/platform-skills/planning-vybekiit.md +59 -0
  94. package/dist/global-skills/vybekiitReferences/extension/platform-skills/playwright-vybekiit.md +42 -0
  95. package/dist/global-skills/vybekiitReferences/extension/platform-skills/react-patterns-vybekiit.md +45 -0
  96. package/dist/global-skills/vybekiitReferences/extension/platform-skills/responsive-vybekiit.md +27 -0
  97. package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +33 -0
  98. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ship-via-pr-vybekiit.md +49 -0
  99. package/dist/global-skills/vybekiitReferences/extension/platform-skills/testing-vybekiit.md +33 -0
  100. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ui-consistency-vybekiit.md +33 -0
  101. package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +460 -0
  102. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +32 -0
  103. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-agent.json +14 -0
  104. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-firebase.json +8 -0
  105. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-neon.json +8 -0
  106. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-paypal.json +8 -0
  107. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-posthog.json +17 -0
  108. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-sentry.json +7 -0
  109. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +103 -0
  110. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-stripe.json +7 -0
  111. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-supabase.json +7 -0
  112. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-alpha.json +13 -0
  113. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-docs.json +7 -0
  114. package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +44 -0
  115. package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +28 -0
  116. package/dist/global-skills/vybekiitReferences/mobile/agent/ui-catalog-index.mobile.json +36294 -0
  117. package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +36 -0
  118. package/dist/global-skills/vybekiitReferences/mobile/language.md +438 -0
  119. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/README.md +43 -0
  120. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ci-vybekiit.md +26 -0
  121. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/client-state-vybekiit.md +25 -0
  122. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/code-hygiene-vybekiit.md +38 -0
  123. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/data-model-vybekiit.md +29 -0
  124. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +20 -0
  125. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +127 -0
  126. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/format-lint-vybekiit.md +33 -0
  127. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/github-vybekiit.md +47 -0
  128. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +41 -0
  129. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/launch-store-vybekiit.md +26 -0
  130. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/mcp-tools-vybekiit.md +87 -0
  131. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +36 -0
  132. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/planning-vybekiit.md +59 -0
  133. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/playwright-vybekiit.md +42 -0
  134. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/react-patterns-vybekiit.md +45 -0
  135. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +33 -0
  136. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ship-via-pr-vybekiit.md +49 -0
  137. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/testing-vybekiit.md +33 -0
  138. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-consistency-vybekiit.md +33 -0
  139. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +44 -0
  140. package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +83 -0
  141. package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +30 -0
  142. package/dist/global-skills/vybekiitReferences/spa/agent/mcp-agent.json +14 -0
  143. package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +54 -0
  144. package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +44 -0
  145. package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +60 -0
  146. package/dist/global-skills/vybekiitReferences/spa/language.md +221 -0
  147. package/dist/global-skills/vybekiitReferences/spa/platform-skills/mcp-tools-vybekiit.md +87 -0
  148. package/dist/global-skills/vybekiitReferences/web/AGENTS.md +153 -0
  149. package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +54 -0
  150. package/dist/global-skills/vybekiitReferences/web/agent/mcp-agent.json +14 -0
  151. package/dist/global-skills/vybekiitReferences/web/agent/mcp-firebase.json +8 -0
  152. package/dist/global-skills/vybekiitReferences/web/agent/mcp-mongodb.json +12 -0
  153. package/dist/global-skills/vybekiitReferences/web/agent/mcp-neon.json +8 -0
  154. package/dist/global-skills/vybekiitReferences/web/agent/mcp-paypal.json +8 -0
  155. package/dist/global-skills/vybekiitReferences/web/agent/mcp-posthog.json +17 -0
  156. package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-local.json +8 -0
  157. package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-remote.json +7 -0
  158. package/dist/global-skills/vybekiitReferences/web/agent/mcp-sentry.json +7 -0
  159. package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +165 -0
  160. package/dist/global-skills/vybekiitReferences/web/agent/mcp-stripe.json +7 -0
  161. package/dist/global-skills/vybekiitReferences/web/agent/mcp-supabase.json +7 -0
  162. package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-alpha.json +13 -0
  163. package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-docs.json +7 -0
  164. package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +44 -0
  165. package/dist/global-skills/vybekiitReferences/web/agent/tech-references.md +28 -0
  166. package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.json +36294 -0
  167. package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.mobile.json +36294 -0
  168. package/dist/global-skills/vybekiitReferences/web/agent/ui-sources.md +104 -0
  169. package/dist/global-skills/vybekiitReferences/web/language.md +443 -0
  170. package/dist/global-skills/vybekiitReferences/web/platform-skills/README.md +66 -0
  171. package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +3 -0
  172. package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +20 -0
  173. package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +31 -0
  174. package/dist/global-skills/vybekiitReferences/web/platform-skills/aws-vybekiit.md +25 -0
  175. package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +21 -0
  176. package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +40 -0
  177. package/dist/global-skills/vybekiitReferences/web/platform-skills/ci-vybekiit.md +26 -0
  178. package/dist/global-skills/vybekiitReferences/web/platform-skills/client-state-vybekiit.md +25 -0
  179. package/dist/global-skills/vybekiitReferences/web/platform-skills/cloudflare-email-vybekiit.md +42 -0
  180. package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +3 -0
  181. package/dist/global-skills/vybekiitReferences/web/platform-skills/code-hygiene-vybekiit.md +38 -0
  182. package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +3 -0
  183. package/dist/global-skills/vybekiitReferences/web/platform-skills/data-model-vybekiit.md +29 -0
  184. package/dist/global-skills/vybekiitReferences/web/platform-skills/db-presets-vybekiit.md +46 -0
  185. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-cloudflare-vybekiit.md +22 -0
  186. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +25 -0
  187. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +26 -0
  188. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +23 -0
  189. package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +20 -0
  190. package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +127 -0
  191. package/dist/global-skills/vybekiitReferences/web/platform-skills/firebase-vybekiit.md +27 -0
  192. package/dist/global-skills/vybekiitReferences/web/platform-skills/format-lint-vybekiit.md +33 -0
  193. package/dist/global-skills/vybekiitReferences/web/platform-skills/github-vybekiit.md +47 -0
  194. package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +3 -0
  195. package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +3 -0
  196. package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +3 -0
  197. package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +30 -0
  198. package/dist/global-skills/vybekiitReferences/web/platform-skills/mcp-tools-vybekiit.md +87 -0
  199. package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +39 -0
  200. package/dist/global-skills/vybekiitReferences/web/platform-skills/neon-vybekiit.md +33 -0
  201. package/dist/global-skills/vybekiitReferences/web/platform-skills/nextjs-vybekiit.md +20 -0
  202. package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +3 -0
  203. package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +36 -0
  204. package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +25 -0
  205. package/dist/global-skills/vybekiitReferences/web/platform-skills/planning-vybekiit.md +59 -0
  206. package/dist/global-skills/vybekiitReferences/web/platform-skills/playwright-vybekiit.md +42 -0
  207. package/dist/global-skills/vybekiitReferences/web/platform-skills/railway-postgres-vybekiit.md +24 -0
  208. package/dist/global-skills/vybekiitReferences/web/platform-skills/react-patterns-vybekiit.md +45 -0
  209. package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +3 -0
  210. package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +36 -0
  211. package/dist/global-skills/vybekiitReferences/web/platform-skills/resend-vybekiit.md +20 -0
  212. package/dist/global-skills/vybekiitReferences/web/platform-skills/responsive-vybekiit.md +27 -0
  213. package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +3 -0
  214. package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +33 -0
  215. package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +31 -0
  216. package/dist/global-skills/vybekiitReferences/web/platform-skills/ses-vybekiit.md +19 -0
  217. package/dist/global-skills/vybekiitReferences/web/platform-skills/shadcn-vybekiit.md +25 -0
  218. package/dist/global-skills/vybekiitReferences/web/platform-skills/ship-via-pr-vybekiit.md +49 -0
  219. package/dist/global-skills/vybekiitReferences/web/platform-skills/stripe-vybekiit.md +26 -0
  220. package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +31 -0
  221. package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +3 -0
  222. package/dist/global-skills/vybekiitReferences/web/platform-skills/testing-vybekiit.md +33 -0
  223. package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-consistency-vybekiit.md +34 -0
  224. package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-routing-vybekiit.md +41 -0
  225. package/dist/global-skills/watch-my-app/SKILL.md +6 -0
  226. package/dist/global-skills/wire-auth/SKILL.md +6 -0
  227. package/dist/global-skills/wire-database/SKILL.md +15 -1
  228. package/dist/global-skills/wire-email/SKILL.md +6 -0
  229. package/dist/global-skills/wire-payments/SKILL.md +6 -0
  230. package/package.json +10 -9
@@ -0,0 +1,33 @@
1
+ # Platform wrapper: format + lint (agent-only)
2
+
3
+ **Agent-only.** Keep the codebase tidy — the builder never runs the linter or formatter.
4
+
5
+ ## When
6
+
7
+ After every substantive edit; once after first `pnpm install` during onboarding (quality smoke).
8
+
9
+ ## How
10
+
11
+ ```bash
12
+ pnpm format # biome check --write .
13
+ pnpm lint # biome check .
14
+ ```
15
+
16
+ Or the full loop:
17
+
18
+ ```bash
19
+ pnpm verify # format → lint → typecheck → test
20
+ ```
21
+
22
+ Optional agent wrapper: `node scripts/checkQuality.mjs`
23
+
24
+ ## Rules
25
+
26
+ 1. **Never ask the builder** to run lint or format — you do it silently.
27
+ 2. Biome **warn** rules (function length, complexity) are soft — fix obvious ones; don't block ship on style warnings unless egregious.
28
+ 3. If lint fails on a real error, fix it and re-run. Translate one plain fix if you must mention something to the builder (rare).
29
+ 4. **Pre-push only** — buyer templates ship an identical husky **pre-push** hook (not pre-commit). The builder never pushes; the agent does. The hook runs `pnpm verify` before push succeeds.
30
+
31
+ ## Verify
32
+
33
+ `pnpm lint` exits 0 (warnings OK). Full smoke: `pnpm verify`.
@@ -0,0 +1,47 @@
1
+ # Platform wrapper: GitHub backup (agent-only)
2
+
3
+ **Agent-only.** Save the builder's project on GitHub — invoked by buyer skill `back-up-my-code`, not by git jargon.
4
+
5
+ ## Prerequisites
6
+
7
+ - `gh` CLI installed (`vybekiit doctor` checks this)
8
+ - Builder has a **GitHub account** — `gh` does **not** create accounts. If they don't have one, walk them through signup at github.com one step at a time in plain language.
9
+
10
+ ## Sign in
11
+
12
+ If doctor reports not signed in:
13
+
14
+ ```bash
15
+ gh auth login --web
16
+ ```
17
+
18
+ Browser opens → builder clicks approve.
19
+
20
+ ## Backup flow
21
+
22
+ 1. `git init` (if no repo yet) — `.gitignore` already ships
23
+ 2. Stage all project files (never commit `.env` — it's gitignored)
24
+ 3. First commit with a plain message, e.g. "Initial save"
25
+ 4. Create **private** repo and push:
26
+
27
+ ```bash
28
+ gh repo create <repo-name> --private --source=. --remote=origin --push
29
+ ```
30
+
31
+ 5. Open `https://github.com/<user>/<repo>` and confirm files are there
32
+ 6. Give the builder the link in plain words — *"Your project is saved online here."*
33
+
34
+ ## Later saves (PR flow)
35
+
36
+ For ongoing work after the first backup, use `ship-via-pr-vybekiit.md` — branch, push, wait for the **online checker** on all three operating systems, then merge. The builder hears *"Your latest work is saved and checked."*
37
+
38
+ ## Rules
39
+
40
+ - Default to **private** repos unless the builder explicitly wants public
41
+ - Never paste secrets into commits or chat
42
+ - Never claim backup worked without verifying on github.com
43
+ - Do not run this in doctor by default — only when the builder asks or after meaningful progress (optional nudge in onboarding)
44
+
45
+ ## Verify
46
+
47
+ `gh repo view` shows the remote · latest commit visible on GitHub · builder has the URL
@@ -0,0 +1,3 @@
1
+ # i18n-vybekiit
2
+
3
+ Use `resolve*Provider()` from `@vybekiit/i18n` — see package README and ADR-0012.
@@ -0,0 +1,3 @@
1
+ # jobs-vybekiit
2
+
3
+ Use `resolve*Provider()` from `@vybekiit/jobs` — see package README and ADR-0012.
@@ -0,0 +1,3 @@
1
+ # kv-vybekiit
2
+
3
+ Use `resolve*Provider()` from `@vybekiit/kv` — see package README and ADR-0012.
@@ -0,0 +1,30 @@
1
+ # Platform wrapper: Lemon Squeezy (default payments)
2
+
3
+ **Agent-only.** Invoked by buyer skill `setup-payments`.
4
+
5
+ ## Official upstream
6
+
7
+ - Docs: https://docs.lemonsqueezy.com
8
+ - **Freshness note:** `@lemonsqueezy/lemonsqueezy.js` npm publish is stale (Nov 2024) — no vendor skills.sh repo. Rely on `@vybekiit/payments` adapter + `browser-automation-vybekiit.md`; check https://docs.lemonsqueezy.com/help/changelog before API changes.
9
+
10
+ ## Kit wiring
11
+
12
+ 1. Payments via `@vybekiit/payments` → `resolvePaymentProvider()` (LS when `PAYMENTS_PROVIDER` default)
13
+ 2. Dashboard provisioning via `@vybekiit/browser-automation` **`ls` target** (codename fresh-squeezy):
14
+ - `vybekiit-automate ls standby` — builder signs in only (`$HOME/.ls-chrome-profile`)
15
+ - `vybekiit-automate ls setup --json --name … --price-cents … --mode test|live --webhook-url …`
16
+ 3. Write CLI JSON to `.env`: `LEMONSQUEEZY_API_KEY`, `LEMONSQUEEZY_STORE_ID`, variant ID, webhook secret
17
+ 4. Webhook route at `app/api/webhook/route.ts`; fulfillment in `src/lib/fulfillment.ts`
18
+ 5. Replace `TODO(vybekiit): … — skill: setup-payments` markers
19
+
20
+ See also `platform-skills/browser-automation-vybekiit.md` for CLI modes (`--json` vs wizard).
21
+
22
+ ## Verify-before-advance
23
+
24
+ - Test checkout opens; webhook receives event (test mode OK)
25
+ - Order recorded in database; builder sees success in app
26
+
27
+ ## Selector registry
28
+
29
+ LS DOM selectors live in `@vybekiit/browser-automation` `targets/lemon-squeezy/selectors/`. If setup throws
30
+ `SelectorMissingError`, update registry from a recorded session (maintainer pass).
@@ -0,0 +1,87 @@
1
+ # Platform wrapper: kit MCP tools
2
+
3
+ **Agent-only.** Catalog of every first-party MCP tool VybeKiit ships. Read this file locally or load via MCP `get_skill` / `list_platform_skills` (`mcp-tools-vybekiit` / `use-kit-mcp`).
4
+
5
+ Never name MCP, tool ids, or package paths to the builder. Prefer **search → get** (slim pages, then detail).
6
+
7
+ ## Server
8
+
9
+ | Server key | Package | Bin | Purpose |
10
+ |------------|---------|-----|---------|
11
+ | `vybekiit` | `@vybekiit/agent-mcp` | `vybekiit-agent-mcp` | Skills, CLI catalog, doctor tools, doc-fallback, browser automations, mirrored UI catalog |
12
+
13
+ Snippet: `.vybekiit/agent/mcp-agent.json`. Setup: `.vybekiit/agent/mcp-setup.md`.
14
+ Auto-discovered skill: `.agents/skills/use-kit-mcp/SKILL.md`.
15
+
16
+ ## Env
17
+
18
+ | Variable | Meaning |
19
+ |----------|---------|
20
+ | `VYBEKIIT_PROJECT_ROOT` | Project root for skill reads + automation cwd (default cwd) |
21
+ | `VYBEKIIT_UI_CATALOG_PATH` | Path to `ui-catalog-index.json` |
22
+ | `VYBEKIIT_AUTOMATE_BIN` | Optional absolute path to `vybekiit-automate` |
23
+
24
+ ## Context controls
25
+
26
+ - Cursor pagination: `limit` / `cursor` / response `nextCursor` + `hasMore` + `total`
27
+ - Prefer slim rows; request full detail only when needed (`fields=slim|full` on UI tools)
28
+ - Automations: `run_automation({ dryRun: true })` before a real browser session
29
+
30
+ ## Tools
31
+
32
+ | Tool | Description | Required | Optional | When to use |
33
+ |------|-------------|----------|----------|-------------|
34
+ | `search_skills` | Fuzzy-search buyer goals/skills (goal-index SSOT). Paginated slim rows. | query | template, limit, cursor | Before opening skill files; empty query lists all goals for the template. |
35
+ | `get_skill` | Load one skill by goal id or stem (excerpt by default). | id | template, excerptLines | After search_skills picks a row; also loads use-kit-mcp / platform wrappers. |
36
+ | `list_platform_skills` | List/search `.vybekiit/platform-skills/*` wrappers (paginated). | — | query, limit, cursor | Find provider wrappers (stripe, railway, mcp-tools-vybekiit, …). |
37
+ | `search_commands` | Fuzzy-search vybekiit CLI verbs. Returns usage — run via shell, not MCP. | query | limit, cursor | Discover CLI verbs (doctor, create app, automate, …). |
38
+ | `get_command` | Get one CLI command by exact name from the catalog. | name | — | After search_commands when you know the exact verb name. |
39
+ | `search_doctor_tools` | List doctor toolchain entries (`vybekiit doctor --ensure <name>`). Does not run doctor. | query | limit, cursor | Before ensuring CLIs (gh, wrangler, supabase, …). |
40
+ | `search_tech_ids` | Fuzzy-search known tech ids before doc_fallback. | query | limit, cursor | Pick a tech id for official docs after one failed MCP/debug attempt. |
41
+ | `doc_fallback` | Official docs + env key hints. Never name MCP to the builder — use builderMessage. | techId | — | MCP or first debug failed once; same as `vybekiit doc-fallback <tech-id>`. |
42
+ | `search_automations` | Fuzzy-search vybekiit-automate browser verbs (ls, cws, nc, …). Paginated. | query | limit, cursor | Before run_automation; empty query lists the catalog. |
43
+ | `get_automation` | Get one automation by domain (+ command) or id (`ls:setup`). | domain | command | Inspect usage string for a known domain/verb. |
44
+ | `run_automation` | Run vybekiit-automate from any project root (resolves bin). Always --json. Prefer dryRun first. Google redirect_uri_mismatch → domain=google command=oauth with --redirect incl. localhost. | domain, command | args, dryRun, yes, cdp, profile, timeoutMs | Execute browser automations anywhere; OAuth 400 redirect_uri_mismatch; dryRun=true to preview argv only. |
45
+ | `search_ui_components` | Fuzzy-search mirrored UI components. Page envelope; default fields=slim. | query | source, limit, cursor, fields | Find blocks by intent/name; slim first, then get_ui_component. |
46
+ | `get_ui_component` | Get one mirrored component by source namespace + slug. | source, name | — | Full detail after search_ui_components. |
47
+ | `suggest_ui_blend` | Ranked multi-source component suggestions for a natural-language UI intent. | intent | limit | Builder wants a composed look (hero + pricing + marquee, …). |
48
+ | `list_ui_sources` | List mirrored UI source namespaces and component counts. | — | — | See which registries are in the local catalog index. |
49
+
50
+ ## Browser automations (from any folder)
51
+
52
+ ```
53
+ search_automations({ query: "lemon squeezy" })
54
+ run_automation({ domain: "ls", command: "setup", dryRun: true })
55
+ run_automation({ domain: "ls", command: "standby" })
56
+ // Google Error 400 redirect_uri_mismatch / Auth.js localhost — args only, no Console babysitting:
57
+ search_automations({ query: "redirect_uri_mismatch" })
58
+ run_automation({ domain: "google", command: "oauth", args: [
59
+ "--project=my-app", "--app-name=MyApp", "--support-email=you@gmail.com",
60
+ "--app-url=https://example.com",
61
+ "--redirect=https://example.com/api/auth/callback/google",
62
+ "--redirect=http://localhost:3000/api/auth/callback/google",
63
+ ]})
64
+ ```
65
+
66
+ Shell equivalent:
67
+
68
+ ```
69
+ vybekiit-automate catalog --json
70
+ vybekiit-automate ls standby --json --yes
71
+ vybekiit-automate google oauth --project=... --app-name=... --support-email=... --app-url=... --redirect=... --json
72
+ ```
73
+
74
+ ## Wire-up (agents)
75
+
76
+ 1. `vybekiit setup` registers the `vybekiit` server once at Claude user scope and refreshes it on every rerun.
77
+ 2. Start a new Claude session after setup so Claude can approve and discover the global tools.
78
+ 3. Cursor receives project `.cursor/mcp.json` files because its setup path remains project-scoped.
79
+ 4. `create app` still ships `@vybekiit/agent-mcp` and `@vybekiit/browser-automation` under `packages/` for owned tooling and other MCP clients.
80
+ 5. Doctor may merge provider-specific third-party MCPs only when the project needs them.
81
+
82
+ ## Provider / third-party MCP snippets
83
+
84
+ Not first-party tools — merge only when the builder uses that provider (see `mcp-setup.md`):
85
+ `mcp-supabase`, `mcp-stripe`, `mcp-paypal`, `mcp-neon`, `mcp-firebase`, `mcp-mongodb`, `mcp-railway-*`, `mcp-twilio-*`, `mcp-sentry`, `mcp-posthog`.
86
+
87
+ If any MCP fails once → `doc_fallback` / `vybekiit doc-fallback <tech-id>`; tell the builder only the plain stuck phrase.
@@ -0,0 +1,39 @@
1
+ # Platform wrapper: MongoDB Atlas (agent/maintainer only)
2
+
3
+ **Agent-only.** Not invoked by buyer `save-data`. Use when `.env` already has `DATA_PROVIDER=mongodb`.
4
+
5
+ ## Official upstream
6
+
7
+ - Docs: https://www.mongodb.com/docs/
8
+ - Node driver: https://www.mongodb.com/docs/drivers/node/current/
9
+ - Agent skills: https://www.mongodb.com/docs/agent-skills/
10
+ - Skills repo: https://github.com/mongodb/agent-skills
11
+ - MCP overview: https://www.mongodb.com/docs/mcp-server/overview/
12
+ - MCP get started: https://www.mongodb.com/docs/mcp-server/get-started/
13
+
14
+ ## Kit wiring
15
+
16
+ 1. Set `DATA_PROVIDER=mongodb`, `MONGODB_URI` (Atlas SRV connection string), and `MONGODB_DB` (database name)
17
+ 2. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct driver calls in UI
18
+ 3. Auth: `better-auth` may use Mongo adapter when configured — see `better-auth-vybekiit.md`
19
+ 4. Atlas CLI installed by `vybekiit doctor` when `DATA_PROVIDER=mongodb`
20
+
21
+ ## MCP
22
+
23
+ Merge `.vybekiit/agent/mcp-mongodb.json` into buyer `.cursor/mcp.json` (see `agent/mcp-setup.md`).
24
+
25
+ 1. Copy `MONGODB_URI` from `.env` into `MDB_MCP_CONNECTION_STRING`
26
+ 2. Keep `MDB_MCP_READ_ONLY=true` unless a maintainer explicitly needs write tools
27
+ 3. Fallback: `npx mongodb-mcp-server@latest setup` — see official get-started guide
28
+
29
+ If MCP fails once, run `vybekiit doc-fallback mongodb`.
30
+
31
+ ## Verify-before-advance
32
+
33
+ - `pingDatabase()` from `@vybekiit/db` succeeds
34
+ - MCP lists collections on the dev cluster (read-only)
35
+ - Never connect MCP to production buyer data without read-only mode
36
+
37
+ ## Never say to builder
38
+
39
+ MongoDB, NoSQL, collection, document, BSON, Atlas (use plain language from `language.md`)
@@ -0,0 +1,33 @@
1
+ # Platform wrapper: Neon (serverless Postgres)
2
+
3
+ > Agent-only: follow the Persistent features sequence in `.vybekiit/agent/session-bootstrap.md`. Reuse the relevant catalog presets before adding app-owned extensions, and record structural and behavioral evidence separately.
4
+
5
+ **Agent-only.** Invoked by buyer skills `save-data`, `doctor`, and prerequisites for `add-signin`.
6
+
7
+ ## Official upstream
8
+
9
+ - Docs index: https://neon.com/docs/llms.txt
10
+ - Quick setup: `npx neonctl@latest init` (maintainer OAuth — not buyer-facing)
11
+ - Agent skills: https://github.com/neondatabase/agent-skills
12
+
13
+ ## Kit wiring
14
+
15
+ 1. Set `DATA_PROVIDER=neon` and `DATABASE_URL` (Neon pooled connection string)
16
+ 2. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct SQL in UI
17
+ 3. Auth: `better-auth` uses the same `DATABASE_URL` Postgres binding
18
+ 4. Migrations via Neon branching in dev only (never production MCP)
19
+
20
+ ## MCP
21
+
22
+ Merge `.vybekiit/agent/mcp-neon.json` into buyer `.cursor/mcp.json`. Maintainer adds `Authorization: Bearer $NEON_API_KEY` or uses OAuth via `neonctl init`.
23
+
24
+ Fallback for clients without Streamable HTTP:
25
+
26
+ ```bash
27
+ npx -y @neondatabase/mcp-server-neon start $NEON_API_KEY
28
+ ```
29
+
30
+ ## Verify-before-advance
31
+
32
+ - `pingNeonDatabase(DATABASE_URL)` or doctor `pingDatabase()` green
33
+ - Neon MCP is **dev/IDE only** — never connect agents to production databases
@@ -0,0 +1,20 @@
1
+ # Platform wrapper: Next.js (web template)
2
+
3
+ **Agent-only.** Invoked by generic coding and layout work — not a buyer goal skill.
4
+
5
+ ## Official upstream (prefer over training data)
6
+
7
+ - Pinned: `.agents/skills/vercel-react-best-practices`, `vercel-composition-patterns`
8
+ - Docs: https://nextjs.org/docs (App Router, Server Components, Route Handlers)
9
+
10
+ ## Kit conventions
11
+
12
+ - App Router under `app/`; API routes under `app/api/`
13
+ - Use logical spacing (`ms-`, `me-`, `ps-`, `pe-`) for RTL — see `language.md`
14
+ - UI primitives live in `src/components` (shadcn) — use `shadcn-vybekiit.md` and `ui-consistency-vybekiit.md`
15
+ - Business logic stays in `@vybekiit/*` packages, not reinvented in routes
16
+ - Logging: `@/lib/logger` · errors: `@/lib/observability` · hygiene: `code-hygiene-vybekiit.md`
17
+
18
+ ## Verify-before-advance
19
+
20
+ After structural changes: `pnpm test` + `pnpm build` green before telling the builder it works.
@@ -0,0 +1,3 @@
1
+ # notifications-vybekiit
2
+
3
+ Use `resolve*Provider()` from `@vybekiit/notifications` — see package README and ADR-0012.
@@ -0,0 +1,36 @@
1
+ # Platform wrapper: observability (agent-only)
2
+
3
+ **Agent-only.** Logging and error tracking wiring — not a buyer goal skill.
4
+
5
+ ## Structured logging
6
+
7
+ - Import `log` from `src/lib/logger.ts` (wraps `@vybekiit/core` `createLogger`).
8
+ - **Development:** `debug` and `info` print automatically.
9
+ - **Production:** only `warn` and `error` print — no builder configuration needed.
10
+ - Optional override: `LOG_LEVEL` in `.env` (agent-only; never ask the builder to set it).
11
+ - API routes: `const routeLog = log.child({ requestId })` when correlating a request.
12
+
13
+ ```ts
14
+ import { log } from '@/lib/logger';
15
+
16
+ log.info('Contact form accepted', { email: parsed.data.email });
17
+ log.error('Checkout failed', err);
18
+ ```
19
+
20
+ Never use bare `console.log` in `app/` or `src/` (tests excluded).
21
+
22
+ ## Error tracking
23
+
24
+ - Buyer skill: `track-errors` — wires `@vybekiit/observability`.
25
+ - Server entry: `instrumentation.ts` calls `resolveObservabilityProvider`.
26
+ - App code: `import { observability } from '@/lib/observability'` then `observability.captureException(err)`.
27
+ - Platform wrapper: `sentry-vybekiit.md` for Sentry dashboard steps.
28
+
29
+ ## Pre-ship checks
30
+
31
+ ```bash
32
+ node scripts/checkNoConsole.mjs
33
+ rg "from '@/lib/logger'" app/api/
34
+ ```
35
+
36
+ See `check-safety` step 6 (code readiness) and `go-live` pre-flight.
@@ -0,0 +1,25 @@
1
+ # Platform wrapper: PayPal (opt-in payments)
2
+
3
+ **Agent-only.** Invoked by buyer skill `setup-payments` when `PAYMENTS_PROVIDER=paypal`.
4
+
5
+ ## Official upstream
6
+
7
+ - Docs: https://developer.paypal.com/docs
8
+ - PayPal MCP: https://docs.paypal.ai/developer/tools/ai/mcp-quickstart
9
+
10
+ ## Kit wiring
11
+
12
+ 1. Merge `agent/mcp-paypal.json` into buyer MCP config — see `agent/mcp-setup.md` (Cursor, Claude Desktop, Codex)
13
+ 2. Builder completes PayPal OAuth once when MCP prompts (sandbox endpoint by default)
14
+ 3. Agent provisions products/invoices via PayPal MCP write tools as needed
15
+ 4. Payments via `@vybekiit/payments` → `resolvePaymentProvider()` when `PAYMENTS_PROVIDER=paypal`
16
+ 5. Set `PAYPAL_CLIENT_ID`, `PAYPAL_CLIENT_SECRET`, and webhook id in `.env`
17
+ 6. Webhook route at `app/api/webhook/route.ts`; fulfillment in `src/lib/fulfillment.ts`
18
+ 7. Replace `TODO(vybekiit): … — skill: setup-payments` markers
19
+ 8. Switch MCP URL to production (`https://mcp.paypal.com/http`) only after sandbox checkout verified
20
+
21
+ ## Verify-before-advance
22
+
23
+ - MCP connected; sandbox tool call succeeds
24
+ - Test checkout completes in sandbox; webhook fires
25
+ - Order recorded; builder sees success in app
@@ -0,0 +1,59 @@
1
+ # planning-vybekiit.md — agent-only planning mechanics
2
+
3
+ Used by `plan-my-idea.md`. The builder never sees this file or its vocabulary.
4
+
5
+ ## CONTEXT.md format
6
+
7
+ Single context at repo root (`CONTEXT.md`). Create lazily when the first term resolves.
8
+
9
+ ```md
10
+ # {App name or domain}
11
+
12
+ {One or two sentences: what this app is and who it's for.}
13
+
14
+ ## Language
15
+
16
+ **{Canonical term}**:
17
+ {A one or two sentence definition of what it IS, not what it does.}
18
+ _Avoid_: alias1, alias2
19
+ ```
20
+
21
+ ### Rules
22
+
23
+ - **Be opinionated.** Pick one canonical word; list alternatives under `_Avoid_`.
24
+ - **Keep definitions tight.** One or two sentences max.
25
+ - **App-specific only.** No general programming terms (API, timeout, cache, component).
26
+ - **Group under subheadings** when clusters emerge (e.g. `## People`, `## Money`).
27
+ - **Update inline** during the session — never batch at the end.
28
+ - **No implementation details** in `CONTEXT.md` — glossary only, not a spec.
29
+
30
+ ### No ADRs for buyers
31
+
32
+ Do not create `docs/adr/` or decision-record files. Capture agreed language in `CONTEXT.md` only.
33
+
34
+ ## During a planning session
35
+
36
+ ### Challenge against the glossary
37
+
38
+ When the builder uses a term that conflicts with `CONTEXT.md`, reconcile immediately: *"Last time we
39
+ said X means … — is that still right?"*
40
+
41
+ ### Sharpen fuzzy language
42
+
43
+ When they say "account", "user", "order", "save" without precision, propose a canonical term and ask
44
+ which they mean.
45
+
46
+ ### Cross-reference with code
47
+
48
+ When they state how something works, check the code. If it contradicts them, surface it plainly and
49
+ ask which is right before continuing.
50
+
51
+ ### Concrete scenarios
52
+
53
+ Once the shape emerges, invent one realistic edge-case scenario (*"Sarah tries to… what happens?"*) to
54
+ expose gaps before building.
55
+
56
+ ## After planning
57
+
58
+ Reference `CONTEXT.md` during later feature work so wording stays consistent. Do not overwrite buyer
59
+ entries during `update-kit` sync — `CONTEXT.md` is buyer-owned.
@@ -0,0 +1,42 @@
1
+ # Platform wrapper: Playwright UI tests (agent-only)
2
+
3
+ **Agent-only.** Walk through the app like a visitor — the builder hears *"I checked it on screen"*, not Playwright.
4
+
5
+ ## When
6
+
7
+ Before calling a page done (web/extension with UI); in pre-push when `PLAYWRIGHT_ENABLED=true`; on CI (ubuntu job).
8
+
9
+ ## Configure (`.env`)
10
+
11
+ ```env
12
+ PLAYWRIGHT_ENABLED="true" # turn on locally
13
+ PLAYWRIGHT_HEADLESS="true" # false to watch the browser
14
+ PLAYWRIGHT_BASE_URL="http://localhost:3000"
15
+ ```
16
+
17
+ ## Install browsers (once per machine)
18
+
19
+ ```bash
20
+ pnpm exec playwright install chromium
21
+ ```
22
+
23
+ Doctor/onboarding: agent runs this silently when enabling UI walkthrough tests.
24
+
25
+ ## Run
26
+
27
+ ```bash
28
+ pnpm test:e2e
29
+ # or: PLAYWRIGHT_ENABLED=true pnpm test:e2e
30
+ ```
31
+
32
+ Pre-push runs `pnpm test:e2e` automatically when `PLAYWRIGHT_ENABLED=true`.
33
+
34
+ ## Rules
35
+
36
+ 1. Never say "Playwright", "E2E", or "headless" to the builder — use `language.md`.
37
+ 2. Fix failing walkthrough tests before telling the builder the page works.
38
+ 3. Keep smoke tests short — one happy path per critical screen.
39
+
40
+ ## Verify
41
+
42
+ `pnpm test:e2e` green with dev server reachable at `PLAYWRIGHT_BASE_URL`.
@@ -0,0 +1,24 @@
1
+ # Platform wrapper: Railway Postgres (coupled stack data)
2
+
3
+ > Agent-only: follow the Persistent features sequence in `.vybekiit/agent/session-bootstrap.md`. Reuse the relevant catalog presets before adding app-owned extensions, and record structural and behavioral evidence separately.
4
+
5
+ **Agent-only.** Invoked by buyer skills `save-data`, `doctor`, and prerequisites for `add-signin` when `DATA_PROVIDER=railway`.
6
+
7
+ ## Official upstream
8
+
9
+ - Docs: https://docs.railway.com/databases/postgresql
10
+ - Agent skill: `use-railway` in `.agents/skills/`
11
+ - MCP: `mcp-railway-local.json` (variables, provisioning) or `mcp-railway-remote.json` (OAuth)
12
+
13
+ ## Kit wiring
14
+
15
+ 1. Set `DATA_PROVIDER=railway` with `HOSTING_PROVIDER=railway` (coupled stack — same Railway project)
16
+ 2. Provision Postgres plugin in the linked Railway project via MCP or CLI
17
+ 3. Pull `DATABASE_URL` from Railway variables into `.env`
18
+ 4. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct SQL in UI
19
+ 5. Auth: `better-auth` uses the same `DATABASE_URL` Postgres binding
20
+
21
+ ## Verify-before-advance
22
+
23
+ - `pingRailwayDatabase(DATABASE_URL)` or doctor `pingDatabase()` green
24
+ - Railway MCP connected for variable reads in dev/IDE only
@@ -0,0 +1,45 @@
1
+ # Platform wrapper: React patterns (agent-only)
2
+
3
+ **Agent-only.** Kit primitives and soft limits — the builder never hears "props" limits or "split the component."
4
+
5
+ ## Kit primitives (required)
6
+
7
+ | Concern | Use | Never |
8
+ |---|---|---|
9
+ | Server / API data | TanStack Query via `@vybekiit/client-state` (`useQuery`, `useMutation`) | Raw `fetch` + `useState` for server records |
10
+ | Async UI state | `useAsync` from `@/hooks/use-async` | Hand-rolled fetch for data that belongs in query cache |
11
+ | User / session | `useUser` from `@/hooks/use-user` | Duplicate session logic in pages |
12
+ | Client-only prefs | `useStorage` from `@/hooks/use-storage` | Zustand/MMKV for server data |
13
+ | Toasts | `useToast` from `@/hooks/use-toast` | `alert()` or ad-hoc snackbars |
14
+ | Forms | `FormField` + zod at submit boundary | Inline validation scattered in JSX |
15
+
16
+ Read `client-state-vybekiit.md` and `src/hooks/README.md` before adding hooks.
17
+
18
+ ## Soft limits (agent + Biome warn)
19
+
20
+ | Rule | Target | Enforcement |
21
+ |---|---|---|
22
+ | Function body length | ~5 lines ideal; split if longer | Agent convention + Biome warn |
23
+ | Component props | ~5 max; use composition or a small options object | Agent convention |
24
+ | Folders | See `src/README.md` | Required |
25
+
26
+ ## Forms
27
+
28
+ - Use `FormField` for labels, errors, and inputs.
29
+ - Validate with zod **once** at submit — not on every keystroke unless UX requires it.
30
+ - API routes validate again with zod at the boundary.
31
+
32
+ ## Folders
33
+
34
+ ```
35
+ app/ routes + API (Next.js App Router)
36
+ src/components/ui/ kit primitives — do not duplicate
37
+ src/components/ app-specific composed UI
38
+ src/hooks/ shared React hooks (see README)
39
+ src/lib/ headless clients + utils (see README)
40
+ ```
41
+
42
+ ## Verify
43
+
44
+ - New screens use kit hooks · forms use `FormField` · no duplicate helpers in `src/lib/`
45
+ - `pnpm test` green after changes
@@ -0,0 +1,3 @@
1
+ # realtime-vybekiit
2
+
3
+ Use `resolve*Provider()` from `@vybekiit/realtime` — see package README and ADR-0012.
@@ -0,0 +1,36 @@
1
+ # Platform wrapper: registrar credential setup
2
+
3
+ **Agent-only.** Browser automation for Namecheap and GoDaddy API key onboarding when the builder's domain is at that registrar and nameserver automation is desired.
4
+
5
+ ## When to use
6
+
7
+ During `buy-domain`, if Namecheap or GoDaddy secret settings are missing and the builder registered their domain there, run credential setup before Cloudflare nameserver delegation.
8
+
9
+ ## Commands
10
+
11
+ Chrome with CDP on port 9222 and the target profile (see `browser-automation-vybekiit.md`).
12
+
13
+ ```bash
14
+ # Namecheap — Profile → Tools → API Access
15
+ vybekiit-automate nc standby --json
16
+ vybekiit-automate nc setup --json
17
+ vybekiit-automate nc setup --json --sandbox # sandbox API
18
+
19
+ # GoDaddy — developer.godaddy.com/keys (OTE by default)
20
+ vybekiit-automate gd standby --json
21
+ vybekiit-automate gd setup --json
22
+ vybekiit-automate gd setup --json --production
23
+ vybekiit-automate gd setup --json --name=vybekiit
24
+ ```
25
+
26
+ On success, write the returned `env` keys to `.env`, then run `vybekiit doctor` to confirm.
27
+
28
+ ## Rules
29
+
30
+ - Builder **signs in only**; agent runs setup and verification.
31
+ - Never say "Namecheap API", "GoDaddy Developer", or "whitelist IP" to the builder — use plain language from `language.md`.
32
+ - Nameserver updates use `@vybekiit/deploy` REST after credentials exist — not browser automation.
33
+
34
+ ## Package
35
+
36
+ `@vybekiit/browser-automation` — ADR-0021.
@@ -0,0 +1,20 @@
1
+ # Platform wrapper: Resend (opt-in email)
2
+
3
+ **Agent-only.** Invoked by buyer skill `setup-email` when `EMAIL_PROVIDER=resend`.
4
+
5
+ ## Official upstream
6
+
7
+ - Docs: https://resend.com/docs
8
+ - Pinned skills: `.agents/skills/resend/SKILL.md`, `.agents/skills/email-best-practices/SKILL.md`
9
+
10
+ ## Kit wiring
11
+
12
+ 1. Email via `@vybekiit/email` → `resolveEmailProvider()` when `EMAIL_PROVIDER=resend`
13
+ 2. Set `RESEND_API_KEY` and verified sender in `.env`
14
+ 3. Wire sending through the provider interface; hook into sign-in codes, welcome, receipts as needed
15
+ 4. Replace any `TODO(vybekiit): … — skill: setup-email` markers
16
+
17
+ ## Verify-before-advance
18
+
19
+ - Send test email to builder; confirm arrival (check spam)
20
+ - Connected flow sends in the skill's target moment
@@ -0,0 +1,27 @@
1
+ # Platform wrapper: responsive layout (agent-only)
2
+
3
+ **Agent-only.** Mobile-first web layout — the builder hears "looks good on phone and desktop," not breakpoints.
4
+
5
+ ## Mobile-first
6
+
7
+ - Base styles = phone (narrow). Scale up with `sm:` / `md:` / `lg:`.
8
+ - Default page padding: `px-4 md:px-6`
9
+ - Max content width: `max-w-lg mx-auto` (forms/auth) or `max-w-6xl` (marketing/dashboard)
10
+ - Touch targets: kit `Button` sizes `default` or `lg` — never tiny custom tap areas
11
+
12
+ ## RTL
13
+
14
+ Complements logical properties in `AGENTS.md` — use `ms-`/`me-`/`ps-`/`pe-`/`start-`/`end-`, not `left`/`right`.
15
+
16
+ ## Before calling a page done
17
+
18
+ Preview at **375px** width in dev tools. Fix overflow, cramped buttons, and unreadable text before showing the builder.
19
+
20
+ ## Also read
21
+
22
+ - `ui-consistency-vybekiit.md` — primitives and spacing tokens
23
+ - `shadcn-vybekiit.md` — layout blocks from the UI catalog
24
+
25
+ ## Verify
26
+
27
+ Page usable at 375px and desktop without horizontal scroll on main content.
@@ -0,0 +1,3 @@
1
+ # search-vybekiit
2
+
3
+ Use `resolve*Provider()` from `@vybekiit/search` — see package README and ADR-0012.