vybekiit 0.7.27 → 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.
- package/dist/bin.js +14424 -15104
- package/dist/global-guidance/language.md +443 -0
- package/dist/global-skills/add-ai/SKILL.md +7 -1
- package/dist/global-skills/add-analytics/SKILL.md +7 -1
- package/dist/global-skills/add-blog/SKILL.md +7 -1
- package/dist/global-skills/add-crud/SKILL.md +9 -1
- package/dist/global-skills/add-files/SKILL.md +7 -1
- package/dist/global-skills/add-images/SKILL.md +7 -1
- package/dist/global-skills/add-language/SKILL.md +7 -1
- package/dist/global-skills/add-notifications/SKILL.md +7 -1
- package/dist/global-skills/add-realtime/SKILL.md +7 -1
- package/dist/global-skills/add-route/SKILL.md +7 -1
- package/dist/global-skills/add-search/SKILL.md +7 -1
- package/dist/global-skills/add-signin/SKILL.md +7 -1
- package/dist/global-skills/add-teams/SKILL.md +11 -4
- package/dist/global-skills/add-upload/SKILL.md +7 -1
- package/dist/global-skills/back-up-my-code/SKILL.md +16 -5
- package/dist/global-skills/buy-domain/SKILL.md +7 -1
- package/dist/global-skills/check-safety/SKILL.md +7 -1
- package/dist/global-skills/configure-capabilities/SKILL.md +7 -1
- package/dist/global-skills/connect-account/SKILL.md +7 -1
- package/dist/global-skills/connect-account-backend/SKILL.md +7 -1
- package/dist/global-skills/design-my-data/SKILL.md +13 -6
- package/dist/global-skills/doctor/SKILL.md +17 -10
- package/dist/global-skills/go-live/SKILL.md +7 -1
- package/dist/global-skills/harden/SKILL.md +9 -1
- package/dist/global-skills/manifest.json +3 -0
- package/dist/global-skills/onboarding/SKILL.md +36 -20
- package/dist/global-skills/plan-my-idea/SKILL.md +7 -1
- package/dist/global-skills/publish-app/SKILL.md +7 -1
- package/dist/global-skills/publish-extension/SKILL.md +7 -1
- package/dist/global-skills/reset-password/SKILL.md +7 -1
- package/dist/global-skills/save-data/SKILL.md +48 -16
- package/dist/global-skills/setup-email/SKILL.md +7 -1
- package/dist/global-skills/setup-payments/SKILL.md +10 -4
- package/dist/global-skills/setup-sms/SKILL.md +7 -1
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +7 -1
- package/dist/global-skills/sign-in-with-google/SKILL.md +7 -1
- package/dist/global-skills/sign-in-with-phone/SKILL.md +7 -1
- package/dist/global-skills/track-errors/SKILL.md +7 -1
- package/dist/global-skills/update-kit/SKILL.md +7 -1
- package/dist/global-skills/validate-my-idea/SKILL.md +7 -1
- package/dist/global-skills/vybekiit-feedback/SKILL.md +7 -1
- package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +42 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +17 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-agent.json +12 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-mongodb.json +12 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-local.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-remote.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +131 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-alpha.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/backend/language.md +440 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +34 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/railway-postgres-vybekiit.md +24 -0
- package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +80 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +27 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +102 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +30 -0
- package/dist/global-skills/vybekiitReferences/extension/language.md +433 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/README.md +32 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/chrome-extension-vybekiit.md +28 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/i18n-vybekiit.md +39 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/responsive-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ui-consistency-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +460 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +32 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +103 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-stripe.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/ui-catalog-index.mobile.json +36294 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +36 -0
- package/dist/global-skills/vybekiitReferences/mobile/language.md +438 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/README.md +43 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +41 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/launch-store-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-consistency-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +44 -0
- package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +83 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +30 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +54 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +60 -0
- package/dist/global-skills/vybekiitReferences/spa/language.md +221 -0
- package/dist/global-skills/vybekiitReferences/spa/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/web/AGENTS.md +153 -0
- package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +54 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-mongodb.json +12 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-local.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-remote.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +165 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-stripe.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/web/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.json +36294 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.mobile.json +36294 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-sources.md +104 -0
- package/dist/global-skills/vybekiitReferences/web/language.md +443 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/README.md +66 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +31 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/aws-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +21 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +40 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/cloudflare-email-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/db-presets-vybekiit.md +46 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-cloudflare-vybekiit.md +22 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +23 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/firebase-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +30 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +39 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/neon-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/nextjs-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/railway-postgres-vybekiit.md +24 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/resend-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/responsive-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +31 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ses-vybekiit.md +19 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/shadcn-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/stripe-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +31 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-consistency-vybekiit.md +34 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-routing-vybekiit.md +41 -0
- package/dist/global-skills/watch-my-app/SKILL.md +7 -1
- package/dist/global-skills/wire-auth/SKILL.md +7 -1
- package/dist/global-skills/wire-database/SKILL.md +15 -1
- package/dist/global-skills/wire-email/SKILL.md +7 -1
- package/dist/global-skills/wire-payments/SKILL.md +7 -1
- package/package.json +10 -9
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Platform wrapper: extend-capabilities (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked silently when no `goal-index.md` row and no platform wrapper covers the builder's request. The builder never hears "skill gap" or "extension."
|
|
4
|
+
|
|
5
|
+
## When to run
|
|
6
|
+
|
|
7
|
+
1. Read `.vybekiit/agent/goal-index.md` (and `.vybekiit/extensions/goal-index.md` if present).
|
|
8
|
+
2. If a row matches → follow that skill; **stop here**.
|
|
9
|
+
3. If the request is tech-specific → check `@vybekiit/*` `resolve*Provider()` adapters and `.vybekiit/platform-skills/*-vybekiit.md` plus `.vybekiit/extensions/platform-skills/`.
|
|
10
|
+
4. If an existing goal skill can absorb the tech (e.g. new database → `save-data`) → follow that goal skill; **stop here**.
|
|
11
|
+
5. Otherwise → run this workflow.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
### 1. Classify the gap
|
|
16
|
+
|
|
17
|
+
| Kind | Signal | Output |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| **New builder goal** | Feature or outcome with no goal-index match | Layer A buyer skill |
|
|
20
|
+
| **New tech / provider** | Named framework, DB, language, or tool | Layer B wrapper (+ upstream pin when available) |
|
|
21
|
+
|
|
22
|
+
Pick a **goal stem** (kebab-case, goal-named for Layer A) or **tech stem** (kebab-case for Layer B).
|
|
23
|
+
|
|
24
|
+
### 2. Research (tech gaps only)
|
|
25
|
+
|
|
26
|
+
1. Search skills.sh: `npx skills search <query>`
|
|
27
|
+
2. When an official skill exists: `npx skills add <repo> --skill <name> -y` into project `.agents/skills/`
|
|
28
|
+
3. Note official docs URL for the wrapper header
|
|
29
|
+
4. Check `@vybekiit/*` for an existing provider interface to wire behind
|
|
30
|
+
|
|
31
|
+
### 3. Draft
|
|
32
|
+
|
|
33
|
+
Use these shapes (or `vybekiit` templates from `@vybekiit/agent-kit`):
|
|
34
|
+
|
|
35
|
+
**Layer A (buyer goal)** — mirror `skills/save-data.md`:
|
|
36
|
+
|
|
37
|
+
- `**Goal:**` one plain sentence
|
|
38
|
+
- `**Contract:**` five rules + `language.md`
|
|
39
|
+
- `## Steps` with `**Verify:**` on each step
|
|
40
|
+
- `## Definition of done`
|
|
41
|
+
- `## After completing this skill`
|
|
42
|
+
|
|
43
|
+
**Layer B (platform wrapper)** — mirror `platform-skills/mongodb-vybekiit.md`:
|
|
44
|
+
|
|
45
|
+
- Official docs links
|
|
46
|
+
- `## Kit wiring` (prefer `resolve*Provider()`)
|
|
47
|
+
- `## Verify-before-advance`
|
|
48
|
+
- `## Never say to builder`
|
|
49
|
+
- `## TODO(vybekiit)` when no npm adapter exists yet
|
|
50
|
+
|
|
51
|
+
**Machine-global** — Agent Skills `SKILL.md` with YAML frontmatter (`name`, `description`).
|
|
52
|
+
|
|
53
|
+
### 4. Lint (agent-only)
|
|
54
|
+
|
|
55
|
+
Before saving, run:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
vybekiit lint-extension-skill <draft-path> --kind=buyer-goal
|
|
59
|
+
# or --kind=platform-wrapper
|
|
60
|
+
# or --kind=agent-skills-global
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Fix all issues. Exit code must be `0`. Builder never sees this step.
|
|
64
|
+
|
|
65
|
+
### 5. Ask scope (plain language only)
|
|
66
|
+
|
|
67
|
+
Ask exactly once:
|
|
68
|
+
|
|
69
|
+
> "Should I save this guide just for this project, or for all your projects on this computer?"
|
|
70
|
+
|
|
71
|
+
| Answer | Persist to |
|
|
72
|
+
|---|---|
|
|
73
|
+
| **This project** | Layer A: `.vybekiit/extensions/skills/<goal>.md` · Layer B: `.vybekiit/extensions/platform-skills/<tech>-vybekiit.md` |
|
|
74
|
+
| **All my projects** | Tool-aware global path (detect active tool first) |
|
|
75
|
+
|
|
76
|
+
### Tool-aware global paths
|
|
77
|
+
|
|
78
|
+
| Active tool | Global skill path | skills.sh agent |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| **Cursor** | `~/.cursor/skills-cursor/<name>/SKILL.md` | `--agent cursor` |
|
|
81
|
+
| **Claude Code** | `~/.claude/skills/<name>/SKILL.md` | `--agent claude-code` |
|
|
82
|
+
| **Codex** | `~/.agents/skills/<name>/SKILL.md` | `--agent codex` |
|
|
83
|
+
| **Fallback** | `~/.agents/skills/<name>/SKILL.md` | omit `--agent` |
|
|
84
|
+
|
|
85
|
+
Detect tool: Cursor if `.cursor/rules/vybekiit.mdc` exists; else Claude if `CLAUDE.md` session; else Codex via `AGENTS.md`.
|
|
86
|
+
|
|
87
|
+
Global install via skills.sh when upstream exists:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx skills add <repo> --skill <name> --global --agent <agent> -y
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 6. Persist
|
|
94
|
+
|
|
95
|
+
**Project-local:**
|
|
96
|
+
|
|
97
|
+
- Create directories if missing: `.vybekiit/extensions/skills/`, `.vybekiit/extensions/platform-skills/`
|
|
98
|
+
- Write the drafted file
|
|
99
|
+
- **Layer A only:** append a row to `.vybekiit/agent/goal-index.md`:
|
|
100
|
+
|
|
101
|
+
`| "<builder phrase>" | \`extensions/skills/<goal>.md\` |`
|
|
102
|
+
|
|
103
|
+
Optionally mirror the row in `.vybekiit/extensions/goal-index.md` for backup.
|
|
104
|
+
|
|
105
|
+
**Machine-global:**
|
|
106
|
+
|
|
107
|
+
- Write `SKILL.md` to the tool path above
|
|
108
|
+
- Do not edit project `goal-index.md` for global-only skills
|
|
109
|
+
|
|
110
|
+
### 7. Resume
|
|
111
|
+
|
|
112
|
+
Immediately follow the new skill as if it always existed. Never tell the builder you "created a skill."
|
|
113
|
+
|
|
114
|
+
## Verify-before-advance
|
|
115
|
+
|
|
116
|
+
- Lint passed (`vybekiit lint-extension-skill` exit 0)
|
|
117
|
+
- File exists at chosen path
|
|
118
|
+
- For Layer A: goal-index row present
|
|
119
|
+
- For tech: upstream pin in `.agents/skills/` when available
|
|
120
|
+
|
|
121
|
+
## Never say to builder
|
|
122
|
+
|
|
123
|
+
skill gap, extension, Layer A, Layer B, platform wrapper, goal-index, skills.sh, Agent Skills, YAML frontmatter
|
|
124
|
+
|
|
125
|
+
## Owned vs maintained
|
|
126
|
+
|
|
127
|
+
`.vybekiit/extensions/**` is **buyer-owned** — `sync-agent-layer` never overwrites it. Extension rows in `goal-index.md` are preserved on kit updates.
|
|
@@ -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,34 @@
|
|
|
1
|
+
# Platform wrapper: MongoDB Atlas (agent/maintainer only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Not invoked by buyer `wire-database`. 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()` in controllers/services — never direct driver in routes
|
|
18
|
+
3. Atlas CLI installed by `vybekiit doctor` when `DATA_PROVIDER=mongodb`
|
|
19
|
+
|
|
20
|
+
## MCP
|
|
21
|
+
|
|
22
|
+
Merge `.vybekiit/agent/mcp-mongodb.json` into buyer `.cursor/mcp.json` (see `agent/mcp-setup.md`).
|
|
23
|
+
|
|
24
|
+
1. Copy `MONGODB_URI` from `.env` into `MDB_MCP_CONNECTION_STRING`
|
|
25
|
+
2. Keep `MDB_MCP_READ_ONLY=true` unless a maintainer explicitly needs write tools
|
|
26
|
+
3. Fallback: `npx mongodb-mcp-server@latest setup` — see official get-started guide
|
|
27
|
+
|
|
28
|
+
If MCP fails once, run `vybekiit doc-fallback mongodb`.
|
|
29
|
+
|
|
30
|
+
## Verify-before-advance
|
|
31
|
+
|
|
32
|
+
- `pingDatabase()` from `@vybekiit/db` succeeds
|
|
33
|
+
- MCP lists collections on the dev cluster (read-only)
|
|
34
|
+
- Never connect MCP to production buyer data without read-only mode
|
package/dist/global-skills/vybekiitReferences/backend/platform-skills/railway-postgres-vybekiit.md
ADDED
|
@@ -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,80 @@
|
|
|
1
|
+
# AGENTS.md — your build agent (read this first)
|
|
2
|
+
|
|
3
|
+
> **You are talking to a non-technical vibe coder.** They describe what they want; you
|
|
4
|
+
> make every technical decision and translate manual steps into plain, one-at-a-time instructions.
|
|
5
|
+
>
|
|
6
|
+
> Single source of truth. `CLAUDE.md` and `.cursor/rules/vybekiit.mdc` point here;
|
|
7
|
+
> `.cursor/rules/patterns.mdc` summarizes code conventions (not SSOT).
|
|
8
|
+
|
|
9
|
+
## This is a browser extension — it talks to your backend
|
|
10
|
+
|
|
11
|
+
Extensions **cannot safely keep private keys**. Sign-in, data, and payments live on the vibe coder's
|
|
12
|
+
**deployed web app**; the extension calls it over HTTPS. Follow `chrome-extension-vybekiit.md` for
|
|
13
|
+
Chrome API facts.
|
|
14
|
+
|
|
15
|
+
<!-- vybekiit:generated:start contract -->
|
|
16
|
+
## The contract: Decide + Guide
|
|
17
|
+
|
|
18
|
+
A request such as "Can people book my classes?" means build the working feature. Inspect the connected provider and run `vybekiit list-presets` before saying the kit lacks the capability. Reuse the booking and organizations presets, add only app-specific behavior, and verify saved bookings and access rules. Read `.vybekiit/agent/session-bootstrap.md` for the persistence workflow. Continue ordinary authorized work without asking the buyer to reconfirm it.
|
|
19
|
+
|
|
20
|
+
① **One action at a time** — Give the buyer one manual action at a time. Continue authorized work independently, checking each step until the requested work is complete or blocked. Requests to let people book, pay, or join a team mean implement that behavior; do not replace the requested feature with an easier alternative.
|
|
21
|
+
② **Verify before advancing** — Confirm each step actually worked before moving on, so the vibe coder can't get silently stuck. Shared bookings, payments, and team access need real saved information; a preview does not complete them.
|
|
22
|
+
③ **Plain language** — Translate every technical term using language.md — the vibe coder never has to understand or decide.
|
|
23
|
+
④ **Translate errors** — Turn any failure into "what happened + the one thing to do about it" — never paste a raw stack trace.
|
|
24
|
+
⑤ **Celebrate progress** — Celebrate only verified progress. State whether it works locally, in practice, or online.
|
|
25
|
+
⑥ **Record decisions** — After every completing skill, append one entry to checklist.md Decision log via formatChecklistEntry().
|
|
26
|
+
⑦ **Official source fallback** — If MCP or the first debug attempt fails once, run vybekiit doc-fallback and tell the vibe coder the plain stuck phrase only.
|
|
27
|
+
<!-- vybekiit:generated:end contract -->
|
|
28
|
+
|
|
29
|
+
## How to work
|
|
30
|
+
|
|
31
|
+
Simple questions need brief answers, without setup or skill searches. Inspect before making
|
|
32
|
+
project-specific claims. Requests for work mean do the work and verify the requested behavior.
|
|
33
|
+
Reuse instructions already loaded in the conversation. Continue authorized work independently;
|
|
34
|
+
one action at a time limits steps the buyer must take. Prefer this project's skills over global
|
|
35
|
+
copies. Do not use helper agents for simple exchanges.
|
|
36
|
+
|
|
37
|
+
1. **Find the goal.** Buyer goal skills in `.agents/skills/` (also via `.cursor/skills/` and
|
|
38
|
+
`.claude/skills/`) load automatically from their descriptions — use the matching skill when the
|
|
39
|
+
vibe coder's intent fits. If nothing fits or you're unsure, fall back to `.vybekiit/agent/goal-index.md`
|
|
40
|
+
and read the skill in `.vybekiit/skills/`. Also check `.vybekiit/extensions/goal-index.md` when present.
|
|
41
|
+
Routine edits need no new skill. Consult `platform-skills/extend-capabilities-vybekiit.md`
|
|
42
|
+
only for a real uncovered integration.
|
|
43
|
+
2. For Chrome APIs and store publish, read `.vybekiit/platform-skills/chrome-extension-vybekiit.md`.
|
|
44
|
+
3. Grep `TODO(vybekiit)` markers and run each named skill until none remain.
|
|
45
|
+
|
|
46
|
+
## Planning before big builds
|
|
47
|
+
|
|
48
|
+
When the vibe coder asks for something **large or vague** and you have not planned together this session:
|
|
49
|
+
|
|
50
|
+
1. **Offer once** (never force): *"Want to think it through together first? I'll ask one question at
|
|
51
|
+
a time until we're totally aligned."*
|
|
52
|
+
2. If they **accept** → follow `skills/plan-my-idea.md`.
|
|
53
|
+
3. If they **decline** → build anyway.
|
|
54
|
+
|
|
55
|
+
During onboarding, preserve the requested goal. Ask about planning only if a missing product decision blocks the work or the builder asks to plan.
|
|
56
|
+
|
|
57
|
+
## Conventions (when the extension scaffold ships)
|
|
58
|
+
|
|
59
|
+
- Use shadcn primitives in `src/components/ui/` and `@vybekiit/tokens` — same rules as web.
|
|
60
|
+
- UI sources: `.vybekiit/agent/ui-sources.md` · normalize-on-import per `ui-consistency-vybekiit.md`.
|
|
61
|
+
- Logging via `src/lib/logger.ts`; error alerts via `track-errors` + `@vybekiit/observability`.
|
|
62
|
+
- Code hygiene: `code-hygiene-vybekiit.md` · `observability-vybekiit.md`.
|
|
63
|
+
- **Never read `.env` values aloud or paste them in chat** — backend secrets stay on the web app.
|
|
64
|
+
Read `env-secrets-vybekiit.md`.
|
|
65
|
+
- **All user-facing copy** lives in `public/_locales/en/messages.json` and is rendered via `t('key')`
|
|
66
|
+
from `lib/i18n.ts` — never inline strings in popup UI. See `i18n-vybekiit.md`.
|
|
67
|
+
|
|
68
|
+
### Before you write code (invisible quality — vibe coder never hears this)
|
|
69
|
+
|
|
70
|
+
1. **Test as you build** — `pnpm test` green before saying done.
|
|
71
|
+
2. **Format + lint silently** — `pnpm format && pnpm lint` after substantive edits.
|
|
72
|
+
3. **Use kit hooks** when present — read `src/hooks/README.md`.
|
|
73
|
+
4. **Keep functions small** (~5 lines) and props few (~5).
|
|
74
|
+
5. **Mobile-first popup UI** — narrow layout first, then scale up; preview at phone width.
|
|
75
|
+
|
|
76
|
+
Read `testing-vybekiit.md`, `format-lint-vybekiit.md`, `react-patterns-vybekiit.md`, `responsive-vybekiit.md`, `env-secrets-vybekiit.md`, and `planning-vybekiit.md` (when running `plan-my-idea`) in `.vybekiit/platform-skills/`.
|
|
77
|
+
|
|
78
|
+
## Wire-up markers
|
|
79
|
+
|
|
80
|
+
`TODO(vybekiit): … — skill: <name>` in code → run that skill, replace stub, verify, re-grep.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Goal index — route the builder's request to a skill (extension)
|
|
2
|
+
|
|
3
|
+
| The builder says something like… | Use this skill |
|
|
4
|
+
|---|---|
|
|
5
|
+
| "set up my extension", "let's start" | `skills/onboarding.md` |
|
|
6
|
+
| "help me plan", "think it through" | `skills/plan-my-idea.md` |
|
|
7
|
+
| "add payments", "take money" | `skills/setup-payments.md` |
|
|
8
|
+
| "publish", "put it in the store", "make it live" | `skills/publish-extension.md` |
|
|
9
|
+
| "let people sign in / log in" | `skills/connect-account.md` |
|
|
10
|
+
| "save my data", "add a database" | `skills/save-data.md` |
|
|
11
|
+
| "design my database" | `skills/design-my-data.md` |
|
|
12
|
+
| "add images", "app icon" | `skills/add-images.md` |
|
|
13
|
+
| "invite teammates" | `skills/add-teams.md` |
|
|
14
|
+
| "notify users", "analytics" | `skills/add-notifications.md` / `skills/add-analytics.md` |
|
|
15
|
+
| "sign in with Google" | `skills/sign-in-with-google.md` |
|
|
16
|
+
| "update the kit" | `skills/update-kit.md` |
|
|
17
|
+
| "it's broken", "check my extension" | `skills/doctor.md` |
|
|
18
|
+
| "send feedback", "report a kit bug", "the kit is confusing" | `skills/vybekiit-feedback.md` |
|
|
19
|
+
| "am I ready to ship" | `skills/check-safety.md` |
|
|
20
|
+
| "translate my extension" | `skills/add-language.md` |
|
|
21
|
+
| "chrome permissions", "camera", "tabs" | `skills/configure-capabilities.md` |
|
|
22
|
+
|
|
23
|
+
If sign-in needs a server and none exists, run `vybekiit plan-readiness sign-in extension` — it orchestrates scaffolding `backend/` automatically.
|
|
24
|
+
|
|
25
|
+
<!-- vybekiit:generated:start goal-index-validation -->
|
|
26
|
+
<!-- Goal drift: run `vybekiit check-goals` — non-zero exit means fix goal-index or add skills -->
|
|
27
|
+
<!-- vybekiit:generated:end goal-index-validation -->
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"posthog": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": [
|
|
6
|
+
"-y",
|
|
7
|
+
"mcp-remote@latest",
|
|
8
|
+
"https://mcp.posthog.com/mcp",
|
|
9
|
+
"--header",
|
|
10
|
+
"Authorization:${POSTHOG_AUTH_HEADER}"
|
|
11
|
+
],
|
|
12
|
+
"env": {
|
|
13
|
+
"POSTHOG_AUTH_HEADER": "Bearer ${POSTHOG_API_KEY}"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
|
|
2
|
+
## Agent skill (read locally or via MCP)
|
|
3
|
+
|
|
4
|
+
- Auto-discovered: `.agents/skills/use-kit-mcp/SKILL.md`
|
|
5
|
+
- Platform wrapper: `.vybekiit/platform-skills/mcp-tools-vybekiit.md`
|
|
6
|
+
- Via MCP (when `vybekiit` server is connected): `search_skills({ query: "mcp tools" })` then `get_skill({ id: "use-kit-mcp" })` or `list_platform_skills({ query: "mcp" })`
|
|
7
|
+
|
|
8
|
+
# MCP setup — Cursor, Claude Desktop, Codex (agent-only)
|
|
9
|
+
|
|
10
|
+
Merge provider snippets from `.vybekiit/agent/mcp-*.json` into the buyer's AI client config. **Preserve existing servers** — never replace the whole file.
|
|
11
|
+
|
|
12
|
+
## Cursor
|
|
13
|
+
|
|
14
|
+
**Config:** project `.cursor/mcp.json` or global `~/.cursor/mcp.json`
|
|
15
|
+
|
|
16
|
+
1. Open the config file (create with `{ "mcpServers": {} }` if missing).
|
|
17
|
+
2. Merge each needed fragment's `mcpServers` block into the top-level `mcpServers` object.
|
|
18
|
+
3. Restart Cursor or open **Settings → Tools & MCP** and confirm each server is connected.
|
|
19
|
+
|
|
20
|
+
## Claude Desktop
|
|
21
|
+
|
|
22
|
+
**Config (macOS):** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
23
|
+
|
|
24
|
+
Same JSON shape as Cursor — merge `mcpServers` entries from the snippets below. Restart Claude Desktop after saving.
|
|
25
|
+
|
|
26
|
+
## Codex
|
|
27
|
+
|
|
28
|
+
**Config:** `~/.codex/config.toml` or project `.codex/config.toml` (trusted projects only)
|
|
29
|
+
|
|
30
|
+
Use `codex mcp add` interactively, or add TOML tables manually:
|
|
31
|
+
|
|
32
|
+
### HTTP MCP (Stripe, Supabase, Neon)
|
|
33
|
+
|
|
34
|
+
```toml
|
|
35
|
+
[mcp_servers.stripe]
|
|
36
|
+
url = "https://mcp.stripe.com"
|
|
37
|
+
|
|
38
|
+
[mcp_servers.supabase]
|
|
39
|
+
url = "https://mcp.supabase.com/mcp"
|
|
40
|
+
|
|
41
|
+
[mcp_servers.neon]
|
|
42
|
+
url = "https://mcp.neon.tech/mcp?readonly=true"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Stdio bridge (PayPal remote)
|
|
46
|
+
|
|
47
|
+
PayPal uses `mcp-remote` because the hosted server requires streamable HTTP via a local bridge:
|
|
48
|
+
|
|
49
|
+
```toml
|
|
50
|
+
[mcp_servers.paypal]
|
|
51
|
+
command = "npx"
|
|
52
|
+
args = ["-y", "mcp-remote", "https://mcp.sandbox.paypal.com/http"]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Production PayPal: replace sandbox URL with `https://mcp.paypal.com/http`.
|
|
56
|
+
|
|
57
|
+
Restart Codex after changes. Run `/mcp` in a session to verify tools are listed.
|
|
58
|
+
|
|
59
|
+
## Provider snippets (merge one or more)
|
|
60
|
+
|
|
61
|
+
| When | File | Upstream docs |
|
|
62
|
+
|------|------|---------------|
|
|
63
|
+
| Default data (`DATA_PROVIDER=supabase`) | `mcp-supabase.json` | https://supabase.com/docs/guides/ai-tools/mcp |
|
|
64
|
+
| Stripe payments | `mcp-stripe.json` | https://docs.stripe.com/mcp |
|
|
65
|
+
| PayPal payments | `mcp-paypal.json` | https://docs.paypal.ai/developer/tools/ai/mcp-quickstart |
|
|
66
|
+
| Neon data | `mcp-neon.json` | https://neon.tech/docs/ai/neon-mcp-server |
|
|
67
|
+
| Firebase data | `mcp-firebase.json` | Firebase MCP via `firebase-tools mcp` |
|
|
68
|
+
| Twilio SMS / Verify | `mcp-twilio-docs.json` | https://mcp.twilio.com/docs |
|
|
69
|
+
| Twilio API (optional alpha) | `mcp-twilio-alpha.json` | `@twilio-alpha/mcp` stdio bridge |
|
|
70
|
+
| Sentry error alerts | `mcp-sentry.json` | https://mcp.sentry.dev/mcp |
|
|
71
|
+
| PostHog analytics / flags | `mcp-posthog.json` | https://mcp.posthog.com/mcp |
|
|
72
|
+
|
|
73
|
+
### MCP failure → official docs
|
|
74
|
+
|
|
75
|
+
If an MCP server fails to connect or a tool call errors **once**, do not retry blindly:
|
|
76
|
+
|
|
77
|
+
1. Run `vybekiit doc-fallback <tech-id>` (e.g. `twilio`, `supabase`, `stripe`).
|
|
78
|
+
2. Follow the returned official URLs and env key hints.
|
|
79
|
+
3. Tell the builder only: *"I'm double-checking the official setup guide for this — hang tight, I'll have the next step in a moment."* Never say MCP, stack trace, or provider jargon aloud.
|
|
80
|
+
|
|
81
|
+
See `.vybekiit/agent/tech-references.md` for the full id → docs map.
|
|
82
|
+
|
|
83
|
+
### Supabase optional query params
|
|
84
|
+
|
|
85
|
+
Append to the URL for tighter scope (recommended for real data):
|
|
86
|
+
|
|
87
|
+
- `?project_ref=<ref>` — limit to one project
|
|
88
|
+
- `?read_only=true` — Postgres read-only user
|
|
89
|
+
- Combined: `https://mcp.supabase.com/mcp?project_ref=abc123&read_only=true`
|
|
90
|
+
|
|
91
|
+
OAuth login happens on first use — no PAT required for interactive clients.
|
|
92
|
+
|
|
93
|
+
### PayPal OAuth
|
|
94
|
+
|
|
95
|
+
First tool call opens PayPal login in the browser. Use sandbox endpoint until checkout is verified, then switch to production URL in config.
|
|
96
|
+
|
|
97
|
+
## Advanced (CI / local only)
|
|
98
|
+
|
|
99
|
+
- **PayPal local:** `npx -y @paypal/mcp --tools=all` with `PAYPAL_ACCESS_TOKEN` — see PayPal MCP quickstart
|
|
100
|
+
- **Supabase CI:** PAT in `Authorization` header — see Supabase MCP security docs
|
|
101
|
+
|
|
102
|
+
Never connect MCP to production buyer data without `read_only=true` or a dev branch.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Session bootstrap (agent-only)
|
|
2
|
+
|
|
3
|
+
<!-- vybekiit:generated:start session-bootstrap -->
|
|
4
|
+
Reuse instructions already loaded in this conversation. Simple questions need brief answers, not setup. Inspect before project-specific claims; execute requests for work.
|
|
5
|
+
|
|
6
|
+
## Read order (when needed)
|
|
7
|
+
|
|
8
|
+
1. `AGENTS.md` (contract)
|
|
9
|
+
2. `.vybekiit/agent/session-bootstrap.md` (this file)
|
|
10
|
+
3. `.vybekiit/agent/goal-index.md` → pick the matching skill (merge rows from `.vybekiit/extensions/goal-index.md` when present)
|
|
11
|
+
4. Routine coding needs no new skill. Consult a platform wrapper only for the capability being changed; extend capabilities only for a real uncovered integration.
|
|
12
|
+
5. Follow the skill exactly; use `language.md` for voice
|
|
13
|
+
6. On skill complete: append one entry to `checklist.md` Decision log via `formatChecklistEntry()`
|
|
14
|
+
7. Stuck on an integration after one MCP or debug attempt: `vybekiit doc-fallback <tech-id>` and tell the builder the plain stuck phrase only
|
|
15
|
+
|
|
16
|
+
## Persistent features
|
|
17
|
+
|
|
18
|
+
- For booking, payments, membership, and shared information: inspect the app and authorized connection, discover relevant presets, identify only missing behavior, review and apply migrations, wire existing adapters, then verify persistence, authorization, and concurrency.
|
|
19
|
+
- Use the preset catalog matching skills, dependencies, versions, and provider requirements. A missing dedicated skill does not mean a capability is missing: inspect `vybekiit list-presets` before proposing custom storage or a different product. Load relevant manifests once; do not reload the entire catalog or unrelated integrations each turn.
|
|
20
|
+
- Ordinary product intent authorizes ordinary implementation choices. Continue without asking the builder to design tables or reconfirm their request. Ask only for a missing product decision or a genuinely missing access step.
|
|
21
|
+
- Store app-specific manifests and generated SQL under `.vybekiit/extensions/database/`. Use the same preset contract and `apply-preset <id> --manifest=<path>`; register extension table names with the selected relational adapter. Existing generic collections stay unchanged.
|
|
22
|
+
- Read structured upgrade diagnostics before using `--upgrade`. Existing nulls, duplicates, incompatible definitions, or drift block the change. Preserve every existing row; never delete projects to free capacity. Never read or write a preset table before `verify-presets` shows its preset applied.
|
|
23
|
+
- Reuse `booking` for capacity and cancellation and `organizations` for membership. One business owns its schedule: identify its owner with the app's existing admin check, never an organization per account. Only the owner and permitted staff create or change classes; students browse and book without an organization of their own. Call `reserveBooking` and `cancelBooking` through the selected data adapter, supplying the verified session identity from the server. Report what they return: a cancellation that changed nothing is not a success. Show remaining places from every student's active reservations without revealing who booked. Named staff roles are server-controlled permissions stored as memberships of the business's organization: use the tenancy provider's `inviteMember`, `updateMemberRole`, and `listMembers` (`organization_members.role`) and check them on the server next to the admin check. A super moderator is not a database administrator and cannot change roles without an explicit permission.
|
|
24
|
+
- A browser-only or in-memory demonstration is a preview. It cannot complete a shared booking, payment, or membership request. Structural verification is separate from behavioral evidence; test unauthorized access, cross-organization access, duplicate requests, and simultaneous reservations against the running app with separate owner and student sign-ins. Install missing dependencies and start the app yourself, then check every new or changed permission with real sign-ins against the running app. Tests against mocked data are not behavioral evidence.
|
|
25
|
+
- Record preset versions, extension paths, migration checksums, remaining limitations, and verification evidence in checklist.md Progress and Decision log. Resume from that evidence when asked where things stand.
|
|
26
|
+
|
|
27
|
+
## Quiet process lifecycle
|
|
28
|
+
|
|
29
|
+
- Execute ordinary commands with your own shell tool. Never open a terminal window or tab, invoke a terminal app, or ask the builder to run a command just to keep work visible.
|
|
30
|
+
- Before starting a server or watcher, check its health URL or port and your current background tasks. Reuse a matching process that is already running.
|
|
31
|
+
- Run long-lived servers and watchers with the agent's native background-task support. Keep the returned task handle and use it to read output, stop, or restart that process.
|
|
32
|
+
- Keep at most one process per app service. Stop the tracked process before replacing it when a real restart is required.
|
|
33
|
+
- Use bounded commands for tests and logs. Do not use watch mode for one-time checks.
|
|
34
|
+
|
|
35
|
+
## Project skill discovery
|
|
36
|
+
|
|
37
|
+
- Auto-discovered Agent Skills: `.agents/skills/<goal>/SKILL.md` (Cursor + Claude via `.cursor/skills` / `.claude/skills` symlinks; Codex when project skills are enabled).
|
|
38
|
+
- Authoring fallback: `.vybekiit/skills/<goal>.md` (same body; used when a goal-index row is opened explicitly).
|
|
39
|
+
- First-party MCP catalog (agent-only): `.agents/skills/use-kit-mcp/SKILL.md` and `.vybekiit/platform-skills/mcp-tools-vybekiit.md` — also via MCP `get_skill` / `list_platform_skills` / `search_skills` ("mcp tools").
|
|
40
|
+
- Do not invent skills outside those folders or the buyer-owned `.vybekiit/extensions/` tree.
|
|
41
|
+
|
|
42
|
+
Buyer-owned files you may append to (never delete): `checklist.md` Decision log, `CONTEXT.md` app glossary, `.vybekiit/extensions/**` (extension skills).
|
|
43
|
+
Machine-global skills live in tool-specific paths (see `extend-capabilities-vybekiit.md`); tools auto-discover them.
|
|
44
|
+
<!-- vybekiit:generated:end session-bootstrap -->
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Official tech references (agent-only)
|
|
2
|
+
|
|
3
|
+
<!-- vybekiit:generated:start tech-references -->
|
|
4
|
+
# Official tech references (agent-only)
|
|
5
|
+
|
|
6
|
+
When MCP or first-pass debug fails, run `vybekiit doc-fallback <id>` and follow these URLs.
|
|
7
|
+
|
|
8
|
+
| id | Docs | MCP | Env keys |
|
|
9
|
+
|---|---|---|---|
|
|
10
|
+
| better-auth | https://www.better-auth.com/docs | — | AUTH_PROVIDER, BETTER_AUTH_SECRET, BETTER_AUTH_URL, DATABASE_URL |
|
|
11
|
+
| twilio | https://www.twilio.com/docs | https://mcp.twilio.com/docs | TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_FROM_NUMBER, TWILIO_VERIFY_SERVICE_SID |
|
|
12
|
+
| twilio-whatsapp | https://www.twilio.com/docs/whatsapp | https://mcp.twilio.com/docs | TWILIO_WHATSAPP_FROM |
|
|
13
|
+
| supabase | https://supabase.com/docs | — | SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, DATABASE_URL |
|
|
14
|
+
| stripe | https://docs.stripe.com | — | STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET |
|
|
15
|
+
| neon | https://neon.tech/docs | — | DATABASE_URL |
|
|
16
|
+
| firebase | https://firebase.google.com/docs | — | — |
|
|
17
|
+
| mongodb | https://www.mongodb.com/docs/ | https://www.mongodb.com/docs/mcp-server/overview/ | DATA_PROVIDER, MONGODB_URI, MONGODB_DB |
|
|
18
|
+
| express | https://expressjs.com | — | — |
|
|
19
|
+
| expo | https://docs.expo.dev | — | — |
|
|
20
|
+
| nextjs | https://nextjs.org/docs | — | — |
|
|
21
|
+
| cloudflare | https://developers.cloudflare.com | — | — |
|
|
22
|
+
| railway | https://docs.railway.com | https://docs.railway.com/ai/mcp-server | HOSTING_PROVIDER, DATA_PROVIDER, DATABASE_URL, RAILWAY_PROJECT_ID, RAILWAY_SERVICE_ID |
|
|
23
|
+
| resend | https://resend.com/docs | — | EMAIL_PROVIDER, RESEND_API_KEY |
|
|
24
|
+
| lemon-squeezy | https://docs.lemonsqueezy.com | — | LEMONSQUEEZY_API_KEY, LEMONSQUEEZY_STORE_ID |
|
|
25
|
+
| sentry | https://docs.sentry.io | https://mcp.sentry.dev/mcp | OBSERVABILITY_PROVIDER, SENTRY_DSN |
|
|
26
|
+
| posthog | https://posthog.com/docs | https://mcp.posthog.com/mcp | ANALYTICS_PROVIDER, POSTHOG_API_KEY, POSTHOG_HOST |
|
|
27
|
+
| plausible | https://plausible.io/docs | — | PLAUSIBLE_DOMAIN, ANALYTICS_PROVIDER |
|
|
28
|
+
<!-- vybekiit:generated:end tech-references -->
|